172 lines
8.9 KiB
JavaScript
172 lines
8.9 KiB
JavaScript
// Metro module 523 (f524).
|
|
const md5cmn = function md5cmn(a0, a1, a2, a3, a4, a5) {
|
|
const r3 = (65535 & a1) + (65535 & a0);
|
|
const r18 = (a1 >> 16) + (a0 >> 16) + (r3 >> 16) << 16 | 65535 & r3;
|
|
const r21 = (65535 & a3) + (65535 & a5);
|
|
const r29 = (a3 >> 16) + (a5 >> 16) + (r21 >> 16) << 16 | 65535 & r21;
|
|
const r32 = (65535 & r18) + (65535 & r29);
|
|
const r40 = (r18 >> 16) + (r29 >> 16) + (r32 >> 16) << 16 | 65535 & r32;
|
|
const r45 = r40 << a4 | r40 >>> 32 - a4;
|
|
const r48 = (65535 & r45) + (65535 & a2);
|
|
return (r45 >> 16) + (a2 >> 16) + (r48 >> 16) << 16 | 65535 & r48;
|
|
};
|
|
export default function md5(a0) {
|
|
let r165, length2, length3;
|
|
let r121 = a0;
|
|
if (typeof a0 === "string") {
|
|
const r136 = unescape(encodeURIComponent(a0));
|
|
const uint8Array = new Uint8Array(r136.length);
|
|
const length = r136.length;
|
|
let r20 = 0;
|
|
const r142 = 0 < length;
|
|
r121 = uint8Array;
|
|
if (r142) {
|
|
do {
|
|
uint8Array[r20] = r136.charCodeAt(r20);
|
|
r20 = r20 + 1;
|
|
length2 = r136.length;
|
|
r121 = uint8Array;
|
|
} while (r20 < length2);
|
|
}
|
|
}
|
|
if (r121.length === 0) {
|
|
r165 = [];
|
|
} else {
|
|
const r34 = 8 * r121.length;
|
|
const uint32Array = new Uint32Array(14 + (r34 + 64 >>> 9 << 4) + 1);
|
|
let r164 = 0;
|
|
r165 = uint32Array;
|
|
while (r164 < r34) {
|
|
const r43 = r164 >> 5;
|
|
uint32Array[r43] = uint32Array[r43] | (255 & r121[r164 / 8]) << r164 % 32;
|
|
r164 = r164 + 8;
|
|
r165 = uint32Array;
|
|
}
|
|
}
|
|
const r174 = 8 * r121.length;
|
|
const r176 = r174 >> 5;
|
|
r165[r176] = r165[r176] | 128 << r174 % 32;
|
|
r165[14 + (r174 + 64 >>> 9 << 4) + 1 - 1] = r174;
|
|
const r192 = 0 < r165.length;
|
|
let r30 = 271733878;
|
|
let r29 = -1732584194;
|
|
let r27 = -271733879;
|
|
let r33 = 1732584193;
|
|
let r15 = 0;
|
|
let r195 = 271733878;
|
|
let r196 = -1732584194;
|
|
let r197 = -271733879;
|
|
let r35 = 1732584193;
|
|
if (r192) {
|
|
do {
|
|
const r11 = md5cmn(r27 & r29 | ~r27 & r30, r33, r27, r165[r15], 7, -680876936);
|
|
const r24 = r15 + 1;
|
|
const r8 = md5cmn(r11 & r27 | ~r11 & r29, r30, r11, r165[r24], 12, -389564586);
|
|
const r18 = r15 + 2;
|
|
const r5 = md5cmn(r8 & r11 | ~r8 & r27, r29, r8, r165[r18], 17, 606105819);
|
|
const r23 = r15 + 3;
|
|
const r9 = md5cmn(r5 & r8 | ~r5 & r11, r27, r5, r165[r23], 22, -1044525330);
|
|
const r229 = r15 + 4;
|
|
const r238 = md5cmn(r9 & r5 | ~r9 & r8, r11, r9, r165[r229], 7, -176418897);
|
|
const r22 = r15 + 5;
|
|
const r17 = md5cmn(r238 & r9 | ~r238 & r5, r8, r238, r165[r22], 12, 1200080426);
|
|
const r248 = r15 + 6;
|
|
const r258 = md5cmn(r17 & r238 | ~r17 & r9, r5, r17, r165[r248], 17, -1473231341);
|
|
const r21 = r15 + 7;
|
|
const r16 = md5cmn(r258 & r17 | ~r258 & r238, r9, r258, r165[r21], 22, -45705983);
|
|
const r268 = r15 + 8;
|
|
const r278 = md5cmn(r16 & r258 | ~r16 & r17, r238, r16, r165[r268], 7, 1770035416);
|
|
const r279 = r15 + 9;
|
|
const r288 = md5cmn(r278 & r16 | ~r278 & r258, r17, r278, r165[r279], 12, -1958414417);
|
|
const r289 = r15 + 10;
|
|
const r298 = md5cmn(r288 & r278 | ~r288 & r16, r258, r288, r165[r289], 17, -42063);
|
|
const r299 = r15 + 11;
|
|
const r31 = md5cmn(r298 & r288 | ~r298 & r278, r16, r298, r165[r299], 22, -1990404162);
|
|
const r308 = r15 + 12;
|
|
const r10 = md5cmn(r31 & r298 | ~r31 & r288, r278, r31, r165[r308], 7, 1804603682);
|
|
const r318 = r15 + 13;
|
|
const r6 = md5cmn(r10 & r31 | ~r10 & r298, r288, r10, r165[r318], 12, -40341101);
|
|
const r328 = r15 + 14;
|
|
const r329 = r165[r328];
|
|
const r4 = ~r6;
|
|
const r7 = md5cmn(r6 & r10 | r4 & r31, r298, r6, r329, 17, -1502002290);
|
|
const r337 = r15 + 15;
|
|
const r338 = r165[r337];
|
|
const r339 = ~r7;
|
|
const r346 = md5cmn(r7 & r6 | r339 & r10, r31, r7, r338, 22, 1236535329);
|
|
const r355 = md5cmn(r346 & r6 | r7 & r4, r10, r346, r165[r24], 5, -165796510);
|
|
const r364 = md5cmn(r355 & r7 | r346 & r339, r6, r355, r165[r248], 9, -1069501632);
|
|
const r374 = md5cmn(r364 & r346 | r355 & ~r346, r7, r364, r165[r299], 14, 643717713);
|
|
const r384 = md5cmn(r374 & r355 | r364 & ~r355, r346, r374, r165[r15], 20, -373897302);
|
|
const r394 = md5cmn(r384 & r364 | r374 & ~r364, r355, r384, r165[r22], 5, -701558691);
|
|
const r404 = md5cmn(r394 & r374 | r384 & ~r374, r364, r394, r165[r289], 9, 38016083);
|
|
const r414 = md5cmn(r404 & r384 | r394 & ~r384, r374, r404, r165[r337], 14, -660478335);
|
|
const r424 = md5cmn(r414 & r394 | r404 & ~r394, r384, r414, r165[r229], 20, -405537848);
|
|
const r434 = md5cmn(r424 & r404 | r414 & ~r404, r394, r424, r165[r279], 5, 568446438);
|
|
const r444 = md5cmn(r434 & r414 | r424 & ~r414, r404, r434, r165[r328], 9, -1019803690);
|
|
const r454 = md5cmn(r444 & r424 | r434 & ~r424, r414, r444, r165[r23], 14, -187363961);
|
|
const r464 = md5cmn(r454 & r434 | r444 & ~r434, r424, r454, r165[r268], 20, 1163531501);
|
|
const r474 = md5cmn(r464 & r444 | r454 & ~r444, r434, r464, r165[r318], 5, -1444681467);
|
|
const r484 = md5cmn(r474 & r454 | r464 & ~r454, r444, r474, r165[r18], 9, -51403784);
|
|
const r494 = md5cmn(r484 & r464 | r474 & ~r464, r454, r484, r165[r21], 14, 1735328473);
|
|
const r504 = md5cmn(r494 & r474 | r484 & ~r474, r464, r494, r165[r308], 20, -1926607734);
|
|
const r512 = md5cmn(r504 ^ r494 ^ r484, r474, r504, r165[r22], 4, -378558);
|
|
const r520 = md5cmn(r512 ^ r504 ^ r494, r484, r512, r165[r268], 11, -2022574463);
|
|
const r528 = md5cmn(r520 ^ r512 ^ r504, r494, r520, r165[r299], 16, 1839030562);
|
|
const r536 = md5cmn(r528 ^ r520 ^ r512, r504, r528, r165[r328], 23, -35309556);
|
|
const r544 = md5cmn(r536 ^ r528 ^ r520, r512, r536, r165[r24], 4, -1530992060);
|
|
const r552 = md5cmn(r544 ^ r536 ^ r528, r520, r544, r165[r229], 11, 1272893353);
|
|
const r560 = md5cmn(r552 ^ r544 ^ r536, r528, r552, r165[r21], 16, -155497632);
|
|
const r568 = md5cmn(r560 ^ r552 ^ r544, r536, r560, r165[r289], 23, -1094730640);
|
|
const r576 = md5cmn(r568 ^ r560 ^ r552, r544, r568, r165[r318], 4, 681279174);
|
|
const r584 = md5cmn(r576 ^ r568 ^ r560, r552, r576, r165[r15], 11, -358537222);
|
|
const r592 = md5cmn(r584 ^ r576 ^ r568, r560, r584, r165[r23], 16, -722521979);
|
|
const r600 = md5cmn(r592 ^ r584 ^ r576, r568, r592, r165[r248], 23, 76029189);
|
|
const r608 = md5cmn(r600 ^ r592 ^ r584, r576, r600, r165[r279], 4, -640364487);
|
|
const r616 = md5cmn(r608 ^ r600 ^ r592, r584, r608, r165[r308], 11, -421815835);
|
|
const r624 = md5cmn(r616 ^ r608 ^ r600, r592, r616, r165[r337], 16, 530742520);
|
|
const r632 = md5cmn(r624 ^ r616 ^ r608, r600, r624, r165[r18], 23, -995338651);
|
|
const r641 = md5cmn(r624 ^ (r632 | ~r616), r608, r632, r165[r15], 6, -198630844);
|
|
const r650 = md5cmn(r632 ^ (r641 | ~r624), r616, r641, r165[r21], 10, 1126891415);
|
|
const r659 = md5cmn(r641 ^ (r650 | ~r632), r624, r650, r165[r328], 15, -1416354905);
|
|
const r668 = md5cmn(r650 ^ (r659 | ~r641), r632, r659, r165[r22], 21, -57434055);
|
|
const r677 = md5cmn(r659 ^ (r668 | ~r650), r641, r668, r165[r308], 6, 1700485571);
|
|
const r686 = md5cmn(r668 ^ (r677 | ~r659), r650, r677, r165[r23], 10, -1894986606);
|
|
const r695 = md5cmn(r677 ^ (r686 | ~r668), r659, r686, r165[r289], 15, -1051523);
|
|
const r704 = md5cmn(r686 ^ (r695 | ~r677), r668, r695, r165[r24], 21, -2054922799);
|
|
const r713 = md5cmn(r695 ^ (r704 | ~r686), r677, r704, r165[r268], 6, 1873313359);
|
|
const r722 = md5cmn(r704 ^ (r713 | ~r695), r686, r713, r165[r337], 10, -30611744);
|
|
const r731 = md5cmn(r713 ^ (r722 | ~r704), r695, r722, r165[r248], 15, -1560198380);
|
|
const r740 = md5cmn(r722 ^ (r731 | ~r713), r704, r731, r165[r318], 21, 1309151649);
|
|
const r749 = md5cmn(r731 ^ (r740 | ~r722), r713, r740, r165[r229], 6, -145523070);
|
|
const r758 = md5cmn(r740 ^ (r749 | ~r731), r722, r749, r165[r299], 10, -1120210379);
|
|
const r767 = md5cmn(r749 ^ (r758 | ~r740), r731, r758, r165[r18], 15, 718787259);
|
|
const r776 = md5cmn(r758 ^ (r767 | ~r749), r740, r767, r165[r279], 21, -343485551);
|
|
const r779 = (65535 & r749) + (65535 & r33);
|
|
r33 = (r749 >> 16) + (r33 >> 16) + (r779 >> 16) << 16 | 65535 & r779;
|
|
const r789 = (65535 & r776) + (65535 & r27);
|
|
r27 = (r776 >> 16) + (r27 >> 16) + (r789 >> 16) << 16 | 65535 & r789;
|
|
const r799 = (65535 & r767) + (65535 & r29);
|
|
r29 = (r767 >> 16) + (r29 >> 16) + (r799 >> 16) << 16 | 65535 & r799;
|
|
const r809 = (65535 & r758) + (65535 & r30);
|
|
r30 = (r758 >> 16) + (r30 >> 16) + (r809 >> 16) << 16 | 65535 & r809;
|
|
r15 = r15 + 16;
|
|
length3 = r165.length;
|
|
r195 = r30;
|
|
r196 = r29;
|
|
r197 = r27;
|
|
r35 = r33;
|
|
} while (r15 < length3);
|
|
}
|
|
const r818 = [r35, r197, r196, r195];
|
|
const r819 = [];
|
|
const r821 = 32 * r818.length;
|
|
let r826 = 0;
|
|
while (r826 < r821) {
|
|
const r831 = r818[r826 >> 5] >>> r826 % 32 & 255;
|
|
r819.push(parseInt("0123456789abcdef".charAt(r831 >>> 4 & 15) + "0123456789abcdef".charAt(15 & r831), 16));
|
|
r826 = r826 + 8;
|
|
}
|
|
return r819;
|
|
};
|