{"ScriptPreparationCode":"var context1 = {\r\n title1: \u0027fish1\u0027,\r\n title2: \u0027fish2\u0027,\r\n title3: \u0027fish3\u0027,\r\n title4: \u0027fish4\u0027,\r\n title5: \u0027fish5\u0027,\r\n}\r\n\r\nfunction murmur2(str) {\r\n // \u0027m\u0027 and \u0027r\u0027 are mixing constants generated offline.\r\n // They\u0027re not really \u0027magic\u0027, they just happen to work well.\r\n // const m = 0x5bd1e995;\r\n // const r = 24;\r\n // Initialize the hash\r\n var h = 0; // Mix 4 bytes at a time into the hash\r\n\r\n var k,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; len \u003E= 4; \u002B\u002Bi, len -= 4) {\r\n k = str.charCodeAt(i) \u0026 0xff | (str.charCodeAt(\u002B\u002Bi) \u0026 0xff) \u003C\u003C 8 | (str.charCodeAt(\u002B\u002Bi) \u0026 0xff) \u003C\u003C 16 | (str.charCodeAt(\u002B\u002Bi) \u0026 0xff) \u003C\u003C 24;\r\n k =\r\n /* Math.imul(k, m): */\r\n (k \u0026 0xffff) * 0x5bd1e995 \u002B ((k \u003E\u003E\u003E 16) * 0xe995 \u003C\u003C 16);\r\n k ^=\r\n /* k \u003E\u003E\u003E r: */\r\n k \u003E\u003E\u003E 24;\r\n h =\r\n /* Math.imul(k, m): */\r\n (k \u0026 0xffff) * 0x5bd1e995 \u002B ((k \u003E\u003E\u003E 16) * 0xe995 \u003C\u003C 16) ^\r\n /* Math.imul(h, m): */\r\n (h \u0026 0xffff) * 0x5bd1e995 \u002B ((h \u003E\u003E\u003E 16) * 0xe995 \u003C\u003C 16);\r\n } // Handle the last few bytes of the input array\r\n\r\n\r\n switch (len) {\r\n case 3:\r\n h ^= (str.charCodeAt(i \u002B 2) \u0026 0xff) \u003C\u003C 16;\r\n\r\n case 2:\r\n h ^= (str.charCodeAt(i \u002B 1) \u0026 0xff) \u003C\u003C 8;\r\n\r\n case 1:\r\n h ^= str.charCodeAt(i) \u0026 0xff;\r\n h =\r\n /* Math.imul(h, m): */\r\n (h \u0026 0xffff) * 0x5bd1e995 \u002B ((h \u003E\u003E\u003E 16) * 0xe995 \u003C\u003C 16);\r\n } // Do a few final mixes of the hash to ensure the last few\r\n // bytes are well-incorporated.\r\n\r\n\r\n h ^= h \u003E\u003E\u003E 13;\r\n h =\r\n /* Math.imul(h, m): */\r\n (h \u0026 0xffff) * 0x5bd1e995 \u002B ((h \u003E\u003E\u003E 16) * 0xe995 \u003C\u003C 16);\r\n return ((h ^ h \u003E\u003E\u003E 15) \u003E\u003E\u003E 0).toString(36);\r\n}\r\n","TestCases":[{"Name":"Object-hash ","Code":"objectHash(context1,{algorithm:\u0027sha1\u0027,encoding:\u0027hex\u0027})","IsDeferred":false},{"Name":"murmur2-JSON.stringify","Code":"murmur2( JSON.stringify(context1));","IsDeferred":false}]}