{"ScriptPreparationCode":"function deepClone (obj) {\r\n const result = {}\r\n\r\n for (const key in obj) {\r\n const value = obj[key]\r\n\r\n if (value !== null \u0026\u0026 typeof value === \u0027object\u0027) {\r\n result[key] = deepClone(value)\r\n } else {\r\n result[key] = value\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\nfunction deepFreeze (obj) {\r\n for (const key in obj) {\r\n const value = obj[key]\r\n\r\n if (value !== null \u0026\u0026 typeof value === \u0027object\u0027) {\r\n if (Object.isFrozen(value) === false) {\r\n deepFreeze(value)\r\n }\r\n }\r\n }\r\n\r\n return Object.freeze(obj)\r\n}\r\n\r\nvar source = {\r\n foo: \u0027foo\u0027,\r\n bar: \u0027bar\u0027,\r\n baz: \u0027baz\u0027,\r\n qux: {\r\n foo: \u0027foo\u0027,\r\n bar: \u0027bar\u0027,\r\n baz: \u0027baz\u0027,\r\n qux: {\r\n foo: \u0027foo\u0027,\r\n bar: \u0027bar\u0027,\r\n baz: \u0027baz\u0027,\r\n qux: {\r\n foo: \u0027foo\u0027,\r\n bar: \u0027bar\u0027,\r\n baz: \u0027baz\u0027,\r\n qux: \u0027qux\u0027\r\n }\r\n }\r\n }\r\n}","TestCases":[{"Name":"deepFreeze","Code":"deepFreeze(source)","IsDeferred":false},{"Name":"deepClone","Code":"deepClone(source)","IsDeferred":false}]}