@loaders.gl/crypto 4.0.0-beta.2 → 4.0.0-beta.4

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.
Files changed (101) hide show
  1. package/dist/crypto-worker-node.js +1 -1
  2. package/dist/crypto-worker-node.js.map +2 -2
  3. package/dist/crypto-worker.js +1 -1
  4. package/dist/crypto-worker.js.map +2 -2
  5. package/dist/dist.dev.js +846 -0
  6. package/dist/index.cjs +1341 -0
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +28 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/{esm/lib → lib}/algorithms/crc32.js +1 -2
  12. package/dist/lib/algorithms/crc32.js.map +1 -0
  13. package/dist/{esm/lib → lib}/algorithms/crc32c.js +2 -3
  14. package/dist/lib/algorithms/crc32c.js.map +1 -0
  15. package/dist/lib/algorithms/md5-wasm.js.map +1 -0
  16. package/dist/{esm/lib → lib}/crc32-hash.js +6 -7
  17. package/dist/lib/crc32-hash.js.map +1 -0
  18. package/dist/{esm/lib → lib}/crc32c-hash.js +6 -7
  19. package/dist/lib/crc32c-hash.js.map +1 -0
  20. package/dist/lib/crypto-hash.d.ts.map +1 -1
  21. package/dist/{esm/lib → lib}/crypto-hash.js +8 -9
  22. package/dist/lib/crypto-hash.js.map +1 -0
  23. package/dist/{esm/lib → lib}/hash.js +2 -3
  24. package/dist/lib/hash.js.map +1 -0
  25. package/dist/{esm/lib → lib}/md5-hash.js +5 -6
  26. package/dist/lib/md5-hash.js.map +1 -0
  27. package/dist/{esm/lib → lib}/sha256-hash.js +1 -1
  28. package/dist/lib/sha256-hash.js.map +1 -0
  29. package/dist/{esm/lib → lib}/utils/base64-utils.js +2 -2
  30. package/dist/lib/utils/base64-utils.js.map +1 -0
  31. package/dist/{esm/lib → lib}/utils/digest-utils.js +3 -3
  32. package/dist/lib/utils/digest-utils.js.map +1 -0
  33. package/dist/types.js.map +1 -0
  34. package/dist/{esm/workers → workers}/worker.js +4 -4
  35. package/dist/workers/worker.js.map +1 -0
  36. package/package.json +16 -8
  37. package/src/index.ts +4 -1
  38. package/src/lib/crypto-hash.ts +4 -8
  39. package/dist/bundle.d.ts +0 -2
  40. package/dist/bundle.d.ts.map +0 -1
  41. package/dist/dist.min.js +0 -2
  42. package/dist/dist.min.js.map +0 -7
  43. package/dist/es5/bundle.js +0 -6
  44. package/dist/es5/bundle.js.map +0 -1
  45. package/dist/es5/index.js +0 -102
  46. package/dist/es5/index.js.map +0 -1
  47. package/dist/es5/lib/algorithms/crc32.js +0 -41
  48. package/dist/es5/lib/algorithms/crc32.js.map +0 -1
  49. package/dist/es5/lib/algorithms/crc32c.js +0 -44
  50. package/dist/es5/lib/algorithms/crc32c.js.map +0 -1
  51. package/dist/es5/lib/algorithms/md5-wasm.js +0 -436
  52. package/dist/es5/lib/algorithms/md5-wasm.js.map +0 -1
  53. package/dist/es5/lib/crc32-hash.js +0 -148
  54. package/dist/es5/lib/crc32-hash.js.map +0 -1
  55. package/dist/es5/lib/crc32c-hash.js +0 -147
  56. package/dist/es5/lib/crc32c-hash.js.map +0 -1
  57. package/dist/es5/lib/crypto-hash.js +0 -189
  58. package/dist/es5/lib/crypto-hash.js.map +0 -1
  59. package/dist/es5/lib/hash.js +0 -150
  60. package/dist/es5/lib/hash.js.map +0 -1
  61. package/dist/es5/lib/md5-hash.js +0 -66
  62. package/dist/es5/lib/md5-hash.js.map +0 -1
  63. package/dist/es5/lib/node-hash.js +0 -155
  64. package/dist/es5/lib/node-hash.js.map +0 -1
  65. package/dist/es5/lib/sha256-hash.js +0 -33
  66. package/dist/es5/lib/sha256-hash.js.map +0 -1
  67. package/dist/es5/lib/utils/base64-utils.js +0 -94
  68. package/dist/es5/lib/utils/base64-utils.js.map +0 -1
  69. package/dist/es5/lib/utils/digest-utils.js +0 -61
  70. package/dist/es5/lib/utils/digest-utils.js.map +0 -1
  71. package/dist/es5/types.js +0 -2
  72. package/dist/es5/types.js.map +0 -1
  73. package/dist/es5/workers/worker.js +0 -67
  74. package/dist/es5/workers/worker.js.map +0 -1
  75. package/dist/esm/bundle.js +0 -4
  76. package/dist/esm/bundle.js.map +0 -1
  77. package/dist/esm/index.js +0 -28
  78. package/dist/esm/index.js.map +0 -1
  79. package/dist/esm/lib/algorithms/crc32.js.map +0 -1
  80. package/dist/esm/lib/algorithms/crc32c.js.map +0 -1
  81. package/dist/esm/lib/algorithms/md5-wasm.js.map +0 -1
  82. package/dist/esm/lib/crc32-hash.js.map +0 -1
  83. package/dist/esm/lib/crc32c-hash.js.map +0 -1
  84. package/dist/esm/lib/crypto-hash.js.map +0 -1
  85. package/dist/esm/lib/hash.js.map +0 -1
  86. package/dist/esm/lib/md5-hash.js.map +0 -1
  87. package/dist/esm/lib/node-hash.js +0 -52
  88. package/dist/esm/lib/node-hash.js.map +0 -1
  89. package/dist/esm/lib/sha256-hash.js.map +0 -1
  90. package/dist/esm/lib/utils/base64-utils.js.map +0 -1
  91. package/dist/esm/lib/utils/digest-utils.js.map +0 -1
  92. package/dist/esm/types.js.map +0 -1
  93. package/dist/esm/workers/cryptojs-worker.ts.disabled +0 -26
  94. package/dist/esm/workers/worker.js.map +0 -1
  95. package/dist/lib/node-hash.d.ts +0 -28
  96. package/dist/lib/node-hash.d.ts.map +0 -1
  97. package/src/bundle.ts +0 -4
  98. package/src/lib/node-hash.ts +0 -65
  99. /package/dist/{esm/lib → lib}/algorithms/md5-wasm.js +0 -0
  100. /package/dist/{esm/types.js → types.js} +0 -0
  101. /package/dist/{es5/workers → workers}/cryptojs-worker.ts.disabled +0 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,1341 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ CRC32CHash: () => CRC32CHash,
