{"ScriptPreparationCode":"var cloneMultiple = function (elem, times, deep) {\r\n let fragment = document.createDocumentFragment();\r\n fragment.appendChild(elem.cloneNode(deep));\r\n if (times \u003C= 1) {\r\n return fragment;\r\n }\r\n\r\n let i = 1,\r\n rest = [];\r\n\r\n while((times % 2 === 0 || !!(rest[i] = 1 \u0026\u0026 --times)) \u0026\u0026 (times /= 2) \u0026\u0026 times \u003E3 ) {\r\n i \u002B= 1; \r\n }\r\n\r\n while ( times \u003E 1 ) {\r\n fragment.appendChild(elem.cloneNode(deep));\r\n --times;\r\n }\r\n\r\n for ( ; i; --i ) {\r\n fragment.appendChild(fragment.cloneNode(true)); \r\n rest[i] \u0026\u0026 fragment.appendChild(elem.cloneNode(deep));\r\n }\r\n \r\n return fragment;\r\n}","TestCases":[{"Name":"cloneMultiple","Code":"var li = document.createElement(\u0027li\u0027),\r\n container = document.getElementById(\u0027container\u0027);\r\ncontainer.appendChild(cloneMultiple(li, 10, true));","IsDeferred":false},{"Name":"cloneNode","Code":"var li = document.createElement(\u0027li\u0027),\r\n container = document.getElementById(\u0027container\u0027);\r\nfor (t = 0; t \u003C 10; t\u002B\u002B) {\r\n var cloneLi = li.cloneNode();\r\n container.appendChild(cloneLi);\r\n} ","IsDeferred":false}]}