@onekeyfe/hd-web-sdk 0.1.54 → 0.1.55
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/data/coins/bitcoin.json +1 -0
- package/build/data/messages/messages.json +115 -13
- package/build/iframe.html +1 -1
- package/build/js/iframe.9c776a23228e11434d19.js +3 -0
- package/build/js/{iframe.8aecb7bfc58bef9078c2.js.LICENSE.txt → iframe.9c776a23228e11434d19.js.LICENSE.txt} +2 -18
- package/build/js/iframe.9c776a23228e11434d19.js.map +1 -0
- package/build/onekey-js-sdk.js +1619 -1339
- 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.8aecb7bfc58bef9078c2.js +0 -3
- package/build/js/iframe.8aecb7bfc58bef9078c2.js.map +0 -1
package/build/onekey-js-sdk.js
CHANGED
|
@@ -11,6 +11,1023 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
+
/***/ 3525:
|
|
15
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
16
|
+
|
|
17
|
+
"use strict";
|
|
18
|
+
|
|
19
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
20
|
+
exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;
|
|
21
|
+
function number(n) {
|
|
22
|
+
if (!Number.isSafeInteger(n) || n < 0)
|
|
23
|
+
throw new Error(`Wrong positive integer: ${n}`);
|
|
24
|
+
}
|
|
25
|
+
exports.number = number;
|
|
26
|
+
function bool(b) {
|
|
27
|
+
if (typeof b !== 'boolean')
|
|
28
|
+
throw new Error(`Expected boolean, not ${b}`);
|
|
29
|
+
}
|
|
30
|
+
exports.bool = bool;
|
|
31
|
+
function bytes(b, ...lengths) {
|
|
32
|
+
if (!(b instanceof Uint8Array))
|
|
33
|
+
throw new TypeError('Expected Uint8Array');
|
|
34
|
+
if (lengths.length > 0 && !lengths.includes(b.length))
|
|
35
|
+
throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
|
|
36
|
+
}
|
|
37
|
+
exports.bytes = bytes;
|
|
38
|
+
function hash(hash) {
|
|
39
|
+
if (typeof hash !== 'function' || typeof hash.create !== 'function')
|
|
40
|
+
throw new Error('Hash should be wrapped by utils.wrapConstructor');
|
|
41
|
+
number(hash.outputLen);
|
|
42
|
+
number(hash.blockLen);
|
|
43
|
+
}
|
|
44
|
+
exports.hash = hash;
|
|
45
|
+
function exists(instance, checkFinished = true) {
|
|
46
|
+
if (instance.destroyed)
|
|
47
|
+
throw new Error('Hash instance has been destroyed');
|
|
48
|
+
if (checkFinished && instance.finished)
|
|
49
|
+
throw new Error('Hash#digest() has already been called');
|
|
50
|
+
}
|
|
51
|
+
exports.exists = exists;
|
|
52
|
+
function output(out, instance) {
|
|
53
|
+
bytes(out);
|
|
54
|
+
const min = instance.outputLen;
|
|
55
|
+
if (out.length < min) {
|
|
56
|
+
throw new Error(`digestInto() expects output buffer of length at least ${min}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.output = output;
|
|
60
|
+
const assert = {
|
|
61
|
+
number,
|
|
62
|
+
bool,
|
|
63
|
+
bytes,
|
|
64
|
+
hash,
|
|
65
|
+
exists,
|
|
66
|
+
output,
|
|
67
|
+
};
|
|
68
|
+
exports["default"] = assert;
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/***/ }),
|
|
72
|
+
|
|
73
|
+
/***/ 2686:
|
|
74
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
75
|
+
|
|
76
|
+
"use strict";
|
|
77
|
+
|
|
78
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
79
|
+
exports.BLAKE2 = exports.SIGMA = void 0;
|
|
80
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
81
|
+
const utils_js_1 = __webpack_require__(64);
|
|
82
|
+
// prettier-ignore
|
|
83
|
+
exports.SIGMA = new Uint8Array([
|
|
84
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
85
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
86
|
+
11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,
|
|
87
|
+
7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,
|
|
88
|
+
9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,
|
|
89
|
+
2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,
|
|
90
|
+
12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,
|
|
91
|
+
13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,
|
|
92
|
+
6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,
|
|
93
|
+
10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,
|
|
94
|
+
// For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].
|
|
95
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
96
|
+
14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
|
|
97
|
+
]);
|
|
98
|
+
class BLAKE2 extends utils_js_1.Hash {
|
|
99
|
+
constructor(blockLen, outputLen, opts = {}, keyLen, saltLen, persLen) {
|
|
100
|
+
super();
|
|
101
|
+
this.blockLen = blockLen;
|
|
102
|
+
this.outputLen = outputLen;
|
|
103
|
+
this.length = 0;
|
|
104
|
+
this.pos = 0;
|
|
105
|
+
this.finished = false;
|
|
106
|
+
this.destroyed = false;
|
|
107
|
+
_assert_js_1.default.number(blockLen);
|
|
108
|
+
_assert_js_1.default.number(outputLen);
|
|
109
|
+
_assert_js_1.default.number(keyLen);
|
|
110
|
+
if (outputLen < 0 || outputLen > keyLen)
|
|
111
|
+
throw new Error('Blake2: outputLen bigger than keyLen');
|
|
112
|
+
if (opts.key !== undefined && (opts.key.length < 1 || opts.key.length > keyLen))
|
|
113
|
+
throw new Error(`Key should be up 1..${keyLen} byte long or undefined`);
|
|
114
|
+
if (opts.salt !== undefined && opts.salt.length !== saltLen)
|
|
115
|
+
throw new Error(`Salt should be ${saltLen} byte long or undefined`);
|
|
116
|
+
if (opts.personalization !== undefined && opts.personalization.length !== persLen)
|
|
117
|
+
throw new Error(`Personalization should be ${persLen} byte long or undefined`);
|
|
118
|
+
this.buffer32 = (0, utils_js_1.u32)((this.buffer = new Uint8Array(blockLen)));
|
|
119
|
+
}
|
|
120
|
+
update(data) {
|
|
121
|
+
_assert_js_1.default.exists(this);
|
|
122
|
+
// Main difference with other hashes: there is flag for last block,
|
|
123
|
+
// so we cannot process current block before we know that there
|
|
124
|
+
// is the next one. This significantly complicates logic and reduces ability
|
|
125
|
+
// to do zero-copy processing
|
|
126
|
+
const { blockLen, buffer, buffer32 } = this;
|
|
127
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
128
|
+
const len = data.length;
|
|
129
|
+
for (let pos = 0; pos < len;) {
|
|
130
|
+
// If buffer is full and we still have input (don't process last block, same as blake2s)
|
|
131
|
+
if (this.pos === blockLen) {
|
|
132
|
+
this.compress(buffer32, 0, false);
|
|
133
|
+
this.pos = 0;
|
|
134
|
+
}
|
|
135
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
136
|
+
const dataOffset = data.byteOffset + pos;
|
|
137
|
+
// full block && aligned to 4 bytes && not last in input
|
|
138
|
+
if (take === blockLen && !(dataOffset % 4) && pos + take < len) {
|
|
139
|
+
const data32 = new Uint32Array(data.buffer, dataOffset, Math.floor((len - pos) / 4));
|
|
140
|
+
for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {
|
|
141
|
+
this.length += blockLen;
|
|
142
|
+
this.compress(data32, pos32, false);
|
|
143
|
+
}
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
147
|
+
this.pos += take;
|
|
148
|
+
this.length += take;
|
|
149
|
+
pos += take;
|
|
150
|
+
}
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
digestInto(out) {
|
|
154
|
+
_assert_js_1.default.exists(this);
|
|
155
|
+
_assert_js_1.default.output(out, this);
|
|
156
|
+
const { pos, buffer32 } = this;
|
|
157
|
+
this.finished = true;
|
|
158
|
+
// Padding
|
|
159
|
+
this.buffer.subarray(pos).fill(0);
|
|
160
|
+
this.compress(buffer32, 0, true);
|
|
161
|
+
const out32 = (0, utils_js_1.u32)(out);
|
|
162
|
+
this.get().forEach((v, i) => (out32[i] = v));
|
|
163
|
+
}
|
|
164
|
+
digest() {
|
|
165
|
+
const { buffer, outputLen } = this;
|
|
166
|
+
this.digestInto(buffer);
|
|
167
|
+
const res = buffer.slice(0, outputLen);
|
|
168
|
+
this.destroy();
|
|
169
|
+
return res;
|
|
170
|
+
}
|
|
171
|
+
_cloneInto(to) {
|
|
172
|
+
const { buffer, length, finished, destroyed, outputLen, pos } = this;
|
|
173
|
+
to || (to = new this.constructor({ dkLen: outputLen }));
|
|
174
|
+
to.set(...this.get());
|
|
175
|
+
to.length = length;
|
|
176
|
+
to.finished = finished;
|
|
177
|
+
to.destroyed = destroyed;
|
|
178
|
+
to.outputLen = outputLen;
|
|
179
|
+
to.buffer.set(buffer);
|
|
180
|
+
to.pos = pos;
|
|
181
|
+
return to;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.BLAKE2 = BLAKE2;
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
/***/ }),
|
|
188
|
+
|
|
189
|
+
/***/ 9350:
|
|
190
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
191
|
+
|
|
192
|
+
"use strict";
|
|
193
|
+
|
|
194
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
195
|
+
exports.SHA2 = void 0;
|
|
196
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
197
|
+
const utils_js_1 = __webpack_require__(64);
|
|
198
|
+
// Polyfill for Safari 14
|
|
199
|
+
function setBigUint64(view, byteOffset, value, isLE) {
|
|
200
|
+
if (typeof view.setBigUint64 === 'function')
|
|
201
|
+
return view.setBigUint64(byteOffset, value, isLE);
|
|
202
|
+
const _32n = BigInt(32);
|
|
203
|
+
const _u32_max = BigInt(0xffffffff);
|
|
204
|
+
const wh = Number((value >> _32n) & _u32_max);
|
|
205
|
+
const wl = Number(value & _u32_max);
|
|
206
|
+
const h = isLE ? 4 : 0;
|
|
207
|
+
const l = isLE ? 0 : 4;
|
|
208
|
+
view.setUint32(byteOffset + h, wh, isLE);
|
|
209
|
+
view.setUint32(byteOffset + l, wl, isLE);
|
|
210
|
+
}
|
|
211
|
+
// Base SHA2 class (RFC 6234)
|
|
212
|
+
class SHA2 extends utils_js_1.Hash {
|
|
213
|
+
constructor(blockLen, outputLen, padOffset, isLE) {
|
|
214
|
+
super();
|
|
215
|
+
this.blockLen = blockLen;
|
|
216
|
+
this.outputLen = outputLen;
|
|
217
|
+
this.padOffset = padOffset;
|
|
218
|
+
this.isLE = isLE;
|
|
219
|
+
this.finished = false;
|
|
220
|
+
this.length = 0;
|
|
221
|
+
this.pos = 0;
|
|
222
|
+
this.destroyed = false;
|
|
223
|
+
this.buffer = new Uint8Array(blockLen);
|
|
224
|
+
this.view = (0, utils_js_1.createView)(this.buffer);
|
|
225
|
+
}
|
|
226
|
+
update(data) {
|
|
227
|
+
_assert_js_1.default.exists(this);
|
|
228
|
+
const { view, buffer, blockLen } = this;
|
|
229
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
230
|
+
const len = data.length;
|
|
231
|
+
for (let pos = 0; pos < len;) {
|
|
232
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
233
|
+
// Fast path: we have at least one block in input, cast it to view and process
|
|
234
|
+
if (take === blockLen) {
|
|
235
|
+
const dataView = (0, utils_js_1.createView)(data);
|
|
236
|
+
for (; blockLen <= len - pos; pos += blockLen)
|
|
237
|
+
this.process(dataView, pos);
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
241
|
+
this.pos += take;
|
|
242
|
+
pos += take;
|
|
243
|
+
if (this.pos === blockLen) {
|
|
244
|
+
this.process(view, 0);
|
|
245
|
+
this.pos = 0;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
this.length += data.length;
|
|
249
|
+
this.roundClean();
|
|
250
|
+
return this;
|
|
251
|
+
}
|
|
252
|
+
digestInto(out) {
|
|
253
|
+
_assert_js_1.default.exists(this);
|
|
254
|
+
_assert_js_1.default.output(out, this);
|
|
255
|
+
this.finished = true;
|
|
256
|
+
// Padding
|
|
257
|
+
// We can avoid allocation of buffer for padding completely if it
|
|
258
|
+
// was previously not allocated here. But it won't change performance.
|
|
259
|
+
const { buffer, view, blockLen, isLE } = this;
|
|
260
|
+
let { pos } = this;
|
|
261
|
+
// append the bit '1' to the message
|
|
262
|
+
buffer[pos++] = 0b10000000;
|
|
263
|
+
this.buffer.subarray(pos).fill(0);
|
|
264
|
+
// we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
|
|
265
|
+
if (this.padOffset > blockLen - pos) {
|
|
266
|
+
this.process(view, 0);
|
|
267
|
+
pos = 0;
|
|
268
|
+
}
|
|
269
|
+
// Pad until full block byte with zeros
|
|
270
|
+
for (let i = pos; i < blockLen; i++)
|
|
271
|
+
buffer[i] = 0;
|
|
272
|
+
// Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
|
|
273
|
+
// You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
|
|
274
|
+
// So we just write lowest 64 bits of that value.
|
|
275
|
+
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
|
|
276
|
+
this.process(view, 0);
|
|
277
|
+
const oview = (0, utils_js_1.createView)(out);
|
|
278
|
+
this.get().forEach((v, i) => oview.setUint32(4 * i, v, isLE));
|
|
279
|
+
}
|
|
280
|
+
digest() {
|
|
281
|
+
const { buffer, outputLen } = this;
|
|
282
|
+
this.digestInto(buffer);
|
|
283
|
+
const res = buffer.slice(0, outputLen);
|
|
284
|
+
this.destroy();
|
|
285
|
+
return res;
|
|
286
|
+
}
|
|
287
|
+
_cloneInto(to) {
|
|
288
|
+
to || (to = new this.constructor());
|
|
289
|
+
to.set(...this.get());
|
|
290
|
+
const { blockLen, buffer, length, finished, destroyed, pos } = this;
|
|
291
|
+
to.length = length;
|
|
292
|
+
to.pos = pos;
|
|
293
|
+
to.finished = finished;
|
|
294
|
+
to.destroyed = destroyed;
|
|
295
|
+
if (length % blockLen)
|
|
296
|
+
to.buffer.set(buffer);
|
|
297
|
+
return to;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
exports.SHA2 = SHA2;
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
/***/ }),
|
|
304
|
+
|
|
305
|
+
/***/ 1655:
|
|
306
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
307
|
+
|
|
308
|
+
"use strict";
|
|
309
|
+
|
|
310
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
311
|
+
exports.add = exports.toBig = exports.split = exports.fromBig = void 0;
|
|
312
|
+
const U32_MASK64 = BigInt(2 ** 32 - 1);
|
|
313
|
+
const _32n = BigInt(32);
|
|
314
|
+
// We are not using BigUint64Array, because they are extremely slow as per 2022
|
|
315
|
+
function fromBig(n, le = false) {
|
|
316
|
+
if (le)
|
|
317
|
+
return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
|
|
318
|
+
return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
|
|
319
|
+
}
|
|
320
|
+
exports.fromBig = fromBig;
|
|
321
|
+
function split(lst, le = false) {
|
|
322
|
+
let Ah = new Uint32Array(lst.length);
|
|
323
|
+
let Al = new Uint32Array(lst.length);
|
|
324
|
+
for (let i = 0; i < lst.length; i++) {
|
|
325
|
+
const { h, l } = fromBig(lst[i], le);
|
|
326
|
+
[Ah[i], Al[i]] = [h, l];
|
|
327
|
+
}
|
|
328
|
+
return [Ah, Al];
|
|
329
|
+
}
|
|
330
|
+
exports.split = split;
|
|
331
|
+
const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
|
|
332
|
+
exports.toBig = toBig;
|
|
333
|
+
// for Shift in [0, 32)
|
|
334
|
+
const shrSH = (h, l, s) => h >>> s;
|
|
335
|
+
const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
336
|
+
// Right rotate for Shift in [1, 32)
|
|
337
|
+
const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
|
|
338
|
+
const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
339
|
+
// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
340
|
+
const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
|
|
341
|
+
const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
|
|
342
|
+
// Right rotate for shift===32 (just swaps l&h)
|
|
343
|
+
const rotr32H = (h, l) => l;
|
|
344
|
+
const rotr32L = (h, l) => h;
|
|
345
|
+
// Left rotate for Shift in [1, 32)
|
|
346
|
+
const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
|
|
347
|
+
const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
|
|
348
|
+
// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
349
|
+
const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
|
|
350
|
+
const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
|
|
351
|
+
// JS uses 32-bit signed integers for bitwise operations which means we cannot
|
|
352
|
+
// simple take carry out of low bit sum by shift, we need to use division.
|
|
353
|
+
// Removing "export" has 5% perf penalty -_-
|
|
354
|
+
function add(Ah, Al, Bh, Bl) {
|
|
355
|
+
const l = (Al >>> 0) + (Bl >>> 0);
|
|
356
|
+
return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
|
|
357
|
+
}
|
|
358
|
+
exports.add = add;
|
|
359
|
+
// Addition with more than 2 elements
|
|
360
|
+
const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
|
|
361
|
+
const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
|
|
362
|
+
const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
|
|
363
|
+
const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
|
|
364
|
+
const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
|
|
365
|
+
const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
|
|
366
|
+
// prettier-ignore
|
|
367
|
+
const u64 = {
|
|
368
|
+
fromBig, split, toBig: exports.toBig,
|
|
369
|
+
shrSH, shrSL,
|
|
370
|
+
rotrSH, rotrSL, rotrBH, rotrBL,
|
|
371
|
+
rotr32H, rotr32L,
|
|
372
|
+
rotlSH, rotlSL, rotlBH, rotlBL,
|
|
373
|
+
add, add3L, add3H, add4L, add4H, add5H, add5L,
|
|
374
|
+
};
|
|
375
|
+
exports["default"] = u64;
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
/***/ }),
|
|
379
|
+
|
|
380
|
+
/***/ 9467:
|
|
381
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
382
|
+
|
|
383
|
+
"use strict";
|
|
384
|
+
|
|
385
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
386
|
+
exports.blake2s = exports.compress = exports.IV = void 0;
|
|
387
|
+
const _blake2_js_1 = __webpack_require__(2686);
|
|
388
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
389
|
+
const utils_js_1 = __webpack_require__(64);
|
|
390
|
+
// Initial state:
|
|
391
|
+
// first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19)
|
|
392
|
+
// same as SHA-256
|
|
393
|
+
// prettier-ignore
|
|
394
|
+
exports.IV = new Uint32Array([
|
|
395
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
396
|
+
]);
|
|
397
|
+
// Mixing function G splitted in two halfs
|
|
398
|
+
function G1(a, b, c, d, x) {
|
|
399
|
+
a = (a + b + x) | 0;
|
|
400
|
+
d = (0, utils_js_1.rotr)(d ^ a, 16);
|
|
401
|
+
c = (c + d) | 0;
|
|
402
|
+
b = (0, utils_js_1.rotr)(b ^ c, 12);
|
|
403
|
+
return { a, b, c, d };
|
|
404
|
+
}
|
|
405
|
+
function G2(a, b, c, d, x) {
|
|
406
|
+
a = (a + b + x) | 0;
|
|
407
|
+
d = (0, utils_js_1.rotr)(d ^ a, 8);
|
|
408
|
+
c = (c + d) | 0;
|
|
409
|
+
b = (0, utils_js_1.rotr)(b ^ c, 7);
|
|
410
|
+
return { a, b, c, d };
|
|
411
|
+
}
|
|
412
|
+
// prettier-ignore
|
|
413
|
+
function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {
|
|
414
|
+
let j = 0;
|
|
415
|
+
for (let i = 0; i < rounds; i++) {
|
|
416
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G1(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
417
|
+
({ a: v0, b: v4, c: v8, d: v12 } = G2(v0, v4, v8, v12, msg[offset + s[j++]]));
|
|
418
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G1(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
419
|
+
({ a: v1, b: v5, c: v9, d: v13 } = G2(v1, v5, v9, v13, msg[offset + s[j++]]));
|
|
420
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G1(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
421
|
+
({ a: v2, b: v6, c: v10, d: v14 } = G2(v2, v6, v10, v14, msg[offset + s[j++]]));
|
|
422
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G1(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
423
|
+
({ a: v3, b: v7, c: v11, d: v15 } = G2(v3, v7, v11, v15, msg[offset + s[j++]]));
|
|
424
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G1(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
425
|
+
({ a: v0, b: v5, c: v10, d: v15 } = G2(v0, v5, v10, v15, msg[offset + s[j++]]));
|
|
426
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G1(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
427
|
+
({ a: v1, b: v6, c: v11, d: v12 } = G2(v1, v6, v11, v12, msg[offset + s[j++]]));
|
|
428
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G1(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
429
|
+
({ a: v2, b: v7, c: v8, d: v13 } = G2(v2, v7, v8, v13, msg[offset + s[j++]]));
|
|
430
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G1(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
431
|
+
({ a: v3, b: v4, c: v9, d: v14 } = G2(v3, v4, v9, v14, msg[offset + s[j++]]));
|
|
432
|
+
}
|
|
433
|
+
return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };
|
|
434
|
+
}
|
|
435
|
+
exports.compress = compress;
|
|
436
|
+
class BLAKE2s extends _blake2_js_1.BLAKE2 {
|
|
437
|
+
constructor(opts = {}) {
|
|
438
|
+
super(64, opts.dkLen === undefined ? 32 : opts.dkLen, opts, 32, 8, 8);
|
|
439
|
+
// Internal state, same as SHA-256
|
|
440
|
+
this.v0 = exports.IV[0] | 0;
|
|
441
|
+
this.v1 = exports.IV[1] | 0;
|
|
442
|
+
this.v2 = exports.IV[2] | 0;
|
|
443
|
+
this.v3 = exports.IV[3] | 0;
|
|
444
|
+
this.v4 = exports.IV[4] | 0;
|
|
445
|
+
this.v5 = exports.IV[5] | 0;
|
|
446
|
+
this.v6 = exports.IV[6] | 0;
|
|
447
|
+
this.v7 = exports.IV[7] | 0;
|
|
448
|
+
const keyLength = opts.key ? opts.key.length : 0;
|
|
449
|
+
this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);
|
|
450
|
+
if (opts.salt) {
|
|
451
|
+
const salt = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.salt));
|
|
452
|
+
this.v4 ^= salt[0];
|
|
453
|
+
this.v5 ^= salt[1];
|
|
454
|
+
}
|
|
455
|
+
if (opts.personalization) {
|
|
456
|
+
const pers = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.personalization));
|
|
457
|
+
this.v6 ^= pers[0];
|
|
458
|
+
this.v7 ^= pers[1];
|
|
459
|
+
}
|
|
460
|
+
if (opts.key) {
|
|
461
|
+
// Pad to blockLen and update
|
|
462
|
+
const tmp = new Uint8Array(this.blockLen);
|
|
463
|
+
tmp.set((0, utils_js_1.toBytes)(opts.key));
|
|
464
|
+
this.update(tmp);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
get() {
|
|
468
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;
|
|
469
|
+
return [v0, v1, v2, v3, v4, v5, v6, v7];
|
|
470
|
+
}
|
|
471
|
+
// prettier-ignore
|
|
472
|
+
set(v0, v1, v2, v3, v4, v5, v6, v7) {
|
|
473
|
+
this.v0 = v0 | 0;
|
|
474
|
+
this.v1 = v1 | 0;
|
|
475
|
+
this.v2 = v2 | 0;
|
|
476
|
+
this.v3 = v3 | 0;
|
|
477
|
+
this.v4 = v4 | 0;
|
|
478
|
+
this.v5 = v5 | 0;
|
|
479
|
+
this.v6 = v6 | 0;
|
|
480
|
+
this.v7 = v7 | 0;
|
|
481
|
+
}
|
|
482
|
+
compress(msg, offset, isLast) {
|
|
483
|
+
const { h, l } = _u64_js_1.default.fromBig(BigInt(this.length));
|
|
484
|
+
// prettier-ignore
|
|
485
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(_blake2_js_1.SIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, exports.IV[0], exports.IV[1], exports.IV[2], exports.IV[3], l ^ exports.IV[4], h ^ exports.IV[5], isLast ? ~exports.IV[6] : exports.IV[6], exports.IV[7]);
|
|
486
|
+
this.v0 ^= v0 ^ v8;
|
|
487
|
+
this.v1 ^= v1 ^ v9;
|
|
488
|
+
this.v2 ^= v2 ^ v10;
|
|
489
|
+
this.v3 ^= v3 ^ v11;
|
|
490
|
+
this.v4 ^= v4 ^ v12;
|
|
491
|
+
this.v5 ^= v5 ^ v13;
|
|
492
|
+
this.v6 ^= v6 ^ v14;
|
|
493
|
+
this.v7 ^= v7 ^ v15;
|
|
494
|
+
}
|
|
495
|
+
destroy() {
|
|
496
|
+
this.destroyed = true;
|
|
497
|
+
this.buffer32.fill(0);
|
|
498
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* BLAKE2s - optimized for 32-bit platforms. JS doesn't have uint64, so it's faster than BLAKE2b.
|
|
503
|
+
* @param msg - message that would be hashed
|
|
504
|
+
* @param opts - dkLen, key, salt, personalization
|
|
505
|
+
*/
|
|
506
|
+
exports.blake2s = (0, utils_js_1.wrapConstructorWithOpts)((opts) => new BLAKE2s(opts));
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
/***/ }),
|
|
510
|
+
|
|
511
|
+
/***/ 4661:
|
|
512
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
513
|
+
|
|
514
|
+
"use strict";
|
|
515
|
+
|
|
516
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
517
|
+
exports.crypto = void 0;
|
|
518
|
+
exports.crypto = {
|
|
519
|
+
node: undefined,
|
|
520
|
+
web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
/***/ }),
|
|
525
|
+
|
|
526
|
+
/***/ 6053:
|
|
527
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
528
|
+
|
|
529
|
+
"use strict";
|
|
530
|
+
|
|
531
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
532
|
+
exports.sha256 = void 0;
|
|
533
|
+
const _sha2_js_1 = __webpack_require__(9350);
|
|
534
|
+
const utils_js_1 = __webpack_require__(64);
|
|
535
|
+
// Choice: a ? b : c
|
|
536
|
+
const Chi = (a, b, c) => (a & b) ^ (~a & c);
|
|
537
|
+
// Majority function, true if any two inpust is true
|
|
538
|
+
const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
|
|
539
|
+
// Round constants:
|
|
540
|
+
// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
|
|
541
|
+
// prettier-ignore
|
|
542
|
+
const SHA256_K = new Uint32Array([
|
|
543
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
544
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
545
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
546
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
547
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
548
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
549
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
550
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
551
|
+
]);
|
|
552
|
+
// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
|
|
553
|
+
// prettier-ignore
|
|
554
|
+
const IV = new Uint32Array([
|
|
555
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
|
|
556
|
+
]);
|
|
557
|
+
// Temporary buffer, not used to store anything between runs
|
|
558
|
+
// Named this way because it matches specification.
|
|
559
|
+
const SHA256_W = new Uint32Array(64);
|
|
560
|
+
class SHA256 extends _sha2_js_1.SHA2 {
|
|
561
|
+
constructor() {
|
|
562
|
+
super(64, 32, 8, false);
|
|
563
|
+
// We cannot use array here since array allows indexing by variable
|
|
564
|
+
// which means optimizer/compiler cannot use registers.
|
|
565
|
+
this.A = IV[0] | 0;
|
|
566
|
+
this.B = IV[1] | 0;
|
|
567
|
+
this.C = IV[2] | 0;
|
|
568
|
+
this.D = IV[3] | 0;
|
|
569
|
+
this.E = IV[4] | 0;
|
|
570
|
+
this.F = IV[5] | 0;
|
|
571
|
+
this.G = IV[6] | 0;
|
|
572
|
+
this.H = IV[7] | 0;
|
|
573
|
+
}
|
|
574
|
+
get() {
|
|
575
|
+
const { A, B, C, D, E, F, G, H } = this;
|
|
576
|
+
return [A, B, C, D, E, F, G, H];
|
|
577
|
+
}
|
|
578
|
+
// prettier-ignore
|
|
579
|
+
set(A, B, C, D, E, F, G, H) {
|
|
580
|
+
this.A = A | 0;
|
|
581
|
+
this.B = B | 0;
|
|
582
|
+
this.C = C | 0;
|
|
583
|
+
this.D = D | 0;
|
|
584
|
+
this.E = E | 0;
|
|
585
|
+
this.F = F | 0;
|
|
586
|
+
this.G = G | 0;
|
|
587
|
+
this.H = H | 0;
|
|
588
|
+
}
|
|
589
|
+
process(view, offset) {
|
|
590
|
+
// Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
|
|
591
|
+
for (let i = 0; i < 16; i++, offset += 4)
|
|
592
|
+
SHA256_W[i] = view.getUint32(offset, false);
|
|
593
|
+
for (let i = 16; i < 64; i++) {
|
|
594
|
+
const W15 = SHA256_W[i - 15];
|
|
595
|
+
const W2 = SHA256_W[i - 2];
|
|
596
|
+
const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);
|
|
597
|
+
const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);
|
|
598
|
+
SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
|
|
599
|
+
}
|
|
600
|
+
// Compression function main loop, 64 rounds
|
|
601
|
+
let { A, B, C, D, E, F, G, H } = this;
|
|
602
|
+
for (let i = 0; i < 64; i++) {
|
|
603
|
+
const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);
|
|
604
|
+
const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
|
|
605
|
+
const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);
|
|
606
|
+
const T2 = (sigma0 + Maj(A, B, C)) | 0;
|
|
607
|
+
H = G;
|
|
608
|
+
G = F;
|
|
609
|
+
F = E;
|
|
610
|
+
E = (D + T1) | 0;
|
|
611
|
+
D = C;
|
|
612
|
+
C = B;
|
|
613
|
+
B = A;
|
|
614
|
+
A = (T1 + T2) | 0;
|
|
615
|
+
}
|
|
616
|
+
// Add the compressed chunk to the current hash value
|
|
617
|
+
A = (A + this.A) | 0;
|
|
618
|
+
B = (B + this.B) | 0;
|
|
619
|
+
C = (C + this.C) | 0;
|
|
620
|
+
D = (D + this.D) | 0;
|
|
621
|
+
E = (E + this.E) | 0;
|
|
622
|
+
F = (F + this.F) | 0;
|
|
623
|
+
G = (G + this.G) | 0;
|
|
624
|
+
H = (H + this.H) | 0;
|
|
625
|
+
this.set(A, B, C, D, E, F, G, H);
|
|
626
|
+
}
|
|
627
|
+
roundClean() {
|
|
628
|
+
SHA256_W.fill(0);
|
|
629
|
+
}
|
|
630
|
+
destroy() {
|
|
631
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
632
|
+
this.buffer.fill(0);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* SHA2-256 hash function
|
|
637
|
+
* @param message - data that would be hashed
|
|
638
|
+
*/
|
|
639
|
+
exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
/***/ }),
|
|
643
|
+
|
|
644
|
+
/***/ 125:
|
|
645
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
646
|
+
|
|
647
|
+
"use strict";
|
|
648
|
+
|
|
649
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
650
|
+
exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;
|
|
651
|
+
const _assert_js_1 = __webpack_require__(3525);
|
|
652
|
+
const _u64_js_1 = __webpack_require__(1655);
|
|
653
|
+
const utils_js_1 = __webpack_require__(64);
|
|
654
|
+
// Various per round constants calculations
|
|
655
|
+
const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
|
|
656
|
+
const _0n = BigInt(0);
|
|
657
|
+
const _1n = BigInt(1);
|
|
658
|
+
const _2n = BigInt(2);
|
|
659
|
+
const _7n = BigInt(7);
|
|
660
|
+
const _256n = BigInt(256);
|
|
661
|
+
const _0x71n = BigInt(0x71);
|
|
662
|
+
for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
|
|
663
|
+
// Pi
|
|
664
|
+
[x, y] = [y, (2 * x + 3 * y) % 5];
|
|
665
|
+
SHA3_PI.push(2 * (5 * y + x));
|
|
666
|
+
// Rotational
|
|
667
|
+
SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
|
|
668
|
+
// Iota
|
|
669
|
+
let t = _0n;
|
|
670
|
+
for (let j = 0; j < 7; j++) {
|
|
671
|
+
R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
|
|
672
|
+
if (R & _2n)
|
|
673
|
+
t ^= _1n << ((_1n << BigInt(j)) - _1n);
|
|
674
|
+
}
|
|
675
|
+
_SHA3_IOTA.push(t);
|
|
676
|
+
}
|
|
677
|
+
const [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js_1.default.split(_SHA3_IOTA, true);
|
|
678
|
+
// Left rotation (without 0, 32, 64)
|
|
679
|
+
const rotlH = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBH(h, l, s) : _u64_js_1.default.rotlSH(h, l, s);
|
|
680
|
+
const rotlL = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBL(h, l, s) : _u64_js_1.default.rotlSL(h, l, s);
|
|
681
|
+
// Same as keccakf1600, but allows to skip some rounds
|
|
682
|
+
function keccakP(s, rounds = 24) {
|
|
683
|
+
const B = new Uint32Array(5 * 2);
|
|
684
|
+
// NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
|
|
685
|
+
for (let round = 24 - rounds; round < 24; round++) {
|
|
686
|
+
// Theta θ
|
|
687
|
+
for (let x = 0; x < 10; x++)
|
|
688
|
+
B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
|
|
689
|
+
for (let x = 0; x < 10; x += 2) {
|
|
690
|
+
const idx1 = (x + 8) % 10;
|
|
691
|
+
const idx0 = (x + 2) % 10;
|
|
692
|
+
const B0 = B[idx0];
|
|
693
|
+
const B1 = B[idx0 + 1];
|
|
694
|
+
const Th = rotlH(B0, B1, 1) ^ B[idx1];
|
|
695
|
+
const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
|
|
696
|
+
for (let y = 0; y < 50; y += 10) {
|
|
697
|
+
s[x + y] ^= Th;
|
|
698
|
+
s[x + y + 1] ^= Tl;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
// Rho (ρ) and Pi (π)
|
|
702
|
+
let curH = s[2];
|
|
703
|
+
let curL = s[3];
|
|
704
|
+
for (let t = 0; t < 24; t++) {
|
|
705
|
+
const shift = SHA3_ROTL[t];
|
|
706
|
+
const Th = rotlH(curH, curL, shift);
|
|
707
|
+
const Tl = rotlL(curH, curL, shift);
|
|
708
|
+
const PI = SHA3_PI[t];
|
|
709
|
+
curH = s[PI];
|
|
710
|
+
curL = s[PI + 1];
|
|
711
|
+
s[PI] = Th;
|
|
712
|
+
s[PI + 1] = Tl;
|
|
713
|
+
}
|
|
714
|
+
// Chi (χ)
|
|
715
|
+
for (let y = 0; y < 50; y += 10) {
|
|
716
|
+
for (let x = 0; x < 10; x++)
|
|
717
|
+
B[x] = s[y + x];
|
|
718
|
+
for (let x = 0; x < 10; x++)
|
|
719
|
+
s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
|
|
720
|
+
}
|
|
721
|
+
// Iota (ι)
|
|
722
|
+
s[0] ^= SHA3_IOTA_H[round];
|
|
723
|
+
s[1] ^= SHA3_IOTA_L[round];
|
|
724
|
+
}
|
|
725
|
+
B.fill(0);
|
|
726
|
+
}
|
|
727
|
+
exports.keccakP = keccakP;
|
|
728
|
+
class Keccak extends utils_js_1.Hash {
|
|
729
|
+
// NOTE: we accept arguments in bytes instead of bits here.
|
|
730
|
+
constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
|
|
731
|
+
super();
|
|
732
|
+
this.blockLen = blockLen;
|
|
733
|
+
this.suffix = suffix;
|
|
734
|
+
this.outputLen = outputLen;
|
|
735
|
+
this.enableXOF = enableXOF;
|
|
736
|
+
this.rounds = rounds;
|
|
737
|
+
this.pos = 0;
|
|
738
|
+
this.posOut = 0;
|
|
739
|
+
this.finished = false;
|
|
740
|
+
this.destroyed = false;
|
|
741
|
+
// Can be passed from user as dkLen
|
|
742
|
+
_assert_js_1.default.number(outputLen);
|
|
743
|
+
// 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
|
|
744
|
+
if (0 >= this.blockLen || this.blockLen >= 200)
|
|
745
|
+
throw new Error('Sha3 supports only keccak-f1600 function');
|
|
746
|
+
this.state = new Uint8Array(200);
|
|
747
|
+
this.state32 = (0, utils_js_1.u32)(this.state);
|
|
748
|
+
}
|
|
749
|
+
keccak() {
|
|
750
|
+
keccakP(this.state32, this.rounds);
|
|
751
|
+
this.posOut = 0;
|
|
752
|
+
this.pos = 0;
|
|
753
|
+
}
|
|
754
|
+
update(data) {
|
|
755
|
+
_assert_js_1.default.exists(this);
|
|
756
|
+
const { blockLen, state } = this;
|
|
757
|
+
data = (0, utils_js_1.toBytes)(data);
|
|
758
|
+
const len = data.length;
|
|
759
|
+
for (let pos = 0; pos < len;) {
|
|
760
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
761
|
+
for (let i = 0; i < take; i++)
|
|
762
|
+
state[this.pos++] ^= data[pos++];
|
|
763
|
+
if (this.pos === blockLen)
|
|
764
|
+
this.keccak();
|
|
765
|
+
}
|
|
766
|
+
return this;
|
|
767
|
+
}
|
|
768
|
+
finish() {
|
|
769
|
+
if (this.finished)
|
|
770
|
+
return;
|
|
771
|
+
this.finished = true;
|
|
772
|
+
const { state, suffix, pos, blockLen } = this;
|
|
773
|
+
// Do the padding
|
|
774
|
+
state[pos] ^= suffix;
|
|
775
|
+
if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
|
|
776
|
+
this.keccak();
|
|
777
|
+
state[blockLen - 1] ^= 0x80;
|
|
778
|
+
this.keccak();
|
|
779
|
+
}
|
|
780
|
+
writeInto(out) {
|
|
781
|
+
_assert_js_1.default.exists(this, false);
|
|
782
|
+
_assert_js_1.default.bytes(out);
|
|
783
|
+
this.finish();
|
|
784
|
+
const bufferOut = this.state;
|
|
785
|
+
const { blockLen } = this;
|
|
786
|
+
for (let pos = 0, len = out.length; pos < len;) {
|
|
787
|
+
if (this.posOut >= blockLen)
|
|
788
|
+
this.keccak();
|
|
789
|
+
const take = Math.min(blockLen - this.posOut, len - pos);
|
|
790
|
+
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
|
791
|
+
this.posOut += take;
|
|
792
|
+
pos += take;
|
|
793
|
+
}
|
|
794
|
+
return out;
|
|
795
|
+
}
|
|
796
|
+
xofInto(out) {
|
|
797
|
+
// Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
|
|
798
|
+
if (!this.enableXOF)
|
|
799
|
+
throw new Error('XOF is not possible for this instance');
|
|
800
|
+
return this.writeInto(out);
|
|
801
|
+
}
|
|
802
|
+
xof(bytes) {
|
|
803
|
+
_assert_js_1.default.number(bytes);
|
|
804
|
+
return this.xofInto(new Uint8Array(bytes));
|
|
805
|
+
}
|
|
806
|
+
digestInto(out) {
|
|
807
|
+
_assert_js_1.default.output(out, this);
|
|
808
|
+
if (this.finished)
|
|
809
|
+
throw new Error('digest() was already called');
|
|
810
|
+
this.writeInto(out);
|
|
811
|
+
this.destroy();
|
|
812
|
+
return out;
|
|
813
|
+
}
|
|
814
|
+
digest() {
|
|
815
|
+
return this.digestInto(new Uint8Array(this.outputLen));
|
|
816
|
+
}
|
|
817
|
+
destroy() {
|
|
818
|
+
this.destroyed = true;
|
|
819
|
+
this.state.fill(0);
|
|
820
|
+
}
|
|
821
|
+
_cloneInto(to) {
|
|
822
|
+
const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
|
|
823
|
+
to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
|
|
824
|
+
to.state32.set(this.state32);
|
|
825
|
+
to.pos = this.pos;
|
|
826
|
+
to.posOut = this.posOut;
|
|
827
|
+
to.finished = this.finished;
|
|
828
|
+
to.rounds = rounds;
|
|
829
|
+
// Suffix can change in cSHAKE
|
|
830
|
+
to.suffix = suffix;
|
|
831
|
+
to.outputLen = outputLen;
|
|
832
|
+
to.enableXOF = enableXOF;
|
|
833
|
+
to.destroyed = this.destroyed;
|
|
834
|
+
return to;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
exports.Keccak = Keccak;
|
|
838
|
+
const gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));
|
|
839
|
+
exports.sha3_224 = gen(0x06, 144, 224 / 8);
|
|
840
|
+
/**
|
|
841
|
+
* SHA3-256 hash function
|
|
842
|
+
* @param message - that would be hashed
|
|
843
|
+
*/
|
|
844
|
+
exports.sha3_256 = gen(0x06, 136, 256 / 8);
|
|
845
|
+
exports.sha3_384 = gen(0x06, 104, 384 / 8);
|
|
846
|
+
exports.sha3_512 = gen(0x06, 72, 512 / 8);
|
|
847
|
+
exports.keccak_224 = gen(0x01, 144, 224 / 8);
|
|
848
|
+
/**
|
|
849
|
+
* keccak-256 hash function. Different from SHA3-256.
|
|
850
|
+
* @param message - that would be hashed
|
|
851
|
+
*/
|
|
852
|
+
exports.keccak_256 = gen(0x01, 136, 256 / 8);
|
|
853
|
+
exports.keccak_384 = gen(0x01, 104, 384 / 8);
|
|
854
|
+
exports.keccak_512 = gen(0x01, 72, 512 / 8);
|
|
855
|
+
const genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
|
|
856
|
+
exports.shake128 = genShake(0x1f, 168, 128 / 8);
|
|
857
|
+
exports.shake256 = genShake(0x1f, 136, 256 / 8);
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
/***/ }),
|
|
861
|
+
|
|
862
|
+
/***/ 64:
|
|
863
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
864
|
+
|
|
865
|
+
"use strict";
|
|
866
|
+
|
|
867
|
+
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
868
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
869
|
+
exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;
|
|
870
|
+
// The import here is via the package name. This is to ensure
|
|
871
|
+
// that exports mapping/resolution does fall into place.
|
|
872
|
+
const crypto_1 = __webpack_require__(4661);
|
|
873
|
+
// Cast array to different type
|
|
874
|
+
const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
875
|
+
exports.u8 = u8;
|
|
876
|
+
const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
|
|
877
|
+
exports.u32 = u32;
|
|
878
|
+
// Cast array to view
|
|
879
|
+
const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
880
|
+
exports.createView = createView;
|
|
881
|
+
// The rotate right (circular right shift) operation for uint32
|
|
882
|
+
const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
|
|
883
|
+
exports.rotr = rotr;
|
|
884
|
+
exports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
|
|
885
|
+
// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
|
|
886
|
+
// So, just to be sure not to corrupt anything.
|
|
887
|
+
if (!exports.isLE)
|
|
888
|
+
throw new Error('Non little-endian hardware is not supported');
|
|
889
|
+
const hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
|
|
890
|
+
/**
|
|
891
|
+
* @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))
|
|
892
|
+
*/
|
|
893
|
+
function bytesToHex(uint8a) {
|
|
894
|
+
// pre-caching improves the speed 6x
|
|
895
|
+
if (!(uint8a instanceof Uint8Array))
|
|
896
|
+
throw new Error('Uint8Array expected');
|
|
897
|
+
let hex = '';
|
|
898
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
899
|
+
hex += hexes[uint8a[i]];
|
|
900
|
+
}
|
|
901
|
+
return hex;
|
|
902
|
+
}
|
|
903
|
+
exports.bytesToHex = bytesToHex;
|
|
904
|
+
/**
|
|
905
|
+
* @example hexToBytes('deadbeef')
|
|
906
|
+
*/
|
|
907
|
+
function hexToBytes(hex) {
|
|
908
|
+
if (typeof hex !== 'string') {
|
|
909
|
+
throw new TypeError('hexToBytes: expected string, got ' + typeof hex);
|
|
910
|
+
}
|
|
911
|
+
if (hex.length % 2)
|
|
912
|
+
throw new Error('hexToBytes: received invalid unpadded hex');
|
|
913
|
+
const array = new Uint8Array(hex.length / 2);
|
|
914
|
+
for (let i = 0; i < array.length; i++) {
|
|
915
|
+
const j = i * 2;
|
|
916
|
+
const hexByte = hex.slice(j, j + 2);
|
|
917
|
+
const byte = Number.parseInt(hexByte, 16);
|
|
918
|
+
if (Number.isNaN(byte) || byte < 0)
|
|
919
|
+
throw new Error('Invalid byte sequence');
|
|
920
|
+
array[i] = byte;
|
|
921
|
+
}
|
|
922
|
+
return array;
|
|
923
|
+
}
|
|
924
|
+
exports.hexToBytes = hexToBytes;
|
|
925
|
+
// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
|
|
926
|
+
// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
|
|
927
|
+
const nextTick = async () => { };
|
|
928
|
+
exports.nextTick = nextTick;
|
|
929
|
+
// Returns control to thread each 'tick' ms to avoid blocking
|
|
930
|
+
async function asyncLoop(iters, tick, cb) {
|
|
931
|
+
let ts = Date.now();
|
|
932
|
+
for (let i = 0; i < iters; i++) {
|
|
933
|
+
cb(i);
|
|
934
|
+
// Date.now() is not monotonic, so in case if clock goes backwards we return return control too
|
|
935
|
+
const diff = Date.now() - ts;
|
|
936
|
+
if (diff >= 0 && diff < tick)
|
|
937
|
+
continue;
|
|
938
|
+
await (0, exports.nextTick)();
|
|
939
|
+
ts += diff;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
exports.asyncLoop = asyncLoop;
|
|
943
|
+
function utf8ToBytes(str) {
|
|
944
|
+
if (typeof str !== 'string') {
|
|
945
|
+
throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
|
|
946
|
+
}
|
|
947
|
+
return new TextEncoder().encode(str);
|
|
948
|
+
}
|
|
949
|
+
exports.utf8ToBytes = utf8ToBytes;
|
|
950
|
+
function toBytes(data) {
|
|
951
|
+
if (typeof data === 'string')
|
|
952
|
+
data = utf8ToBytes(data);
|
|
953
|
+
if (!(data instanceof Uint8Array))
|
|
954
|
+
throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
|
|
955
|
+
return data;
|
|
956
|
+
}
|
|
957
|
+
exports.toBytes = toBytes;
|
|
958
|
+
/**
|
|
959
|
+
* Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`
|
|
960
|
+
* @example concatBytes(buf1, buf2)
|
|
961
|
+
*/
|
|
962
|
+
function concatBytes(...arrays) {
|
|
963
|
+
if (!arrays.every((a) => a instanceof Uint8Array))
|
|
964
|
+
throw new Error('Uint8Array list expected');
|
|
965
|
+
if (arrays.length === 1)
|
|
966
|
+
return arrays[0];
|
|
967
|
+
const length = arrays.reduce((a, arr) => a + arr.length, 0);
|
|
968
|
+
const result = new Uint8Array(length);
|
|
969
|
+
for (let i = 0, pad = 0; i < arrays.length; i++) {
|
|
970
|
+
const arr = arrays[i];
|
|
971
|
+
result.set(arr, pad);
|
|
972
|
+
pad += arr.length;
|
|
973
|
+
}
|
|
974
|
+
return result;
|
|
975
|
+
}
|
|
976
|
+
exports.concatBytes = concatBytes;
|
|
977
|
+
// For runtime check if class implements interface
|
|
978
|
+
class Hash {
|
|
979
|
+
// Safe version that clones internal state
|
|
980
|
+
clone() {
|
|
981
|
+
return this._cloneInto();
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
exports.Hash = Hash;
|
|
985
|
+
// Check if object doens't have custom constructor (like Uint8Array/Array)
|
|
986
|
+
const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
|
|
987
|
+
function checkOpts(defaults, opts) {
|
|
988
|
+
if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
|
|
989
|
+
throw new TypeError('Options should be object or undefined');
|
|
990
|
+
const merged = Object.assign(defaults, opts);
|
|
991
|
+
return merged;
|
|
992
|
+
}
|
|
993
|
+
exports.checkOpts = checkOpts;
|
|
994
|
+
function wrapConstructor(hashConstructor) {
|
|
995
|
+
const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
|
|
996
|
+
const tmp = hashConstructor();
|
|
997
|
+
hashC.outputLen = tmp.outputLen;
|
|
998
|
+
hashC.blockLen = tmp.blockLen;
|
|
999
|
+
hashC.create = () => hashConstructor();
|
|
1000
|
+
return hashC;
|
|
1001
|
+
}
|
|
1002
|
+
exports.wrapConstructor = wrapConstructor;
|
|
1003
|
+
function wrapConstructorWithOpts(hashCons) {
|
|
1004
|
+
const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
|
|
1005
|
+
const tmp = hashCons({});
|
|
1006
|
+
hashC.outputLen = tmp.outputLen;
|
|
1007
|
+
hashC.blockLen = tmp.blockLen;
|
|
1008
|
+
hashC.create = (opts) => hashCons(opts);
|
|
1009
|
+
return hashC;
|
|
1010
|
+
}
|
|
1011
|
+
exports.wrapConstructorWithOpts = wrapConstructorWithOpts;
|
|
1012
|
+
/**
|
|
1013
|
+
* Secure PRNG
|
|
1014
|
+
*/
|
|
1015
|
+
function randomBytes(bytesLength = 32) {
|
|
1016
|
+
if (crypto_1.crypto.web) {
|
|
1017
|
+
return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength));
|
|
1018
|
+
}
|
|
1019
|
+
else if (crypto_1.crypto.node) {
|
|
1020
|
+
return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer);
|
|
1021
|
+
}
|
|
1022
|
+
else {
|
|
1023
|
+
throw new Error("The environment doesn't have randomBytes function");
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
exports.randomBytes = randomBytes;
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
/***/ }),
|
|
1030
|
+
|
|
14
1031
|
/***/ 7408:
|
|
15
1032
|
/***/ ((module) => {
|
|
16
1033
|
|
|
@@ -4031,11 +5048,17 @@ var axios = __webpack_require__(9644);
|
|
|
4031
5048
|
|
|
4032
5049
|
var BigNumber = __webpack_require__(6391);
|
|
4033
5050
|
|
|
4034
|
-
var
|
|
5051
|
+
var utils = __webpack_require__(64);
|
|
5052
|
+
|
|
5053
|
+
var blake2s = __webpack_require__(9467);
|
|
5054
|
+
|
|
5055
|
+
var sha256 = __webpack_require__(6053);
|
|
5056
|
+
|
|
5057
|
+
var JSZip = __webpack_require__(1297);
|
|
4035
5058
|
|
|
4036
5059
|
var hdTransport = __webpack_require__(7495);
|
|
4037
5060
|
|
|
4038
|
-
var sha3 = __webpack_require__(
|
|
5061
|
+
var sha3 = __webpack_require__(125);
|
|
4039
5062
|
|
|
4040
5063
|
function _interopDefaultLegacy(e) {
|
|
4041
5064
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
@@ -4049,9 +5072,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
4049
5072
|
|
|
4050
5073
|
var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
|
|
4051
5074
|
|
|
4052
|
-
var
|
|
4053
|
-
|
|
4054
|
-
var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
|
|
5075
|
+
var JSZip__default = /*#__PURE__*/_interopDefaultLegacy(JSZip);
|
|
4055
5076
|
|
|
4056
5077
|
const inject = ({
|
|
4057
5078
|
call,
|
|
@@ -4086,11 +5107,6 @@ const inject = ({
|
|
|
4086
5107
|
connectId,
|
|
4087
5108
|
method: 'getFeatures'
|
|
4088
5109
|
}),
|
|
4089
|
-
batchGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
4090
|
-
connectId,
|
|
4091
|
-
deviceId,
|
|
4092
|
-
method: 'batchGetPublicKey'
|
|
4093
|
-
})),
|
|
4094
5110
|
checkFirmwareRelease: connectId => call({
|
|
4095
5111
|
connectId,
|
|
4096
5112
|
method: 'checkFirmwareRelease'
|
|
@@ -4142,6 +5158,10 @@ const inject = ({
|
|
|
4142
5158
|
connectId,
|
|
4143
5159
|
method: 'deviceUpdateReboot'
|
|
4144
5160
|
}),
|
|
5161
|
+
deviceUploadResource: (connectId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5162
|
+
connectId,
|
|
5163
|
+
method: 'deviceUploadResource'
|
|
5164
|
+
})),
|
|
4145
5165
|
deviceSupportFeatures: connectId => call({
|
|
4146
5166
|
connectId,
|
|
4147
5167
|
method: 'deviceSupportFeatures'
|
|
@@ -4334,6 +5354,11 @@ const inject = ({
|
|
|
4334
5354
|
deviceId,
|
|
4335
5355
|
method: 'aptosGetAddress'
|
|
4336
5356
|
})),
|
|
5357
|
+
aptosGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
5358
|
+
connectId,
|
|
5359
|
+
deviceId,
|
|
5360
|
+
method: 'aptosGetPublicKey'
|
|
5361
|
+
})),
|
|
4337
5362
|
aptosSignTransaction: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
|
|
4338
5363
|
connectId,
|
|
4339
5364
|
deviceId,
|
|
@@ -10167,7 +11192,7 @@ var nested = {
|
|
|
10167
11192
|
}
|
|
10168
11193
|
}
|
|
10169
11194
|
},
|
|
10170
|
-
|
|
11195
|
+
DeviceBackToBoot: {
|
|
10171
11196
|
fields: {}
|
|
10172
11197
|
},
|
|
10173
11198
|
BixinBackupRequest: {
|
|
@@ -10437,6 +11462,104 @@ var nested = {
|
|
|
10437
11462
|
}
|
|
10438
11463
|
}
|
|
10439
11464
|
},
|
|
11465
|
+
ResourceUpload: {
|
|
11466
|
+
fields: {
|
|
11467
|
+
extension: {
|
|
11468
|
+
rule: "required",
|
|
11469
|
+
type: "string",
|
|
11470
|
+
id: 1
|
|
11471
|
+
},
|
|
11472
|
+
data_length: {
|
|
11473
|
+
rule: "required",
|
|
11474
|
+
type: "uint32",
|
|
11475
|
+
id: 2
|
|
11476
|
+
},
|
|
11477
|
+
res_type: {
|
|
11478
|
+
rule: "required",
|
|
11479
|
+
type: "ResourceType",
|
|
11480
|
+
id: 3
|
|
11481
|
+
},
|
|
11482
|
+
zoom_data_length: {
|
|
11483
|
+
rule: "required",
|
|
11484
|
+
type: "uint32",
|
|
11485
|
+
id: 5
|
|
11486
|
+
},
|
|
11487
|
+
nft_meta_data: {
|
|
11488
|
+
type: "bytes",
|
|
11489
|
+
id: 4
|
|
11490
|
+
}
|
|
11491
|
+
},
|
|
11492
|
+
nested: {
|
|
11493
|
+
ResourceType: {
|
|
11494
|
+
values: {
|
|
11495
|
+
WallPaper: 0,
|
|
11496
|
+
Nft: 1
|
|
11497
|
+
}
|
|
11498
|
+
}
|
|
11499
|
+
}
|
|
11500
|
+
},
|
|
11501
|
+
ZoomRequest: {
|
|
11502
|
+
fields: {
|
|
11503
|
+
offset: {
|
|
11504
|
+
type: "uint32",
|
|
11505
|
+
id: 1
|
|
11506
|
+
},
|
|
11507
|
+
data_length: {
|
|
11508
|
+
rule: "required",
|
|
11509
|
+
type: "uint32",
|
|
11510
|
+
id: 2
|
|
11511
|
+
}
|
|
11512
|
+
}
|
|
11513
|
+
},
|
|
11514
|
+
ResourceRequest: {
|
|
11515
|
+
fields: {
|
|
11516
|
+
offset: {
|
|
11517
|
+
type: "uint32",
|
|
11518
|
+
id: 1
|
|
11519
|
+
},
|
|
11520
|
+
data_length: {
|
|
11521
|
+
rule: "required",
|
|
11522
|
+
type: "uint32",
|
|
11523
|
+
id: 2
|
|
11524
|
+
}
|
|
11525
|
+
}
|
|
11526
|
+
},
|
|
11527
|
+
ResourceAck: {
|
|
11528
|
+
fields: {
|
|
11529
|
+
data_chunk: {
|
|
11530
|
+
rule: "required",
|
|
11531
|
+
type: "bytes",
|
|
11532
|
+
id: 1
|
|
11533
|
+
},
|
|
11534
|
+
hash: {
|
|
11535
|
+
type: "bytes",
|
|
11536
|
+
id: 2
|
|
11537
|
+
}
|
|
11538
|
+
}
|
|
11539
|
+
},
|
|
11540
|
+
ResourceUpdate: {
|
|
11541
|
+
fields: {
|
|
11542
|
+
file_name: {
|
|
11543
|
+
rule: "required",
|
|
11544
|
+
type: "string",
|
|
11545
|
+
id: 1
|
|
11546
|
+
},
|
|
11547
|
+
data_length: {
|
|
11548
|
+
rule: "required",
|
|
11549
|
+
type: "uint32",
|
|
11550
|
+
id: 2
|
|
11551
|
+
},
|
|
11552
|
+
initial_data_chunk: {
|
|
11553
|
+
rule: "required",
|
|
11554
|
+
type: "bytes",
|
|
11555
|
+
id: 3
|
|
11556
|
+
},
|
|
11557
|
+
hash: {
|
|
11558
|
+
type: "bytes",
|
|
11559
|
+
id: 4
|
|
11560
|
+
}
|
|
11561
|
+
}
|
|
11562
|
+
},
|
|
10440
11563
|
NFTWriteInfo: {
|
|
10441
11564
|
fields: {
|
|
10442
11565
|
index: {
|
|
@@ -11433,6 +12556,7 @@ var nested = {
|
|
|
11433
12556
|
}
|
|
11434
12557
|
},
|
|
11435
12558
|
raw_tx: {
|
|
12559
|
+
rule: "required",
|
|
11436
12560
|
type: "bytes",
|
|
11437
12561
|
id: 2
|
|
11438
12562
|
}
|
|
@@ -13561,16 +14685,6 @@ var nested = {
|
|
|
13561
14685
|
MessageType_StarcoinSignMessage: 10306,
|
|
13562
14686
|
MessageType_StarcoinMessageSignature: 10307,
|
|
13563
14687
|
MessageType_StarcoinVerifyMessage: 10308,
|
|
13564
|
-
MessageType_ConfluxGetAddress: 10401,
|
|
13565
|
-
MessageType_ConfluxAddress: 10402,
|
|
13566
|
-
MessageType_ConfluxSignTx: 10403,
|
|
13567
|
-
MessageType_ConfluxTxRequest: 10404,
|
|
13568
|
-
MessageType_ConfluxTxAck: 10405,
|
|
13569
|
-
MessageType_ConfluxSignMessage: 10406,
|
|
13570
|
-
MessageType_ConfluxSignMessageCIP23: 10407,
|
|
13571
|
-
MessageType_ConfluxMessageSignature: 10408,
|
|
13572
|
-
MessageType_ConfluxVerifyMessage: 10409,
|
|
13573
|
-
MessageType_ConfluxVerifyMessageCIP23: 10410,
|
|
13574
14688
|
MessageType_AptosGetAddress: 10600,
|
|
13575
14689
|
MessageType_AptosAddress: 10601,
|
|
13576
14690
|
MessageType_AptosSignTx: 10602,
|
|
@@ -13581,7 +14695,6 @@ var nested = {
|
|
|
13581
14695
|
MessageType_WebAuthnRemoveResidentCredential: 803,
|
|
13582
14696
|
MessageType_BixinSeedOperate: 901,
|
|
13583
14697
|
MessageType_BixinMessageSE: 902,
|
|
13584
|
-
MessageType_BixinReboot: 903,
|
|
13585
14698
|
MessageType_BixinOutMessageSE: 904,
|
|
13586
14699
|
MessageType_BixinBackupRequest: 905,
|
|
13587
14700
|
MessageType_BixinBackupAck: 906,
|
|
@@ -13598,6 +14711,14 @@ var nested = {
|
|
|
13598
14711
|
MessageType_EthereumSignMessageEIP712: 10200,
|
|
13599
14712
|
MessageType_GetPublicKeyMultiple: 10210,
|
|
13600
14713
|
MessageType_PublicKeyMultiple: 10211,
|
|
14714
|
+
MessageType_ConfluxGetAddress: 10112,
|
|
14715
|
+
MessageType_ConfluxAddress: 10113,
|
|
14716
|
+
MessageType_ConfluxSignTx: 10114,
|
|
14717
|
+
MessageType_ConfluxTxRequest: 10115,
|
|
14718
|
+
MessageType_ConfluxTxAck: 10116,
|
|
14719
|
+
MessageType_ConfluxSignMessage: 10117,
|
|
14720
|
+
MessageType_ConfluxSignMessageCIP23: 10118,
|
|
14721
|
+
MessageType_ConfluxMessageSignature: 10119,
|
|
13601
14722
|
MessageType_TronGetAddress: 10501,
|
|
13602
14723
|
MessageType_TronAddress: 10502,
|
|
13603
14724
|
MessageType_TronSignTx: 10503,
|
|
@@ -13608,6 +14729,7 @@ var nested = {
|
|
|
13608
14729
|
MessageType_NearAddress: 10702,
|
|
13609
14730
|
MessageType_NearSignTx: 10703,
|
|
13610
14731
|
MessageType_NearSignedTx: 10704,
|
|
14732
|
+
MessageType_DeviceBackToBoot: 903,
|
|
13611
14733
|
MessageType_DeviceInfoSettings: 10001,
|
|
13612
14734
|
MessageType_GetDeviceInfo: 10002,
|
|
13613
14735
|
MessageType_DeviceInfo: 10003,
|
|
@@ -13622,7 +14744,12 @@ var nested = {
|
|
|
13622
14744
|
MessageType_SESignMessage: 10012,
|
|
13623
14745
|
MessageType_SEMessageSignature: 10013,
|
|
13624
14746
|
MessageType_NFTWriteInfo: 10014,
|
|
13625
|
-
MessageType_NFTWriteData: 10015
|
|
14747
|
+
MessageType_NFTWriteData: 10015,
|
|
14748
|
+
MessageType_ResourceUpload: 10018,
|
|
14749
|
+
MessageType_ZoomRequest: 10019,
|
|
14750
|
+
MessageType_ResourceRequest: 10020,
|
|
14751
|
+
MessageType_ResourceAck: 10021,
|
|
14752
|
+
MessageType_ResourceUpdate: 10022
|
|
13626
14753
|
}
|
|
13627
14754
|
},
|
|
13628
14755
|
google: {
|
|
@@ -14444,7 +15571,7 @@ const createLogMessage = (type, payload) => ({
|
|
|
14444
15571
|
const MAX_ENTRIES = 500;
|
|
14445
15572
|
let postMessage$1;
|
|
14446
15573
|
|
|
14447
|
-
class Log$
|
|
15574
|
+
class Log$9 {
|
|
14448
15575
|
constructor(prefix, enabled) {
|
|
14449
15576
|
this.prefix = prefix;
|
|
14450
15577
|
this.enabled = enabled;
|
|
@@ -14513,7 +15640,7 @@ class Log$8 {
|
|
|
14513
15640
|
const _logs = {};
|
|
14514
15641
|
|
|
14515
15642
|
const initLog = (prefix, enabled) => {
|
|
14516
|
-
const instance = new Log$
|
|
15643
|
+
const instance = new Log$9(prefix, !!enabled);
|
|
14517
15644
|
_logs[prefix] = instance;
|
|
14518
15645
|
return instance;
|
|
14519
15646
|
};
|
|
@@ -14643,6 +15770,16 @@ const getReleaseChangelog = (releases, currentVersion) => {
|
|
|
14643
15770
|
return newVersions.map(r => r.changelog);
|
|
14644
15771
|
};
|
|
14645
15772
|
|
|
15773
|
+
const findLatestRelease = releases => {
|
|
15774
|
+
let leastRelease = releases[0];
|
|
15775
|
+
releases.forEach(release => {
|
|
15776
|
+
if (semver__default["default"].gt(release.version.join('.'), leastRelease.version.join('.'))) {
|
|
15777
|
+
leastRelease = release;
|
|
15778
|
+
}
|
|
15779
|
+
});
|
|
15780
|
+
return leastRelease;
|
|
15781
|
+
};
|
|
15782
|
+
|
|
14646
15783
|
var _a;
|
|
14647
15784
|
|
|
14648
15785
|
class DataManager {
|
|
@@ -14726,6 +15863,18 @@ DataManager.getFirmwareStatus = features => {
|
|
|
14726
15863
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
14727
15864
|
};
|
|
14728
15865
|
|
|
15866
|
+
DataManager.getSysResourcesLatestRelease = features => {
|
|
15867
|
+
var _b, _c, _d;
|
|
15868
|
+
|
|
15869
|
+
const deviceType = getDeviceType(features);
|
|
15870
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
15871
|
+
if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
|
|
15872
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
15873
|
+
const currentVersion = deviceFirmwareVersion.join('.');
|
|
15874
|
+
const targetDeviceConfig = targetDeviceConfigList.filter(item => semver__default["default"].gt(item.version.join('.'), currentVersion) && !!item.resource);
|
|
15875
|
+
return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.resource;
|
|
15876
|
+
};
|
|
15877
|
+
|
|
14729
15878
|
DataManager.getFirmwareChangelog = features => {
|
|
14730
15879
|
var _b, _c;
|
|
14731
15880
|
|
|
@@ -14741,12 +15890,23 @@ DataManager.getFirmwareChangelog = features => {
|
|
|
14741
15890
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14742
15891
|
};
|
|
14743
15892
|
|
|
14744
|
-
DataManager.
|
|
15893
|
+
DataManager.getFirmwareLatestRelease = features => {
|
|
14745
15894
|
var _b, _c;
|
|
14746
15895
|
|
|
14747
15896
|
const deviceType = getDeviceType(features);
|
|
14748
15897
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
14749
|
-
|
|
15898
|
+
const target = findLatestRelease(targetDeviceConfigList);
|
|
15899
|
+
if (!target) return target;
|
|
15900
|
+
|
|
15901
|
+
if (!target.resource) {
|
|
15902
|
+
const resource = _a.getSysResourcesLatestRelease(features);
|
|
15903
|
+
|
|
15904
|
+
return Object.assign(Object.assign({}, target), {
|
|
15905
|
+
resource
|
|
15906
|
+
});
|
|
15907
|
+
}
|
|
15908
|
+
|
|
15909
|
+
return target;
|
|
14750
15910
|
};
|
|
14751
15911
|
|
|
14752
15912
|
DataManager.getBLEFirmwareStatus = features => {
|
|
@@ -14779,12 +15939,12 @@ DataManager.getBleFirmwareChangelog = features => {
|
|
|
14779
15939
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
14780
15940
|
};
|
|
14781
15941
|
|
|
14782
|
-
DataManager.
|
|
15942
|
+
DataManager.getBleFirmwareLatestRelease = features => {
|
|
14783
15943
|
var _b, _c;
|
|
14784
15944
|
|
|
14785
15945
|
const deviceType = getDeviceType(features);
|
|
14786
15946
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
14787
|
-
return targetDeviceConfigList
|
|
15947
|
+
return findLatestRelease(targetDeviceConfigList);
|
|
14788
15948
|
};
|
|
14789
15949
|
|
|
14790
15950
|
DataManager.getTransportStatus = localVersion => {
|
|
@@ -14934,7 +16094,7 @@ const createFirmwareMessage = (type, payload) => ({
|
|
|
14934
16094
|
payload
|
|
14935
16095
|
});
|
|
14936
16096
|
|
|
14937
|
-
const Log$
|
|
16097
|
+
const Log$8 = getLogger(exports.d0.DevicePool);
|
|
14938
16098
|
|
|
14939
16099
|
const getDiff = (current, descriptors) => {
|
|
14940
16100
|
const connected = descriptors.filter(d => current.find(x => x.path === d.path) === undefined);
|
|
@@ -14987,7 +16147,7 @@ class DevicePool extends events.exports {
|
|
|
14987
16147
|
var e_1, _a;
|
|
14988
16148
|
|
|
14989
16149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14990
|
-
Log$
|
|
16150
|
+
Log$8.debug('get device list: connectId: ', connectId);
|
|
14991
16151
|
const devices = {};
|
|
14992
16152
|
const deviceList = [];
|
|
14993
16153
|
|
|
@@ -14998,7 +16158,7 @@ class DevicePool extends events.exports {
|
|
|
14998
16158
|
const exist = descriptorList.find(d => d.path === device.originalDescriptor.path);
|
|
14999
16159
|
|
|
15000
16160
|
if (exist) {
|
|
15001
|
-
Log$
|
|
16161
|
+
Log$8.debug('find existed Device: ', connectId);
|
|
15002
16162
|
device.updateDescriptor(exist, true);
|
|
15003
16163
|
devices[connectId] = device;
|
|
15004
16164
|
deviceList.push(device);
|
|
@@ -15009,7 +16169,7 @@ class DevicePool extends events.exports {
|
|
|
15009
16169
|
};
|
|
15010
16170
|
}
|
|
15011
16171
|
|
|
15012
|
-
Log$
|
|
16172
|
+
Log$8.debug('found device in cache, but path is different: ', connectId);
|
|
15013
16173
|
}
|
|
15014
16174
|
}
|
|
15015
16175
|
|
|
@@ -15055,8 +16215,8 @@ class DevicePool extends events.exports {
|
|
|
15055
16215
|
}
|
|
15056
16216
|
|
|
15057
16217
|
static clearDeviceCache(connectId) {
|
|
15058
|
-
Log$
|
|
15059
|
-
Log$
|
|
16218
|
+
Log$8.debug('clear device pool cache: connectId', connectId);
|
|
16219
|
+
Log$8.debug('clear device pool cache: ', this.devicesCache);
|
|
15060
16220
|
|
|
15061
16221
|
if (connectId) {
|
|
15062
16222
|
delete this.devicesCache[connectId];
|
|
@@ -15092,7 +16252,7 @@ class DevicePool extends events.exports {
|
|
|
15092
16252
|
for (let i = this.connectedPool.length - 1; i >= 0; i--) {
|
|
15093
16253
|
const descriptor = this.connectedPool[i];
|
|
15094
16254
|
const device = yield this._createDevice(descriptor, initOptions);
|
|
15095
|
-
Log$
|
|
16255
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15096
16256
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15097
16257
|
this.connectedPool.splice(i, 1);
|
|
15098
16258
|
}
|
|
@@ -15133,7 +16293,7 @@ class DevicePool extends events.exports {
|
|
|
15133
16293
|
return;
|
|
15134
16294
|
}
|
|
15135
16295
|
|
|
15136
|
-
Log$
|
|
16296
|
+
Log$8.debug('emit DEVICE.CONNECT: ', device);
|
|
15137
16297
|
this.emitter.emit(DEVICE.CONNECT, device);
|
|
15138
16298
|
});
|
|
15139
16299
|
diff.disconnected.forEach(d => {
|
|
@@ -15147,7 +16307,7 @@ class DevicePool extends events.exports {
|
|
|
15147
16307
|
return;
|
|
15148
16308
|
}
|
|
15149
16309
|
|
|
15150
|
-
Log$
|
|
16310
|
+
Log$8.debug('emit DEVICE.DISCONNECT: ', device);
|
|
15151
16311
|
this.emitter.emit(DEVICE.DISCONNECT, device);
|
|
15152
16312
|
});
|
|
15153
16313
|
}
|
|
@@ -15194,13 +16354,13 @@ DevicePool.connectedPool = [];
|
|
|
15194
16354
|
DevicePool.disconnectPool = [];
|
|
15195
16355
|
DevicePool.devicesCache = {};
|
|
15196
16356
|
DevicePool.emitter = new events.exports();
|
|
15197
|
-
const Log$
|
|
16357
|
+
const Log$7 = getLogger(exports.d0.Transport);
|
|
15198
16358
|
const BleLogger = getLogger(exports.d0.HdBleTransport);
|
|
15199
16359
|
const HttpLogger = getLogger(exports.d0.HdTransportHttp);
|
|
15200
16360
|
|
|
15201
16361
|
class TransportManager {
|
|
15202
16362
|
static load() {
|
|
15203
|
-
Log$
|
|
16363
|
+
Log$7.debug('transport manager load');
|
|
15204
16364
|
this.defaultMessages = DataManager.getProtobufMessages();
|
|
15205
16365
|
this.currentMessages = this.defaultMessages;
|
|
15206
16366
|
}
|
|
@@ -15209,24 +16369,24 @@ class TransportManager {
|
|
|
15209
16369
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15210
16370
|
try {
|
|
15211
16371
|
const env = DataManager.getSettings('env');
|
|
15212
|
-
Log$
|
|
16372
|
+
Log$7.debug('Initializing transports');
|
|
15213
16373
|
|
|
15214
16374
|
if (env === 'react-native') {
|
|
15215
16375
|
if (!this.reactNativeInit) {
|
|
15216
16376
|
yield this.transport.init(BleLogger, DevicePool.emitter);
|
|
15217
16377
|
this.reactNativeInit = true;
|
|
15218
16378
|
} else {
|
|
15219
|
-
Log$
|
|
16379
|
+
Log$7.debug('React Native Do Not Initializing transports');
|
|
15220
16380
|
}
|
|
15221
16381
|
} else {
|
|
15222
16382
|
yield this.transport.init(HttpLogger);
|
|
15223
16383
|
}
|
|
15224
16384
|
|
|
15225
|
-
Log$
|
|
16385
|
+
Log$7.debug('Configuring transports');
|
|
15226
16386
|
yield this.transport.configure(JSON.stringify(this.defaultMessages));
|
|
15227
|
-
Log$
|
|
16387
|
+
Log$7.debug('Configuring transports done');
|
|
15228
16388
|
} catch (error) {
|
|
15229
|
-
Log$
|
|
16389
|
+
Log$7.debug('Initializing transports error: ', error);
|
|
15230
16390
|
|
|
15231
16391
|
if (error.code === 'ECONNABORTED') {
|
|
15232
16392
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
|
|
@@ -15265,7 +16425,7 @@ class TransportManager {
|
|
|
15265
16425
|
this.transport = new TransportConstructor();
|
|
15266
16426
|
}
|
|
15267
16427
|
|
|
15268
|
-
Log$
|
|
16428
|
+
Log$7.debug('set transport: ', this.transport);
|
|
15269
16429
|
}
|
|
15270
16430
|
|
|
15271
16431
|
static getTransport() {
|
|
@@ -15292,7 +16452,7 @@ const assertType = (res, resType) => {
|
|
|
15292
16452
|
}
|
|
15293
16453
|
};
|
|
15294
16454
|
|
|
15295
|
-
const Log$
|
|
16455
|
+
const Log$6 = getLogger(exports.d0.DeviceCommands);
|
|
15296
16456
|
|
|
15297
16457
|
class DeviceCommands {
|
|
15298
16458
|
constructor(device, mainId) {
|
|
@@ -15321,16 +16481,16 @@ class DeviceCommands {
|
|
|
15321
16481
|
var _a, _b;
|
|
15322
16482
|
|
|
15323
16483
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15324
|
-
Log$
|
|
16484
|
+
Log$6.debug('[DeviceCommands] [call] Sending', type);
|
|
15325
16485
|
|
|
15326
16486
|
try {
|
|
15327
16487
|
const promise = this.transport.call(this.mainId, type, msg);
|
|
15328
16488
|
this.callPromise = promise;
|
|
15329
16489
|
const res = yield promise;
|
|
15330
|
-
Log$
|
|
16490
|
+
Log$6.debug('[DeviceCommands] [call] Received', res.type);
|
|
15331
16491
|
return res;
|
|
15332
16492
|
} catch (error) {
|
|
15333
|
-
Log$
|
|
16493
|
+
Log$6.debug('[DeviceCommands] [call] Received error', error);
|
|
15334
16494
|
|
|
15335
16495
|
if (((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'device disconnected during action') {
|
|
15336
16496
|
return {
|
|
@@ -15355,7 +16515,7 @@ class DeviceCommands {
|
|
|
15355
16515
|
try {
|
|
15356
16516
|
assertType(response, resType);
|
|
15357
16517
|
} catch (error) {
|
|
15358
|
-
Log$
|
|
16518
|
+
Log$6.debug('DeviceCommands typedcall error: ', error);
|
|
15359
16519
|
|
|
15360
16520
|
if (error instanceof hdShared.HardwareError) {
|
|
15361
16521
|
if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
|
|
@@ -15380,7 +16540,7 @@ class DeviceCommands {
|
|
|
15380
16540
|
}
|
|
15381
16541
|
|
|
15382
16542
|
_filterCommonTypes(res, callType) {
|
|
15383
|
-
Log$
|
|
16543
|
+
Log$6.debug('_filterCommonTypes: ', res);
|
|
15384
16544
|
|
|
15385
16545
|
if (res.type === 'Failure') {
|
|
15386
16546
|
const {
|
|
@@ -15506,7 +16666,7 @@ class DeviceCommands {
|
|
|
15506
16666
|
}
|
|
15507
16667
|
});
|
|
15508
16668
|
} else {
|
|
15509
|
-
Log$
|
|
16669
|
+
Log$6.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
|
|
15510
16670
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, '_promptPassphrase: Passphrase callback not configured'));
|
|
15511
16671
|
}
|
|
15512
16672
|
});
|
|
@@ -15633,7 +16793,7 @@ const parseRunOptions = options => {
|
|
|
15633
16793
|
return options;
|
|
15634
16794
|
};
|
|
15635
16795
|
|
|
15636
|
-
const Log$
|
|
16796
|
+
const Log$5 = getLogger(exports.d0.Device);
|
|
15637
16797
|
const deviceSessionCache = {};
|
|
15638
16798
|
|
|
15639
16799
|
class Device extends events.exports {
|
|
@@ -15721,10 +16881,10 @@ class Device extends events.exports {
|
|
|
15721
16881
|
if (env === 'react-native') {
|
|
15722
16882
|
const res = yield (_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id);
|
|
15723
16883
|
this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
|
|
15724
|
-
Log$
|
|
16884
|
+
Log$5.debug('Expected uuid:', this.mainId);
|
|
15725
16885
|
} else {
|
|
15726
16886
|
this.mainId = yield (_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session);
|
|
15727
|
-
Log$
|
|
16887
|
+
Log$5.debug('Expected session id:', this.mainId);
|
|
15728
16888
|
}
|
|
15729
16889
|
|
|
15730
16890
|
this.updateDescriptor({
|
|
@@ -15773,7 +16933,7 @@ class Device extends events.exports {
|
|
|
15773
16933
|
session: null
|
|
15774
16934
|
});
|
|
15775
16935
|
} catch (err) {
|
|
15776
|
-
Log$
|
|
16936
|
+
Log$5.error('[Device] release error: ', err);
|
|
15777
16937
|
} finally {
|
|
15778
16938
|
this.needReloadDevice = true;
|
|
15779
16939
|
}
|
|
@@ -15785,64 +16945,74 @@ class Device extends events.exports {
|
|
|
15785
16945
|
return this.commands;
|
|
15786
16946
|
}
|
|
15787
16947
|
|
|
16948
|
+
generateStateKey(deviceId, passphraseState) {
|
|
16949
|
+
if (passphraseState) {
|
|
16950
|
+
return `${deviceId}@${passphraseState}`;
|
|
16951
|
+
}
|
|
16952
|
+
|
|
16953
|
+
return deviceId;
|
|
16954
|
+
}
|
|
16955
|
+
|
|
15788
16956
|
getInternalState(_deviceId) {
|
|
15789
16957
|
var _a, _b;
|
|
15790
16958
|
|
|
15791
|
-
Log$
|
|
15792
|
-
Log$
|
|
16959
|
+
Log$5.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
16960
|
+
Log$5.debug('getInternalState session cache: ', deviceSessionCache);
|
|
15793
16961
|
const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
|
|
15794
16962
|
if (!deviceId) return undefined;
|
|
15795
16963
|
if (!this.passphraseState) return undefined;
|
|
15796
|
-
const usePassKey =
|
|
16964
|
+
const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
|
|
16965
|
+
return deviceSessionCache[usePassKey];
|
|
16966
|
+
}
|
|
15797
16967
|
|
|
15798
|
-
|
|
15799
|
-
|
|
16968
|
+
tryFixInternalState(state, deviceId) {
|
|
16969
|
+
Log$5.debug('tryFixInternalState session param: ', `device_id: ${deviceId}`, `passphraseState: ${state}`);
|
|
16970
|
+
const key = `${deviceId}`;
|
|
16971
|
+
const session = deviceSessionCache[key];
|
|
15800
16972
|
|
|
15801
|
-
|
|
15802
|
-
|
|
15803
|
-
|
|
16973
|
+
if (session) {
|
|
16974
|
+
deviceSessionCache[this.generateStateKey(deviceId, state)] = session;
|
|
16975
|
+
delete deviceSessionCache[key];
|
|
15804
16976
|
}
|
|
15805
16977
|
|
|
15806
|
-
|
|
16978
|
+
Log$5.debug('tryFixInternalState session cache: ', deviceSessionCache);
|
|
15807
16979
|
}
|
|
15808
16980
|
|
|
15809
16981
|
setInternalState(state, initSession) {
|
|
15810
|
-
var _a;
|
|
16982
|
+
var _a, _b;
|
|
15811
16983
|
|
|
15812
|
-
Log$
|
|
16984
|
+
Log$5.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
|
|
15813
16985
|
if (!this.features) return;
|
|
15814
16986
|
if (!this.passphraseState && !initSession) return;
|
|
15815
|
-
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
key += `@${this.passphraseState}`;
|
|
15819
|
-
}
|
|
16987
|
+
const deviceId = (_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id;
|
|
16988
|
+
if (!deviceId) return;
|
|
16989
|
+
const key = this.generateStateKey(deviceId, this.passphraseState);
|
|
15820
16990
|
|
|
15821
16991
|
if (state) {
|
|
15822
16992
|
deviceSessionCache[key] = state;
|
|
15823
16993
|
}
|
|
15824
16994
|
|
|
15825
|
-
Log$
|
|
16995
|
+
Log$5.debug('setInternalState done session cache: ', deviceSessionCache);
|
|
15826
16996
|
}
|
|
15827
16997
|
|
|
15828
16998
|
clearInternalState(_deviceId) {
|
|
15829
16999
|
var _a;
|
|
15830
17000
|
|
|
15831
|
-
Log$
|
|
17001
|
+
Log$5.debug('clearInternalState param: ', _deviceId);
|
|
15832
17002
|
const deviceId = _deviceId || ((_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id);
|
|
15833
17003
|
if (!deviceId) return;
|
|
15834
17004
|
const key = `${deviceId}`;
|
|
15835
17005
|
delete deviceSessionCache[key];
|
|
15836
17006
|
|
|
15837
17007
|
if (this.passphraseState) {
|
|
15838
|
-
const usePassKey =
|
|
17008
|
+
const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
|
|
15839
17009
|
delete deviceSessionCache[usePassKey];
|
|
15840
17010
|
}
|
|
15841
17011
|
}
|
|
15842
17012
|
|
|
15843
17013
|
initialize(options) {
|
|
15844
17014
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15845
|
-
Log$
|
|
17015
|
+
Log$5.debug('initialize param:', options);
|
|
15846
17016
|
this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
|
|
15847
17017
|
|
|
15848
17018
|
if (options === null || options === void 0 ? void 0 : options.initSession) {
|
|
@@ -15856,7 +17026,7 @@ class Device extends events.exports {
|
|
|
15856
17026
|
payload.session_id = internalState;
|
|
15857
17027
|
}
|
|
15858
17028
|
|
|
15859
|
-
Log$
|
|
17029
|
+
Log$5.debug('initialize payload:', payload);
|
|
15860
17030
|
const {
|
|
15861
17031
|
message
|
|
15862
17032
|
} = yield this.commands.typedCall('Initialize', 'Features', payload);
|
|
@@ -15923,7 +17093,7 @@ class Device extends events.exports {
|
|
|
15923
17093
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15924
17094
|
if (this.runPromise) {
|
|
15925
17095
|
yield this.interruptionFromOutside();
|
|
15926
|
-
Log$
|
|
17096
|
+
Log$5.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
|
|
15927
17097
|
}
|
|
15928
17098
|
|
|
15929
17099
|
options = parseRunOptions(options);
|
|
@@ -15976,7 +17146,7 @@ class Device extends events.exports {
|
|
|
15976
17146
|
if (!this.keepSession && typeof options.keepSession !== 'boolean' || options.keepSession === false) {
|
|
15977
17147
|
this.keepSession = false;
|
|
15978
17148
|
yield this.release();
|
|
15979
|
-
Log$
|
|
17149
|
+
Log$5.debug('release device, mainId: ', this.mainId);
|
|
15980
17150
|
}
|
|
15981
17151
|
|
|
15982
17152
|
if (this.runPromise) {
|
|
@@ -16159,7 +17329,7 @@ class DeviceList extends events.exports {
|
|
|
16159
17329
|
const getFirmwareReleaseInfo = features => {
|
|
16160
17330
|
const firmwareStatus = DataManager.getFirmwareStatus(features);
|
|
16161
17331
|
const changelog = DataManager.getFirmwareChangelog(features);
|
|
16162
|
-
const release = DataManager.
|
|
17332
|
+
const release = DataManager.getFirmwareLatestRelease(features);
|
|
16163
17333
|
return {
|
|
16164
17334
|
status: firmwareStatus,
|
|
16165
17335
|
changelog,
|
|
@@ -16170,7 +17340,7 @@ const getFirmwareReleaseInfo = features => {
|
|
|
16170
17340
|
const getBleFirmwareReleaseInfo = features => {
|
|
16171
17341
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
|
|
16172
17342
|
const changelog = DataManager.getBleFirmwareChangelog(features);
|
|
16173
|
-
const release = DataManager.
|
|
17343
|
+
const release = DataManager.getBleFirmwareLatestRelease(features);
|
|
16174
17344
|
return {
|
|
16175
17345
|
status: firmwareStatus,
|
|
16176
17346
|
changelog,
|
|
@@ -16178,7 +17348,7 @@ const getBleFirmwareReleaseInfo = features => {
|
|
|
16178
17348
|
};
|
|
16179
17349
|
};
|
|
16180
17350
|
|
|
16181
|
-
const Log$
|
|
17351
|
+
const Log$4 = getLogger(exports.d0.Method);
|
|
16182
17352
|
|
|
16183
17353
|
class BaseMethod {
|
|
16184
17354
|
constructor(message) {
|
|
@@ -16241,7 +17411,7 @@ class BaseMethod {
|
|
|
16241
17411
|
}
|
|
16242
17412
|
|
|
16243
17413
|
if (checkFlag && ((_c = this.device.features) === null || _c === void 0 ? void 0 : _c.safety_checks) === 'Strict') {
|
|
16244
|
-
Log$
|
|
17414
|
+
Log$4.debug('will change safety_checks level');
|
|
16245
17415
|
yield this.device.commands.typedCall('ApplySettings', 'Success', {
|
|
16246
17416
|
safety_checks: 'PromptTemporarily'
|
|
16247
17417
|
});
|
|
@@ -16326,6 +17496,10 @@ class GetPassphraseState extends BaseMethod {
|
|
|
16326
17496
|
}
|
|
16327
17497
|
|
|
16328
17498
|
if (features && features.passphrase_protection === true) {
|
|
17499
|
+
if (passphraseState && features.device_id) {
|
|
17500
|
+
this.device.tryFixInternalState(passphraseState, features.device_id);
|
|
17501
|
+
}
|
|
17502
|
+
|
|
16329
17503
|
return Promise.resolve(passphraseState);
|
|
16330
17504
|
}
|
|
16331
17505
|
|
|
@@ -16492,9 +17666,20 @@ const formatAnyHex = value => {
|
|
|
16492
17666
|
return value;
|
|
16493
17667
|
};
|
|
16494
17668
|
|
|
16495
|
-
Array.from({
|
|
17669
|
+
const hexes = Array.from({
|
|
16496
17670
|
length: 256
|
|
16497
|
-
}, (
|
|
17671
|
+
}, (_, i) => i.toString(16).padStart(2, '0'));
|
|
17672
|
+
|
|
17673
|
+
function bytesToHex(uint8a) {
|
|
17674
|
+
if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');
|
|
17675
|
+
let hex = '';
|
|
17676
|
+
|
|
17677
|
+
for (let i = 0; i < uint8a.length; i++) {
|
|
17678
|
+
hex += hexes[uint8a[i]];
|
|
17679
|
+
}
|
|
17680
|
+
|
|
17681
|
+
return hex;
|
|
17682
|
+
}
|
|
16498
17683
|
|
|
16499
17684
|
function hexToBytes(hex) {
|
|
16500
17685
|
if (typeof hex !== 'string') {
|
|
@@ -16832,13 +18017,116 @@ class DeviceUpdateReboot extends BaseMethod {
|
|
|
16832
18017
|
|
|
16833
18018
|
run() {
|
|
16834
18019
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16835
|
-
const res = yield this.device.commands.typedCall('
|
|
18020
|
+
const res = yield this.device.commands.typedCall('DeviceBackToBoot', 'Success');
|
|
16836
18021
|
return Promise.resolve(res.message);
|
|
16837
18022
|
});
|
|
16838
18023
|
}
|
|
16839
18024
|
|
|
16840
18025
|
}
|
|
16841
18026
|
|
|
18027
|
+
class DeviceUploadResource extends BaseMethod {
|
|
18028
|
+
constructor() {
|
|
18029
|
+
super(...arguments);
|
|
18030
|
+
this.paramsData = {
|
|
18031
|
+
data: new Uint8Array(),
|
|
18032
|
+
thumbnailData: new Uint8Array()
|
|
18033
|
+
};
|
|
18034
|
+
|
|
18035
|
+
this.processResourceRequest = res => __awaiter(this, void 0, void 0, function* () {
|
|
18036
|
+
if (res.type === 'Success') {
|
|
18037
|
+
return res.message;
|
|
18038
|
+
}
|
|
18039
|
+
|
|
18040
|
+
const {
|
|
18041
|
+
offset,
|
|
18042
|
+
data_length
|
|
18043
|
+
} = res.message;
|
|
18044
|
+
const {
|
|
18045
|
+
data,
|
|
18046
|
+
thumbnailData
|
|
18047
|
+
} = this.paramsData;
|
|
18048
|
+
|
|
18049
|
+
if (offset === undefined) {
|
|
18050
|
+
throw new Error('offset is undefined');
|
|
18051
|
+
}
|
|
18052
|
+
|
|
18053
|
+
let payload;
|
|
18054
|
+
|
|
18055
|
+
if (res.type === 'ResourceRequest') {
|
|
18056
|
+
payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18057
|
+
} else {
|
|
18058
|
+
payload = new Uint8Array(thumbnailData.slice(offset, Math.min(offset + data_length, thumbnailData.byteLength)));
|
|
18059
|
+
}
|
|
18060
|
+
|
|
18061
|
+
const digest = blake2s.blake2s(payload);
|
|
18062
|
+
const resourceAckParams = {
|
|
18063
|
+
data_chunk: utils.bytesToHex(payload),
|
|
18064
|
+
hash: utils.bytesToHex(digest)
|
|
18065
|
+
};
|
|
18066
|
+
const response = yield this.device.commands.typedCall('ResourceAck', ['ResourceRequest', 'ZoomRequest', 'Success'], resourceAckParams);
|
|
18067
|
+
return this.processResourceRequest(response);
|
|
18068
|
+
});
|
|
18069
|
+
}
|
|
18070
|
+
|
|
18071
|
+
getVersionRange() {
|
|
18072
|
+
return {
|
|
18073
|
+
model_touch: {
|
|
18074
|
+
min: '3.2.0'
|
|
18075
|
+
}
|
|
18076
|
+
};
|
|
18077
|
+
}
|
|
18078
|
+
|
|
18079
|
+
init() {
|
|
18080
|
+
this.useDevicePassphraseState = false;
|
|
18081
|
+
validateParams(this.payload, [{
|
|
18082
|
+
name: 'suffix',
|
|
18083
|
+
type: 'string',
|
|
18084
|
+
required: true
|
|
18085
|
+
}, {
|
|
18086
|
+
name: 'dataHex',
|
|
18087
|
+
type: 'string',
|
|
18088
|
+
required: true
|
|
18089
|
+
}, {
|
|
18090
|
+
name: 'thumbnailDataHex',
|
|
18091
|
+
type: 'string',
|
|
18092
|
+
required: true
|
|
18093
|
+
}, {
|
|
18094
|
+
name: 'resType',
|
|
18095
|
+
type: 'number',
|
|
18096
|
+
required: true
|
|
18097
|
+
}, {
|
|
18098
|
+
name: 'nftMetaData',
|
|
18099
|
+
type: 'string'
|
|
18100
|
+
}]);
|
|
18101
|
+
const {
|
|
18102
|
+
suffix,
|
|
18103
|
+
dataHex,
|
|
18104
|
+
thumbnailDataHex,
|
|
18105
|
+
resType,
|
|
18106
|
+
nftMetaData
|
|
18107
|
+
} = this.payload;
|
|
18108
|
+
this.paramsData = {
|
|
18109
|
+
data: hexToBytes(dataHex),
|
|
18110
|
+
thumbnailData: hexToBytes(thumbnailDataHex)
|
|
18111
|
+
};
|
|
18112
|
+
this.params = {
|
|
18113
|
+
extension: suffix,
|
|
18114
|
+
data_length: this.paramsData.data.byteLength,
|
|
18115
|
+
zoom_data_length: this.paramsData.thumbnailData.byteLength,
|
|
18116
|
+
res_type: resType,
|
|
18117
|
+
nft_meta_data: nftMetaData
|
|
18118
|
+
};
|
|
18119
|
+
}
|
|
18120
|
+
|
|
18121
|
+
run() {
|
|
18122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18123
|
+
const res = yield this.device.commands.typedCall('ResourceUpload', ['ResourceRequest', 'ZoomRequest', 'Success'], this.params);
|
|
18124
|
+
return this.processResourceRequest(res);
|
|
18125
|
+
});
|
|
18126
|
+
}
|
|
18127
|
+
|
|
18128
|
+
}
|
|
18129
|
+
|
|
16842
18130
|
class DeviceSupportFeatures extends BaseMethod {
|
|
16843
18131
|
init() {
|
|
16844
18132
|
this.useDevicePassphraseState = false;
|
|
@@ -16874,7 +18162,7 @@ class DeviceVerify extends BaseMethod {
|
|
|
16874
18162
|
|
|
16875
18163
|
if (deviceType === 'classic') {
|
|
16876
18164
|
const res = yield this.device.commands.typedCall('BixinVerifyDeviceRequest', 'BixinVerifyDeviceAck', Object.assign(Object.assign({}, this.params), {
|
|
16877
|
-
data:
|
|
18165
|
+
data: utils.bytesToHex(sha256.sha256(this.params.data))
|
|
16878
18166
|
}));
|
|
16879
18167
|
response = res.message;
|
|
16880
18168
|
} else {
|
|
@@ -16941,20 +18229,36 @@ const getBinary = ({
|
|
|
16941
18229
|
});
|
|
16942
18230
|
});
|
|
16943
18231
|
|
|
18232
|
+
const getSysResourceBinary = url => __awaiter(void 0, void 0, void 0, function* () {
|
|
18233
|
+
let fw;
|
|
18234
|
+
|
|
18235
|
+
try {
|
|
18236
|
+
fw = yield httpRequest(url, 'binary');
|
|
18237
|
+
} catch (_b) {
|
|
18238
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
|
|
18239
|
+
}
|
|
18240
|
+
|
|
18241
|
+
return {
|
|
18242
|
+
binary: fw
|
|
18243
|
+
};
|
|
18244
|
+
});
|
|
18245
|
+
|
|
16944
18246
|
const getInfo = ({
|
|
16945
18247
|
features,
|
|
16946
18248
|
updateType
|
|
16947
18249
|
}) => {
|
|
16948
|
-
var _a, _b
|
|
18250
|
+
var _a, _b;
|
|
16949
18251
|
|
|
16950
18252
|
const deviceType = getDeviceType(features);
|
|
16951
18253
|
const {
|
|
16952
18254
|
deviceMap
|
|
16953
18255
|
} = DataManager;
|
|
16954
|
-
const releaseInfo = (
|
|
16955
|
-
return releaseInfo;
|
|
18256
|
+
const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) !== null && _b !== void 0 ? _b : [];
|
|
18257
|
+
return findLatestRelease(releaseInfo);
|
|
16956
18258
|
};
|
|
16957
18259
|
|
|
18260
|
+
const Log$3 = getLogger(exports.d0.Device);
|
|
18261
|
+
|
|
16958
18262
|
const postConfirmationMessage = device => {
|
|
16959
18263
|
var _a;
|
|
16960
18264
|
|
|
@@ -16981,6 +18285,12 @@ const postProgressTip = (device, message, postMessage) => {
|
|
|
16981
18285
|
}));
|
|
16982
18286
|
};
|
|
16983
18287
|
|
|
18288
|
+
const waitBleInstall = updateType => __awaiter(void 0, void 0, void 0, function* () {
|
|
18289
|
+
if (updateType === 'ble') {
|
|
18290
|
+
yield wait(10 * 1000);
|
|
18291
|
+
}
|
|
18292
|
+
});
|
|
18293
|
+
|
|
16984
18294
|
const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
16985
18295
|
payload
|
|
16986
18296
|
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -16999,6 +18309,7 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
16999
18309
|
payload
|
|
17000
18310
|
});
|
|
17001
18311
|
postProgressMessage(device, 100, postMessage);
|
|
18312
|
+
yield waitBleInstall(updateType);
|
|
17002
18313
|
return message;
|
|
17003
18314
|
}
|
|
17004
18315
|
|
|
@@ -17026,12 +18337,80 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
|
|
|
17026
18337
|
}
|
|
17027
18338
|
|
|
17028
18339
|
postProgressMessage(device, 100, postMessage);
|
|
18340
|
+
yield waitBleInstall(updateType);
|
|
17029
18341
|
return response.message;
|
|
17030
18342
|
}
|
|
17031
18343
|
|
|
17032
18344
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown major_version');
|
|
17033
18345
|
});
|
|
17034
18346
|
|
|
18347
|
+
const processResourceRequest = (typedCall, res, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18348
|
+
if (res.type === 'Success') {
|
|
18349
|
+
return res.message;
|
|
18350
|
+
}
|
|
18351
|
+
|
|
18352
|
+
const {
|
|
18353
|
+
offset,
|
|
18354
|
+
data_length
|
|
18355
|
+
} = res.message;
|
|
18356
|
+
|
|
18357
|
+
if (offset === undefined) {
|
|
18358
|
+
throw new Error('offset is undefined');
|
|
18359
|
+
}
|
|
18360
|
+
|
|
18361
|
+
const payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
|
|
18362
|
+
const digest = blake2s.blake2s(payload);
|
|
18363
|
+
const resourceAckParams = {
|
|
18364
|
+
data_chunk: bytesToHex(payload),
|
|
18365
|
+
hash: bytesToHex(digest)
|
|
18366
|
+
};
|
|
18367
|
+
const response = yield typedCall('ResourceAck', ['ResourceRequest', 'Success'], Object.assign({}, resourceAckParams));
|
|
18368
|
+
return processResourceRequest(typedCall, response, data);
|
|
18369
|
+
});
|
|
18370
|
+
|
|
18371
|
+
const INIT_DATA_CHUNK_SIZE = 16 * 1024;
|
|
18372
|
+
|
|
18373
|
+
const updateResource = (typedCall, fileName, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18374
|
+
const chunk = new Uint8Array(data.slice(0, Math.min(INIT_DATA_CHUNK_SIZE, data.byteLength)));
|
|
18375
|
+
const digest = blake2s.blake2s(chunk);
|
|
18376
|
+
const res = yield typedCall('ResourceUpdate', ['ResourceRequest', 'Success'], {
|
|
18377
|
+
file_name: fileName,
|
|
18378
|
+
data_length: data.byteLength,
|
|
18379
|
+
initial_data_chunk: bytesToHex(chunk),
|
|
18380
|
+
hash: bytesToHex(digest)
|
|
18381
|
+
});
|
|
18382
|
+
return processResourceRequest(typedCall, res, data);
|
|
18383
|
+
});
|
|
18384
|
+
|
|
18385
|
+
const updateResources = (typedCall, postMessage, device, source) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18386
|
+
postProgressTip(device, 'UpdateSysResource', postMessage);
|
|
18387
|
+
const zipData = yield JSZip__default["default"].loadAsync(source);
|
|
18388
|
+
const files = Object.entries(zipData.files);
|
|
18389
|
+
let progress = 0;
|
|
18390
|
+
const stepProgress = 100 / files.length;
|
|
18391
|
+
|
|
18392
|
+
for (const [fileName, file] of files) {
|
|
18393
|
+
const name = fileName.split('/').pop();
|
|
18394
|
+
|
|
18395
|
+
if (!file.dir && fileName.indexOf('__MACOSX') === -1 && name) {
|
|
18396
|
+
const data = yield file.async('arraybuffer');
|
|
18397
|
+
|
|
18398
|
+
try {
|
|
18399
|
+
yield updateResource(typedCall, name, data);
|
|
18400
|
+
} catch (error) {
|
|
18401
|
+
Log$3.error(error);
|
|
18402
|
+
}
|
|
18403
|
+
}
|
|
18404
|
+
|
|
18405
|
+
progress += stepProgress;
|
|
18406
|
+
postProgressMessage(device, Math.floor(progress), postMessage);
|
|
18407
|
+
}
|
|
18408
|
+
|
|
18409
|
+
postProgressMessage(device, 100, postMessage);
|
|
18410
|
+
postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
|
|
18411
|
+
return true;
|
|
18412
|
+
});
|
|
18413
|
+
|
|
17035
18414
|
class FirmwareUpdate$1 extends BaseMethod {
|
|
17036
18415
|
init() {
|
|
17037
18416
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
|
|
@@ -17184,6 +18563,21 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17184
18563
|
}, 30000);
|
|
17185
18564
|
}
|
|
17186
18565
|
|
|
18566
|
+
isEnteredManuallyBoot(features) {
|
|
18567
|
+
const deviceType = getDeviceType(features);
|
|
18568
|
+
const isMini = deviceType === 'mini';
|
|
18569
|
+
const isBoot183ClassicUpBle = this.params.updateType === 'firmware' && deviceType === 'classic' && features.bootloader_version === '1.8.3';
|
|
18570
|
+
return isMini || isBoot183ClassicUpBle;
|
|
18571
|
+
}
|
|
18572
|
+
|
|
18573
|
+
isSupportResourceUpdate(features, updateType) {
|
|
18574
|
+
if (updateType === 'firmware') return false;
|
|
18575
|
+
const deviceType = getDeviceType(features);
|
|
18576
|
+
const isTouchMode = deviceType === 'touch' || deviceType === 'pro';
|
|
18577
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
18578
|
+
return isTouchMode && semver__default["default"].gte(currentVersion, '3.2.0');
|
|
18579
|
+
}
|
|
18580
|
+
|
|
17187
18581
|
run() {
|
|
17188
18582
|
var _a, _b;
|
|
17189
18583
|
|
|
@@ -17197,17 +18591,32 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17197
18591
|
commands
|
|
17198
18592
|
} = device;
|
|
17199
18593
|
|
|
17200
|
-
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode)) {
|
|
18594
|
+
if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
|
|
17201
18595
|
const uuid = getDeviceUUID(features);
|
|
17202
18596
|
const deviceType = getDeviceType(features);
|
|
17203
18597
|
|
|
17204
|
-
if (
|
|
17205
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
18598
|
+
if (this.isEnteredManuallyBoot(features)) {
|
|
18599
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateManuallyEnterBoot));
|
|
18600
|
+
}
|
|
18601
|
+
|
|
18602
|
+
if (features && this.isSupportResourceUpdate(features, params.updateType)) {
|
|
18603
|
+
this.postTipMessage('CheckLatestUiResource');
|
|
18604
|
+
const resourceUrl = DataManager.getSysResourcesLatestRelease(features);
|
|
18605
|
+
|
|
18606
|
+
if (resourceUrl) {
|
|
18607
|
+
this.postTipMessage('DownloadLatestUiResource');
|
|
18608
|
+
const resource = yield getSysResourceBinary(resourceUrl);
|
|
18609
|
+
this.postTipMessage('DownloadLatestUiResourceSuccess');
|
|
18610
|
+
|
|
18611
|
+
if (resource) {
|
|
18612
|
+
yield updateResources(this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, resource.binary);
|
|
18613
|
+
}
|
|
18614
|
+
}
|
|
17206
18615
|
}
|
|
17207
18616
|
|
|
17208
18617
|
try {
|
|
17209
18618
|
this.postTipMessage('AutoRebootToBootloader');
|
|
17210
|
-
yield commands.typedCall('
|
|
18619
|
+
yield commands.typedCall('DeviceBackToBoot', 'Success');
|
|
17211
18620
|
this.postTipMessage('GoToBootloaderSuccess');
|
|
17212
18621
|
this.checkDeviceToBootloader();
|
|
17213
18622
|
|
|
@@ -17220,8 +18629,12 @@ class FirmwareUpdate extends BaseMethod {
|
|
|
17220
18629
|
this.checkPromise = null;
|
|
17221
18630
|
yield wait(1500);
|
|
17222
18631
|
} catch (e) {
|
|
18632
|
+
if (e instanceof hdShared.HardwareError) {
|
|
18633
|
+
return Promise.reject(e);
|
|
18634
|
+
}
|
|
18635
|
+
|
|
17223
18636
|
console.log('auto go to bootloader mode failed: ', e);
|
|
17224
|
-
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.
|
|
18637
|
+
return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure));
|
|
17225
18638
|
}
|
|
17226
18639
|
}
|
|
17227
18640
|
|
|
@@ -17299,50 +18712,6 @@ class RequestWebUsbDevice extends BaseMethod {
|
|
|
17299
18712
|
|
|
17300
18713
|
}
|
|
17301
18714
|
|
|
17302
|
-
class BatchGetPublicKey extends BaseMethod {
|
|
17303
|
-
init() {
|
|
17304
|
-
this.checkDeviceId = true;
|
|
17305
|
-
validateParams(this.payload, [{
|
|
17306
|
-
name: 'paths',
|
|
17307
|
-
type: 'array'
|
|
17308
|
-
}, {
|
|
17309
|
-
name: 'ecdsaCurveName',
|
|
17310
|
-
type: 'string'
|
|
17311
|
-
}]);
|
|
17312
|
-
this.params = this.payload.paths.map(path => {
|
|
17313
|
-
const addressN = validatePath(path, 1);
|
|
17314
|
-
return {
|
|
17315
|
-
address_n: addressN
|
|
17316
|
-
};
|
|
17317
|
-
});
|
|
17318
|
-
}
|
|
17319
|
-
|
|
17320
|
-
getVersionRange() {
|
|
17321
|
-
return {
|
|
17322
|
-
model_mini: {
|
|
17323
|
-
min: '2.6.0'
|
|
17324
|
-
}
|
|
17325
|
-
};
|
|
17326
|
-
}
|
|
17327
|
-
|
|
17328
|
-
run() {
|
|
17329
|
-
var _a;
|
|
17330
|
-
|
|
17331
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17332
|
-
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
17333
|
-
paths: this.params,
|
|
17334
|
-
ecdsa_curve_name: (_a = this.payload.ecdsaCurveName) !== null && _a !== void 0 ? _a : 'secp256k1'
|
|
17335
|
-
});
|
|
17336
|
-
const result = res.message.public_keys.map((publicKey, index) => ({
|
|
17337
|
-
path: serializedPath(this.params[index].address_n),
|
|
17338
|
-
publicKey
|
|
17339
|
-
}));
|
|
17340
|
-
return Promise.resolve(result);
|
|
17341
|
-
});
|
|
17342
|
-
}
|
|
17343
|
-
|
|
17344
|
-
}
|
|
17345
|
-
|
|
17346
18715
|
class CipherKeyValue extends BaseMethod {
|
|
17347
18716
|
constructor() {
|
|
17348
18717
|
super(...arguments);
|
|
@@ -17437,6 +18806,10 @@ var bitcoin = [{
|
|
|
17437
18806
|
name: "Axe",
|
|
17438
18807
|
label: "AXE",
|
|
17439
18808
|
slip44: 4242
|
|
18809
|
+
}, {
|
|
18810
|
+
name: "Bcash",
|
|
18811
|
+
label: "BCH",
|
|
18812
|
+
slip44: 145
|
|
17440
18813
|
}, {
|
|
17441
18814
|
name: "Bitcore",
|
|
17442
18815
|
label: "BTX",
|
|
@@ -20867,10 +22240,6 @@ class NearSignTransaction extends BaseMethod {
|
|
|
20867
22240
|
|
|
20868
22241
|
}
|
|
20869
22242
|
|
|
20870
|
-
const {
|
|
20871
|
-
sha3_256: sha3Hash
|
|
20872
|
-
} = sha3__default["default"];
|
|
20873
|
-
|
|
20874
22243
|
class AptosGetAddress extends BaseMethod {
|
|
20875
22244
|
constructor() {
|
|
20876
22245
|
super(...arguments);
|
|
@@ -20911,10 +22280,18 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20911
22280
|
}
|
|
20912
22281
|
|
|
20913
22282
|
publicKeyToAddress(publicKey) {
|
|
20914
|
-
const hash =
|
|
22283
|
+
const hash = sha3.sha3_256.create();
|
|
20915
22284
|
hash.update(hexToBytes(publicKey));
|
|
20916
|
-
hash.update(
|
|
20917
|
-
return hash.
|
|
22285
|
+
hash.update('\x00');
|
|
22286
|
+
return `0x${utils.bytesToHex(hash.digest())}`;
|
|
22287
|
+
}
|
|
22288
|
+
|
|
22289
|
+
getVersionRange() {
|
|
22290
|
+
return {
|
|
22291
|
+
model_mini: {
|
|
22292
|
+
min: '2.6.0'
|
|
22293
|
+
}
|
|
22294
|
+
};
|
|
20918
22295
|
}
|
|
20919
22296
|
|
|
20920
22297
|
run() {
|
|
@@ -20944,7 +22321,7 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20944
22321
|
} = res.message;
|
|
20945
22322
|
responses.push({
|
|
20946
22323
|
path: serializedPath(param.address_n),
|
|
20947
|
-
address
|
|
22324
|
+
address: address === null || address === void 0 ? void 0 : address.toLowerCase()
|
|
20948
22325
|
});
|
|
20949
22326
|
}
|
|
20950
22327
|
|
|
@@ -20954,6 +22331,69 @@ class AptosGetAddress extends BaseMethod {
|
|
|
20954
22331
|
|
|
20955
22332
|
}
|
|
20956
22333
|
|
|
22334
|
+
class AptosGetPublicKey extends BaseMethod {
|
|
22335
|
+
constructor() {
|
|
22336
|
+
super(...arguments);
|
|
22337
|
+
this.hasBundle = false;
|
|
22338
|
+
}
|
|
22339
|
+
|
|
22340
|
+
init() {
|
|
22341
|
+
var _a;
|
|
22342
|
+
|
|
22343
|
+
this.checkDeviceId = true;
|
|
22344
|
+
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];
|
|
22345
|
+
this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
|
|
22346
|
+
const payload = this.hasBundle ? this.payload : {
|
|
22347
|
+
bundle: [this.payload]
|
|
22348
|
+
};
|
|
22349
|
+
validateParams(payload, [{
|
|
22350
|
+
name: 'bundle',
|
|
22351
|
+
type: 'array'
|
|
22352
|
+
}]);
|
|
22353
|
+
this.params = [];
|
|
22354
|
+
payload.bundle.forEach(batch => {
|
|
22355
|
+
var _a;
|
|
22356
|
+
|
|
22357
|
+
const addressN = validatePath(batch.path, 3);
|
|
22358
|
+
validateParams(batch, [{
|
|
22359
|
+
name: 'path',
|
|
22360
|
+
required: true
|
|
22361
|
+
}, {
|
|
22362
|
+
name: 'showOnOneKey',
|
|
22363
|
+
type: 'boolean'
|
|
22364
|
+
}]);
|
|
22365
|
+
const showOnOneKey = (_a = batch.showOnOneKey) !== null && _a !== void 0 ? _a : true;
|
|
22366
|
+
this.params.push({
|
|
22367
|
+
address_n: addressN,
|
|
22368
|
+
show_display: showOnOneKey
|
|
22369
|
+
});
|
|
22370
|
+
});
|
|
22371
|
+
}
|
|
22372
|
+
|
|
22373
|
+
getVersionRange() {
|
|
22374
|
+
return {
|
|
22375
|
+
model_mini: {
|
|
22376
|
+
min: '2.6.0'
|
|
22377
|
+
}
|
|
22378
|
+
};
|
|
22379
|
+
}
|
|
22380
|
+
|
|
22381
|
+
run() {
|
|
22382
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22383
|
+
const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
|
|
22384
|
+
paths: this.params,
|
|
22385
|
+
ecdsa_curve_name: 'ed25519'
|
|
22386
|
+
});
|
|
22387
|
+
const responses = res.message.public_keys.map((publicKey, index) => ({
|
|
22388
|
+
path: serializedPath(this.params[index].address_n),
|
|
22389
|
+
publicKey
|
|
22390
|
+
}));
|
|
22391
|
+
return Promise.resolve(this.hasBundle ? responses : responses[0]);
|
|
22392
|
+
});
|
|
22393
|
+
}
|
|
22394
|
+
|
|
22395
|
+
}
|
|
22396
|
+
|
|
20957
22397
|
class AptosSignTransaction extends BaseMethod {
|
|
20958
22398
|
init() {
|
|
20959
22399
|
this.checkDeviceId = true;
|
|
@@ -20980,7 +22420,7 @@ class AptosSignTransaction extends BaseMethod {
|
|
|
20980
22420
|
getVersionRange() {
|
|
20981
22421
|
return {
|
|
20982
22422
|
model_mini: {
|
|
20983
|
-
min: '2.
|
|
22423
|
+
min: '2.6.0'
|
|
20984
22424
|
}
|
|
20985
22425
|
};
|
|
20986
22426
|
}
|
|
@@ -21012,13 +22452,13 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
21012
22452
|
deviceReset: DeviceReset,
|
|
21013
22453
|
deviceSettings: DeviceSettings,
|
|
21014
22454
|
deviceUpdateReboot: DeviceUpdateReboot,
|
|
22455
|
+
deviceUploadResource: DeviceUploadResource,
|
|
21015
22456
|
deviceSupportFeatures: DeviceSupportFeatures,
|
|
21016
22457
|
deviceVerify: DeviceVerify,
|
|
21017
22458
|
deviceWipe: DeviceWipe,
|
|
21018
22459
|
firmwareUpdate: FirmwareUpdate$1,
|
|
21019
22460
|
firmwareUpdateV2: FirmwareUpdate,
|
|
21020
22461
|
requestWebUsbDevice: RequestWebUsbDevice,
|
|
21021
|
-
batchGetPublicKey: BatchGetPublicKey,
|
|
21022
22462
|
cipherKeyValue: CipherKeyValue,
|
|
21023
22463
|
btcGetAddress: BTCGetAddress,
|
|
21024
22464
|
btcGetPublicKey: BTCGetPublicKey,
|
|
@@ -21053,6 +22493,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
|
|
|
21053
22493
|
nearGetAddress: NearGetAddress,
|
|
21054
22494
|
nearSignTransaction: NearSignTransaction,
|
|
21055
22495
|
aptosGetAddress: AptosGetAddress,
|
|
22496
|
+
aptosGetPublicKey: AptosGetPublicKey,
|
|
21056
22497
|
aptosSignTransaction: AptosSignTransaction
|
|
21057
22498
|
});
|
|
21058
22499
|
|
|
@@ -22764,6 +24205,13 @@ exports.WL_OperationType = void 0;
|
|
|
22764
24205
|
WL_OperationType[WL_OperationType["WL_OperationType_Inquire"] = 2] = "WL_OperationType_Inquire";
|
|
22765
24206
|
})(exports.WL_OperationType || (exports.WL_OperationType = {}));
|
|
22766
24207
|
|
|
24208
|
+
exports.ResourceType = void 0;
|
|
24209
|
+
|
|
24210
|
+
(function (ResourceType) {
|
|
24211
|
+
ResourceType[ResourceType["WallPaper"] = 0] = "WallPaper";
|
|
24212
|
+
ResourceType[ResourceType["Nft"] = 1] = "Nft";
|
|
24213
|
+
})(exports.ResourceType || (exports.ResourceType = {}));
|
|
24214
|
+
|
|
22767
24215
|
exports.NEMMosaicLevy = void 0;
|
|
22768
24216
|
|
|
22769
24217
|
(function (NEMMosaicLevy) {
|
|
@@ -22963,6 +24411,10 @@ var messages = /*#__PURE__*/Object.freeze({
|
|
|
22963
24411
|
return exports.WL_OperationType;
|
|
22964
24412
|
},
|
|
22965
24413
|
|
|
24414
|
+
get ResourceType() {
|
|
24415
|
+
return exports.ResourceType;
|
|
24416
|
+
},
|
|
24417
|
+
|
|
22966
24418
|
get NEMMosaicLevy() {
|
|
22967
24419
|
return exports.NEMMosaicLevy;
|
|
22968
24420
|
},
|
|
@@ -23174,6 +24626,8 @@ const HardwareErrorCode = {
|
|
|
23174
24626
|
CallMethodNeedUpgradeFirmware: 407,
|
|
23175
24627
|
CallMethodDeprecated: 408,
|
|
23176
24628
|
FirmwareUpdateLimitOneDevice: 409,
|
|
24629
|
+
FirmwareUpdateManuallyEnterBoot: 410,
|
|
24630
|
+
FirmwareUpdateAutoEnterBootFailure: 411,
|
|
23177
24631
|
NetworkError: 500,
|
|
23178
24632
|
TransportNotConfigured: 600,
|
|
23179
24633
|
TransportCallInProgress: 601,
|
|
@@ -23235,6 +24689,8 @@ const HardwareErrorCodeMessage = {
|
|
|
23235
24689
|
[HardwareErrorCode.CallMethodNeedUpgradeFirmware]: 'Call method need upgrade firmware',
|
|
23236
24690
|
[HardwareErrorCode.CallMethodDeprecated]: 'Call method is deprecated',
|
|
23237
24691
|
[HardwareErrorCode.FirmwareUpdateLimitOneDevice]: 'Only one device can be connected during firmware upgrade',
|
|
24692
|
+
[HardwareErrorCode.FirmwareUpdateManuallyEnterBoot]: 'You need to manually enter boot',
|
|
24693
|
+
[HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure]: 'Description Failed to automatically enter boot',
|
|
23238
24694
|
[HardwareErrorCode.NetworkError]: 'Network request error',
|
|
23239
24695
|
[HardwareErrorCode.TransportNotConfigured]: 'Transport not configured',
|
|
23240
24696
|
[HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
|
|
@@ -34013,1193 +35469,22 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
|
34013
35469
|
|
|
34014
35470
|
/***/ }),
|
|
34015
35471
|
|
|
34016
|
-
/***/
|
|
34017
|
-
/***/ ((module,
|
|
34018
|
-
|
|
34019
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
34020
|
-
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
34021
|
-
*
|
|
34022
|
-
* @version 0.9.0
|
|
34023
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
34024
|
-
* @copyright Chen, Yi-Cyuan 2014-2017
|
|
34025
|
-
* @license MIT
|
|
34026
|
-
*/
|
|
34027
|
-
/*jslint bitwise: true */
|
|
34028
|
-
(function () {
|
|
34029
|
-
'use strict';
|
|
34030
|
-
|
|
34031
|
-
var ERROR = 'input is invalid type';
|
|
34032
|
-
var WINDOW = typeof window === 'object';
|
|
34033
|
-
var root = WINDOW ? window : {};
|
|
34034
|
-
if (root.JS_SHA256_NO_WINDOW) {
|
|
34035
|
-
WINDOW = false;
|
|
34036
|
-
}
|
|
34037
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
34038
|
-
var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
34039
|
-
if (NODE_JS) {
|
|
34040
|
-
root = __webpack_require__.g;
|
|
34041
|
-
} else if (WEB_WORKER) {
|
|
34042
|
-
root = self;
|
|
34043
|
-
}
|
|
34044
|
-
var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
34045
|
-
var AMD = true && __webpack_require__.amdO;
|
|
34046
|
-
var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
34047
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
34048
|
-
var EXTRA = [-2147483648, 8388608, 32768, 128];
|
|
34049
|
-
var SHIFT = [24, 16, 8, 0];
|
|
34050
|
-
var K = [
|
|
34051
|
-
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
34052
|
-
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
34053
|
-
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
34054
|
-
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
34055
|
-
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
34056
|
-
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
34057
|
-
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
34058
|
-
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
34059
|
-
];
|
|
34060
|
-
var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
|
|
34061
|
-
|
|
34062
|
-
var blocks = [];
|
|
34063
|
-
|
|
34064
|
-
if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
|
|
34065
|
-
Array.isArray = function (obj) {
|
|
34066
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
34067
|
-
};
|
|
34068
|
-
}
|
|
34069
|
-
|
|
34070
|
-
if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
34071
|
-
ArrayBuffer.isView = function (obj) {
|
|
34072
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
34073
|
-
};
|
|
34074
|
-
}
|
|
34075
|
-
|
|
34076
|
-
var createOutputMethod = function (outputType, is224) {
|
|
34077
|
-
return function (message) {
|
|
34078
|
-
return new Sha256(is224, true).update(message)[outputType]();
|
|
34079
|
-
};
|
|
34080
|
-
};
|
|
34081
|
-
|
|
34082
|
-
var createMethod = function (is224) {
|
|
34083
|
-
var method = createOutputMethod('hex', is224);
|
|
34084
|
-
if (NODE_JS) {
|
|
34085
|
-
method = nodeWrap(method, is224);
|
|
34086
|
-
}
|
|
34087
|
-
method.create = function () {
|
|
34088
|
-
return new Sha256(is224);
|
|
34089
|
-
};
|
|
34090
|
-
method.update = function (message) {
|
|
34091
|
-
return method.create().update(message);
|
|
34092
|
-
};
|
|
34093
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34094
|
-
var type = OUTPUT_TYPES[i];
|
|
34095
|
-
method[type] = createOutputMethod(type, is224);
|
|
34096
|
-
}
|
|
34097
|
-
return method;
|
|
34098
|
-
};
|
|
34099
|
-
|
|
34100
|
-
var nodeWrap = function (method, is224) {
|
|
34101
|
-
var crypto = eval("require('crypto')");
|
|
34102
|
-
var Buffer = eval("require('buffer').Buffer");
|
|
34103
|
-
var algorithm = is224 ? 'sha224' : 'sha256';
|
|
34104
|
-
var nodeMethod = function (message) {
|
|
34105
|
-
if (typeof message === 'string') {
|
|
34106
|
-
return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');
|
|
34107
|
-
} else {
|
|
34108
|
-
if (message === null || message === undefined) {
|
|
34109
|
-
throw new Error(ERROR);
|
|
34110
|
-
} else if (message.constructor === ArrayBuffer) {
|
|
34111
|
-
message = new Uint8Array(message);
|
|
34112
|
-
}
|
|
34113
|
-
}
|
|
34114
|
-
if (Array.isArray(message) || ArrayBuffer.isView(message) ||
|
|
34115
|
-
message.constructor === Buffer) {
|
|
34116
|
-
return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');
|
|
34117
|
-
} else {
|
|
34118
|
-
return method(message);
|
|
34119
|
-
}
|
|
34120
|
-
};
|
|
34121
|
-
return nodeMethod;
|
|
34122
|
-
};
|
|
34123
|
-
|
|
34124
|
-
var createHmacOutputMethod = function (outputType, is224) {
|
|
34125
|
-
return function (key, message) {
|
|
34126
|
-
return new HmacSha256(key, is224, true).update(message)[outputType]();
|
|
34127
|
-
};
|
|
34128
|
-
};
|
|
34129
|
-
|
|
34130
|
-
var createHmacMethod = function (is224) {
|
|
34131
|
-
var method = createHmacOutputMethod('hex', is224);
|
|
34132
|
-
method.create = function (key) {
|
|
34133
|
-
return new HmacSha256(key, is224);
|
|
34134
|
-
};
|
|
34135
|
-
method.update = function (key, message) {
|
|
34136
|
-
return method.create(key).update(message);
|
|
34137
|
-
};
|
|
34138
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34139
|
-
var type = OUTPUT_TYPES[i];
|
|
34140
|
-
method[type] = createHmacOutputMethod(type, is224);
|
|
34141
|
-
}
|
|
34142
|
-
return method;
|
|
34143
|
-
};
|
|
34144
|
-
|
|
34145
|
-
function Sha256(is224, sharedMemory) {
|
|
34146
|
-
if (sharedMemory) {
|
|
34147
|
-
blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34148
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34149
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34150
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34151
|
-
this.blocks = blocks;
|
|
34152
|
-
} else {
|
|
34153
|
-
this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
34154
|
-
}
|
|
34155
|
-
|
|
34156
|
-
if (is224) {
|
|
34157
|
-
this.h0 = 0xc1059ed8;
|
|
34158
|
-
this.h1 = 0x367cd507;
|
|
34159
|
-
this.h2 = 0x3070dd17;
|
|
34160
|
-
this.h3 = 0xf70e5939;
|
|
34161
|
-
this.h4 = 0xffc00b31;
|
|
34162
|
-
this.h5 = 0x68581511;
|
|
34163
|
-
this.h6 = 0x64f98fa7;
|
|
34164
|
-
this.h7 = 0xbefa4fa4;
|
|
34165
|
-
} else { // 256
|
|
34166
|
-
this.h0 = 0x6a09e667;
|
|
34167
|
-
this.h1 = 0xbb67ae85;
|
|
34168
|
-
this.h2 = 0x3c6ef372;
|
|
34169
|
-
this.h3 = 0xa54ff53a;
|
|
34170
|
-
this.h4 = 0x510e527f;
|
|
34171
|
-
this.h5 = 0x9b05688c;
|
|
34172
|
-
this.h6 = 0x1f83d9ab;
|
|
34173
|
-
this.h7 = 0x5be0cd19;
|
|
34174
|
-
}
|
|
34175
|
-
|
|
34176
|
-
this.block = this.start = this.bytes = this.hBytes = 0;
|
|
34177
|
-
this.finalized = this.hashed = false;
|
|
34178
|
-
this.first = true;
|
|
34179
|
-
this.is224 = is224;
|
|
34180
|
-
}
|
|
34181
|
-
|
|
34182
|
-
Sha256.prototype.update = function (message) {
|
|
34183
|
-
if (this.finalized) {
|
|
34184
|
-
return;
|
|
34185
|
-
}
|
|
34186
|
-
var notString, type = typeof message;
|
|
34187
|
-
if (type !== 'string') {
|
|
34188
|
-
if (type === 'object') {
|
|
34189
|
-
if (message === null) {
|
|
34190
|
-
throw new Error(ERROR);
|
|
34191
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34192
|
-
message = new Uint8Array(message);
|
|
34193
|
-
} else if (!Array.isArray(message)) {
|
|
34194
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34195
|
-
throw new Error(ERROR);
|
|
34196
|
-
}
|
|
34197
|
-
}
|
|
34198
|
-
} else {
|
|
34199
|
-
throw new Error(ERROR);
|
|
34200
|
-
}
|
|
34201
|
-
notString = true;
|
|
34202
|
-
}
|
|
34203
|
-
var code, index = 0, i, length = message.length, blocks = this.blocks;
|
|
34204
|
-
|
|
34205
|
-
while (index < length) {
|
|
34206
|
-
if (this.hashed) {
|
|
34207
|
-
this.hashed = false;
|
|
34208
|
-
blocks[0] = this.block;
|
|
34209
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34210
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34211
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34212
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34213
|
-
}
|
|
34214
|
-
|
|
34215
|
-
if (notString) {
|
|
34216
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34217
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34218
|
-
}
|
|
34219
|
-
} else {
|
|
34220
|
-
for (i = this.start; index < length && i < 64; ++index) {
|
|
34221
|
-
code = message.charCodeAt(index);
|
|
34222
|
-
if (code < 0x80) {
|
|
34223
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34224
|
-
} else if (code < 0x800) {
|
|
34225
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34226
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34227
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34228
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34229
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34230
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34231
|
-
} else {
|
|
34232
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34233
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34234
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34235
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34236
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34237
|
-
}
|
|
34238
|
-
}
|
|
34239
|
-
}
|
|
34240
|
-
|
|
34241
|
-
this.lastByteIndex = i;
|
|
34242
|
-
this.bytes += i - this.start;
|
|
34243
|
-
if (i >= 64) {
|
|
34244
|
-
this.block = blocks[16];
|
|
34245
|
-
this.start = i - 64;
|
|
34246
|
-
this.hash();
|
|
34247
|
-
this.hashed = true;
|
|
34248
|
-
} else {
|
|
34249
|
-
this.start = i;
|
|
34250
|
-
}
|
|
34251
|
-
}
|
|
34252
|
-
if (this.bytes > 4294967295) {
|
|
34253
|
-
this.hBytes += this.bytes / 4294967296 << 0;
|
|
34254
|
-
this.bytes = this.bytes % 4294967296;
|
|
34255
|
-
}
|
|
34256
|
-
return this;
|
|
34257
|
-
};
|
|
34258
|
-
|
|
34259
|
-
Sha256.prototype.finalize = function () {
|
|
34260
|
-
if (this.finalized) {
|
|
34261
|
-
return;
|
|
34262
|
-
}
|
|
34263
|
-
this.finalized = true;
|
|
34264
|
-
var blocks = this.blocks, i = this.lastByteIndex;
|
|
34265
|
-
blocks[16] = this.block;
|
|
34266
|
-
blocks[i >> 2] |= EXTRA[i & 3];
|
|
34267
|
-
this.block = blocks[16];
|
|
34268
|
-
if (i >= 56) {
|
|
34269
|
-
if (!this.hashed) {
|
|
34270
|
-
this.hash();
|
|
34271
|
-
}
|
|
34272
|
-
blocks[0] = this.block;
|
|
34273
|
-
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
|
|
34274
|
-
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
|
|
34275
|
-
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
|
|
34276
|
-
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
|
|
34277
|
-
}
|
|
34278
|
-
blocks[14] = this.hBytes << 3 | this.bytes >>> 29;
|
|
34279
|
-
blocks[15] = this.bytes << 3;
|
|
34280
|
-
this.hash();
|
|
34281
|
-
};
|
|
34282
|
-
|
|
34283
|
-
Sha256.prototype.hash = function () {
|
|
34284
|
-
var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,
|
|
34285
|
-
h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;
|
|
34286
|
-
|
|
34287
|
-
for (j = 16; j < 64; ++j) {
|
|
34288
|
-
// rightrotate
|
|
34289
|
-
t1 = blocks[j - 15];
|
|
34290
|
-
s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
|
|
34291
|
-
t1 = blocks[j - 2];
|
|
34292
|
-
s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
|
|
34293
|
-
blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;
|
|
34294
|
-
}
|
|
34295
|
-
|
|
34296
|
-
bc = b & c;
|
|
34297
|
-
for (j = 0; j < 64; j += 4) {
|
|
34298
|
-
if (this.first) {
|
|
34299
|
-
if (this.is224) {
|
|
34300
|
-
ab = 300032;
|
|
34301
|
-
t1 = blocks[0] - 1413257819;
|
|
34302
|
-
h = t1 - 150054599 << 0;
|
|
34303
|
-
d = t1 + 24177077 << 0;
|
|
34304
|
-
} else {
|
|
34305
|
-
ab = 704751109;
|
|
34306
|
-
t1 = blocks[0] - 210244248;
|
|
34307
|
-
h = t1 - 1521486534 << 0;
|
|
34308
|
-
d = t1 + 143694565 << 0;
|
|
34309
|
-
}
|
|
34310
|
-
this.first = false;
|
|
34311
|
-
} else {
|
|
34312
|
-
s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
|
|
34313
|
-
s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
|
|
34314
|
-
ab = a & b;
|
|
34315
|
-
maj = ab ^ (a & c) ^ bc;
|
|
34316
|
-
ch = (e & f) ^ (~e & g);
|
|
34317
|
-
t1 = h + s1 + ch + K[j] + blocks[j];
|
|
34318
|
-
t2 = s0 + maj;
|
|
34319
|
-
h = d + t1 << 0;
|
|
34320
|
-
d = t1 + t2 << 0;
|
|
34321
|
-
}
|
|
34322
|
-
s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
|
|
34323
|
-
s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
|
|
34324
|
-
da = d & a;
|
|
34325
|
-
maj = da ^ (d & b) ^ ab;
|
|
34326
|
-
ch = (h & e) ^ (~h & f);
|
|
34327
|
-
t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
|
|
34328
|
-
t2 = s0 + maj;
|
|
34329
|
-
g = c + t1 << 0;
|
|
34330
|
-
c = t1 + t2 << 0;
|
|
34331
|
-
s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
|
|
34332
|
-
s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
|
|
34333
|
-
cd = c & d;
|
|
34334
|
-
maj = cd ^ (c & a) ^ da;
|
|
34335
|
-
ch = (g & h) ^ (~g & e);
|
|
34336
|
-
t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
|
|
34337
|
-
t2 = s0 + maj;
|
|
34338
|
-
f = b + t1 << 0;
|
|
34339
|
-
b = t1 + t2 << 0;
|
|
34340
|
-
s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
|
|
34341
|
-
s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
|
|
34342
|
-
bc = b & c;
|
|
34343
|
-
maj = bc ^ (b & d) ^ cd;
|
|
34344
|
-
ch = (f & g) ^ (~f & h);
|
|
34345
|
-
t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
|
|
34346
|
-
t2 = s0 + maj;
|
|
34347
|
-
e = a + t1 << 0;
|
|
34348
|
-
a = t1 + t2 << 0;
|
|
34349
|
-
}
|
|
34350
|
-
|
|
34351
|
-
this.h0 = this.h0 + a << 0;
|
|
34352
|
-
this.h1 = this.h1 + b << 0;
|
|
34353
|
-
this.h2 = this.h2 + c << 0;
|
|
34354
|
-
this.h3 = this.h3 + d << 0;
|
|
34355
|
-
this.h4 = this.h4 + e << 0;
|
|
34356
|
-
this.h5 = this.h5 + f << 0;
|
|
34357
|
-
this.h6 = this.h6 + g << 0;
|
|
34358
|
-
this.h7 = this.h7 + h << 0;
|
|
34359
|
-
};
|
|
34360
|
-
|
|
34361
|
-
Sha256.prototype.hex = function () {
|
|
34362
|
-
this.finalize();
|
|
34363
|
-
|
|
34364
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34365
|
-
h6 = this.h6, h7 = this.h7;
|
|
34366
|
-
|
|
34367
|
-
var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +
|
|
34368
|
-
HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +
|
|
34369
|
-
HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +
|
|
34370
|
-
HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +
|
|
34371
|
-
HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +
|
|
34372
|
-
HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +
|
|
34373
|
-
HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +
|
|
34374
|
-
HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +
|
|
34375
|
-
HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +
|
|
34376
|
-
HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +
|
|
34377
|
-
HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +
|
|
34378
|
-
HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +
|
|
34379
|
-
HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +
|
|
34380
|
-
HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +
|
|
34381
|
-
HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +
|
|
34382
|
-
HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +
|
|
34383
|
-
HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +
|
|
34384
|
-
HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +
|
|
34385
|
-
HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +
|
|
34386
|
-
HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +
|
|
34387
|
-
HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +
|
|
34388
|
-
HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +
|
|
34389
|
-
HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +
|
|
34390
|
-
HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +
|
|
34391
|
-
HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +
|
|
34392
|
-
HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +
|
|
34393
|
-
HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +
|
|
34394
|
-
HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];
|
|
34395
|
-
if (!this.is224) {
|
|
34396
|
-
hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +
|
|
34397
|
-
HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +
|
|
34398
|
-
HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +
|
|
34399
|
-
HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];
|
|
34400
|
-
}
|
|
34401
|
-
return hex;
|
|
34402
|
-
};
|
|
34403
|
-
|
|
34404
|
-
Sha256.prototype.toString = Sha256.prototype.hex;
|
|
34405
|
-
|
|
34406
|
-
Sha256.prototype.digest = function () {
|
|
34407
|
-
this.finalize();
|
|
34408
|
-
|
|
34409
|
-
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
|
|
34410
|
-
h6 = this.h6, h7 = this.h7;
|
|
34411
|
-
|
|
34412
|
-
var arr = [
|
|
34413
|
-
(h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,
|
|
34414
|
-
(h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,
|
|
34415
|
-
(h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,
|
|
34416
|
-
(h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,
|
|
34417
|
-
(h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,
|
|
34418
|
-
(h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,
|
|
34419
|
-
(h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF
|
|
34420
|
-
];
|
|
34421
|
-
if (!this.is224) {
|
|
34422
|
-
arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);
|
|
34423
|
-
}
|
|
34424
|
-
return arr;
|
|
34425
|
-
};
|
|
34426
|
-
|
|
34427
|
-
Sha256.prototype.array = Sha256.prototype.digest;
|
|
34428
|
-
|
|
34429
|
-
Sha256.prototype.arrayBuffer = function () {
|
|
34430
|
-
this.finalize();
|
|
34431
|
-
|
|
34432
|
-
var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
|
|
34433
|
-
var dataView = new DataView(buffer);
|
|
34434
|
-
dataView.setUint32(0, this.h0);
|
|
34435
|
-
dataView.setUint32(4, this.h1);
|
|
34436
|
-
dataView.setUint32(8, this.h2);
|
|
34437
|
-
dataView.setUint32(12, this.h3);
|
|
34438
|
-
dataView.setUint32(16, this.h4);
|
|
34439
|
-
dataView.setUint32(20, this.h5);
|
|
34440
|
-
dataView.setUint32(24, this.h6);
|
|
34441
|
-
if (!this.is224) {
|
|
34442
|
-
dataView.setUint32(28, this.h7);
|
|
34443
|
-
}
|
|
34444
|
-
return buffer;
|
|
34445
|
-
};
|
|
34446
|
-
|
|
34447
|
-
function HmacSha256(key, is224, sharedMemory) {
|
|
34448
|
-
var i, type = typeof key;
|
|
34449
|
-
if (type === 'string') {
|
|
34450
|
-
var bytes = [], length = key.length, index = 0, code;
|
|
34451
|
-
for (i = 0; i < length; ++i) {
|
|
34452
|
-
code = key.charCodeAt(i);
|
|
34453
|
-
if (code < 0x80) {
|
|
34454
|
-
bytes[index++] = code;
|
|
34455
|
-
} else if (code < 0x800) {
|
|
34456
|
-
bytes[index++] = (0xc0 | (code >> 6));
|
|
34457
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34458
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34459
|
-
bytes[index++] = (0xe0 | (code >> 12));
|
|
34460
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34461
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34462
|
-
} else {
|
|
34463
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
|
|
34464
|
-
bytes[index++] = (0xf0 | (code >> 18));
|
|
34465
|
-
bytes[index++] = (0x80 | ((code >> 12) & 0x3f));
|
|
34466
|
-
bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
|
|
34467
|
-
bytes[index++] = (0x80 | (code & 0x3f));
|
|
34468
|
-
}
|
|
34469
|
-
}
|
|
34470
|
-
key = bytes;
|
|
34471
|
-
} else {
|
|
34472
|
-
if (type === 'object') {
|
|
34473
|
-
if (key === null) {
|
|
34474
|
-
throw new Error(ERROR);
|
|
34475
|
-
} else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
|
|
34476
|
-
key = new Uint8Array(key);
|
|
34477
|
-
} else if (!Array.isArray(key)) {
|
|
34478
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
|
|
34479
|
-
throw new Error(ERROR);
|
|
34480
|
-
}
|
|
34481
|
-
}
|
|
34482
|
-
} else {
|
|
34483
|
-
throw new Error(ERROR);
|
|
34484
|
-
}
|
|
34485
|
-
}
|
|
34486
|
-
|
|
34487
|
-
if (key.length > 64) {
|
|
34488
|
-
key = (new Sha256(is224, true)).update(key).array();
|
|
34489
|
-
}
|
|
34490
|
-
|
|
34491
|
-
var oKeyPad = [], iKeyPad = [];
|
|
34492
|
-
for (i = 0; i < 64; ++i) {
|
|
34493
|
-
var b = key[i] || 0;
|
|
34494
|
-
oKeyPad[i] = 0x5c ^ b;
|
|
34495
|
-
iKeyPad[i] = 0x36 ^ b;
|
|
34496
|
-
}
|
|
34497
|
-
|
|
34498
|
-
Sha256.call(this, is224, sharedMemory);
|
|
34499
|
-
|
|
34500
|
-
this.update(iKeyPad);
|
|
34501
|
-
this.oKeyPad = oKeyPad;
|
|
34502
|
-
this.inner = true;
|
|
34503
|
-
this.sharedMemory = sharedMemory;
|
|
34504
|
-
}
|
|
34505
|
-
HmacSha256.prototype = new Sha256();
|
|
34506
|
-
|
|
34507
|
-
HmacSha256.prototype.finalize = function () {
|
|
34508
|
-
Sha256.prototype.finalize.call(this);
|
|
34509
|
-
if (this.inner) {
|
|
34510
|
-
this.inner = false;
|
|
34511
|
-
var innerHash = this.array();
|
|
34512
|
-
Sha256.call(this, this.is224, this.sharedMemory);
|
|
34513
|
-
this.update(this.oKeyPad);
|
|
34514
|
-
this.update(innerHash);
|
|
34515
|
-
Sha256.prototype.finalize.call(this);
|
|
34516
|
-
}
|
|
34517
|
-
};
|
|
34518
|
-
|
|
34519
|
-
var exports = createMethod();
|
|
34520
|
-
exports.sha256 = exports;
|
|
34521
|
-
exports.sha224 = createMethod(true);
|
|
34522
|
-
exports.sha256.hmac = createHmacMethod();
|
|
34523
|
-
exports.sha224.hmac = createHmacMethod(true);
|
|
34524
|
-
|
|
34525
|
-
if (COMMON_JS) {
|
|
34526
|
-
module.exports = exports;
|
|
34527
|
-
} else {
|
|
34528
|
-
root.sha256 = exports.sha256;
|
|
34529
|
-
root.sha224 = exports.sha224;
|
|
34530
|
-
if (AMD) {
|
|
34531
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
34532
|
-
return exports;
|
|
34533
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
34534
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
34535
|
-
}
|
|
34536
|
-
}
|
|
34537
|
-
})();
|
|
34538
|
-
|
|
34539
|
-
|
|
34540
|
-
/***/ }),
|
|
34541
|
-
|
|
34542
|
-
/***/ 3669:
|
|
34543
|
-
/***/ ((module, exports, __webpack_require__) => {
|
|
34544
|
-
|
|
34545
|
-
var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
34546
|
-
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
34547
|
-
*
|
|
34548
|
-
* @version 0.8.0
|
|
34549
|
-
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
34550
|
-
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
34551
|
-
* @license MIT
|
|
34552
|
-
*/
|
|
34553
|
-
/*jslint bitwise: true */
|
|
34554
|
-
(function () {
|
|
34555
|
-
'use strict';
|
|
34556
|
-
|
|
34557
|
-
var INPUT_ERROR = 'input is invalid type';
|
|
34558
|
-
var FINALIZE_ERROR = 'finalize already called';
|
|
34559
|
-
var WINDOW = typeof window === 'object';
|
|
34560
|
-
var root = WINDOW ? window : {};
|
|
34561
|
-
if (root.JS_SHA3_NO_WINDOW) {
|
|
34562
|
-
WINDOW = false;
|
|
34563
|
-
}
|
|
34564
|
-
var WEB_WORKER = !WINDOW && typeof self === 'object';
|
|
34565
|
-
var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
|
|
34566
|
-
if (NODE_JS) {
|
|
34567
|
-
root = __webpack_require__.g;
|
|
34568
|
-
} else if (WEB_WORKER) {
|
|
34569
|
-
root = self;
|
|
34570
|
-
}
|
|
34571
|
-
var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === 'object' && module.exports;
|
|
34572
|
-
var AMD = true && __webpack_require__.amdO;
|
|
34573
|
-
var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
|
|
34574
|
-
var HEX_CHARS = '0123456789abcdef'.split('');
|
|
34575
|
-
var SHAKE_PADDING = [31, 7936, 2031616, 520093696];
|
|
34576
|
-
var CSHAKE_PADDING = [4, 1024, 262144, 67108864];
|
|
34577
|
-
var KECCAK_PADDING = [1, 256, 65536, 16777216];
|
|
34578
|
-
var PADDING = [6, 1536, 393216, 100663296];
|
|
34579
|
-
var SHIFT = [0, 8, 16, 24];
|
|
34580
|
-
var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,
|
|
34581
|
-
0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,
|
|
34582
|
-
2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,
|
|
34583
|
-
2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,
|
|
34584
|
-
2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];
|
|
34585
|
-
var BITS = [224, 256, 384, 512];
|
|
34586
|
-
var SHAKE_BITS = [128, 256];
|
|
34587
|
-
var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];
|
|
34588
|
-
var CSHAKE_BYTEPAD = {
|
|
34589
|
-
'128': 168,
|
|
34590
|
-
'256': 136
|
|
34591
|
-
};
|
|
34592
|
-
|
|
34593
|
-
if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {
|
|
34594
|
-
Array.isArray = function (obj) {
|
|
34595
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
34596
|
-
};
|
|
34597
|
-
}
|
|
34598
|
-
|
|
34599
|
-
if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
|
|
34600
|
-
ArrayBuffer.isView = function (obj) {
|
|
34601
|
-
return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
|
|
34602
|
-
};
|
|
34603
|
-
}
|
|
34604
|
-
|
|
34605
|
-
var createOutputMethod = function (bits, padding, outputType) {
|
|
34606
|
-
return function (message) {
|
|
34607
|
-
return new Keccak(bits, padding, bits).update(message)[outputType]();
|
|
34608
|
-
};
|
|
34609
|
-
};
|
|
34610
|
-
|
|
34611
|
-
var createShakeOutputMethod = function (bits, padding, outputType) {
|
|
34612
|
-
return function (message, outputBits) {
|
|
34613
|
-
return new Keccak(bits, padding, outputBits).update(message)[outputType]();
|
|
34614
|
-
};
|
|
34615
|
-
};
|
|
34616
|
-
|
|
34617
|
-
var createCshakeOutputMethod = function (bits, padding, outputType) {
|
|
34618
|
-
return function (message, outputBits, n, s) {
|
|
34619
|
-
return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();
|
|
34620
|
-
};
|
|
34621
|
-
};
|
|
34622
|
-
|
|
34623
|
-
var createKmacOutputMethod = function (bits, padding, outputType) {
|
|
34624
|
-
return function (key, message, outputBits, s) {
|
|
34625
|
-
return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();
|
|
34626
|
-
};
|
|
34627
|
-
};
|
|
34628
|
-
|
|
34629
|
-
var createOutputMethods = function (method, createMethod, bits, padding) {
|
|
34630
|
-
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
|
|
34631
|
-
var type = OUTPUT_TYPES[i];
|
|
34632
|
-
method[type] = createMethod(bits, padding, type);
|
|
34633
|
-
}
|
|
34634
|
-
return method;
|
|
34635
|
-
};
|
|
34636
|
-
|
|
34637
|
-
var createMethod = function (bits, padding) {
|
|
34638
|
-
var method = createOutputMethod(bits, padding, 'hex');
|
|
34639
|
-
method.create = function () {
|
|
34640
|
-
return new Keccak(bits, padding, bits);
|
|
34641
|
-
};
|
|
34642
|
-
method.update = function (message) {
|
|
34643
|
-
return method.create().update(message);
|
|
34644
|
-
};
|
|
34645
|
-
return createOutputMethods(method, createOutputMethod, bits, padding);
|
|
34646
|
-
};
|
|
34647
|
-
|
|
34648
|
-
var createShakeMethod = function (bits, padding) {
|
|
34649
|
-
var method = createShakeOutputMethod(bits, padding, 'hex');
|
|
34650
|
-
method.create = function (outputBits) {
|
|
34651
|
-
return new Keccak(bits, padding, outputBits);
|
|
34652
|
-
};
|
|
34653
|
-
method.update = function (message, outputBits) {
|
|
34654
|
-
return method.create(outputBits).update(message);
|
|
34655
|
-
};
|
|
34656
|
-
return createOutputMethods(method, createShakeOutputMethod, bits, padding);
|
|
34657
|
-
};
|
|
34658
|
-
|
|
34659
|
-
var createCshakeMethod = function (bits, padding) {
|
|
34660
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34661
|
-
var method = createCshakeOutputMethod(bits, padding, 'hex');
|
|
34662
|
-
method.create = function (outputBits, n, s) {
|
|
34663
|
-
if (!n && !s) {
|
|
34664
|
-
return methods['shake' + bits].create(outputBits);
|
|
34665
|
-
} else {
|
|
34666
|
-
return new Keccak(bits, padding, outputBits).bytepad([n, s], w);
|
|
34667
|
-
}
|
|
34668
|
-
};
|
|
34669
|
-
method.update = function (message, outputBits, n, s) {
|
|
34670
|
-
return method.create(outputBits, n, s).update(message);
|
|
34671
|
-
};
|
|
34672
|
-
return createOutputMethods(method, createCshakeOutputMethod, bits, padding);
|
|
34673
|
-
};
|
|
34674
|
-
|
|
34675
|
-
var createKmacMethod = function (bits, padding) {
|
|
34676
|
-
var w = CSHAKE_BYTEPAD[bits];
|
|
34677
|
-
var method = createKmacOutputMethod(bits, padding, 'hex');
|
|
34678
|
-
method.create = function (key, outputBits, s) {
|
|
34679
|
-
return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);
|
|
34680
|
-
};
|
|
34681
|
-
method.update = function (key, message, outputBits, s) {
|
|
34682
|
-
return method.create(key, outputBits, s).update(message);
|
|
34683
|
-
};
|
|
34684
|
-
return createOutputMethods(method, createKmacOutputMethod, bits, padding);
|
|
34685
|
-
};
|
|
34686
|
-
|
|
34687
|
-
var algorithms = [
|
|
34688
|
-
{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },
|
|
34689
|
-
{ name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },
|
|
34690
|
-
{ name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },
|
|
34691
|
-
{ name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },
|
|
34692
|
-
{ name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }
|
|
34693
|
-
];
|
|
34694
|
-
|
|
34695
|
-
var methods = {}, methodNames = [];
|
|
34696
|
-
|
|
34697
|
-
for (var i = 0; i < algorithms.length; ++i) {
|
|
34698
|
-
var algorithm = algorithms[i];
|
|
34699
|
-
var bits = algorithm.bits;
|
|
34700
|
-
for (var j = 0; j < bits.length; ++j) {
|
|
34701
|
-
var methodName = algorithm.name + '_' + bits[j];
|
|
34702
|
-
methodNames.push(methodName);
|
|
34703
|
-
methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);
|
|
34704
|
-
if (algorithm.name !== 'sha3') {
|
|
34705
|
-
var newMethodName = algorithm.name + bits[j];
|
|
34706
|
-
methodNames.push(newMethodName);
|
|
34707
|
-
methods[newMethodName] = methods[methodName];
|
|
34708
|
-
}
|
|
34709
|
-
}
|
|
34710
|
-
}
|
|
34711
|
-
|
|
34712
|
-
function Keccak(bits, padding, outputBits) {
|
|
34713
|
-
this.blocks = [];
|
|
34714
|
-
this.s = [];
|
|
34715
|
-
this.padding = padding;
|
|
34716
|
-
this.outputBits = outputBits;
|
|
34717
|
-
this.reset = true;
|
|
34718
|
-
this.finalized = false;
|
|
34719
|
-
this.block = 0;
|
|
34720
|
-
this.start = 0;
|
|
34721
|
-
this.blockCount = (1600 - (bits << 1)) >> 5;
|
|
34722
|
-
this.byteCount = this.blockCount << 2;
|
|
34723
|
-
this.outputBlocks = outputBits >> 5;
|
|
34724
|
-
this.extraBytes = (outputBits & 31) >> 3;
|
|
34725
|
-
|
|
34726
|
-
for (var i = 0; i < 50; ++i) {
|
|
34727
|
-
this.s[i] = 0;
|
|
34728
|
-
}
|
|
34729
|
-
}
|
|
34730
|
-
|
|
34731
|
-
Keccak.prototype.update = function (message) {
|
|
34732
|
-
if (this.finalized) {
|
|
34733
|
-
throw new Error(FINALIZE_ERROR);
|
|
34734
|
-
}
|
|
34735
|
-
var notString, type = typeof message;
|
|
34736
|
-
if (type !== 'string') {
|
|
34737
|
-
if (type === 'object') {
|
|
34738
|
-
if (message === null) {
|
|
34739
|
-
throw new Error(INPUT_ERROR);
|
|
34740
|
-
} else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
|
|
34741
|
-
message = new Uint8Array(message);
|
|
34742
|
-
} else if (!Array.isArray(message)) {
|
|
34743
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
|
|
34744
|
-
throw new Error(INPUT_ERROR);
|
|
34745
|
-
}
|
|
34746
|
-
}
|
|
34747
|
-
} else {
|
|
34748
|
-
throw new Error(INPUT_ERROR);
|
|
34749
|
-
}
|
|
34750
|
-
notString = true;
|
|
34751
|
-
}
|
|
34752
|
-
var blocks = this.blocks, byteCount = this.byteCount, length = message.length,
|
|
34753
|
-
blockCount = this.blockCount, index = 0, s = this.s, i, code;
|
|
34754
|
-
|
|
34755
|
-
while (index < length) {
|
|
34756
|
-
if (this.reset) {
|
|
34757
|
-
this.reset = false;
|
|
34758
|
-
blocks[0] = this.block;
|
|
34759
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
34760
|
-
blocks[i] = 0;
|
|
34761
|
-
}
|
|
34762
|
-
}
|
|
34763
|
-
if (notString) {
|
|
34764
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34765
|
-
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
|
|
34766
|
-
}
|
|
34767
|
-
} else {
|
|
34768
|
-
for (i = this.start; index < length && i < byteCount; ++index) {
|
|
34769
|
-
code = message.charCodeAt(index);
|
|
34770
|
-
if (code < 0x80) {
|
|
34771
|
-
blocks[i >> 2] |= code << SHIFT[i++ & 3];
|
|
34772
|
-
} else if (code < 0x800) {
|
|
34773
|
-
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
|
|
34774
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34775
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34776
|
-
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
|
|
34777
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34778
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34779
|
-
} else {
|
|
34780
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
|
|
34781
|
-
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
|
|
34782
|
-
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
|
|
34783
|
-
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
|
|
34784
|
-
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
|
|
34785
|
-
}
|
|
34786
|
-
}
|
|
34787
|
-
}
|
|
34788
|
-
this.lastByteIndex = i;
|
|
34789
|
-
if (i >= byteCount) {
|
|
34790
|
-
this.start = i - byteCount;
|
|
34791
|
-
this.block = blocks[blockCount];
|
|
34792
|
-
for (i = 0; i < blockCount; ++i) {
|
|
34793
|
-
s[i] ^= blocks[i];
|
|
34794
|
-
}
|
|
34795
|
-
f(s);
|
|
34796
|
-
this.reset = true;
|
|
34797
|
-
} else {
|
|
34798
|
-
this.start = i;
|
|
34799
|
-
}
|
|
34800
|
-
}
|
|
34801
|
-
return this;
|
|
34802
|
-
};
|
|
34803
|
-
|
|
34804
|
-
Keccak.prototype.encode = function (x, right) {
|
|
34805
|
-
var o = x & 255, n = 1;
|
|
34806
|
-
var bytes = [o];
|
|
34807
|
-
x = x >> 8;
|
|
34808
|
-
o = x & 255;
|
|
34809
|
-
while (o > 0) {
|
|
34810
|
-
bytes.unshift(o);
|
|
34811
|
-
x = x >> 8;
|
|
34812
|
-
o = x & 255;
|
|
34813
|
-
++n;
|
|
34814
|
-
}
|
|
34815
|
-
if (right) {
|
|
34816
|
-
bytes.push(n);
|
|
34817
|
-
} else {
|
|
34818
|
-
bytes.unshift(n);
|
|
34819
|
-
}
|
|
34820
|
-
this.update(bytes);
|
|
34821
|
-
return bytes.length;
|
|
34822
|
-
};
|
|
34823
|
-
|
|
34824
|
-
Keccak.prototype.encodeString = function (str) {
|
|
34825
|
-
var notString, type = typeof str;
|
|
34826
|
-
if (type !== 'string') {
|
|
34827
|
-
if (type === 'object') {
|
|
34828
|
-
if (str === null) {
|
|
34829
|
-
throw new Error(INPUT_ERROR);
|
|
34830
|
-
} else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {
|
|
34831
|
-
str = new Uint8Array(str);
|
|
34832
|
-
} else if (!Array.isArray(str)) {
|
|
34833
|
-
if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {
|
|
34834
|
-
throw new Error(INPUT_ERROR);
|
|
34835
|
-
}
|
|
34836
|
-
}
|
|
34837
|
-
} else {
|
|
34838
|
-
throw new Error(INPUT_ERROR);
|
|
34839
|
-
}
|
|
34840
|
-
notString = true;
|
|
34841
|
-
}
|
|
34842
|
-
var bytes = 0, length = str.length;
|
|
34843
|
-
if (notString) {
|
|
34844
|
-
bytes = length;
|
|
34845
|
-
} else {
|
|
34846
|
-
for (var i = 0; i < str.length; ++i) {
|
|
34847
|
-
var code = str.charCodeAt(i);
|
|
34848
|
-
if (code < 0x80) {
|
|
34849
|
-
bytes += 1;
|
|
34850
|
-
} else if (code < 0x800) {
|
|
34851
|
-
bytes += 2;
|
|
34852
|
-
} else if (code < 0xd800 || code >= 0xe000) {
|
|
34853
|
-
bytes += 3;
|
|
34854
|
-
} else {
|
|
34855
|
-
code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
|
|
34856
|
-
bytes += 4;
|
|
34857
|
-
}
|
|
34858
|
-
}
|
|
34859
|
-
}
|
|
34860
|
-
bytes += this.encode(bytes * 8);
|
|
34861
|
-
this.update(str);
|
|
34862
|
-
return bytes;
|
|
34863
|
-
};
|
|
34864
|
-
|
|
34865
|
-
Keccak.prototype.bytepad = function (strs, w) {
|
|
34866
|
-
var bytes = this.encode(w);
|
|
34867
|
-
for (var i = 0; i < strs.length; ++i) {
|
|
34868
|
-
bytes += this.encodeString(strs[i]);
|
|
34869
|
-
}
|
|
34870
|
-
var paddingBytes = w - bytes % w;
|
|
34871
|
-
var zeros = [];
|
|
34872
|
-
zeros.length = paddingBytes;
|
|
34873
|
-
this.update(zeros);
|
|
34874
|
-
return this;
|
|
34875
|
-
};
|
|
34876
|
-
|
|
34877
|
-
Keccak.prototype.finalize = function () {
|
|
34878
|
-
if (this.finalized) {
|
|
34879
|
-
return;
|
|
34880
|
-
}
|
|
34881
|
-
this.finalized = true;
|
|
34882
|
-
var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
|
|
34883
|
-
blocks[i >> 2] |= this.padding[i & 3];
|
|
34884
|
-
if (this.lastByteIndex === this.byteCount) {
|
|
34885
|
-
blocks[0] = blocks[blockCount];
|
|
34886
|
-
for (i = 1; i < blockCount + 1; ++i) {
|
|
34887
|
-
blocks[i] = 0;
|
|
34888
|
-
}
|
|
34889
|
-
}
|
|
34890
|
-
blocks[blockCount - 1] |= 0x80000000;
|
|
34891
|
-
for (i = 0; i < blockCount; ++i) {
|
|
34892
|
-
s[i] ^= blocks[i];
|
|
34893
|
-
}
|
|
34894
|
-
f(s);
|
|
34895
|
-
};
|
|
34896
|
-
|
|
34897
|
-
Keccak.prototype.toString = Keccak.prototype.hex = function () {
|
|
34898
|
-
this.finalize();
|
|
34899
|
-
|
|
34900
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34901
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34902
|
-
var hex = '', block;
|
|
34903
|
-
while (j < outputBlocks) {
|
|
34904
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34905
|
-
block = s[i];
|
|
34906
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +
|
|
34907
|
-
HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +
|
|
34908
|
-
HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +
|
|
34909
|
-
HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];
|
|
34910
|
-
}
|
|
34911
|
-
if (j % blockCount === 0) {
|
|
34912
|
-
f(s);
|
|
34913
|
-
i = 0;
|
|
34914
|
-
}
|
|
34915
|
-
}
|
|
34916
|
-
if (extraBytes) {
|
|
34917
|
-
block = s[i];
|
|
34918
|
-
hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];
|
|
34919
|
-
if (extraBytes > 1) {
|
|
34920
|
-
hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];
|
|
34921
|
-
}
|
|
34922
|
-
if (extraBytes > 2) {
|
|
34923
|
-
hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];
|
|
34924
|
-
}
|
|
34925
|
-
}
|
|
34926
|
-
return hex;
|
|
34927
|
-
};
|
|
34928
|
-
|
|
34929
|
-
Keccak.prototype.arrayBuffer = function () {
|
|
34930
|
-
this.finalize();
|
|
34931
|
-
|
|
34932
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34933
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34934
|
-
var bytes = this.outputBits >> 3;
|
|
34935
|
-
var buffer;
|
|
34936
|
-
if (extraBytes) {
|
|
34937
|
-
buffer = new ArrayBuffer((outputBlocks + 1) << 2);
|
|
34938
|
-
} else {
|
|
34939
|
-
buffer = new ArrayBuffer(bytes);
|
|
34940
|
-
}
|
|
34941
|
-
var array = new Uint32Array(buffer);
|
|
34942
|
-
while (j < outputBlocks) {
|
|
34943
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34944
|
-
array[j] = s[i];
|
|
34945
|
-
}
|
|
34946
|
-
if (j % blockCount === 0) {
|
|
34947
|
-
f(s);
|
|
34948
|
-
}
|
|
34949
|
-
}
|
|
34950
|
-
if (extraBytes) {
|
|
34951
|
-
array[i] = s[i];
|
|
34952
|
-
buffer = buffer.slice(0, bytes);
|
|
34953
|
-
}
|
|
34954
|
-
return buffer;
|
|
34955
|
-
};
|
|
34956
|
-
|
|
34957
|
-
Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;
|
|
34958
|
-
|
|
34959
|
-
Keccak.prototype.digest = Keccak.prototype.array = function () {
|
|
34960
|
-
this.finalize();
|
|
34961
|
-
|
|
34962
|
-
var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
|
|
34963
|
-
extraBytes = this.extraBytes, i = 0, j = 0;
|
|
34964
|
-
var array = [], offset, block;
|
|
34965
|
-
while (j < outputBlocks) {
|
|
34966
|
-
for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
|
|
34967
|
-
offset = j << 2;
|
|
34968
|
-
block = s[i];
|
|
34969
|
-
array[offset] = block & 0xFF;
|
|
34970
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
34971
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
34972
|
-
array[offset + 3] = (block >> 24) & 0xFF;
|
|
34973
|
-
}
|
|
34974
|
-
if (j % blockCount === 0) {
|
|
34975
|
-
f(s);
|
|
34976
|
-
}
|
|
34977
|
-
}
|
|
34978
|
-
if (extraBytes) {
|
|
34979
|
-
offset = j << 2;
|
|
34980
|
-
block = s[i];
|
|
34981
|
-
array[offset] = block & 0xFF;
|
|
34982
|
-
if (extraBytes > 1) {
|
|
34983
|
-
array[offset + 1] = (block >> 8) & 0xFF;
|
|
34984
|
-
}
|
|
34985
|
-
if (extraBytes > 2) {
|
|
34986
|
-
array[offset + 2] = (block >> 16) & 0xFF;
|
|
34987
|
-
}
|
|
34988
|
-
}
|
|
34989
|
-
return array;
|
|
34990
|
-
};
|
|
34991
|
-
|
|
34992
|
-
function Kmac(bits, padding, outputBits) {
|
|
34993
|
-
Keccak.call(this, bits, padding, outputBits);
|
|
34994
|
-
}
|
|
35472
|
+
/***/ 1297:
|
|
35473
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
34995
35474
|
|
|
34996
|
-
|
|
35475
|
+
/*!
|
|
34997
35476
|
|
|
34998
|
-
|
|
34999
|
-
|
|
35000
|
-
return Keccak.prototype.finalize.call(this);
|
|
35001
|
-
};
|
|
35477
|
+
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
35478
|
+
<http://stuartk.com/jszip>
|
|
35002
35479
|
|
|
35003
|
-
|
|
35004
|
-
|
|
35005
|
-
b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,
|
|
35006
|
-
b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,
|
|
35007
|
-
b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
|
|
35008
|
-
for (n = 0; n < 48; n += 2) {
|
|
35009
|
-
c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
|
|
35010
|
-
c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
|
|
35011
|
-
c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
|
|
35012
|
-
c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
|
|
35013
|
-
c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
|
|
35014
|
-
c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
|
|
35015
|
-
c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
|
|
35016
|
-
c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
|
|
35017
|
-
c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
|
|
35018
|
-
c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];
|
|
35019
|
-
|
|
35020
|
-
h = c8 ^ ((c2 << 1) | (c3 >>> 31));
|
|
35021
|
-
l = c9 ^ ((c3 << 1) | (c2 >>> 31));
|
|
35022
|
-
s[0] ^= h;
|
|
35023
|
-
s[1] ^= l;
|
|
35024
|
-
s[10] ^= h;
|
|
35025
|
-
s[11] ^= l;
|
|
35026
|
-
s[20] ^= h;
|
|
35027
|
-
s[21] ^= l;
|
|
35028
|
-
s[30] ^= h;
|
|
35029
|
-
s[31] ^= l;
|
|
35030
|
-
s[40] ^= h;
|
|
35031
|
-
s[41] ^= l;
|
|
35032
|
-
h = c0 ^ ((c4 << 1) | (c5 >>> 31));
|
|
35033
|
-
l = c1 ^ ((c5 << 1) | (c4 >>> 31));
|
|
35034
|
-
s[2] ^= h;
|
|
35035
|
-
s[3] ^= l;
|
|
35036
|
-
s[12] ^= h;
|
|
35037
|
-
s[13] ^= l;
|
|
35038
|
-
s[22] ^= h;
|
|
35039
|
-
s[23] ^= l;
|
|
35040
|
-
s[32] ^= h;
|
|
35041
|
-
s[33] ^= l;
|
|
35042
|
-
s[42] ^= h;
|
|
35043
|
-
s[43] ^= l;
|
|
35044
|
-
h = c2 ^ ((c6 << 1) | (c7 >>> 31));
|
|
35045
|
-
l = c3 ^ ((c7 << 1) | (c6 >>> 31));
|
|
35046
|
-
s[4] ^= h;
|
|
35047
|
-
s[5] ^= l;
|
|
35048
|
-
s[14] ^= h;
|
|
35049
|
-
s[15] ^= l;
|
|
35050
|
-
s[24] ^= h;
|
|
35051
|
-
s[25] ^= l;
|
|
35052
|
-
s[34] ^= h;
|
|
35053
|
-
s[35] ^= l;
|
|
35054
|
-
s[44] ^= h;
|
|
35055
|
-
s[45] ^= l;
|
|
35056
|
-
h = c4 ^ ((c8 << 1) | (c9 >>> 31));
|
|
35057
|
-
l = c5 ^ ((c9 << 1) | (c8 >>> 31));
|
|
35058
|
-
s[6] ^= h;
|
|
35059
|
-
s[7] ^= l;
|
|
35060
|
-
s[16] ^= h;
|
|
35061
|
-
s[17] ^= l;
|
|
35062
|
-
s[26] ^= h;
|
|
35063
|
-
s[27] ^= l;
|
|
35064
|
-
s[36] ^= h;
|
|
35065
|
-
s[37] ^= l;
|
|
35066
|
-
s[46] ^= h;
|
|
35067
|
-
s[47] ^= l;
|
|
35068
|
-
h = c6 ^ ((c0 << 1) | (c1 >>> 31));
|
|
35069
|
-
l = c7 ^ ((c1 << 1) | (c0 >>> 31));
|
|
35070
|
-
s[8] ^= h;
|
|
35071
|
-
s[9] ^= l;
|
|
35072
|
-
s[18] ^= h;
|
|
35073
|
-
s[19] ^= l;
|
|
35074
|
-
s[28] ^= h;
|
|
35075
|
-
s[29] ^= l;
|
|
35076
|
-
s[38] ^= h;
|
|
35077
|
-
s[39] ^= l;
|
|
35078
|
-
s[48] ^= h;
|
|
35079
|
-
s[49] ^= l;
|
|
35080
|
-
|
|
35081
|
-
b0 = s[0];
|
|
35082
|
-
b1 = s[1];
|
|
35083
|
-
b32 = (s[11] << 4) | (s[10] >>> 28);
|
|
35084
|
-
b33 = (s[10] << 4) | (s[11] >>> 28);
|
|
35085
|
-
b14 = (s[20] << 3) | (s[21] >>> 29);
|
|
35086
|
-
b15 = (s[21] << 3) | (s[20] >>> 29);
|
|
35087
|
-
b46 = (s[31] << 9) | (s[30] >>> 23);
|
|
35088
|
-
b47 = (s[30] << 9) | (s[31] >>> 23);
|
|
35089
|
-
b28 = (s[40] << 18) | (s[41] >>> 14);
|
|
35090
|
-
b29 = (s[41] << 18) | (s[40] >>> 14);
|
|
35091
|
-
b20 = (s[2] << 1) | (s[3] >>> 31);
|
|
35092
|
-
b21 = (s[3] << 1) | (s[2] >>> 31);
|
|
35093
|
-
b2 = (s[13] << 12) | (s[12] >>> 20);
|
|
35094
|
-
b3 = (s[12] << 12) | (s[13] >>> 20);
|
|
35095
|
-
b34 = (s[22] << 10) | (s[23] >>> 22);
|
|
35096
|
-
b35 = (s[23] << 10) | (s[22] >>> 22);
|
|
35097
|
-
b16 = (s[33] << 13) | (s[32] >>> 19);
|
|
35098
|
-
b17 = (s[32] << 13) | (s[33] >>> 19);
|
|
35099
|
-
b48 = (s[42] << 2) | (s[43] >>> 30);
|
|
35100
|
-
b49 = (s[43] << 2) | (s[42] >>> 30);
|
|
35101
|
-
b40 = (s[5] << 30) | (s[4] >>> 2);
|
|
35102
|
-
b41 = (s[4] << 30) | (s[5] >>> 2);
|
|
35103
|
-
b22 = (s[14] << 6) | (s[15] >>> 26);
|
|
35104
|
-
b23 = (s[15] << 6) | (s[14] >>> 26);
|
|
35105
|
-
b4 = (s[25] << 11) | (s[24] >>> 21);
|
|
35106
|
-
b5 = (s[24] << 11) | (s[25] >>> 21);
|
|
35107
|
-
b36 = (s[34] << 15) | (s[35] >>> 17);
|
|
35108
|
-
b37 = (s[35] << 15) | (s[34] >>> 17);
|
|
35109
|
-
b18 = (s[45] << 29) | (s[44] >>> 3);
|
|
35110
|
-
b19 = (s[44] << 29) | (s[45] >>> 3);
|
|
35111
|
-
b10 = (s[6] << 28) | (s[7] >>> 4);
|
|
35112
|
-
b11 = (s[7] << 28) | (s[6] >>> 4);
|
|
35113
|
-
b42 = (s[17] << 23) | (s[16] >>> 9);
|
|
35114
|
-
b43 = (s[16] << 23) | (s[17] >>> 9);
|
|
35115
|
-
b24 = (s[26] << 25) | (s[27] >>> 7);
|
|
35116
|
-
b25 = (s[27] << 25) | (s[26] >>> 7);
|
|
35117
|
-
b6 = (s[36] << 21) | (s[37] >>> 11);
|
|
35118
|
-
b7 = (s[37] << 21) | (s[36] >>> 11);
|
|
35119
|
-
b38 = (s[47] << 24) | (s[46] >>> 8);
|
|
35120
|
-
b39 = (s[46] << 24) | (s[47] >>> 8);
|
|
35121
|
-
b30 = (s[8] << 27) | (s[9] >>> 5);
|
|
35122
|
-
b31 = (s[9] << 27) | (s[8] >>> 5);
|
|
35123
|
-
b12 = (s[18] << 20) | (s[19] >>> 12);
|
|
35124
|
-
b13 = (s[19] << 20) | (s[18] >>> 12);
|
|
35125
|
-
b44 = (s[29] << 7) | (s[28] >>> 25);
|
|
35126
|
-
b45 = (s[28] << 7) | (s[29] >>> 25);
|
|
35127
|
-
b26 = (s[38] << 8) | (s[39] >>> 24);
|
|
35128
|
-
b27 = (s[39] << 8) | (s[38] >>> 24);
|
|
35129
|
-
b8 = (s[48] << 14) | (s[49] >>> 18);
|
|
35130
|
-
b9 = (s[49] << 14) | (s[48] >>> 18);
|
|
35131
|
-
|
|
35132
|
-
s[0] = b0 ^ (~b2 & b4);
|
|
35133
|
-
s[1] = b1 ^ (~b3 & b5);
|
|
35134
|
-
s[10] = b10 ^ (~b12 & b14);
|
|
35135
|
-
s[11] = b11 ^ (~b13 & b15);
|
|
35136
|
-
s[20] = b20 ^ (~b22 & b24);
|
|
35137
|
-
s[21] = b21 ^ (~b23 & b25);
|
|
35138
|
-
s[30] = b30 ^ (~b32 & b34);
|
|
35139
|
-
s[31] = b31 ^ (~b33 & b35);
|
|
35140
|
-
s[40] = b40 ^ (~b42 & b44);
|
|
35141
|
-
s[41] = b41 ^ (~b43 & b45);
|
|
35142
|
-
s[2] = b2 ^ (~b4 & b6);
|
|
35143
|
-
s[3] = b3 ^ (~b5 & b7);
|
|
35144
|
-
s[12] = b12 ^ (~b14 & b16);
|
|
35145
|
-
s[13] = b13 ^ (~b15 & b17);
|
|
35146
|
-
s[22] = b22 ^ (~b24 & b26);
|
|
35147
|
-
s[23] = b23 ^ (~b25 & b27);
|
|
35148
|
-
s[32] = b32 ^ (~b34 & b36);
|
|
35149
|
-
s[33] = b33 ^ (~b35 & b37);
|
|
35150
|
-
s[42] = b42 ^ (~b44 & b46);
|
|
35151
|
-
s[43] = b43 ^ (~b45 & b47);
|
|
35152
|
-
s[4] = b4 ^ (~b6 & b8);
|
|
35153
|
-
s[5] = b5 ^ (~b7 & b9);
|
|
35154
|
-
s[14] = b14 ^ (~b16 & b18);
|
|
35155
|
-
s[15] = b15 ^ (~b17 & b19);
|
|
35156
|
-
s[24] = b24 ^ (~b26 & b28);
|
|
35157
|
-
s[25] = b25 ^ (~b27 & b29);
|
|
35158
|
-
s[34] = b34 ^ (~b36 & b38);
|
|
35159
|
-
s[35] = b35 ^ (~b37 & b39);
|
|
35160
|
-
s[44] = b44 ^ (~b46 & b48);
|
|
35161
|
-
s[45] = b45 ^ (~b47 & b49);
|
|
35162
|
-
s[6] = b6 ^ (~b8 & b0);
|
|
35163
|
-
s[7] = b7 ^ (~b9 & b1);
|
|
35164
|
-
s[16] = b16 ^ (~b18 & b10);
|
|
35165
|
-
s[17] = b17 ^ (~b19 & b11);
|
|
35166
|
-
s[26] = b26 ^ (~b28 & b20);
|
|
35167
|
-
s[27] = b27 ^ (~b29 & b21);
|
|
35168
|
-
s[36] = b36 ^ (~b38 & b30);
|
|
35169
|
-
s[37] = b37 ^ (~b39 & b31);
|
|
35170
|
-
s[46] = b46 ^ (~b48 & b40);
|
|
35171
|
-
s[47] = b47 ^ (~b49 & b41);
|
|
35172
|
-
s[8] = b8 ^ (~b0 & b2);
|
|
35173
|
-
s[9] = b9 ^ (~b1 & b3);
|
|
35174
|
-
s[18] = b18 ^ (~b10 & b12);
|
|
35175
|
-
s[19] = b19 ^ (~b11 & b13);
|
|
35176
|
-
s[28] = b28 ^ (~b20 & b22);
|
|
35177
|
-
s[29] = b29 ^ (~b21 & b23);
|
|
35178
|
-
s[38] = b38 ^ (~b30 & b32);
|
|
35179
|
-
s[39] = b39 ^ (~b31 & b33);
|
|
35180
|
-
s[48] = b48 ^ (~b40 & b42);
|
|
35181
|
-
s[49] = b49 ^ (~b41 & b43);
|
|
35182
|
-
|
|
35183
|
-
s[0] ^= RC[n];
|
|
35184
|
-
s[1] ^= RC[n + 1];
|
|
35185
|
-
}
|
|
35186
|
-
};
|
|
35480
|
+
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
35481
|
+
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
35187
35482
|
|
|
35188
|
-
|
|
35189
|
-
|
|
35190
|
-
|
|
35191
|
-
for (i = 0; i < methodNames.length; ++i) {
|
|
35192
|
-
root[methodNames[i]] = methods[methodNames[i]];
|
|
35193
|
-
}
|
|
35194
|
-
if (AMD) {
|
|
35195
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
35196
|
-
return methods;
|
|
35197
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
35198
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
35199
|
-
}
|
|
35200
|
-
}
|
|
35201
|
-
})();
|
|
35483
|
+
JSZip uses the library pako released under the MIT license :
|
|
35484
|
+
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
35485
|
+
*/
|
|
35202
35486
|
|
|
35487
|
+
!function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=undefined,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});
|
|
35203
35488
|
|
|
35204
35489
|
/***/ }),
|
|
35205
35490
|
|
|
@@ -46656,7 +46941,7 @@ try {
|
|
|
46656
46941
|
/***/ ((module) => {
|
|
46657
46942
|
|
|
46658
46943
|
"use strict";
|
|
46659
|
-
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.
|
|
46944
|
+
module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.55","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.55","@onekeyfe/hd-transport":"^0.1.55","axios":"^0.27.2","bignumber.js":"^9.0.2","jszip":"^3.10.1","parse-uri":"^1.0.7","semver":"^7.3.7"},"peerDependencies":{"@noble/hashes":"^1.1.3"},"devDependencies":{"@noble/hashes":"^1.1.3","@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9"}}');
|
|
46660
46945
|
|
|
46661
46946
|
/***/ })
|
|
46662
46947
|
|
|
@@ -46687,11 +46972,6 @@ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.54","des
|
|
|
46687
46972
|
/******/ }
|
|
46688
46973
|
/******/
|
|
46689
46974
|
/************************************************************************/
|
|
46690
|
-
/******/ /* webpack/runtime/amd options */
|
|
46691
|
-
/******/ (() => {
|
|
46692
|
-
/******/ __webpack_require__.amdO = {};
|
|
46693
|
-
/******/ })();
|
|
46694
|
-
/******/
|
|
46695
46975
|
/******/ /* webpack/runtime/compat get default export */
|
|
46696
46976
|
/******/ (() => {
|
|
46697
46977
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
@@ -49188,7 +49468,7 @@ const src_init = async settings => {
|
|
|
49188
49468
|
|
|
49189
49469
|
try {
|
|
49190
49470
|
await init({ ..._settings,
|
|
49191
|
-
version: "0.1.
|
|
49471
|
+
version: "0.1.55"
|
|
49192
49472
|
});
|
|
49193
49473
|
return true;
|
|
49194
49474
|
} catch (e) {
|