((typeof self !== 'undefined' ? self : this)["webpackJsonp"] = (typeof self !== 'undefined' ? self : this)["webpackJsonp"] || []).push([["npm.import-html-entry"],{
/***/ "./node_modules/import-html-entry/esm/index.js":
/*!*****************************************************!*\
!*** ./node_modules/import-html-entry/esm/index.js ***!
\*****************************************************/
/*! exports provided: getExternalStyleSheets, getExternalScripts, execScripts, default, importEntry */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getExternalStyleSheets\", function() { return _getExternalStyleSheets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getExternalScripts\", function() { return _getExternalScripts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"execScripts\", function() { return _execScripts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return importHTML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"importEntry\", function() { return importEntry; });\n/* harmony import */ var _process_tpl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./process-tpl */ \"./node_modules/import-html-entry/esm/process-tpl.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/import-html-entry/esm/utils.js\");\n/**\n * @author Kuitos\n * @homepage https://github.com/kuitos/\n * @since 2018-08-15 11:37\n */\n\n\nvar styleCache = {};\nvar scriptCache = {};\nvar embedHTMLCache = {};\n\nif (!window.fetch) {\n throw new Error('[import-html-entry] Here is no \"fetch\" on the window env, you need to polyfill it');\n}\n\nvar defaultFetch = window.fetch.bind(window);\n\nfunction defaultGetTemplate(tpl) {\n return tpl;\n}\n/**\n * convert external css link to inline style for performance optimization\n * @param template\n * @param styles\n * @param opts\n * @return embedHTML\n */\n\n\nfunction getEmbedHTML(template, styles) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _opts$fetch = opts.fetch,\n fetch = _opts$fetch === void 0 ? defaultFetch : _opts$fetch;\n var embedHTML = template;\n return _getExternalStyleSheets(styles, fetch).then(function (styleSheets) {\n embedHTML = styles.reduce(function (html, styleSrc, i) {\n html = html.replace(Object(_process_tpl__WEBPACK_IMPORTED_MODULE_0__[\"genLinkReplaceSymbol\"])(styleSrc), \"\"));\n return html;\n }, embedHTML);\n return embedHTML;\n });\n}\n\nvar isInlineCode = function isInlineCode(code) {\n return code.startsWith('<');\n};\n\nfunction getExecutableScript(scriptSrc, scriptText, proxy, strictGlobal) {\n var sourceUrl = isInlineCode(scriptSrc) ? '' : \"//# sourceURL=\".concat(scriptSrc, \"\\n\"); // 通过这种方式获取全局 window,因为 script 也是在全局作用域下运行的,所以我们通过 window.proxy 绑定时也必须确保绑定到全局 window 上\n // 否则在嵌套场景下, window.proxy 设置的是内层应用的 window,而代码其实是在全局作用域运行的,会导致闭包里的 window.proxy 取的是最外层的微应用的 proxy\n\n var globalWindow = (0, eval)('window');\n globalWindow.proxy = proxy; // TODO 通过 strictGlobal 方式切换切换 with 闭包,待 with 方式坑趟平后再合并\n\n return strictGlobal ? \";(function(window, self, globalThis){with(window){;\".concat(scriptText, \"\\n\").concat(sourceUrl, \"}}).bind(window.proxy)(window.proxy, window.proxy, window.proxy);\") : \";(function(window, self, globalThis){;\".concat(scriptText, \"\\n\").concat(sourceUrl, \"}).bind(window.proxy)(window.proxy, window.proxy, window.proxy);\");\n} // for prefetch\n\n\nfunction _getExternalStyleSheets(styles) {\n var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFetch;\n return Promise.all(styles.map(function (styleLink) {\n if (isInlineCode(styleLink)) {\n // if it is inline style\n return Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getInlineCode\"])(styleLink);\n } else {\n // external styles\n return styleCache[styleLink] || (styleCache[styleLink] = fetch(styleLink).then(function (response) {\n return response.text();\n }));\n }\n }));\n} // for prefetch\n\n\n\n\nfunction _getExternalScripts(scripts) {\n var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFetch;\n var errorCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n\n var fetchScript = function fetchScript(scriptUrl) {\n return scriptCache[scriptUrl] || (scriptCache[scriptUrl] = fetch(scriptUrl).then(function (response) {\n // usually browser treats 4xx and 5xx response of script loading as an error and will fire a script error event\n // https://stackoverflow.com/questions/5625420/what-http-headers-responses-trigger-the-onerror-handler-on-a-script-tag/5625603\n if (response.status >= 400) {\n errorCallback();\n throw new Error(\"\".concat(scriptUrl, \" load failed with status \").concat(response.status));\n }\n\n return response.text();\n }));\n };\n\n return Promise.all(scripts.map(function (script) {\n if (typeof script === 'string') {\n if (isInlineCode(script)) {\n // if it is inline script\n return Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getInlineCode\"])(script);\n } else {\n // external script\n return fetchScript(script);\n }\n } else {\n // use idle time to load async script\n var src = script.src,\n async = script.async;\n\n if (async) {\n return {\n src: src,\n async: true,\n content: new Promise(function (resolve, reject) {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"requestIdleCallback\"])(function () {\n return fetchScript(src).then(resolve, reject);\n });\n })\n };\n }\n\n return fetchScript(src);\n }\n }));\n}\n\n\n\nfunction throwNonBlockingError(error, msg) {\n setTimeout(function () {\n console.error(msg);\n throw error;\n });\n}\n\nvar supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function';\n/**\n * FIXME to consistent with browser behavior, we should only provide callback way to invoke success and error event\n * @param entry\n * @param scripts\n * @param proxy\n * @param opts\n * @returns {Promise}\n */\n\nfunction _execScripts(entry, scripts) {\n var proxy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window;\n var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _opts$fetch2 = opts.fetch,\n fetch = _opts$fetch2 === void 0 ? defaultFetch : _opts$fetch2,\n _opts$strictGlobal = opts.strictGlobal,\n strictGlobal = _opts$strictGlobal === void 0 ? false : _opts$strictGlobal,\n success = opts.success,\n _opts$error = opts.error,\n error = _opts$error === void 0 ? function () {} : _opts$error,\n _opts$beforeExec = opts.beforeExec,\n beforeExec = _opts$beforeExec === void 0 ? function () {} : _opts$beforeExec,\n _opts$afterExec = opts.afterExec,\n afterExec = _opts$afterExec === void 0 ? function () {} : _opts$afterExec;\n return _getExternalScripts(scripts, fetch, error).then(function (scriptsText) {\n var geval = function geval(scriptSrc, inlineScript) {\n var rawCode = beforeExec(inlineScript, scriptSrc) || inlineScript;\n var code = getExecutableScript(scriptSrc, rawCode, proxy, strictGlobal);\n (0, eval)(code);\n afterExec(inlineScript, scriptSrc);\n };\n\n function exec(scriptSrc, inlineScript, resolve) {\n var markName = \"Evaluating script \".concat(scriptSrc);\n var measureName = \"Evaluating Time Consuming: \".concat(scriptSrc);\n\n if (false) {}\n\n if (scriptSrc === entry) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"noteGlobalProps\"])(strictGlobal ? proxy : window);\n\n try {\n // bind window.proxy to change `this` reference in script\n geval(scriptSrc, inlineScript);\n var exports = proxy[Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getGlobalProp\"])(strictGlobal ? proxy : window)] || {};\n resolve(exports);\n } catch (e) {\n // entry error must be thrown to make the promise settled\n console.error(\"[import-html-entry]: error occurs while executing entry script \".concat(scriptSrc));\n throw e;\n }\n } else {\n if (typeof inlineScript === 'string') {\n try {\n // bind window.proxy to change `this` reference in script\n geval(scriptSrc, inlineScript);\n } catch (e) {\n // consistent with browser behavior, any independent script evaluation error should not block the others\n throwNonBlockingError(e, \"[import-html-entry]: error occurs while executing normal script \".concat(scriptSrc));\n }\n } else {\n // external script marked with async\n inlineScript.async && (inlineScript === null || inlineScript === void 0 ? void 0 : inlineScript.content.then(function (downloadedScriptText) {\n return geval(inlineScript.src, downloadedScriptText);\n })[\"catch\"](function (e) {\n throwNonBlockingError(e, \"[import-html-entry]: error occurs while executing async script \".concat(inlineScript.src));\n }));\n }\n }\n\n if (false) {}\n }\n\n function schedule(i, resolvePromise) {\n if (i < scripts.length) {\n var scriptSrc = scripts[i];\n var inlineScript = scriptsText[i];\n exec(scriptSrc, inlineScript, resolvePromise); // resolve the promise while the last script executed and entry not provided\n\n if (!entry && i === scripts.length - 1) {\n resolvePromise();\n } else {\n schedule(i + 1, resolvePromise);\n }\n }\n }\n\n return new Promise(function (resolve) {\n return schedule(0, success || resolve);\n });\n });\n}\n\n\nfunction importHTML(url) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var fetch = defaultFetch;\n var autoDecodeResponse = false;\n var getPublicPath = _utils__WEBPACK_IMPORTED_MODULE_1__[\"defaultGetPublicPath\"];\n var getTemplate = defaultGetTemplate; // compatible with the legacy importHTML api\n\n if (typeof opts === 'function') {\n fetch = opts;\n } else {\n // fetch option is availble\n if (opts.fetch) {\n // fetch is a funciton\n if (typeof opts.fetch === 'function') {\n fetch = opts.fetch;\n } else {\n // configuration\n fetch = opts.fetch.fn || defaultFetch;\n autoDecodeResponse = !!opts.fetch.autoDecodeResponse;\n }\n }\n\n getPublicPath = opts.getPublicPath || opts.getDomain || _utils__WEBPACK_IMPORTED_MODULE_1__[\"defaultGetPublicPath\"];\n getTemplate = opts.getTemplate || defaultGetTemplate;\n }\n\n return embedHTMLCache[url] || (embedHTMLCache[url] = fetch(url).then(function (response) {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readResAsString\"])(response, autoDecodeResponse);\n }).then(function (html) {\n var assetPublicPath = getPublicPath(url);\n\n var _processTpl = Object(_process_tpl__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(getTemplate(html), assetPublicPath),\n template = _processTpl.template,\n scripts = _processTpl.scripts,\n entry = _processTpl.entry,\n styles = _processTpl.styles;\n\n return getEmbedHTML(template, styles, {\n fetch: fetch\n }).then(function (embedHTML) {\n return {\n template: embedHTML,\n assetPublicPath: assetPublicPath,\n getExternalScripts: function getExternalScripts() {\n return _getExternalScripts(scripts, fetch);\n },\n getExternalStyleSheets: function getExternalStyleSheets() {\n return _getExternalStyleSheets(styles, fetch);\n },\n execScripts: function execScripts(proxy, strictGlobal) {\n var execScriptsHooks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!scripts.length) {\n return Promise.resolve();\n }\n\n return _execScripts(entry, scripts, proxy, {\n fetch: fetch,\n strictGlobal: strictGlobal,\n beforeExec: execScriptsHooks.beforeExec,\n afterExec: execScriptsHooks.afterExec\n });\n }\n };\n });\n }));\n}\nfunction importEntry(entry) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _opts$fetch3 = opts.fetch,\n fetch = _opts$fetch3 === void 0 ? defaultFetch : _opts$fetch3,\n _opts$getTemplate = opts.getTemplate,\n getTemplate = _opts$getTemplate === void 0 ? defaultGetTemplate : _opts$getTemplate;\n var getPublicPath = opts.getPublicPath || opts.getDomain || _utils__WEBPACK_IMPORTED_MODULE_1__[\"defaultGetPublicPath\"];\n\n if (!entry) {\n throw new SyntaxError('entry should not be empty!');\n } // html entry\n\n\n if (typeof entry === 'string') {\n return importHTML(entry, {\n fetch: fetch,\n getPublicPath: getPublicPath,\n getTemplate: getTemplate\n });\n } // config entry\n\n\n if (Array.isArray(entry.scripts) || Array.isArray(entry.styles)) {\n var _entry$scripts = entry.scripts,\n scripts = _entry$scripts === void 0 ? [] : _entry$scripts,\n _entry$styles = entry.styles,\n styles = _entry$styles === void 0 ? [] : _entry$styles,\n _entry$html = entry.html,\n html = _entry$html === void 0 ? '' : _entry$html;\n\n var setStylePlaceholder2HTML = function setStylePlaceholder2HTML(tpl) {\n return styles.reduceRight(function (html, styleSrc) {\n return \"\".concat(Object(_process_tpl__WEBPACK_IMPORTED_MODULE_0__[\"genLinkReplaceSymbol\"])(styleSrc)).concat(html);\n }, tpl);\n };\n\n var setScriptPlaceholder2HTML = function setScriptPlaceholder2HTML(tpl) {\n return scripts.reduce(function (html, scriptSrc) {\n return \"\".concat(html).concat(Object(_process_tpl__WEBPACK_IMPORTED_MODULE_0__[\"genScriptReplaceSymbol\"])(scriptSrc));\n }, tpl);\n };\n\n return getEmbedHTML(getTemplate(setScriptPlaceholder2HTML(setStylePlaceholder2HTML(html))), styles, {\n fetch: fetch\n }).then(function (embedHTML) {\n return {\n template: embedHTML,\n assetPublicPath: getPublicPath(entry),\n getExternalScripts: function getExternalScripts() {\n return _getExternalScripts(scripts, fetch);\n },\n getExternalStyleSheets: function getExternalStyleSheets() {\n return _getExternalStyleSheets(styles, fetch);\n },\n execScripts: function execScripts(proxy, strictGlobal) {\n var execScriptsHooks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!scripts.length) {\n return Promise.resolve();\n }\n\n return _execScripts(scripts[scripts.length - 1], scripts, proxy, {\n fetch: fetch,\n strictGlobal: strictGlobal,\n beforeExec: execScriptsHooks.beforeExec,\n afterExec: execScriptsHooks.afterExec\n });\n }\n };\n });\n } else {\n throw new SyntaxError('entry scripts or styles should be array!');\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaW1wb3J0LWh0bWwtZW50cnkvZXNtL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ltcG9ydC1odG1sLWVudHJ5L2VzbS9pbmRleC5qcz81MGIyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGF1dGhvciBLdWl0b3NcbiAqIEBob21lcGFnZSBodHRwczovL2dpdGh1Yi5jb20va3VpdG9zL1xuICogQHNpbmNlIDIwMTgtMDgtMTUgMTE6MzdcbiAqL1xuaW1wb3J0IHByb2Nlc3NUcGwsIHsgZ2VuTGlua1JlcGxhY2VTeW1ib2wsIGdlblNjcmlwdFJlcGxhY2VTeW1ib2wgfSBmcm9tICcuL3Byb2Nlc3MtdHBsJztcbmltcG9ydCB7IGRlZmF1bHRHZXRQdWJsaWNQYXRoLCBnZXRHbG9iYWxQcm9wLCBnZXRJbmxpbmVDb2RlLCBub3RlR2xvYmFsUHJvcHMsIHJlYWRSZXNBc1N0cmluZywgcmVxdWVzdElkbGVDYWxsYmFjayB9IGZyb20gJy4vdXRpbHMnO1xudmFyIHN0eWxlQ2FjaGUgPSB7fTtcbnZhciBzY3JpcHRDYWNoZSA9IHt9O1xudmFyIGVtYmVkSFRNTENhY2hlID0ge307XG5cbmlmICghd2luZG93LmZldGNoKSB7XG4gIHRocm93IG5ldyBFcnJvcignW2ltcG9ydC1odG1sLWVudHJ5XSBIZXJlIGlzIG5vIFwiZmV0Y2hcIiBvbiB0aGUgd2luZG93IGVudiwgeW91IG5lZWQgdG8gcG9seWZpbGwgaXQnKTtcbn1cblxudmFyIGRlZmF1bHRGZXRjaCA9IHdpbmRvdy5mZXRjaC5iaW5kKHdpbmRvdyk7XG5cbmZ1bmN0aW9uIGRlZmF1bHRHZXRUZW1wbGF0ZSh0cGwpIHtcbiAgcmV0dXJuIHRwbDtcbn1cbi8qKlxuICogY29udmVydCBleHRlcm5hbCBjc3MgbGluayB0byBpbmxpbmUgc3R5bGUgZm9yIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvblxuICogQHBhcmFtIHRlbXBsYXRlXG4gKiBAcGFyYW0gc3R5bGVzXG4gKiBAcGFyYW0gb3B0c1xuICogQHJldHVybiBlbWJlZEhUTUxcbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEVtYmVkSFRNTCh0ZW1wbGF0ZSwgc3R5bGVzKSB7XG4gIHZhciBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgdmFyIF9vcHRzJGZldGNoID0gb3B0cy5mZXRjaCxcbiAgICAgIGZldGNoID0gX29wdHMkZmV0Y2ggPT09IHZvaWQgMCA/IGRlZmF1bHRGZXRjaCA6IF9vcHRzJGZldGNoO1xuICB2YXIgZW1iZWRIVE1MID0gdGVtcGxhdGU7XG4gIHJldHVybiBfZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0cyhzdHlsZXMsIGZldGNoKS50aGVuKGZ1bmN0aW9uIChzdHlsZVNoZWV0cykge1xuICAgIGVtYmVkSFRNTCA9IHN0eWxlcy5yZWR1Y2UoZnVuY3Rpb24gKGh0bWwsIHN0eWxlU3JjLCBpKSB7XG4gICAgICBodG1sID0gaHRtbC5yZXBsYWNlKGdlbkxpbmtSZXBsYWNlU3ltYm9sKHN0eWxlU3JjKSwgXCI8c3R5bGU+LyogXCIuY29uY2F0KHN0eWxlU3JjLCBcIiAqL1wiKS5jb25jYXQoc3R5bGVTaGVldHNbaV0sIFwiPC9zdHlsZT5cIikpO1xuICAgICAgcmV0dXJuIGh0bWw7XG4gICAgfSwgZW1iZWRIVE1MKTtcbiAgICByZXR1cm4gZW1iZWRIVE1MO1xuICB9KTtcbn1cblxudmFyIGlzSW5saW5lQ29kZSA9IGZ1bmN0aW9uIGlzSW5saW5lQ29kZShjb2RlKSB7XG4gIHJldHVybiBjb2RlLnN0YXJ0c1dpdGgoJzwnKTtcbn07XG5cbmZ1bmN0aW9uIGdldEV4ZWN1dGFibGVTY3JpcHQoc2NyaXB0U3JjLCBzY3JpcHRUZXh0LCBwcm94eSwgc3RyaWN0R2xvYmFsKSB7XG4gIHZhciBzb3VyY2VVcmwgPSBpc0lubGluZUNvZGUoc2NyaXB0U3JjKSA/ICcnIDogXCIvLyMgc291cmNlVVJMPVwiLmNvbmNhdChzY3JpcHRTcmMsIFwiXFxuXCIpOyAvLyDpgJrov4fov5nnp43mlrnlvI/ojrflj5blhajlsYAgd2luZG9377yM5Zug5Li6IHNjcmlwdCDkuZ/mmK/lnKjlhajlsYDkvZznlKjln5/kuIvov5DooYznmoTvvIzmiYDku6XmiJHku6zpgJrov4cgd2luZG93LnByb3h5IOe7keWumuaXtuS5n+W/hemhu+ehruS/nee7keWumuWIsOWFqOWxgCB3aW5kb3cg5LiKXG4gIC8vIOWQpuWImeWcqOW1jOWll+WcuuaZr+S4i++8jCB3aW5kb3cucHJveHkg6K6+572u55qE5piv5YaF5bGC5bqU55So55qEIHdpbmRvd++8jOiAjOS7o+eggeWFtuWunuaYr+WcqOWFqOWxgOS9nOeUqOWfn+i/kOihjOeahO+8jOS8muWvvOiHtOmXreWMhemHjOeahCB3aW5kb3cucHJveHkg5Y+W55qE5piv5pyA5aSW5bGC55qE5b6u5bqU55So55qEIHByb3h5XG5cbiAgdmFyIGdsb2JhbFdpbmRvdyA9ICgwLCBldmFsKSgnd2luZG93Jyk7XG4gIGdsb2JhbFdpbmRvdy5wcm94eSA9IHByb3h5OyAvLyBUT0RPIOmAmui/hyBzdHJpY3RHbG9iYWwg5pa55byP5YiH5o2i5YiH5o2iIHdpdGgg6Zet5YyF77yM5b6FIHdpdGgg5pa55byP5Z2R6Laf5bmz5ZCO5YaN5ZCI5bm2XG5cbiAgcmV0dXJuIHN0cmljdEdsb2JhbCA/IFwiOyhmdW5jdGlvbih3aW5kb3csIHNlbGYsIGdsb2JhbFRoaXMpe3dpdGgod2luZG93KXs7XCIuY29uY2F0KHNjcmlwdFRleHQsIFwiXFxuXCIpLmNvbmNhdChzb3VyY2VVcmwsIFwifX0pLmJpbmQod2luZG93LnByb3h5KSh3aW5kb3cucHJveHksIHdpbmRvdy5wcm94eSwgd2luZG93LnByb3h5KTtcIikgOiBcIjsoZnVuY3Rpb24od2luZG93LCBzZWxmLCBnbG9iYWxUaGlzKXs7XCIuY29uY2F0KHNjcmlwdFRleHQsIFwiXFxuXCIpLmNvbmNhdChzb3VyY2VVcmwsIFwifSkuYmluZCh3aW5kb3cucHJveHkpKHdpbmRvdy5wcm94eSwgd2luZG93LnByb3h5LCB3aW5kb3cucHJveHkpO1wiKTtcbn0gLy8gZm9yIHByZWZldGNoXG5cblxuZnVuY3Rpb24gX2dldEV4dGVybmFsU3R5bGVTaGVldHMoc3R5bGVzKSB7XG4gIHZhciBmZXRjaCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZGVmYXVsdEZldGNoO1xuICByZXR1cm4gUHJvbWlzZS5hbGwoc3R5bGVzLm1hcChmdW5jdGlvbiAoc3R5bGVMaW5rKSB7XG4gICAgaWYgKGlzSW5saW5lQ29kZShzdHlsZUxpbmspKSB7XG4gICAgICAvLyBpZiBpdCBpcyBpbmxpbmUgc3R5bGVcbiAgICAgIHJldHVybiBnZXRJbmxpbmVDb2RlKHN0eWxlTGluayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGV4dGVybmFsIHN0eWxlc1xuICAgICAgcmV0dXJuIHN0eWxlQ2FjaGVbc3R5bGVMaW5rXSB8fCAoc3R5bGVDYWNoZVtzdHlsZUxpbmtdID0gZmV0Y2goc3R5bGVMaW5rKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgfSkpO1xufSAvLyBmb3IgcHJlZmV0Y2hcblxuXG5leHBvcnQgeyBfZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0cyBhcyBnZXRFeHRlcm5hbFN0eWxlU2hlZXRzIH07XG5cbmZ1bmN0aW9uIF9nZXRFeHRlcm5hbFNjcmlwdHMoc2NyaXB0cykge1xuICB2YXIgZmV0Y2ggPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRlZmF1bHRGZXRjaDtcbiAgdmFyIGVycm9yQ2FsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZ1bmN0aW9uICgpIHt9O1xuXG4gIHZhciBmZXRjaFNjcmlwdCA9IGZ1bmN0aW9uIGZldGNoU2NyaXB0KHNjcmlwdFVybCkge1xuICAgIHJldHVybiBzY3JpcHRDYWNoZVtzY3JpcHRVcmxdIHx8IChzY3JpcHRDYWNoZVtzY3JpcHRVcmxdID0gZmV0Y2goc2NyaXB0VXJsKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgLy8gdXN1YWxseSBicm93c2VyIHRyZWF0cyA0eHggYW5kIDV4eCByZXNwb25zZSBvZiBzY3JpcHQgbG9hZGluZyBhcyBhbiBlcnJvciBhbmQgd2lsbCBmaXJlIGEgc2NyaXB0IGVycm9yIGV2ZW50XG4gICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjI1NDIwL3doYXQtaHR0cC1oZWFkZXJzLXJlc3BvbnNlcy10cmlnZ2VyLXRoZS1vbmVycm9yLWhhbmRsZXItb24tYS1zY3JpcHQtdGFnLzU2MjU2MDNcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gNDAwKSB7XG4gICAgICAgIGVycm9yQ2FsbGJhY2soKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiXCIuY29uY2F0KHNjcmlwdFVybCwgXCIgbG9hZCBmYWlsZWQgd2l0aCBzdGF0dXMgXCIpLmNvbmNhdChyZXNwb25zZS5zdGF0dXMpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTtcbiAgICB9KSk7XG4gIH07XG5cbiAgcmV0dXJuIFByb21pc2UuYWxsKHNjcmlwdHMubWFwKGZ1bmN0aW9uIChzY3JpcHQpIHtcbiAgICBpZiAodHlwZW9mIHNjcmlwdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpc0lubGluZUNvZGUoc2NyaXB0KSkge1xuICAgICAgICAvLyBpZiBpdCBpcyBpbmxpbmUgc2NyaXB0XG4gICAgICAgIHJldHVybiBnZXRJbmxpbmVDb2RlKHNjcmlwdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBleHRlcm5hbCBzY3JpcHRcbiAgICAgICAgcmV0dXJuIGZldGNoU2NyaXB0KHNjcmlwdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVzZSBpZGxlIHRpbWUgdG8gbG9hZCBhc3luYyBzY3JpcHRcbiAgICAgIHZhciBzcmMgPSBzY3JpcHQuc3JjLFxuICAgICAgICAgIGFzeW5jID0gc2NyaXB0LmFzeW5jO1xuXG4gICAgICBpZiAoYXN5bmMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgICBhc3luYzogdHJ1ZSxcbiAgICAgICAgICBjb250ZW50OiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmZXRjaFNjcmlwdChzcmMpLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmZXRjaFNjcmlwdChzcmMpO1xuICAgIH1cbiAgfSkpO1xufVxuXG5leHBvcnQgeyBfZ2V0RXh0ZXJuYWxTY3JpcHRzIGFzIGdldEV4dGVybmFsU2NyaXB0cyB9O1xuXG5mdW5jdGlvbiB0aHJvd05vbkJsb2NraW5nRXJyb3IoZXJyb3IsIG1zZykge1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLmVycm9yKG1zZyk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0pO1xufVxuXG52YXIgc3VwcG9ydHNVc2VyVGltaW5nID0gdHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWFyayA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWVhc3VyZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyA9PT0gJ2Z1bmN0aW9uJztcbi8qKlxuICogRklYTUUgdG8gY29uc2lzdGVudCB3aXRoIGJyb3dzZXIgYmVoYXZpb3IsIHdlIHNob3VsZCBvbmx5IHByb3ZpZGUgY2FsbGJhY2sgd2F5IHRvIGludm9rZSBzdWNjZXNzIGFuZCBlcnJvciBldmVudFxuICogQHBhcmFtIGVudHJ5XG4gKiBAcGFyYW0gc2NyaXB0c1xuICogQHBhcmFtIHByb3h5XG4gKiBAcGFyYW0gb3B0c1xuICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59XG4gKi9cblxuZnVuY3Rpb24gX2V4ZWNTY3JpcHRzKGVudHJ5LCBzY3JpcHRzKSB7XG4gIHZhciBwcm94eSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogd2luZG93O1xuICB2YXIgb3B0cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDoge307XG4gIHZhciBfb3B0cyRmZXRjaDIgPSBvcHRzLmZldGNoLFxuICAgICAgZmV0Y2ggPSBfb3B0cyRmZXRjaDIgPT09IHZvaWQgMCA/IGRlZmF1bHRGZXRjaCA6IF9vcHRzJGZldGNoMixcbiAgICAgIF9vcHRzJHN0cmljdEdsb2JhbCA9IG9wdHMuc3RyaWN0R2xvYmFsLFxuICAgICAgc3RyaWN0R2xvYmFsID0gX29wdHMkc3RyaWN0R2xvYmFsID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRzJHN0cmljdEdsb2JhbCxcbiAgICAgIHN1Y2Nlc3MgPSBvcHRzLnN1Y2Nlc3MsXG4gICAgICBfb3B0cyRlcnJvciA9IG9wdHMuZXJyb3IsXG4gICAgICBlcnJvciA9IF9vcHRzJGVycm9yID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoKSB7fSA6IF9vcHRzJGVycm9yLFxuICAgICAgX29wdHMkYmVmb3JlRXhlYyA9IG9wdHMuYmVmb3JlRXhlYyxcbiAgICAgIGJlZm9yZUV4ZWMgPSBfb3B0cyRiZWZvcmVFeGVjID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoKSB7fSA6IF9vcHRzJGJlZm9yZUV4ZWMsXG4gICAgICBfb3B0cyRhZnRlckV4ZWMgPSBvcHRzLmFmdGVyRXhlYyxcbiAgICAgIGFmdGVyRXhlYyA9IF9vcHRzJGFmdGVyRXhlYyA9PT0gdm9pZCAwID8gZnVuY3Rpb24gKCkge30gOiBfb3B0cyRhZnRlckV4ZWM7XG4gIHJldHVybiBfZ2V0RXh0ZXJuYWxTY3JpcHRzKHNjcmlwdHMsIGZldGNoLCBlcnJvcikudGhlbihmdW5jdGlvbiAoc2NyaXB0c1RleHQpIHtcbiAgICB2YXIgZ2V2YWwgPSBmdW5jdGlvbiBnZXZhbChzY3JpcHRTcmMsIGlubGluZVNjcmlwdCkge1xuICAgICAgdmFyIHJhd0NvZGUgPSBiZWZvcmVFeGVjKGlubGluZVNjcmlwdCwgc2NyaXB0U3JjKSB8fCBpbmxpbmVTY3JpcHQ7XG4gICAgICB2YXIgY29kZSA9IGdldEV4ZWN1dGFibGVTY3JpcHQoc2NyaXB0U3JjLCByYXdDb2RlLCBwcm94eSwgc3RyaWN0R2xvYmFsKTtcbiAgICAgICgwLCBldmFsKShjb2RlKTtcbiAgICAgIGFmdGVyRXhlYyhpbmxpbmVTY3JpcHQsIHNjcmlwdFNyYyk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGV4ZWMoc2NyaXB0U3JjLCBpbmxpbmVTY3JpcHQsIHJlc29sdmUpIHtcbiAgICAgIHZhciBtYXJrTmFtZSA9IFwiRXZhbHVhdGluZyBzY3JpcHQgXCIuY29uY2F0KHNjcmlwdFNyYyk7XG4gICAgICB2YXIgbWVhc3VyZU5hbWUgPSBcIkV2YWx1YXRpbmcgVGltZSBDb25zdW1pbmc6IFwiLmNvbmNhdChzY3JpcHRTcmMpO1xuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiYgc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICAgIHBlcmZvcm1hbmNlLm1hcmsobWFya05hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2NyaXB0U3JjID09PSBlbnRyeSkge1xuICAgICAgICBub3RlR2xvYmFsUHJvcHMoc3RyaWN0R2xvYmFsID8gcHJveHkgOiB3aW5kb3cpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gYmluZCB3aW5kb3cucHJveHkgdG8gY2hhbmdlIGB0aGlzYCByZWZlcmVuY2UgaW4gc2NyaXB0XG4gICAgICAgICAgZ2V2YWwoc2NyaXB0U3JjLCBpbmxpbmVTY3JpcHQpO1xuICAgICAgICAgIHZhciBleHBvcnRzID0gcHJveHlbZ2V0R2xvYmFsUHJvcChzdHJpY3RHbG9iYWwgPyBwcm94eSA6IHdpbmRvdyldIHx8IHt9O1xuICAgICAgICAgIHJlc29sdmUoZXhwb3J0cyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBlbnRyeSBlcnJvciBtdXN0IGJlIHRocm93biB0byBtYWtlIHRoZSBwcm9taXNlIHNldHRsZWRcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW2ltcG9ydC1odG1sLWVudHJ5XTogZXJyb3Igb2NjdXJzIHdoaWxlIGV4ZWN1dGluZyBlbnRyeSBzY3JpcHQgXCIuY29uY2F0KHNjcmlwdFNyYykpO1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5saW5lU2NyaXB0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBiaW5kIHdpbmRvdy5wcm94eSB0byBjaGFuZ2UgYHRoaXNgIHJlZmVyZW5jZSBpbiBzY3JpcHRcbiAgICAgICAgICAgIGdldmFsKHNjcmlwdFNyYywgaW5saW5lU2NyaXB0KTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBjb25zaXN0ZW50IHdpdGggYnJvd3NlciBiZWhhdmlvciwgYW55IGluZGVwZW5kZW50IHNjcmlwdCBldmFsdWF0aW9uIGVycm9yIHNob3VsZCBub3QgYmxvY2sgdGhlIG90aGVyc1xuICAgICAgICAgICAgdGhyb3dOb25CbG9ja2luZ0Vycm9yKGUsIFwiW2ltcG9ydC1odG1sLWVudHJ5XTogZXJyb3Igb2NjdXJzIHdoaWxlIGV4ZWN1dGluZyBub3JtYWwgc2NyaXB0IFwiLmNvbmNhdChzY3JpcHRTcmMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gZXh0ZXJuYWwgc2NyaXB0IG1hcmtlZCB3aXRoIGFzeW5jXG4gICAgICAgICAgaW5saW5lU2NyaXB0LmFzeW5jICYmIChpbmxpbmVTY3JpcHQgPT09IG51bGwgfHwgaW5saW5lU2NyaXB0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpbmxpbmVTY3JpcHQuY29udGVudC50aGVuKGZ1bmN0aW9uIChkb3dubG9hZGVkU2NyaXB0VGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldmFsKGlubGluZVNjcmlwdC5zcmMsIGRvd25sb2FkZWRTY3JpcHRUZXh0KTtcbiAgICAgICAgICB9KVtcImNhdGNoXCJdKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICB0aHJvd05vbkJsb2NraW5nRXJyb3IoZSwgXCJbaW1wb3J0LWh0bWwtZW50cnldOiBlcnJvciBvY2N1cnMgd2hpbGUgZXhlY3V0aW5nIGFzeW5jIHNjcmlwdCBcIi5jb25jYXQoaW5saW5lU2NyaXB0LnNyYykpO1xuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiYgc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUobWVhc3VyZU5hbWUsIG1hcmtOYW1lKTtcbiAgICAgICAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhtYXJrTmFtZSk7XG4gICAgICAgIHBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMobWVhc3VyZU5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNjaGVkdWxlKGksIHJlc29sdmVQcm9taXNlKSB7XG4gICAgICBpZiAoaSA8IHNjcmlwdHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBzY3JpcHRTcmMgPSBzY3JpcHRzW2ldO1xuICAgICAgICB2YXIgaW5saW5lU2NyaXB0ID0gc2NyaXB0c1RleHRbaV07XG4gICAgICAgIGV4ZWMoc2NyaXB0U3JjLCBpbmxpbmVTY3JpcHQsIHJlc29sdmVQcm9taXNlKTsgLy8gcmVzb2x2ZSB0aGUgcHJvbWlzZSB3aGlsZSB0aGUgbGFzdCBzY3JpcHQgZXhlY3V0ZWQgYW5kIGVudHJ5IG5vdCBwcm92aWRlZFxuXG4gICAgICAgIGlmICghZW50cnkgJiYgaSA9PT0gc2NyaXB0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmVzb2x2ZVByb21pc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzY2hlZHVsZShpICsgMSwgcmVzb2x2ZVByb21pc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICByZXR1cm4gc2NoZWR1bGUoMCwgc3VjY2VzcyB8fCByZXNvbHZlKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCB7IF9leGVjU2NyaXB0cyBhcyBleGVjU2NyaXB0cyB9O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW1wb3J0SFRNTCh1cmwpIHtcbiAgdmFyIG9wdHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgZmV0Y2ggPSBkZWZhdWx0RmV0Y2g7XG4gIHZhciBhdXRvRGVjb2RlUmVzcG9uc2UgPSBmYWxzZTtcbiAgdmFyIGdldFB1YmxpY1BhdGggPSBkZWZhdWx0R2V0UHVibGljUGF0aDtcbiAgdmFyIGdldFRlbXBsYXRlID0gZGVmYXVsdEdldFRlbXBsYXRlOyAvLyBjb21wYXRpYmxlIHdpdGggdGhlIGxlZ2FjeSBpbXBvcnRIVE1MIGFwaVxuXG4gIGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGZldGNoID0gb3B0cztcbiAgfSBlbHNlIHtcbiAgICAvLyBmZXRjaCBvcHRpb24gaXMgYXZhaWxibGVcbiAgICBpZiAob3B0cy5mZXRjaCkge1xuICAgICAgLy8gZmV0Y2ggaXMgYSBmdW5jaXRvblxuICAgICAgaWYgKHR5cGVvZiBvcHRzLmZldGNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGZldGNoID0gb3B0cy5mZXRjaDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgZmV0Y2ggPSBvcHRzLmZldGNoLmZuIHx8IGRlZmF1bHRGZXRjaDtcbiAgICAgICAgYXV0b0RlY29kZVJlc3BvbnNlID0gISFvcHRzLmZldGNoLmF1dG9EZWNvZGVSZXNwb25zZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQdWJsaWNQYXRoID0gb3B0cy5nZXRQdWJsaWNQYXRoIHx8IG9wdHMuZ2V0RG9tYWluIHx8IGRlZmF1bHRHZXRQdWJsaWNQYXRoO1xuICAgIGdldFRlbXBsYXRlID0gb3B0cy5nZXRUZW1wbGF0ZSB8fCBkZWZhdWx0R2V0VGVtcGxhdGU7XG4gIH1cblxuICByZXR1cm4gZW1iZWRIVE1MQ2FjaGVbdXJsXSB8fCAoZW1iZWRIVE1MQ2FjaGVbdXJsXSA9IGZldGNoKHVybCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICByZXR1cm4gcmVhZFJlc0FzU3RyaW5nKHJlc3BvbnNlLCBhdXRvRGVjb2RlUmVzcG9uc2UpO1xuICB9KS50aGVuKGZ1bmN0aW9uIChodG1sKSB7XG4gICAgdmFyIGFzc2V0UHVibGljUGF0aCA9IGdldFB1YmxpY1BhdGgodXJsKTtcblxuICAgIHZhciBfcHJvY2Vzc1RwbCA9IHByb2Nlc3NUcGwoZ2V0VGVtcGxhdGUoaHRtbCksIGFzc2V0UHVibGljUGF0aCksXG4gICAgICAgIHRlbXBsYXRlID0gX3Byb2Nlc3NUcGwudGVtcGxhdGUsXG4gICAgICAgIHNjcmlwdHMgPSBfcHJvY2Vzc1RwbC5zY3JpcHRzLFxuICAgICAgICBlbnRyeSA9IF9wcm9jZXNzVHBsLmVudHJ5LFxuICAgICAgICBzdHlsZXMgPSBfcHJvY2Vzc1RwbC5zdHlsZXM7XG5cbiAgICByZXR1cm4gZ2V0RW1iZWRIVE1MKHRlbXBsYXRlLCBzdHlsZXMsIHtcbiAgICAgIGZldGNoOiBmZXRjaFxuICAgIH0pLnRoZW4oZnVuY3Rpb24gKGVtYmVkSFRNTCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGVtcGxhdGU6IGVtYmVkSFRNTCxcbiAgICAgICAgYXNzZXRQdWJsaWNQYXRoOiBhc3NldFB1YmxpY1BhdGgsXG4gICAgICAgIGdldEV4dGVybmFsU2NyaXB0czogZnVuY3Rpb24gZ2V0RXh0ZXJuYWxTY3JpcHRzKCkge1xuICAgICAgICAgIHJldHVybiBfZ2V0RXh0ZXJuYWxTY3JpcHRzKHNjcmlwdHMsIGZldGNoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0czogZnVuY3Rpb24gZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0cygpIHtcbiAgICAgICAgICByZXR1cm4gX2dldEV4dGVybmFsU3R5bGVTaGVldHMoc3R5bGVzLCBmZXRjaCk7XG4gICAgICAgIH0sXG4gICAgICAgIGV4ZWNTY3JpcHRzOiBmdW5jdGlvbiBleGVjU2NyaXB0cyhwcm94eSwgc3RyaWN0R2xvYmFsKSB7XG4gICAgICAgICAgdmFyIGV4ZWNTY3JpcHRzSG9va3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gICAgICAgICAgaWYgKCFzY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBfZXhlY1NjcmlwdHMoZW50cnksIHNjcmlwdHMsIHByb3h5LCB7XG4gICAgICAgICAgICBmZXRjaDogZmV0Y2gsXG4gICAgICAgICAgICBzdHJpY3RHbG9iYWw6IHN0cmljdEdsb2JhbCxcbiAgICAgICAgICAgIGJlZm9yZUV4ZWM6IGV4ZWNTY3JpcHRzSG9va3MuYmVmb3JlRXhlYyxcbiAgICAgICAgICAgIGFmdGVyRXhlYzogZXhlY1NjcmlwdHNIb29rcy5hZnRlckV4ZWNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGltcG9ydEVudHJ5KGVudHJ5KSB7XG4gIHZhciBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgdmFyIF9vcHRzJGZldGNoMyA9IG9wdHMuZmV0Y2gsXG4gICAgICBmZXRjaCA9IF9vcHRzJGZldGNoMyA9PT0gdm9pZCAwID8gZGVmYXVsdEZldGNoIDogX29wdHMkZmV0Y2gzLFxuICAgICAgX29wdHMkZ2V0VGVtcGxhdGUgPSBvcHRzLmdldFRlbXBsYXRlLFxuICAgICAgZ2V0VGVtcGxhdGUgPSBfb3B0cyRnZXRUZW1wbGF0ZSA9PT0gdm9pZCAwID8gZGVmYXVsdEdldFRlbXBsYXRlIDogX29wdHMkZ2V0VGVtcGxhdGU7XG4gIHZhciBnZXRQdWJsaWNQYXRoID0gb3B0cy5nZXRQdWJsaWNQYXRoIHx8IG9wdHMuZ2V0RG9tYWluIHx8IGRlZmF1bHRHZXRQdWJsaWNQYXRoO1xuXG4gIGlmICghZW50cnkpIHtcbiAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoJ2VudHJ5IHNob3VsZCBub3QgYmUgZW1wdHkhJyk7XG4gIH0gLy8gaHRtbCBlbnRyeVxuXG5cbiAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaW1wb3J0SFRNTChlbnRyeSwge1xuICAgICAgZmV0Y2g6IGZldGNoLFxuICAgICAgZ2V0UHVibGljUGF0aDogZ2V0UHVibGljUGF0aCxcbiAgICAgIGdldFRlbXBsYXRlOiBnZXRUZW1wbGF0ZVxuICAgIH0pO1xuICB9IC8vIGNvbmZpZyBlbnRyeVxuXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZW50cnkuc2NyaXB0cykgfHwgQXJyYXkuaXNBcnJheShlbnRyeS5zdHlsZXMpKSB7XG4gICAgdmFyIF9lbnRyeSRzY3JpcHRzID0gZW50cnkuc2NyaXB0cyxcbiAgICAgICAgc2NyaXB0cyA9IF9lbnRyeSRzY3JpcHRzID09PSB2b2lkIDAgPyBbXSA6IF9lbnRyeSRzY3JpcHRzLFxuICAgICAgICBfZW50cnkkc3R5bGVzID0gZW50cnkuc3R5bGVzLFxuICAgICAgICBzdHlsZXMgPSBfZW50cnkkc3R5bGVzID09PSB2b2lkIDAgPyBbXSA6IF9lbnRyeSRzdHlsZXMsXG4gICAgICAgIF9lbnRyeSRodG1sID0gZW50cnkuaHRtbCxcbiAgICAgICAgaHRtbCA9IF9lbnRyeSRodG1sID09PSB2b2lkIDAgPyAnJyA6IF9lbnRyeSRodG1sO1xuXG4gICAgdmFyIHNldFN0eWxlUGxhY2Vob2xkZXIySFRNTCA9IGZ1bmN0aW9uIHNldFN0eWxlUGxhY2Vob2xkZXIySFRNTCh0cGwpIHtcbiAgICAgIHJldHVybiBzdHlsZXMucmVkdWNlUmlnaHQoZnVuY3Rpb24gKGh0bWwsIHN0eWxlU3JjKSB7XG4gICAgICAgIHJldHVybiBcIlwiLmNvbmNhdChnZW5MaW5rUmVwbGFjZVN5bWJvbChzdHlsZVNyYykpLmNvbmNhdChodG1sKTtcbiAgICAgIH0sIHRwbCk7XG4gICAgfTtcblxuICAgIHZhciBzZXRTY3JpcHRQbGFjZWhvbGRlcjJIVE1MID0gZnVuY3Rpb24gc2V0U2NyaXB0UGxhY2Vob2xkZXIySFRNTCh0cGwpIHtcbiAgICAgIHJldHVybiBzY3JpcHRzLnJlZHVjZShmdW5jdGlvbiAoaHRtbCwgc2NyaXB0U3JjKSB7XG4gICAgICAgIHJldHVybiBcIlwiLmNvbmNhdChodG1sKS5jb25jYXQoZ2VuU2NyaXB0UmVwbGFjZVN5bWJvbChzY3JpcHRTcmMpKTtcbiAgICAgIH0sIHRwbCk7XG4gICAgfTtcblxuICAgIHJldHVybiBnZXRFbWJlZEhUTUwoZ2V0VGVtcGxhdGUoc2V0U2NyaXB0UGxhY2Vob2xkZXIySFRNTChzZXRTdHlsZVBsYWNlaG9sZGVyMkhUTUwoaHRtbCkpKSwgc3R5bGVzLCB7XG4gICAgICBmZXRjaDogZmV0Y2hcbiAgICB9KS50aGVuKGZ1bmN0aW9uIChlbWJlZEhUTUwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRlbXBsYXRlOiBlbWJlZEhUTUwsXG4gICAgICAgIGFzc2V0UHVibGljUGF0aDogZ2V0UHVibGljUGF0aChlbnRyeSksXG4gICAgICAgIGdldEV4dGVybmFsU2NyaXB0czogZnVuY3Rpb24gZ2V0RXh0ZXJuYWxTY3JpcHRzKCkge1xuICAgICAgICAgIHJldHVybiBfZ2V0RXh0ZXJuYWxTY3JpcHRzKHNjcmlwdHMsIGZldGNoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0czogZnVuY3Rpb24gZ2V0RXh0ZXJuYWxTdHlsZVNoZWV0cygpIHtcbiAgICAgICAgICByZXR1cm4gX2dldEV4dGVybmFsU3R5bGVTaGVldHMoc3R5bGVzLCBmZXRjaCk7XG4gICAgICAgIH0sXG4gICAgICAgIGV4ZWNTY3JpcHRzOiBmdW5jdGlvbiBleGVjU2NyaXB0cyhwcm94eSwgc3RyaWN0R2xvYmFsKSB7XG4gICAgICAgICAgdmFyIGV4ZWNTY3JpcHRzSG9va3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gICAgICAgICAgaWYgKCFzY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBfZXhlY1NjcmlwdHMoc2NyaXB0c1tzY3JpcHRzLmxlbmd0aCAtIDFdLCBzY3JpcHRzLCBwcm94eSwge1xuICAgICAgICAgICAgZmV0Y2g6IGZldGNoLFxuICAgICAgICAgICAgc3RyaWN0R2xvYmFsOiBzdHJpY3RHbG9iYWwsXG4gICAgICAgICAgICBiZWZvcmVFeGVjOiBleGVjU2NyaXB0c0hvb2tzLmJlZm9yZUV4ZWMsXG4gICAgICAgICAgICBhZnRlckV4ZWM6IGV4ZWNTY3JpcHRzSG9va3MuYWZ0ZXJFeGVjXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCdlbnRyeSBzY3JpcHRzIG9yIHN0eWxlcyBzaG91bGQgYmUgYXJyYXkhJyk7XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/import-html-entry/esm/index.js\n");
/***/ }),
/***/ "./node_modules/import-html-entry/esm/process-tpl.js":
/*!***********************************************************!*\
!*** ./node_modules/import-html-entry/esm/process-tpl.js ***!
\***********************************************************/
/*! exports provided: genLinkReplaceSymbol, genScriptReplaceSymbol, inlineScriptReplaceSymbol, genIgnoreAssetReplaceSymbol, genModuleScriptReplaceSymbol, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genLinkReplaceSymbol\", function() { return genLinkReplaceSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genScriptReplaceSymbol\", function() { return genScriptReplaceSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inlineScriptReplaceSymbol\", function() { return inlineScriptReplaceSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genIgnoreAssetReplaceSymbol\", function() { return genIgnoreAssetReplaceSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genModuleScriptReplaceSymbol\", function() { return genModuleScriptReplaceSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return processTpl; });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/import-html-entry/esm/utils.js\");\n\n\n/**\n * @author Kuitos\n * @homepage https://github.com/kuitos/\n * @since 2018-09-03 15:04\n */\n\nvar ALL_SCRIPT_REGEX = /(