{"ScriptPreparationCode":"var str = \u0027[[\u0022backgroundColor\u0022,\u0022rgba(0, 0, 0, 0.003)\u0022],[\u0022border\u0022,\u0022none\u0022],[\u0022boxShadow\u0022,\u0022inset 0 -2px 1px rgba(0, 0, 0, 0.03)\u0022],[\u0022boxSizing\u0022,\u0022border-box\u0022],[\u0022color\u0022,\u0022inherit\u0022],[\u0022fontFamily\u0022,\u0022inherit\u0022],[\u0022fontSize\u0022,\u002224px\u0022],[\u0022fontWeight\u0022,\u0022inherit\u0022],[\u0022height\u0022,\u002265px\u0022],[\u0022lineHeight\u0022,\u00221.4em\u0022],[\u0022margin\u0022,\u00220\u0022],[\u0022outline\u0022,\u0022none\u0022],[\u0022padding\u0022,\u002216px 16px 16px 60px\u0022],[\u0022placeholder\u0022,{\u0022fontStyle\u0022:\u0022italic\u0022,\u0022fontWeight\u0022:300,\u0022color\u0022:\u0022#e6e6e6\u0022}],[\u0022position\u0022,\u0022relative\u0022],[\u0022width\u0022,\u0022100%\u0022]]\u0027;\r\nfunction MurmurHash1(key, seed = 0) {\r\n var m = 3332679571, h = Math.imul(key.length, m) ^ seed;\r\n\r\n for(var i = 0, b = key.length \u0026 -4; i \u003C b; i \u002B= 4) {\r\n h \u002B= key[i\u002B3] \u003C\u003C 24 | key[i\u002B2] \u003C\u003C 16 | key[i\u002B1] \u003C\u003C 8 | key[i];\r\n h = Math.imul(h, m); h ^= h \u003E\u003E\u003E 16;\r\n }\r\n \r\n switch(key.length \u0026 3) {\r\n case 3: h \u002B= key[i\u002B2] \u003C\u003C 16;\r\n case 2: h \u002B= key[i\u002B1] \u003C\u003C 8;\r\n case 1: h \u002B= key[i];\r\n h = Math.imul(h, m); h ^= h \u003E\u003E\u003E 16;\r\n }\r\n\r\n h = Math.imul(h, m); h ^= h \u003E\u003E\u003E 10;\r\n h = Math.imul(h, m); h ^= h \u003E\u003E\u003E 17;\r\n\r\n return h \u003E\u003E\u003E 0;\r\n};\r\nfunction Cyrb53(key, seed = 0) {\r\n const A = 2654435761;\r\n const B = 1597334677;\r\n const C = 2246822507;\r\n const D = 3266489909;\r\n const E = 4294967296;\r\n const F = 2097151;\r\n\r\n let h1 = 0xdeadbeef ^ seed;\r\n let h2 = 0x41c6ce57 ^ seed;\r\n\r\n for (let index = 0, char; index \u003C key.length; index\u002B\u002B) {\r\n char = key.charCodeAt(index);\r\n\r\n h1 = Math.imul(h1 ^ char, A);\r\n h2 = Math.imul(h2 ^ char, B);\r\n }\r\n\r\n h1 = Math.imul(h1 ^ (h1 \u003E\u003E\u003E 16), C) ^ Math.imul(h2 ^ (h2 \u003E\u003E\u003E 13), D);\r\n h2 = Math.imul(h2 ^ (h2 \u003E\u003E\u003E 16), C) ^ Math.imul(h1 ^ (h1 \u003E\u003E\u003E 13), D);\r\n\r\n return E * (F \u0026 h2) \u002B (h1 \u003E\u003E\u003E 0);\r\n};\r\nfunction SuperFastHash(key) {\r\n if (!key) {return 0}\r\n var hash = key.length, tmp, len = key.length \u003E\u003E\u003E 2, p = 0;\r\n\r\n for (var i = 0; i \u003C len; i\u002B\u002B) {\r\n hash \u002B= key[p] | key[p\u002B1] \u003C\u003C 8;\r\n tmp = ((key[p\u002B2] | key[p\u002B3] \u003C\u003C 8) \u003C\u003C 11) ^ hash;\r\n hash = (hash \u003C\u003C 16) ^ tmp;\r\n hash \u002B= hash \u003E\u003E\u003E 11;\r\n p \u002B= 4;\r\n }\r\n\r\n switch(key.length \u0026 3) {\r\n case 3:\r\n hash \u002B= key[p] | key[p\u002B1] \u003C\u003C 8;\r\n hash ^= hash \u003C\u003C 16;\r\n hash ^= key[p\u002B2] \u003C\u003C 18;\r\n hash \u002B= hash \u003E\u003E\u003E 11;\r\n break;\r\n case 2:\r\n hash \u002B= key[p] | key[p\u002B1] \u003C\u003C 8;\r\n hash ^= hash \u003C\u003C 11;\r\n hash \u002B= hash \u003E\u003E\u003E 17;\r\n break;\r\n case 1:\r\n hash \u002B= key[p];\r\n hash ^= hash \u003C\u003C 10;\r\n hash \u002B= hash \u003E\u003E\u003E 1;\r\n break;\r\n }\r\n\r\n hash ^= hash \u003C\u003C 3;\r\n hash \u002B= hash \u003E\u003E\u003E 5;\r\n hash ^= hash \u003C\u003C 4;\r\n hash \u002B= hash \u003E\u003E\u003E 17;\r\n hash ^= hash \u003C\u003C 25;\r\n hash \u002B= hash \u003E\u003E\u003E 6;\r\n\r\n return hash \u003E\u003E\u003E 0;\r\n};","TestCases":[{"Name":"MurmurHash1","Code":"MurmurHash1(str);","IsDeferred":false},{"Name":"Cyrb53","Code":"Cyrb53(str);","IsDeferred":false},{"Name":"SuperFastHash","Code":"SuperFastHash(str);","IsDeferred":false}]}