{"ScriptPreparationCode":null,"TestCases":[{"Name":"crc32","Code":"function crc32(s) {\r\n for (var t = [], i = 0; i \u003C 256; i\u002B\u002B) {\r\n for (var c = i, j = 0; j \u003C 8; j\u002B\u002B) {\r\n c = c \u0026 1 ? 0xEDB88320 ^ c \u003E\u003E\u003E 1 : c \u003E\u003E\u003E 1;\r\n }\r\n t[i] = c;\r\n }\r\n for (i = -1, c = -1; \u002B\u002Bi \u003C s.length;) {\r\n c = c \u003E\u003E\u003E 8 ^ t[c \u0026 255 ^ s.charCodeAt(i)];\r\n }\r\n return ((c ^ -1) \u003E\u003E\u003E 0).toString(16).toUpperCase();\r\n}\r\ncrc32(Date.now())","IsDeferred":false},{"Name":"adler32","Code":"function adler32(string) {\r\n const MOD_ADLER = 65521;\r\n\r\n let a = 1, b = 0;\r\n for (let i = 0; i \u003C string.length; i\u002B\u002B) {\r\n a = (a \u002B string.charCodeAt(i)) % MOD_ADLER;\r\n b = (b \u002B a) % MOD_ADLER;\r\n }\r\n\r\n return (b \u003C\u003C 16 | a).toString(16);\r\n}\r\nadler32(Date.now())","IsDeferred":false},{"Name":"fletcher32","Code":"function fletcher32(data) {\r\n for (let i = sum1 = sum2 = 0; i \u003C data.length; i\u002B\u002B) {\r\n sum1 = (sum1 \u002B data.charCodeAt(i)) % 65535;\r\n sum2 = (sum2 \u002B sum1) % 65535;\r\n }\r\n return (sum2 \u003C\u003C 16 | sum1).toString(16);\r\n}\r\nfletcher32(Date.now())","IsDeferred":false}]}