24
+ CRC32Hash: () => CRC32Hash,
25
+ CryptoHash: () => CryptoHash,
26
+ CryptoJSWorker: () => CryptoJSWorker,
27
+ CryptoWorker: () => CryptoWorker,
28
+ Hash: () => Hash,
29
+ MD5Hash: () => MD5Hash,
30
+ SHA256Hash: () => SHA256Hash,
31
+ asciiToBase64: () => asciiToBase64,
32
+ base64ToAscii: () => base64ToAscii,
33
+ encodeBase64: () => encodeBase64,
34
+ encodeHex: () => encodeHex,
35
+ encodeNumber: () => encodeNumber
36
+ });
37
+ module.exports = __toCommonJS(src_exports);
38
+
39
+ // src/lib/hash.ts
40
+ var import_loader_utils = require("@loaders.gl/loader-utils");
41
+ var Hash = class {
42
+ constructor(options = {}) {
43
+ this.hashBatches = this.hashBatches.bind(this);
44
+ }
45
+ async preload() {
46
+ return;
47
+ }
48
+ async *hashBatches(asyncIterator, encoding = "base64") {
49
+ var _a, _b;
50
+ const arrayBuffers = [];
51
+ for await (const arrayBuffer of asyncIterator) {
52
+ arrayBuffers.push(arrayBuffer);
53
+ yield arrayBuffer;
54
+ }
55
+ const output = await this.concatenate(arrayBuffers);
56
+ const hash = await this.hash(output, encoding);
57
+ (_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
58
+ }
59
+ // HELPERS
60
+ async concatenate(asyncIterator) {
61
+ return await (0, import_loader_utils.concatenateArrayBuffersAsync)(asyncIterator);
62
+ }
63
+ };
64
+
65
+ // src/lib/algorithms/crc32.ts
66
+ var CRC32 = class {
67
+ constructor() {
68
+ this.crc = ~0;
69
+ }
70
+ update(arrayBuffer) {
71
+ const CRC32_TABLE = getCRC32Table();
72
+ const byteArray = new Uint8Array(arrayBuffer);
73
+ for (let i = 0; i < byteArray.byteLength; i++) {
74
+ this.crc = this.crc >>> 8 ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 255];
75
+ }
76
+ return this;
77
+ }
78
+ finalize() {
79
+ this.crc = Math.abs(this.crc ^ -1);
80
+ return this.crc;
81
+ }
82
+ };
83
+ var CRC32TAB = Uint32Array.of(
84
+ 0,
85
+ 1996959894,
86
+ 3993919788,
87
+ 2567524794,
88
+ 124634137,
89
+ 1886057615,
90
+ 3915621685,
91
+ 2657392035,
92
+ 249268274,
93
+ 2044508324,
94
+ 3772115230,
95
+ 2547177864,
96
+ 162941995,
97
+ 2125561021,
98
+ 3887607047,
99
+ 2428444049,
100
+ 498536548,
101
+ 1789927666,
102
+ 4089016648,
103
+ 2227061214,
104
+ 450548861,
105
+ 1843258603,
106
+ 4107580753,
107
+ 2211677639,
108
+ 325883990,
109
+ 1684777152,
110
+ 4251122042,
111
+ 2321926636,
112
+ 335633487,
113
+ 1661365465,
114
+ 4195302755,
115
+ 2366115317,
116
+ 997073096,
117
+ 1281953886,
118
+ 3579855332,
119
+ 2724688242,
120
+ 1006888145,
121
+ 1258607687,
122
+ 3524101629,
123
+ 2768942443,
124
+ 901097722,
125
+ 1119000684,
126
+ 3686517206,
127
+ 2898065728,
128
+ 853044451,
129
+ 1172266101,
130
+ 3705015759,
131
+ 2882616665,
132
+ 651767980,
133
+ 1373503546,
134
+ 3369554304,
135
+ 3218104598,
136
+ 565507253,
137
+ 1454621731,
138
+ 3485111705,
139
+ 3099436303,
140
+ 671266974,
141
+ 1594198024,
142
+ 3322730930,
143
+ 2970347812,
144
+ 795835527,
145
+ 1483230225,
146
+ 3244367275,
147
+ 3060149565,
148
+ 1994146192,
149
+ 31158534,
150
+ 2563907772,
151
+ 4023717930,
152
+ 1907459465,
153
+ 112637215,
154
+ 2680153253,
155
+ 3904427059,
156
+ 2013776290,
157
+ 251722036,
158
+ 2517215374,
159
+ 3775830040,
160
+ 2137656763,
161
+ 141376813,
162
+ 2439277719,
163
+ 3865271297,
164
+ 1802195444,
165
+ 476864866,
166
+ 2238001368,
167
+ 4066508878,
168
+ 1812370925,
169
+ 453092731,
170
+ 2181625025,
171
+ 4111451223,
172
+ 1706088902,
173
+ 314042704,
174
+ 2344532202,
175
+ 4240017532,
176
+ 1658658271,
177
+ 366619977,
178
+ 2362670323,
179
+ 4224994405,
180
+ 1303535960,
181
+ 984961486,
182
+ 2747007092,
183
+ 3569037538,
184
+ 1256170817,
185
+ 1037604311,
186
+ 2765210733,
187
+ 3554079995,
188
+ 1131014506,
189
+ 879679996,
190
+ 2909243462,
191
+ 3663771856,
192
+ 1141124467,
193
+ 855842277,
194
+ 2852801631,
195
+ 3708648649,
196
+ 1342533948,
197
+ 654459306,
198
+ 3188396048,
199
+ 3373015174,
200
+ 1466479909,
201
+ 544179635,
202
+ 3110523913,
203
+ 3462522015,
204
+ 1591671054,
205
+ 702138776,
206
+ 2966460450,
207
+ 3352799412,
208
+ 1504918807,
209
+ 783551873,
210
+ 3082640443,
211
+ 3233442989,
212
+ 3988292384,
213
+ 2596254646,
214
+ 62317068,
215
+ 1957810842,
216
+ 3939845945,
217
+ 2647816111,
218
+ 81470997,
219
+ 1943803523,
220
+ 3814918930,
221
+ 2489596804,
222
+ 225274430,
223
+ 2053790376,
224
+ 3826175755,
225
+ 2466906013,
226
+ 167816743,
227
+ 2097651377,
228
+ 4027552580,
229
+ 2265490386,
230
+ 503444072,
231
+ 1762050814,
232
+ 4150417245,
233
+ 2154129355,
234
+ 426522225,
235
+ 1852507879,
236
+ 4275313526,
237
+ 2312317920,
238
+ 282753626,
239
+ 1742555852,
240
+ 4189708143,
241
+ 2394877945,
242
+ 397917763,
243
+ 1622183637,
244
+ 3604390888,
245
+ 2714866558,
246
+ 953729732,
247
+ 1340076626,
248
+ 3518719985,
249
+ 2797360999,
250
+ 1068828381,
251
+ 1219638859,
252
+ 3624741850,
253
+ 2936675148,
254
+ 906185462,
255
+ 1090812512,
256
+ 3747672003,
257
+ 2825379669,
258
+ 829329135,
259
+ 1181335161,
260
+ 3412177804,
261
+ 3160834842,
262
+ 628085408,
263
+ 1382605366,
264
+ 3423369109,
265
+ 3138078467,
266
+ 570562233,
267
+ 1426400815,
268
+ 3317316542,
269
+ 2998733608,
270
+ 733239954,
271
+ 1555261956,
272
+ 3268935591,
273
+ 3050360625,
274
+ 752459403,
275
+ 1541320221,
276
+ 2607071920,
277
+ 3965973030,
278
+ 1969922972,
279
+ 40735498,
280
+ 2617837225,
281
+ 3943577151,
282
+ 1913087877,
283
+ 83908371,
284
+ 2512341634,
285
+ 3803740692,
286
+ 2075208622,
287
+ 213261112,
288
+ 2463272603,
289
+ 3855990285,
290
+ 2094854071,
291
+ 198958881,
292
+ 2262029012,
293
+ 4057260610,
294
+ 1759359992,
295
+ 534414190,
296
+ 2176718541,
297
+ 4139329115,
298
+ 1873836001,
299
+ 414664567,
300
+ 2282248934,
301
+ 4279200368,
302
+ 1711684554,
303
+ 285281116,
304
+ 2405801727,
305
+ 4167216745,
306
+ 1634467795,
307
+ 376229701,
308
+ 2685067896,
309
+ 3608007406,
310
+ 1308918612,
311
+ 956543938,
312
+ 2808555105,
313
+ 3495958263,
314
+ 1231636301,
315
+ 1047427035,
316
+ 2932959818,
317
+ 3654703836,
318
+ 1088359270,
319
+ 936918e3,
320
+ 2847714899,
321
+ 3736837829,
322
+ 1202900863,
323
+ 817233897,
324
+ 3183342108,
325
+ 3401237130,
326
+ 1404277552,
327
+ 615818150,
328
+ 3134207493,
329
+ 3453421203,
330
+ 1423857449,
331
+ 601450431,
332
+ 3009837614,
333
+ 3294710456,
334
+ 1567103746,
335
+ 711928724,
336
+ 3020668471,
337
+ 3272380065,
338
+ 1510334235,
339
+ 755167117
340
+ );
341
+ function getCRC32Table() {
342
+ return CRC32TAB;
343
+ }
344
+
345
+ // src/lib/utils/base64-utils.ts
346
+ function asciiToBase64(string) {
347
+ string = `${string}`;
348
+ for (let i = 0; i < string.length; i++) {
349
+ if (string.charCodeAt(i) > 255) {
350
+ return null;
351
+ }
352
+ }
353
+ let out = "";
354
+ for (let i = 0; i < string.length; i += 3) {
355
+ const groupsOfSix = [void 0, void 0, void 0, void 0];
356
+ groupsOfSix[0] = string.charCodeAt(i) >> 2;
357
+ groupsOfSix[1] = (string.charCodeAt(i) & 3) << 4;
358
+ if (string.length > i + 1) {
359
+ groupsOfSix[1] |= string.charCodeAt(i + 1) >> 4;
360
+ groupsOfSix[2] = (string.charCodeAt(i + 1) & 15) << 2;
361
+ }
362
+ if (string.length > i + 2) {
363
+ groupsOfSix[2] |= string.charCodeAt(i + 2) >> 6;
364
+ groupsOfSix[3] = string.charCodeAt(i + 2) & 63;
365
+ }
366
+ for (let j = 0; j < groupsOfSix.length; j++) {
367
+ if (typeof groupsOfSix[j] === "undefined") {
368
+ out += "=";
369
+ } else {
370
+ out += btoaLookup(groupsOfSix[j]);
371
+ }
372
+ }
373
+ }
374
+ return out;
375
+ }
376
+ function base64ToAscii(data) {
377
+ data = `${data}`;
378
+ data = data.replace(/[ \t\n\f\r]/g, "");
379
+ if (data.length % 4 === 0) {
380
+ data = data.replace(/[=]=?$/, "");
381
+ }
382
+ if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {
383
+ return "";
384
+ }
385
+ let output = "";
386
+ let buffer = 0;
387
+ let accumulatedBits = 0;
388
+ for (let i = 0; i < data.length; i++) {
389
+ buffer <<= 6;
390
+ buffer |= atobLookup(data[i]);
391
+ accumulatedBits += 6;
392
+ if (accumulatedBits === 24) {
393
+ output += String.fromCharCode((buffer & 16711680) >> 16);
394
+ output += String.fromCharCode((buffer & 65280) >> 8);
395
+ output += String.fromCharCode(buffer & 255);
396
+ buffer = accumulatedBits = 0;
397
+ }
398
+ }
399
+ if (accumulatedBits === 12) {
400
+ buffer >>= 4;
401
+ output += String.fromCharCode(buffer);
402
+ } else if (accumulatedBits === 18) {
403
+ buffer >>= 2;
404
+ output += String.fromCharCode((buffer & 65280) >> 8);
405
+ output += String.fromCharCode(buffer & 255);
406
+ }
407
+ return output;
408
+ }
409
+ var keystr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
410
+ function atobLookup(chr) {
411
+ const index = keystr.indexOf(chr);
412
+ return index < 0 ? void 0 : index;
413
+ }
414
+ function btoaLookup(idx) {
415
+ if (idx < 26) {
416
+ return String.fromCharCode(idx + "A".charCodeAt(0));
417
+ }
418
+ if (idx < 52) {
419
+ return String.fromCharCode(idx - 26 + "a".charCodeAt(0));
420
+ }
421
+ if (idx < 62) {
422
+ return String.fromCharCode(idx - 52 + "0".charCodeAt(0));
423
+ }
424
+ if (idx === 62) {
425
+ return "+";
426
+ }
427
+ if (idx === 63) {
428
+ return "/";
429
+ }
430
+ return void 0;
431
+ }
432
+
433
+ // src/lib/utils/digest-utils.ts
434
+ function encodeNumber(number, encoding) {
435
+ switch (encoding) {
436
+ case "hex":
437
+ return convertNumberToHex(number);
438
+ case "base64":
439
+ return convertHexToBase64(convertNumberToHex(number));
440
+ default:
441
+ throw new Error(encoding);
442
+ }
443
+ }
444
+ function encodeHex(hex, encoding) {
445
+ switch (encoding) {
446
+ case "hex":
447
+ return hex;
448
+ case "base64":
449
+ return convertHexToBase64(hex);
450
+ default:
451
+ throw new Error(encoding);
452
+ }
453
+ }
454
+ function encodeBase64(base64, encoding) {
455
+ switch (encoding) {
456
+ case "hex":
457
+ return convertBase64ToHex(base64);
458
+ case "base64":
459
+ return base64;
460
+ default:
461
+ throw new Error(encoding);
462
+ }
463
+ }
464
+ function convertHexToBase64(hexstring) {
465
+ if (hexstring.length % 2 !== 0) {
466
+ hexstring = `0${hexstring}`;
467
+ }
468
+ const matches = hexstring.match(/\w{2}/g) || [];
469
+ const string = matches.map((a) => String.fromCharCode(parseInt(a, 16))).join("");
470
+ return asciiToBase64(string) || "";
471
+ }
472
+ function convertBase64ToHex(base64String) {
473
+ return [...base64ToAscii(base64String)].map((c) => c.charCodeAt(0).toString(16).padStart(2, "0")).join("");
474
+ }
475
+ function convertNumberToHex(cipher) {
476
+ const hexString = cipher.toString(16);
477
+ return hexString === "0" ? `0${hexString}` : hexString;
478
+ }
479
+
480
+ // src/lib/crc32-hash.ts
481
+ var CRC32Hash = class extends Hash {
482
+ constructor(options = {}) {
483
+ super();
484
+ this.name = "crc32";
485
+ this.options = { crypto: {}, ...options };
486
+ this._hash = new CRC32();
487
+ this.hashBatches = this.hashBatches.bind(this);
488
+ }
489
+ /**
490
+ * Atomic hash calculation
491
+ * @returns base64 encoded hash
492
+ */
493
+ async hash(input, encoding) {
494
+ return this.hashSync(input, encoding);
495
+ }
496
+ hashSync(input, encoding) {
497
+ this._hash.update(input);
498
+ const digest = this._hash.finalize();
499
+ return encodeNumber(digest, encoding);
500
+ }
501
+ async *hashBatches(asyncIterator, encoding = "base64") {
502
+ var _a, _b;
503
+ for await (const chunk of asyncIterator) {
504
+ this._hash.update(chunk);
505
+ yield chunk;
506
+ }
507
+ const digest = this._hash.finalize();
508
+ const hash = encodeNumber(digest, encoding);
509
+ (_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
510
+ }
511
+ };
512
+
513
+ // src/lib/algorithms/crc32c.ts
514
+ var CRC32C = class {
515
+ constructor(options = {}) {
516
+ this.options = options;
517
+ this.crc = ~0;
518
+ }
519
+ update(arrayBuffer) {
520
+ const byteArray = new Uint8Array(arrayBuffer);
521
+ const CRC32_TABLE = getCRC32Table2();
522
+ for (let i = 0; i < byteArray.length; i++) {
523
+ this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 255] ^ this.crc >>> 8;
524
+ }
525
+ return this;
526
+ }
527
+ finalize() {
528
+ this.crc = (this.crc ^ -1) >>> 0;
529
+ return this.crc;
530
+ }
531
+ };
532
+ var CRC32C_TABLE = Int32Array.of(
533
+ 0,
534
+ 4067132163,
535
+ 3778769143,
536
+ 324072436,
537
+ 3348797215,
538
+ 904991772,
539
+ 648144872,
540
+ 3570033899,
541
+ 2329499855,
542
+ 2024987596,
543
+ 1809983544,
544
+ 2575936315,
545
+ 1296289744,
546
+ 3207089363,
547
+ 2893594407,
548
+ 1578318884,
549
+ 274646895,
550
+ 3795141740,
551
+ 4049975192,
552
+ 51262619,
553
+ 3619967088,
554
+ 632279923,
555
+ 922689671,
556
+ 3298075524,
557
+ 2592579488,
558
+ 1760304291,
559
+ 2075979607,
560
+ 2312596564,
561
+ 1562183871,
562
+ 2943781820,
563
+ 3156637768,
564
+ 1313733451,
565
+ 549293790,
566
+ 3537243613,
567
+ 3246849577,
568
+ 871202090,
569
+ 3878099393,
570
+ 357341890,
571
+ 102525238,
572
+ 4101499445,
573
+ 2858735121,
574
+ 1477399826,
575
+ 1264559846,
576
+ 3107202533,
577
+ 1845379342,
578
+ 2677391885,
579
+ 2361733625,
580
+ 2125378298,
581
+ 820201905,
582
+ 3263744690,
583
+ 3520608582,
584
+ 598981189,
585
+ 4151959214,
586
+ 85089709,
587
+ 373468761,
588
+ 3827903834,
589
+ 3124367742,
590
+ 1213305469,
591
+ 1526817161,
592
+ 2842354314,
593
+ 2107672161,
594
+ 2412447074,
595
+ 2627466902,
596
+ 1861252501,
597
+ 1098587580,
598
+ 3004210879,
599
+ 2688576843,
600
+ 1378610760,
601
+ 2262928035,
602
+ 1955203488,
603
+ 1742404180,
604
+ 2511436119,
605
+ 3416409459,
606
+ 969524848,
607
+ 714683780,
608
+ 3639785095,
609
+ 205050476,
610
+ 4266873199,
611
+ 3976438427,
612
+ 526918040,
613
+ 1361435347,
614
+ 2739821008,
615
+ 2954799652,
616
+ 1114974503,
617
+ 2529119692,
618
+ 1691668175,
619
+ 2005155131,
620
+ 2247081528,
621
+ 3690758684,
622
+ 697762079,
623
+ 986182379,
624
+ 3366744552,
625
+ 476452099,
626
+ 3993867776,
627
+ 4250756596,
628
+ 255256311,
629
+ 1640403810,
630
+ 2477592673,
631
+ 2164122517,
632
+ 1922457750,
633
+ 2791048317,
634
+ 1412925310,
635
+ 1197962378,
636
+ 3037525897,
637
+ 3944729517,
638
+ 427051182,
639
+ 170179418,
640
+ 4165941337,
641
+ 746937522,
642
+ 3740196785,
643
+ 3451792453,
644
+ 1070968646,
645
+ 1905808397,
646
+ 2213795598,
647
+ 2426610938,
648
+ 1657317369,
649
+ 3053634322,
650
+ 1147748369,
651
+ 1463399397,
652
+ 2773627110,
653
+ 4215344322,
654
+ 153784257,
655
+ 444234805,
656
+ 3893493558,
657
+ 1021025245,
658
+ 3467647198,
659
+ 3722505002,
660
+ 797665321,
661
+ 2197175160,
662
+ 1889384571,
663
+ 1674398607,
664
+ 2443626636,
665
+ 1164749927,
666
+ 3070701412,
667
+ 2757221520,
668
+ 1446797203,
669
+ 137323447,
670
+ 4198817972,
671
+ 3910406976,
672
+ 461344835,
673
+ 3484808360,
674
+ 1037989803,
675
+ 781091935,
676
+ 3705997148,
677
+ 2460548119,
678
+ 1623424788,
679
+ 1939049696,
680
+ 2180517859,
681
+ 1429367560,
682
+ 2807687179,
683
+ 3020495871,
684
+ 1180866812,
685
+ 410100952,
686
+ 3927582683,
687
+ 4182430767,
688
+ 186734380,
689
+ 3756733383,
690
+ 763408580,
691
+ 1053836080,
692
+ 3434856499,
693
+ 2722870694,
694
+ 1344288421,
695
+ 1131464017,
696
+ 2971354706,
697
+ 1708204729,
698
+ 2545590714,
699
+ 2229949006,
700
+ 1988219213,
701
+ 680717673,
702
+ 3673779818,
703
+ 3383336350,
704
+ 1002577565,
705
+ 4010310262,
706
+ 493091189,
707
+ 238226049,
708
+ 4233660802,
709
+ 2987750089,
710
+ 1082061258,
711
+ 1395524158,
712
+ 2705686845,
713
+ 1972364758,
714
+ 2279892693,
715
+ 2494862625,
716
+ 1725896226,
717
+ 952904198,
718
+ 3399985413,
719
+ 3656866545,
720
+ 731699698,
721
+ 4283874585,
722
+ 222117402,
723
+ 510512622,
724
+ 3959836397,
725
+ 3280807620,
726
+ 837199303,
727
+ 582374963,
728
+ 3504198960,
729
+ 68661723,
730
+ 4135334616,
731
+ 3844915500,
732
+ 390545967,
733
+ 1230274059,
734
+ 3141532936,
735
+ 2825850620,
736
+ 1510247935,
737
+ 2395924756,
738
+ 2091215383,
739
+ 1878366691,
740
+ 2644384480,
741
+ 3553878443,
742
+ 565732008,
743
+ 854102364,
744
+ 3229815391,
745
+ 340358836,
746
+ 3861050807,
747
+ 4117890627,
748
+ 119113024,
749
+ 1493875044,
750
+ 2875275879,
751
+ 3090270611,
752
+ 1247431312,
753
+ 2660249211,
754
+ 1828433272,
755
+ 2141937292,
756
+ 2378227087,
757
+ 3811616794,
758
+ 291187481,
759
+ 34330861,
760
+ 4032846830,
761
+ 615137029,
762
+ 3603020806,
763
+ 3314634738,
764
+ 939183345,
765
+ 1776939221,
766
+ 2609017814,
767
+ 2295496738,
768
+ 2058945313,
769
+ 2926798794,
770
+ 1545135305,
771
+ 1330124605,
772
+ 3173225534,
773
+ 4084100981,
774
+ 17165430,
775
+ 307568514,
776
+ 3762199681,
777
+ 888469610,
778
+ 3332340585,
779
+ 3587147933,
780
+ 665062302,
781
+ 2042050490,
782
+ 2346497209,
783
+ 2559330125,
784
+ 1793573966,
785
+ 3190661285,
786
+ 1279665062,
787
+ 1595330642,
788
+ 2910671697
789
+ );
790
+ function getCRC32Table2() {
791
+ return CRC32C_TABLE;
792
+ }
793
+
794
+ // src/lib/crc32c-hash.ts
795
+ var CRC32CHash = class extends Hash {
796
+ /**
797
+ * Atomic hash calculation
798
+ * @returns base64 encoded hash
799
+ */
800
+ constructor(options = {}) {
801
+ super();
802
+ this.name = "crc32c";
803
+ this.options = { crypto: {}, ...options };
804
+ this._hash = new CRC32C(options);
805
+ }
806
+ /**
807
+ * Atomic hash calculation
808
+ * @returns base64 encoded hash
809
+ */
810
+ async hash(input, encoding) {
811
+ return this.hashSync(input, encoding);
812
+ }
813
+ hashSync(input, encoding) {
814
+ this._hash.update(input);
815
+ const digest = this._hash.finalize();
816
+ return encodeNumber(digest, encoding);
817
+ }
818
+ // runInBatches inherited
819
+ async *hashBatches(asyncIterator, encoding = "base64") {
820
+ var _a, _b;
821
+ for await (const chunk of asyncIterator) {
822
+ this._hash.update(chunk);
823
+ yield chunk;
824
+ }
825
+ const digest = this._hash.finalize();
826
+ const hash = encodeNumber(digest, encoding);
827
+ (_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
828
+ }
829
+ };
830
+
831
+ // src/lib/algorithms/md5-wasm.ts
832
+ var atb = typeof atob === "function" ? atob : typeof Buffer === "function" ? nodeATOB : identity;
833
+ var wasmB64 = atb(
834
+ "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"
835
+ );
836
+ var wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false;
837
+ var crypt = makeCrypt();
838
+ var biteSize = 240 * 16 * 16;
839
+ var bounder = Math.floor(biteSize * 16 * 1.066666667);
840
+ var upperLimit = 268435456 - 65536;
841
+ var parmTypeErrStr = "Parameter must be Buffer, ArrayBuffer or Uint8Array";
842
+ var tooBigErrStr = "Parameter exceeds max size of 255.9 Mbytes";
843
+ if (!wasm) {
844
+ console.log(
845
+ "WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript"
846
+ );
847
+ }
848
+ function md5WASM(data) {
849
+ var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;
850
+ const md5JS = makeMD5JS(), md5WA = makeMD5WA(), returnObj = {}, startTime = new Date().getTime();
851
+ returnObj["then"] = function(fun) {
852
+ thenFun = fun;
853
+ getThen();
854
+ return returnObj;
855
+ };
856
+ returnObj["catch"] = function(fun) {
857
+ catchFun = fun;
858
+ return returnObj;
859
+ };
860
+ if (true) {
861
+ if (data && typeof data === "object") {
862
+ if (typeof Buffer === "function" && data.constructor === Buffer) {
863
+ buff = data;
864
+ } else {
865
+ if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {
866
+ buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;
867
+ } else {
868
+ getCatch(new TypeError(parmTypeErrStr));
869
+ }
870
+ }
871
+ } else {
872
+ getCatch(new TypeError(parmTypeErrStr));
873
+ }
874
+ }
875
+ if (buff) {
876
+ len = buff.length;
877
+ if (wasm && len > bounder) {
878
+ if (len > upperLimit) {
879
+ getCatch(new Error(tooBigErrStr));
880
+ } else {
881
+ mem = new WebAssembly.Memory({
882
+ initial: len > 32e6 ? len > 64e6 ? len > 128e6 ? 4096 : 2048 : 1024 : 512
883
+ });
884
+ memView = new Uint32Array(mem.buffer);
885
+ imports = { mem, log: console.log };
886
+ importObj = { imports };
887
+ WebAssembly.instantiate(wasm, importObj).then(giterdone);
888
+ }
889
+ } else {
890
+ getThen(md5JS(buff));
891
+ }
892
+ }
893
+ return returnObj;
894
+ function giterdone(obj) {
895
+ getThen(md5WA(buff, obj.instance.exports, memView));
896
+ }
897
+ function getThen(r) {
898
+ var res = Boolean(r) ? r : result;
899
+ if (Boolean(r)) {
900
+ endTime = new Date().getTime();
901
+ }
902
+ if (typeof thenFun === "function") {
903
+ if (Boolean(res)) {
904
+ thenFun(res, endTime - startTime);
905
+ thenFun = catchFun = null;
906
+ }
907
+ } else {
908
+ if (Boolean(r)) {
909
+ result = r;
910
+ }
911
+ }
912
+ }
913
+ function getCatch(err) {
914
+ if (typeof catchFun === "function") {
915
+ catchFun(err);
916
+ }
917
+ }
918
+ }
919
+ function makeMD5WA() {
920
+ var loop, loops;
921
+ var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;
922
+ var md5WA = function(message) {
923
+ var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m, k;
924
+ var qwerty = new Date().getTime();
925
+ var md5Used = 0;
926
+ var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, i = 0, l = message.length * 8, len;
927
+ len = bytesToWordsNewer(message, memView);
928
+ memView[l >>> 5] |= 128 << l % 32;
929
+ memView[(l + 64 >>> 9 << 4) + 14] = l;
930
+ len = (l + 64 >>> 9 << 4) + 15;
931
+ m = memView;
932
+ while (i < len) {
933
+ if (len > i + bounder) {
934
+ setA(a);
935
+ setB(b);
936
+ setC(c);
937
+ setD(d);
938
+ loops(biteSize);
939
+ i = i + biteSize * 16;
940
+ a = getA();
941
+ b = getB();
942
+ c = getC();
943
+ d = getD();
944
+ md5Used++;
945
+ } else {
946
+ aa = a;
947
+ bb = b;
948
+ cc = c;
949
+ dd = d;
950
+ m00 = m[i + 0] >>> 0;
951
+ m01 = m[i + 1] >>> 0;
952
+ m02 = m[i + 2] >>> 0;
953
+ m03 = m[i + 3] >>> 0;
954
+ m04 = m[i + 4] >>> 0;
955
+ m05 = m[i + 5] >>> 0;
956
+ m06 = m[i + 6] >>> 0;
957
+ m07 = m[i + 7] >>> 0;
958
+ m08 = m[i + 8] >>> 0;
959
+ m09 = m[i + 9] >>> 0;
960
+ m10 = m[i + 10] >>> 0;
961
+ m11 = m[i + 11] >>> 0;
962
+ m12 = m[i + 12] >>> 0;
963
+ m13 = m[i + 13] >>> 0;
964
+ m14 = m[i + 14] >>> 0;
965
+ m15 = m[i + 15] >>> 0;
966
+ a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
967
+ d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
968
+ c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
969
+ b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
970
+ a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
971
+ d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
972
+ c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
973
+ b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
974
+ a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
975
+ d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
976
+ c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
977
+ b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
978
+ a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
979
+ d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
980
+ c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
981
+ b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
982
+ a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
983
+ d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
984
+ c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
985
+ b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
986
+ a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
987
+ d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
988
+ c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
989
+ b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
990
+ a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
991
+ d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
992
+ c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
993
+ b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
994
+ a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
995
+ d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
996
+ c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
997
+ b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
998
+ a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
999
+ d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
1000
+ c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
1001
+ b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
1002
+ a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
1003
+ d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
1004
+ c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
1005
+ b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
1006
+ a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
1007
+ d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
1008
+ c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
1009
+ b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
1010
+ a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
1011
+ d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
1012
+ c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
1013
+ b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
1014
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
1015
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
1016
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
1017
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
1018
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
1019
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
1020
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
1021
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
1022
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
1023
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
1024
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
1025
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
1026
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
1027
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
1028
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
1029
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
1030
+ i = i + 16;
1031
+ a = a + aa >>> 0;
1032
+ b = b + bb >>> 0;
1033
+ c = c + cc >>> 0;
1034
+ d = d + dd >>> 0;
1035
+ }
1036
+ }
1037
+ return crypt.endian([a, b, c, d]);
1038
+ function ____(s, t, n) {
1039
+ return n << s | n >>> t;
1040
+ }
1041
+ function bytesToWordsNewer(bytes, words) {
1042
+ var i2 = -1, l2 = Math.floor((bytes.length - 1) / 4), j = 0, b0, b1, b2, b3;
1043
+ while (l2 - 8 > i2++) {
1044
+ j = i2 << 2;
1045
+ words[i2] = bytes[j + 0] | bytes[j + 1] << 8 | bytes[j + 2] << 16 | bytes[j + 3] << 24;
1046
+ }
1047
+ i2--;
1048
+ while (l2 > i2++) {
1049
+ j = i2 << 2;
1050
+ b0 = typeof bytes[j + 0] === "undefined" ? 0 : bytes[j + 0];
1051
+ b1 = typeof bytes[j + 1] === "undefined" ? 0 : bytes[j + 1];
1052
+ b2 = typeof bytes[j + 2] === "undefined" ? 0 : bytes[j + 2];
1053
+ b3 = typeof bytes[j + 3] === "undefined" ? 0 : bytes[j + 3];
1054
+ words[i2] = b0 | b1 << 8 | b2 << 16 | b3 << 24;
1055
+ }
1056
+ return l2 + 1;
1057
+ }
1058
+ };
1059
+ return function(message, exports, mView, options) {
1060
+ var digestbytes;
1061
+ loops = exports.loops;
1062
+ loop = exports.loop;
1063
+ getA = exports.getA;
1064
+ getB = exports.getB;
1065
+ getC = exports.getC;
1066
+ getD = exports.getD;
1067
+ getX = exports.getX;
1068
+ setA = exports.setA;
1069
+ setB = exports.setB;
1070
+ setC = exports.setC;
1071
+ setD = exports.setD;
1072
+ setX = exports.setX;
1073
+ memView = mView;
1074
+ digestbytes = crypt.wordsToBytes(md5WA(message));
1075
+ return options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);
1076
+ };
1077
+ }
1078
+ function makeMD5JS() {
1079
+ var md5JS = function(message, options) {
1080
+ var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m;
1081
+ var qwerty = new Date().getTime();
1082
+ var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, l = message.length * 8;
1083
+ m = crypt.bytesToWords(message);
1084
+ for (var j = 0; j < m.length; j++) {
1085
+ m[j] = (m[j] << 8 | m[j] >>> 24) & 16711935 | (m[j] << 24 | m[j] >>> 8) & 4278255360;
1086
+ }
1087
+ m[l >>> 5] |= 128 << l % 32;
1088
+ m[(l + 64 >>> 9 << 4) + 14] = l;
1089
+ for (var i = 0; i < m.length; i += 16) {
1090
+ aa = a;
1091
+ bb = b;
1092
+ cc = c;
1093
+ dd = d;
1094
+ m00 = m[i + 0] >>> 0;
1095
+ m01 = m[i + 1] >>> 0;
1096
+ m02 = m[i + 2] >>> 0;
1097
+ m03 = m[i + 3] >>> 0;
1098
+ m04 = m[i + 4] >>> 0;
1099
+ m05 = m[i + 5] >>> 0;
1100
+ m06 = m[i + 6] >>> 0;
1101
+ m07 = m[i + 7] >>> 0;
1102
+ m08 = m[i + 8] >>> 0;
1103
+ m09 = m[i + 9] >>> 0;
1104
+ m10 = m[i + 10] >>> 0;
1105
+ m11 = m[i + 11] >>> 0;
1106
+ m12 = m[i + 12] >>> 0;
1107
+ m13 = m[i + 13] >>> 0;
1108
+ m14 = m[i + 14] >>> 0;
1109
+ m15 = m[i + 15] >>> 0;
1110
+ a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
1111
+ d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
1112
+ c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
1113
+ b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
1114
+ a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
1115
+ d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
1116
+ c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
1117
+ b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
1118
+ a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
1119
+ d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
1120
+ c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
1121
+ b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
1122
+ a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
1123
+ d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
1124
+ c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
1125
+ b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
1126
+ a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
1127
+ d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
1128
+ c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
1129
+ b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
1130
+ a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
1131
+ d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
1132
+ c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
1133
+ b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
1134
+ a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
1135
+ d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
1136
+ c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
1137
+ b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
1138
+ a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
1139
+ d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
1140
+ c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
1141
+ b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
1142
+ a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
1143
+ d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
1144
+ c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
1145
+ b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
1146
+ a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
1147
+ d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
1148
+ c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
1149
+ b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
1150
+ a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
1151
+ d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
1152
+ c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
1153
+ b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
1154
+ a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
1155
+ d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
1156
+ c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
1157
+ b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
1158
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
1159
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
1160
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
1161
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
1162
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
1163
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
1164
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
1165
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
1166
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
1167
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
1168
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
1169
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
1170
+ a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
1171
+ d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
1172
+ c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
1173
+ b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
1174
+ a = a + aa >>> 0;
1175
+ b = b + bb >>> 0;
1176
+ c = c + cc >>> 0;
1177
+ d = d + dd >>> 0;
1178
+ }
1179
+ return crypt.endian([a, b, c, d]);
1180
+ function ____(s, t, n) {
1181
+ return n << s | n >>> t;
1182
+ }
1183
+ };
1184
+ return function(message, options) {
1185
+ var digestbytes = crypt.wordsToBytes(md5JS(message, options)), result = options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);
1186
+ return result;
1187
+ };
1188
+ }
1189
+ function str2AB(str) {
1190
+ var l, buff, buffView, i = -1;
1191
+ l = str.length - 1;
1192
+ buff = new ArrayBuffer(str.length);
1193
+ buffView = new Uint8Array(buff);
1194
+ while (l > i++) {
1195
+ buffView[i] = str.charCodeAt(i);
1196
+ }
1197
+ return buffView;
1198
+ }
1199
+ function nodeATOB(str) {
1200
+ return Buffer.from(str, "base64").toString("binary");
1201
+ }
1202
+ function identity(x) {
1203
+ return x;
1204
+ }
1205
+ function makeCrypt() {
1206
+ var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1207
+ return {
1208
+ rotl: function(n, b) {
1209
+ return n << b | n >>> 32 - b;
1210
+ },
1211
+ endian: function(n) {
1212
+ if (n.constructor == Number) {
1213
+ return crypt.rotl(n, 8) & 16711935 | crypt.rotl(n, 24) & 4278255360;
1214
+ }
1215
+ for (var i = 0; i < n.length; i++)
1216
+ n[i] = crypt.endian(n[i]);
1217
+ return n;
1218
+ },
1219
+ bytesToWords: function(bytes) {
1220
+ for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
1221
+ words[b >>> 5] |= bytes[i] << 24 - b % 32;
1222
+ return words;
1223
+ },
1224
+ wordsToBytes: function(words) {
1225
+ for (var bytes = [], b = 0; b < words.length * 32; b += 8)
1226
+ bytes.push(words[b >>> 5] >>> 24 - b % 32 & 255);
1227
+ return bytes;
1228
+ },
1229
+ bytesconvertNumberToHex: function(bytes) {
1230
+ for (var hex = [], i = 0; i < bytes.length; i++) {
1231
+ hex.push((bytes[i] >>> 4).toString(16));
1232
+ hex.push((bytes[i] & 15).toString(16));
1233
+ }
1234
+ return hex.join("");
1235
+ }
1236
+ };
1237
+ }
1238
+
1239
+ // src/lib/md5-hash.ts
1240
+ var MD5Hash = class extends Hash {
1241
+ constructor(options = {}) {
1242
+ super();
1243
+ this.name = "md5";
1244
+ this.options = options;
1245
+ }
1246
+ /**
1247
+ * Atomic hash calculation
1248
+ * @returns base64 encoded hash
1249
+ */
1250
+ async hash(input, encoding) {
1251
+ const md5Promise = new Promise(
1252
+ (resolve, reject) => (
1253
+ // @ts-expect-error
1254
+ md5WASM(input).then(resolve).catch(reject)
1255
+ )
1256
+ );
1257
+ const hex = await md5Promise;
1258
+ return encodeHex(hex, encoding);
1259
+ }
1260
+ };
1261
+
1262
+ // src/lib/crypto-hash.ts
1263
+ var CryptoJS;
1264
+ var CryptoHash = class extends Hash {
1265
+ constructor(options) {
1266
+ var _a, _b;
1267
+ super();
1268
+ this.options = options;
1269
+ this._algorithm = (_b = (_a = this.options) == null ? void 0 : _a.crypto) == null ? void 0 : _b.algorithm;
1270
+ if (!this._algorithm) {
1271
+ throw new Error(this.name);
1272
+ }
1273
+ this.name = this._algorithm.toLowerCase();
1274
+ }
1275
+ async preload() {
1276
+ var _a, _b;
1277
+ if (!CryptoJS) {
1278
+ CryptoJS = (_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.CryptoJS;
1279
+ }
1280
+ if (!CryptoJS) {
1281
+ throw new Error(this.name);
1282
+ }
1283
+ if (!this._hash) {
1284
+ const algo = CryptoJS.algo[this._algorithm];
1285
+ this._hash = algo.create();
1286
+ }
1287
+ if (!this._hash) {
1288
+ throw new Error(this.name);
1289
+ }
1290
+ }
1291
+ /**
1292
+ * Atomic hash calculation
1293
+ * @returns base64 encoded hash
1294
+ */
1295
+ async hash(input, encoding) {
1296
+ await this.preload();
1297
+ const typedWordArray = CryptoJS.lib.WordArray.create(input);
1298
+ const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
1299
+ return this._hash.update(typedWordArray).finalize().toString(enc);
1300
+ }
1301
+ async *hashBatches(asyncIterator, encoding = "base64") {
1302
+ var _a, _b, _c;
1303
+ await this.preload();
1304
+ for await (const chunk of asyncIterator) {
1305
+ const typedWordArray = CryptoJS.lib.WordArray.create(chunk);
1306
+ this._hash.update(typedWordArray);
1307
+ yield chunk;
1308
+ }
1309
+ const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
1310
+ const digest = this._hash.finalize().toString(enc);
1311
+ (_c = (_b = (_a = this.options) == null ? void 0 : _a.crypto) == null ? void 0 : _b.onEnd) == null ? void 0 : _c.call(_b, { hash: digest });
1312
+ }
1313
+ };
1314
+
1315
+ // src/lib/sha256-hash.ts
1316
+ var SHA256Hash = class extends CryptoHash {
1317
+ constructor(options) {
1318
+ super({ ...options, crypto: { ...options.crypto, algorithm: "SHA256" } });
1319
+ }
1320
+ };
1321
+
1322
+ // src/index.ts
1323
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1324
+ var CryptoWorker = {
1325
+ id: "crypto",
1326
+ name: "CRC32, CRC32c and MD5 Hashes",
1327
+ module: "crypto",
1328
+ version: VERSION,
1329
+ options: {
1330
+ crypto: {}
1331
+ }
1332
+ };
1333
+ var CryptoJSWorker = {
1334
+ id: "cryptojs",
1335
+ name: "Cryptographic Hashes",
1336
+ module: "crypto",
1337
+ version: VERSION,
1338
+ options: {
1339
+ cryptojs: {}
1340
+ }
1341
+ };