@jsenv/core 25.2.1 → 25.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser_runtime/asset-manifest.json +2 -2
- package/dist/browser_runtime/{browser_runtime_91c5a3b8.js → browser_runtime_0e3396a1.js} +15 -16
- package/dist/browser_runtime/{browser_runtime_91c5a3b8.js.map → browser_runtime_0e3396a1.js.map} +13 -13
- package/dist/build_manifest.js +5 -5
- package/dist/compile_proxy/asset-manifest.json +2 -2
- package/dist/compile_proxy/compile_proxy.html__inline__20_f4285042.js.map +343 -0
- package/dist/compile_proxy/{compile_proxy_8dfaee51.html → compile_proxy_ab528227.html} +358 -397
- package/dist/redirector/asset-manifest.json +2 -2
- package/dist/redirector/redirector.html__inline__12_404b8295.js.map +349 -0
- package/dist/redirector/{redirector_3e9a97b9.html → redirector_6df2620a.html} +369 -407
- package/dist/toolbar/asset-manifest.json +2 -2
- package/dist/toolbar/toolbar.main_279b3a68.js.map +764 -0
- package/dist/toolbar/{toolbar_361afb84.html → toolbar_0a91ca3b.html} +1509 -1583
- package/dist/toolbar_injector/asset-manifest.json +2 -2
- package/dist/toolbar_injector/{toolbar_injector_fac1e995.js → toolbar_injector_34f6ad8e.js} +18 -15
- package/dist/toolbar_injector/{toolbar_injector_fac1e995.js.map → toolbar_injector_34f6ad8e.js.map} +15 -15
- package/package.json +16 -12
- package/readme.md +54 -54
- package/src/buildProject.js +31 -26
- package/src/dev_server.js +111 -92
- package/src/execute.js +3 -8
- package/src/internal/browser_launcher/{browser_runtime_report.js → browser_runtime_profile.js} +21 -15
- package/src/internal/browser_launcher/executeHtmlFile.js +22 -14
- package/src/internal/browser_launcher/from_playwright.js +6 -4
- package/src/internal/browser_runtime/browser_runtime.js +12 -14
- package/src/internal/browser_runtime/createBrowserRuntime.js +7 -6
- package/src/internal/browser_utils/fetchAndEvalUsingFetch.js +1 -1
- package/src/internal/browser_utils/fetchJson.js +1 -1
- package/src/internal/browser_utils/{fetch-browser.js → fetch_browser.js} +0 -2
- package/src/internal/building/buildUsingRollup.js +41 -57
- package/src/internal/building/html/parseHtmlRessource.js +2 -1
- package/src/internal/building/rollup_plugin_jsenv.js +28 -8
- package/src/internal/compiling/babel_parse_error.js +9 -0
- package/src/internal/{babel_plugin_transform_import_meta.js → compiling/babel_plugin_transform_import_meta.js} +58 -9
- package/src/internal/compiling/compileFile.js +2 -2
- package/src/internal/compiling/compileHtml.js +1 -1
- package/src/internal/compiling/createCompiledFileService.js +25 -74
- package/src/internal/compiling/js-compilation-service/transformJs.js +153 -23
- package/src/internal/compiling/jsenvCompilerForHtml.js +29 -32
- package/src/internal/compiling/jsenvCompilerForImportmap.js +2 -2
- package/src/internal/compiling/jsenvCompilerForJavaScript.js +2 -4
- package/src/internal/compiling/jsenv_directory/comparison_utils.js +24 -0
- package/src/internal/compiling/{compile-directory/compile-asset.js → jsenv_directory/compile_asset.js} +0 -0
- package/src/internal/compiling/jsenv_directory/compile_context.js +68 -0
- package/src/internal/compiling/jsenv_directory/compile_profile.js +218 -0
- package/src/internal/compiling/{compile-directory/createLockRegistry.js → jsenv_directory/file_lock_registry.js} +0 -0
- package/src/internal/compiling/{compile-directory/createLockRegistry.test.js → jsenv_directory/file_lock_registry.test.js} +2 -1
- package/src/internal/compiling/{compile-directory → jsenv_directory}/fs-optimized-for-cache.js +0 -0
- package/src/internal/compiling/{compile-directory → jsenv_directory}/getOrGenerateCompiledFile.js +2 -2
- package/src/internal/compiling/jsenv_directory/jsenv_directory.js +174 -0
- package/src/internal/compiling/{compile-directory → jsenv_directory}/updateMeta.js +1 -1
- package/src/internal/compiling/{compile-directory → jsenv_directory}/validateCache.js +0 -0
- package/src/internal/compiling/sse_service/sse_service.js +369 -0
- package/src/internal/compiling/startCompileServer.js +157 -804
- package/src/internal/compiling/transformResultToCompilationResult.js +2 -2
- package/src/internal/dev_server/exploring/exploring.js +10 -8
- package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +92 -78
- package/src/internal/dev_server/toolbar/settings/toolbar.settings.js +13 -0
- package/src/internal/dev_server/toolbar/toolbar.html +46 -16
- package/src/internal/dev_server/toolbar/toolbar.injector.js +17 -15
- package/src/internal/dev_server/toolbar/toolbar.main.js +12 -16
- package/src/internal/executing/executeConcurrently.js +1 -1
- package/src/internal/executing/executePlan.js +2 -3
- package/src/internal/{generateGroupMap → features}/babel_plugins_compatibility.js +8 -8
- package/src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js +20 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js +23 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js +25 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js +37 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js +9 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js +14 -0
- package/src/internal/features/browser_feature_detection/browser_feature_detection.js +89 -0
- package/src/internal/{browser_feature_detection → features/browser_feature_detection}/compile_proxy.html +1 -1
- package/src/internal/features/browser_feature_detection/execute_with_script_module.js +24 -0
- package/src/internal/features/features_compat_from_runtime.js +38 -0
- package/src/internal/features/features_compat_from_runtime_support.js +31 -0
- package/src/internal/{generateGroupMap → features}/features_compatibility.js +3 -3
- package/src/internal/{node_feature_detection → features/node_feature_detection}/feature_detect_dynamic_import.mjs +0 -0
- package/src/internal/{node_feature_detection → features/node_feature_detection}/feature_detect_top_level_await.mjs +0 -0
- package/src/internal/{node_feature_detection/nodeSupportsDynamicImport.js → features/node_feature_detection/node_feature_detect_dynamic_import.js} +0 -0
- package/src/internal/{node_feature_detection/nodeSupportsTopLevelAwait.js → features/node_feature_detection/node_feature_detect_top_level_await.js} +0 -0
- package/src/internal/features/node_feature_detection/node_feature_detection.js +66 -0
- package/src/internal/jsenv_remote_directory.js +1 -1
- package/src/internal/node_launcher/createControllableNodeProcess.js +4 -3
- package/src/internal/node_launcher/node_runtime_report.js +15 -9
- package/src/internal/node_runtime/fetchSource.js +2 -4
- package/src/internal/node_runtime/node_execution_systemjs.js +2 -5
- package/src/internal/redirector/redirector.html +40 -0
- package/src/internal/{generateGroupMap/jsenvRuntimeSupport.js → runtime_support/jsenv_runtime_support.js} +0 -0
- package/src/internal/{generateGroupMap → runtime_support}/runtime_support.js +0 -0
- package/src/internal/url_conversion.js +12 -17
- package/src/launchNode.js +29 -41
- package/dist/compile_proxy/compile_proxy.html__inline__20_809f35f7.js.map +0 -392
- package/dist/redirector/redirector.html__inline__15_e391410e.js.map +0 -397
- package/dist/toolbar/toolbar.main_6c1b3d82.js.map +0 -802
- package/src/internal/CONSTANTS.js +0 -11
- package/src/internal/browser_feature_detection/browser_feature_detection.js +0 -274
- package/src/internal/compiling/js-compilation-service/jsenvTransform.js +0 -242
- package/src/internal/dev_server/redirector/redirector.html +0 -48
- package/src/internal/generateGroupMap/generateGroupMap.js +0 -65
- package/src/internal/generateGroupMap/one_runtime_compat.js +0 -38
- package/src/internal/generateGroupMap/runtime_compat.js +0 -34
- package/src/internal/generateGroupMap/runtime_compat_composition.js +0 -76
- package/src/internal/generateGroupMap/shake_babel_plugin_map.js +0 -21
- package/src/internal/integrity/integrity_algorithms.js +0 -26
- package/src/internal/integrity/integrity_parsing.js +0 -50
- package/src/internal/integrity/integrity_update.js +0 -23
- package/src/internal/integrity/integrity_validation.js +0 -49
- package/src/internal/node_feature_detection/node_feature_detection.js +0 -117
- package/src/internal/node_runtime/detectNode.js +0 -3
- package/src/internal/runtime/computeCompileIdFromGroupId.js +0 -30
- package/src/internal/runtime/resolveGroup.js +0 -13
- package/src/internal/runtime/resolveRuntimeGroup.js +0 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"assets/jsenv-logo.svg": "assets/jsenv-logo_188b9ca6.svg",
|
|
3
|
-
"toolbar_injector.js": "
|
|
4
|
-
"toolbar_injector.js.map": "
|
|
3
|
+
"toolbar_injector.js": "toolbar_injector_34f6ad8e.js",
|
|
4
|
+
"toolbar_injector.js.map": "toolbar_injector_34f6ad8e.js.map"
|
|
5
5
|
}
|
|
@@ -746,7 +746,7 @@
|
|
|
746
746
|
return then ? value.then(then) : value;
|
|
747
747
|
}
|
|
748
748
|
|
|
749
|
-
var TOOLBAR_BUILD_RELATIVE_URL = "dist/toolbar/
|
|
749
|
+
var TOOLBAR_BUILD_RELATIVE_URL = "dist/toolbar/toolbar_0a91ca3b.html";
|
|
750
750
|
|
|
751
751
|
function _call(body, then, direct) {
|
|
752
752
|
if (direct) {
|
|
@@ -780,14 +780,14 @@
|
|
|
780
780
|
var injectToolbar = _async(function () {
|
|
781
781
|
return _await(new Promise(function (resolve) {
|
|
782
782
|
if (window.requestIdleCallback) {
|
|
783
|
-
window.requestIdleCallback(resolve
|
|
783
|
+
window.requestIdleCallback(resolve, {
|
|
784
|
+
timeout: 400
|
|
785
|
+
});
|
|
784
786
|
} else {
|
|
785
787
|
window.requestAnimationFrame(resolve);
|
|
786
788
|
}
|
|
787
789
|
}), function () {
|
|
788
|
-
return _call(fetchExploringJson, function (
|
|
789
|
-
var jsenvDirectoryRelativeUrl = _ref.jsenvDirectoryRelativeUrl;
|
|
790
|
-
var jsenvDirectoryServerUrl = resolveUrl(jsenvDirectoryRelativeUrl, document.location.origin);
|
|
790
|
+
return _call(fetchExploringJson, function (exploringJSON) {
|
|
791
791
|
var placeholder = getToolbarPlaceholder();
|
|
792
792
|
var iframe = document.createElement("iframe");
|
|
793
793
|
setAttributes(iframe, {
|
|
@@ -811,10 +811,16 @@
|
|
|
811
811
|
"border": "none"
|
|
812
812
|
});
|
|
813
813
|
var iframeLoadedPromise = iframeToLoadedPromise(iframe);
|
|
814
|
-
var
|
|
814
|
+
var jsenvCoreDirectoryServerUrl = new URL(exploringJSON.jsenvCoreDirectoryRelativeUrl, document.location.origin).href;
|
|
815
|
+
var jsenvToolbarHtmlServerUrl = new URL(TOOLBAR_BUILD_RELATIVE_URL, jsenvCoreDirectoryServerUrl); // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)
|
|
815
816
|
|
|
816
817
|
iframe.setAttribute("src", jsenvToolbarHtmlServerUrl);
|
|
817
818
|
placeholder.parentNode.replaceChild(iframe, placeholder);
|
|
819
|
+
addToolbarEventCallback(iframe, "toolbar_ready", function () {
|
|
820
|
+
sendCommandToToolbar(iframe, "renderToolbar", {
|
|
821
|
+
exploringJSON: exploringJSON
|
|
822
|
+
});
|
|
823
|
+
});
|
|
818
824
|
return _await(iframeLoadedPromise, function () {
|
|
819
825
|
iframe.removeAttribute("tabindex");
|
|
820
826
|
var div = document.createElement("div");
|
|
@@ -872,9 +878,6 @@
|
|
|
872
878
|
showToolbarTrigger();
|
|
873
879
|
}
|
|
874
880
|
});
|
|
875
|
-
addToolbarEventCallback(iframe, "toolbar_ready", function () {
|
|
876
|
-
sendCommandToToolbar(iframe, "renderToolbar");
|
|
877
|
-
});
|
|
878
881
|
return iframe;
|
|
879
882
|
});
|
|
880
883
|
});
|
|
@@ -958,16 +961,16 @@
|
|
|
958
961
|
});
|
|
959
962
|
};
|
|
960
963
|
|
|
961
|
-
var resolveUrl = function resolveUrl(url, baseUrl) {
|
|
962
|
-
return String(new URL(url, baseUrl));
|
|
963
|
-
};
|
|
964
|
-
|
|
965
964
|
if (document.readyState === "complete") {
|
|
966
965
|
injectToolbar();
|
|
967
966
|
} else {
|
|
968
|
-
window.addEventListener("load", injectToolbar);
|
|
967
|
+
window.addEventListener("load", injectToolbar); // document.addEventListener("readystatechange", () => {
|
|
968
|
+
// if (document.readyState === "complete") {
|
|
969
|
+
// injectToolbar()
|
|
970
|
+
// }
|
|
971
|
+
// })
|
|
969
972
|
}
|
|
970
973
|
|
|
971
974
|
})();
|
|
972
975
|
|
|
973
|
-
//# sourceMappingURL=
|
|
976
|
+
//# sourceMappingURL=toolbar_injector_34f6ad8e.js.map
|
package/dist/toolbar_injector/{toolbar_injector_fac1e995.js.map → toolbar_injector_34f6ad8e.js.map}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"file": "
|
|
3
|
+
"file": "toolbar_injector_34f6ad8e.js",
|
|
4
4
|
"sources": [
|
|
5
5
|
"../../helpers/babel/typeof/typeof.js",
|
|
6
6
|
"../../helpers/babel/defineProperty/defineProperty.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
|
|
9
9
|
"../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
|
|
10
10
|
"../../src/internal/browser_utils/fetchUsingXHR.js",
|
|
11
|
-
"../../src/internal/browser_utils/
|
|
11
|
+
"../../src/internal/browser_utils/fetch_browser.js",
|
|
12
12
|
"../../src/internal/browser_utils/fetchJson.js",
|
|
13
13
|
"../../src/internal/dev_server/exploring/fetchExploringJson.js",
|
|
14
14
|
"../../src/internal/dev_server/toolbar/util/dom.js",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n",
|
|
22
22
|
"import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n",
|
|
23
23
|
"/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n",
|
|
24
|
-
"
|
|
25
|
-
"import { fetchUrl } from \"./
|
|
24
|
+
"import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n",
|
|
25
|
+
"import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n",
|
|
26
26
|
"import { fetchJson } from \"../../browser_utils/fetchJson.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n `Cannot communicate with exploring server due to a network error\n--- error stack ---\n${e.stack}`,\n )\n }\n}\n",
|
|
27
27
|
"export const updateIframeOverflowOnParentWindow = () => {\n if (!window.parent) {\n // can happen while parent iframe reloads\n return\n }\n\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n",
|
|
28
|
-
"import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/
|
|
28
|
+
"import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar_0a91ca3b.html\"\nconst jsenvLogoSvgUrl = new URL(\"./jsenv-logo.svg\", import.meta.url)\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve, { timeout: 400 })\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n const exploringJSON = await fetchExploringJson()\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\n })\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const div = document.createElement(\"div\")\n div.innerHTML = `\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"${jsenvLogoSvgUrl}#jsenv-logo\"></use>\n </svg>\n <style>\n #jsenv-toolbar-trigger {\n display: block;\n overflow: hidden;\n position: fixed;\n z-index: 1000;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n margin: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n text-align: center;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger:hover {\n cursor: pointer;\n }\n\n #jsenv-toolbar-trigger[data-expanded] {\n bottom: 0;\n }\n\n #jsenv-toolbar-trigger-icon {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger[data-expanded] #jsenv-toolbar-trigger-icon {\n opacity: 1;\n }\n </style>\n</div>`\n const toolbarTrigger = div.firstElementChild\n iframe.parentNode.appendChild(toolbarTrigger)\n\n let timer\n toolbarTrigger.onmouseenter = () => {\n toolbarTrigger.setAttribute(\"data-animate\", \"\")\n timer = setTimeout(expandToolbarTrigger, 500)\n }\n toolbarTrigger.onmouseleave = () => {\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onfocus = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n expandToolbarTrigger()\n }\n toolbarTrigger.onblur = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onclick = () => {\n sendCommandToToolbar(iframe, \"showToolbar\")\n }\n\n const showToolbarTrigger = () => {\n toolbarTrigger.style.display = \"block\"\n }\n\n const hideToolbarTrigger = () => {\n toolbarTrigger.style.display = \"none\"\n }\n\n const expandToolbarTrigger = () => {\n toolbarTrigger.setAttribute(\"data-expanded\", \"\")\n }\n\n const collapseToolbarTrigger = () => {\n toolbarTrigger.removeAttribute(\"data-expanded\", \"\")\n }\n\n hideToolbarTrigger()\n addToolbarEventCallback(iframe, \"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n return iframe\n}\n\nconst addToolbarEventCallback = (iframe, eventName, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n if (__jsenv__.event !== eventName) {\n return\n }\n callback(__jsenv__.data)\n }\n\n window.addEventListener(\"message\", messageEventCallback, false)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback, false)\n }\n}\n\nconst sendCommandToToolbar = (iframe, command, ...args) => {\n iframe.contentWindow.postMessage(\n {\n __jsenv__: {\n command,\n args,\n },\n },\n window.origin,\n )\n}\n\nconst getToolbarPlaceholder = () => {\n const placeholder = queryPlaceholder()\n if (placeholder) {\n if (document.body.contains(placeholder)) {\n return placeholder\n }\n // otherwise iframe would not be visible because in <head>\n console.warn(\n \"element with [data-jsenv-toolbar-placeholder] must be inside document.body\",\n )\n return createTooolbarPlaceholder()\n }\n return createTooolbarPlaceholder()\n}\n\nconst queryPlaceholder = () => {\n return document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\n}\n\nconst createTooolbarPlaceholder = () => {\n const placeholder = document.createElement(\"span\")\n document.body.appendChild(placeholder)\n return placeholder\n}\n\nconst iframeToLoadedPromise = (iframe) => {\n return new Promise((resolve) => {\n const onload = () => {\n iframe.removeEventListener(\"load\", onload, true)\n resolve()\n }\n iframe.addEventListener(\"load\", onload, true)\n })\n}\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n // document.addEventListener(\"readystatechange\", () => {\n // if (document.readyState === \"complete\") {\n // injectToolbar()\n // }\n // })\n}\n"
|
|
29
29
|
],
|
|
30
30
|
"names": [
|
|
31
31
|
"nativeTypeOf",
|
|
@@ -232,22 +232,26 @@
|
|
|
232
232
|
"jsenvLogoSvgUrl",
|
|
233
233
|
"injectToolbar",
|
|
234
234
|
"requestIdleCallback",
|
|
235
|
+
"timeout",
|
|
235
236
|
"requestAnimationFrame",
|
|
236
|
-
"
|
|
237
|
-
"jsenvDirectoryServerUrl",
|
|
238
|
-
"resolveUrl",
|
|
239
|
-
"document",
|
|
237
|
+
"exploringJSON",
|
|
240
238
|
"placeholder",
|
|
241
239
|
"getToolbarPlaceholder",
|
|
242
240
|
"iframe",
|
|
241
|
+
"document",
|
|
243
242
|
"createElement",
|
|
244
243
|
"tabindex",
|
|
245
244
|
"allowtransparency",
|
|
246
245
|
"iframeLoadedPromise",
|
|
247
246
|
"iframeToLoadedPromise",
|
|
247
|
+
"jsenvCoreDirectoryServerUrl",
|
|
248
|
+
"URL",
|
|
249
|
+
"jsenvCoreDirectoryRelativeUrl",
|
|
248
250
|
"jsenvToolbarHtmlServerUrl",
|
|
249
251
|
"parentNode",
|
|
250
252
|
"replaceChild",
|
|
253
|
+
"addToolbarEventCallback",
|
|
254
|
+
"sendCommandToToolbar",
|
|
251
255
|
"removeAttribute",
|
|
252
256
|
"div",
|
|
253
257
|
"innerHTML",
|
|
@@ -264,11 +268,9 @@
|
|
|
264
268
|
"onfocus",
|
|
265
269
|
"onblur",
|
|
266
270
|
"onclick",
|
|
267
|
-
"sendCommandToToolbar",
|
|
268
271
|
"showToolbarTrigger",
|
|
269
272
|
"display",
|
|
270
273
|
"hideToolbarTrigger",
|
|
271
|
-
"addToolbarEventCallback",
|
|
272
274
|
"visible",
|
|
273
275
|
"eventName",
|
|
274
276
|
"callback",
|
|
@@ -286,9 +288,7 @@
|
|
|
286
288
|
"console",
|
|
287
289
|
"warn",
|
|
288
290
|
"createTooolbarPlaceholder",
|
|
289
|
-
"querySelector"
|
|
290
|
-
"baseUrl",
|
|
291
|
-
"URL"
|
|
291
|
+
"querySelector"
|
|
292
292
|
],
|
|
293
|
-
"mappings": ";;;EAAA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD;EAAA,SAAS,OAAOA,GAAhB;EAAA,CAArB;;EAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACD,GAAD,EAAS;EAC5B,SAAOA,GAAG,IACR,OAAOE,MAAP,KAAkB,UADb,IAELF,GAAG,CAACG,WAAJ,KAAoBD,MAFf,IAGLF,GAAG,KAAKE,MAAM,CAACE,SAHV,GAIH,QAJG,GAKH,OAAOJ,GALX;EAMD,CAPD;;AASA,gBAAe,OAAOE,MAAP,KAAkB,UAAlB,IAAgC,OAAOA,MAAM,CAACG,QAAd,KAA2B,QAA3D,GACXN,YADW,GAEXE,YAFJ;;ACXA,wBAAe,UAACD,GAAD,EAAMM,GAAN,EAAWC,KAAX,EAAqB;EAClC;EACA;EACA;EACA;EACA;EACA,MAAID,GAAG,IAAIN,GAAX,EAAgB;EACdQ,IAAAA,MAAM,CAACC,cAAP,CAAsBT,GAAtB,EAA2BM,GAA3B,EAAgC;EAC9BC,MAAAA,KAAK,EAALA,KAD8B;EAE9BG,MAAAA,UAAU,EAAE,IAFkB;EAG9BC,MAAAA,YAAY,EAAE,IAHgB;EAI9BC,MAAAA,QAAQ,EAAE;EAJoB,KAAhC;EAMD,GAPD,MAOO;EACLZ,IAAAA,GAAG,CAACM,GAAD,CAAH,GAAWC,KAAX;EACD;;EACD,SAAOP,GAAP;EACD,CAjBD;;ECEA,SAASa,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EACvC,MAAIC,IAAI,GAAGR,MAAM,CAACQ,IAAP,CAAYF,MAAZ,CAAX;;EACA,MAAIN,MAAM,CAACS,qBAAX,EAAkC;EAChC,QAAIC,OAAO,GAAGV,MAAM,CAACS,qBAAP,CAA6BH,MAA7B,CAAd;;EACA,QAAIC,cAAJ,EAAoB;EAClBG,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAAUC,GAAV,EAAe;EACtC,eAAOZ,MAAM,CAACa,wBAAP,CAAgCP,MAAhC,EAAwCM,GAAxC,EAA6CV,UAApD;EACD,OAFS,CAAV;EAGD;;EACDM,IAAAA,IAAI,CAACM,IAAL,CAAUC,KAAV,CAAgBP,IAAhB,EAAsBE,OAAtB;EACD;;EACD,SAAOF,IAAP;EACD;;EAEc,SAASQ,cAAT,CAAwBC,MAAxB,EAAgC;EAC7C,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;EACzC,QAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAT,IAAgB,IAAhB,GAAuBC,SAAS,CAACD,CAAD,CAAhC,GAAsC,EAAnD;;EACA,QAAIA,CAAC,GAAG,CAAR,EAAW;EACTb,MAAAA,OAAO,CAACL,MAAM,CAACqB,MAAD,CAAP,EAAiB,IAAjB,CAAP,CAA8BC,OAA9B,CAAsC,UAAUxB,GAAV,EAAe;EACnDG,QAAAA,cAAc,CAACgB,MAAD,EAASnB,GAAT,EAAcuB,MAAM,CAACvB,GAAD,CAApB,CAAd;EACD,OAFD;EAGD,KAJD,MAIO,IAAIE,MAAM,CAACuB,yBAAX,EAAsC;EAC3CvB,MAAAA,MAAM,CAACwB,gBAAP,CAAwBP,MAAxB,EAAgCjB,MAAM,CAACuB,yBAAP,CAAiCF,MAAjC,CAAhC;EACD,KAFM,MAEA;EACLhB,MAAAA,OAAO,CAACL,MAAM,CAACqB,MAAD,CAAP,CAAP,CAAwBC,OAAxB,CAAgC,UAAUxB,GAAV,EAAe;EAC7CE,QAAAA,MAAM,CAACC,cAAP,CAAsBgB,MAAtB,EAA8BnB,GAA9B,EAAmCE,MAAM,CAACa,wBAAP,CAAgCQ,MAAhC,EAAwCvB,GAAxC,CAAnC;EACD,OAFD;EAGD;EACF;;EACD,SAAOmB,MAAP;EACD;;AChCD,sCAAe,UAACI,MAAD,EAASI,QAAT,EAAsB;EACnC,MAAIJ,MAAM,KAAK,IAAf,EAAqB,OAAO,EAAP;EACrB,MAAIJ,MAAM,GAAG,EAAb;EACA,MAAIS,UAAU,GAAG1B,MAAM,CAACQ,IAAP,CAAYa,MAAZ,CAAjB;EACA,MAAIvB,GAAJ;EACA,MAAIoB,CAAJ;;EACA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGQ,UAAU,CAACN,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;EACtCpB,IAAAA,GAAG,GAAG4B,UAAU,CAACR,CAAD,CAAhB;EACA,QAAIO,QAAQ,CAACE,OAAT,CAAiB7B,GAAjB,KAAyB,CAA7B,EAAgC;EAChCmB,IAAAA,MAAM,CAACnB,GAAD,CAAN,GAAcuB,MAAM,CAACvB,GAAD,CAApB;EACD;;EACD,SAAOmB,MAAP;EACD,CAZD;;ACEA,kCAAe,UAACI,MAAD,EAASI,QAAT,EAAsB;EACnC,MAAIJ,MAAM,KAAK,IAAf,EAAqB,OAAO,EAAP;EAErB,MAAIJ,MAAM,GAAGW,4BAA4B,CAACP,MAAD,EAASI,QAAT,CAAzC;EACA,MAAI3B,GAAJ;EACA,MAAIoB,CAAJ;;EACA,MAAIlB,MAAM,CAACS,qBAAX,EAAkC;EAChC,QAAIoB,gBAAgB,GAAG7B,MAAM,CAACS,qBAAP,CAA6BY,MAA7B,CAAvB;;EACA,SAAKH,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGW,gBAAgB,CAACT,MAAjC,EAAyCF,CAAC,EAA1C,EAA8C;EAC5CpB,MAAAA,GAAG,GAAG+B,gBAAgB,CAACX,CAAD,CAAtB;EACA,UAAIO,QAAQ,CAACE,OAAT,CAAiB7B,GAAjB,KAAyB,CAA7B,EAAgC;EAChC,UAAI,CAACE,MAAM,CAACJ,SAAP,CAAiBkC,oBAAjB,CAAsCC,IAAtC,CAA2CV,MAA3C,EAAmDvB,GAAnD,CAAL,EAA8D;EAC9DmB,MAAAA,MAAM,CAACnB,GAAD,CAAN,GAAcuB,MAAM,CAACvB,GAAD,CAApB;EACD;EACF;;EACD,SAAOmB,MAAP;EACD,CAhBD;;ECFA;EAoFO,kBAAgBlB,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;EAC3C,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;EACA;;EACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;EAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;EACA;;EACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;EACA;;EAtBM,kBAAgBqC,CAAhB,EAAmB;EACzB,SAAO,YAAW;EACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;EACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;EACA;;EACD,QAAI;EACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;EACA,KAFD,CAEE,OAAMC,CAAN,EAAS;EACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD,GATD;EAUA;;EA8bM,iBAAeE,IAAf,EAAqBR,IAArB,EAA2BC,MAA3B,EAAmC;EACzC,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACQ,IAAI,EAAL,CAAP,GAAkBA,IAAI,EAAjC;EACA;;EACD,MAAI;EACH,QAAIC,MAAM,GAAGP,OAAO,CAACC,OAAR,CAAgBK,IAAI,EAApB,CAAb;EACA,WAAOR,IAAI,GAAGS,MAAM,CAACT,IAAP,CAAYA,IAAZ,CAAH,GAAuBS,MAAlC;EACA,GAHD,CAGE,OAAOH,CAAP,EAAU;EACX,WAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD;;EAvhBM,IAAMI,aAAa,sBACxBC,GADwB,EASrB;EAAA,iFADC,EACD;EAAA,MANDC,MAMC,QANDA,MAMC;EAAA,yBALDC,MAKC;EAAA,MALDA,MAKC,4BALQ,KAKR;EAAA,8BAJDC,WAIC;EAAA,MAJDA,WAIC,iCAJa,aAIb;EAAA,0BAHDC,OAGC;EAAA,MAHDA,OAGC,6BAHS,EAGT;EAAA,uBAFDP,IAEC;EAAA,MAFDA,IAEC,0BAFM,IAEN;;EACH,MAAMQ,cAAc,GAAGC,qBAAqB,EAA5C;EACA,MAAMC,WAAW,GAAGD,qBAAqB,EAAzC;EAEA,MAAME,GAAG,GAAG,IAAIC,cAAJ,EAAZ;;EAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;EACzB;EACA,QAAIN,cAAc,CAACO,OAAnB,EAA4B;EAC1BL,MAAAA,WAAW,CAACX,MAAZ,CAAmBe,KAAnB;EACD,KAFD,MAEO;EACLN,MAAAA,cAAc,CAACT,MAAf,CAAsBe,KAAtB;EACD;EACF,GAPD;;EASA,MAAME,OAAO,GAAG,SAAVA,OAAU,GAAM;EACpBL,IAAAA,GAAG,CAACM,SAAJ,GAAgB,IAAhB;EACAN,IAAAA,GAAG,CAACO,OAAJ,GAAc,IAAd;EACAP,IAAAA,GAAG,CAACQ,MAAJ,GAAa,IAAb;EACAR,IAAAA,GAAG,CAACS,kBAAJ,GAAyB,IAAzB;EACD,GALD;;EAOAT,EAAAA,GAAG,CAACM,SAAJ,GAAgB,YAAM;EACpBD,IAAAA,OAAO;EACPH,IAAAA,OAAO,CAAC,IAAIQ,KAAJ,kCAAoClB,GAApC,OAAD,CAAP;EACD,GAHD;;EAKAQ,EAAAA,GAAG,CAACO,OAAJ,GAAc,UAACJ,KAAD,EAAW;EACvBE,IAAAA,OAAO,GADgB;EAGvB;;EACAH,IAAAA,OAAO,CAACS,kBAAkB,CAACR,KAAD,EAAQ;EAAEX,MAAAA,GAAG,EAAHA;EAAF,KAAR,CAAnB,CAAP;EACD,GALD;;EAOAQ,EAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;EACjBH,IAAAA,OAAO;EACPN,IAAAA,WAAW,CAACf,OAAZ;EACD,GAHD;;EAKAS,EAAAA,MAAM,CAACmB,gBAAP,CAAwB,OAAxB,EAAiC,YAAM;EACrCZ,IAAAA,GAAG,CAACa,KAAJ;EACA,QAAMC,UAAU,GAAG,IAAIJ,KAAJ,CAAU,SAAV,CAAnB;EACAI,IAAAA,UAAU,CAACC,IAAX,GAAkB,YAAlB;EACAb,IAAAA,OAAO,CAACY,UAAD,CAAP;EACD,GALD;;EAOAd,EAAAA,GAAG,CAACS,kBAAJ,GAAyB,YAAM;EAC7B;EACA,QAAQO,UAAR,GAAuBhB,GAAvB,CAAQgB,UAAR;;EAEA,QAAIA,UAAU,KAAK,CAAnB,EAAsB;EACpBnB,MAAAA,cAAc,CAACb,OAAf;EACD,KAFD,MAEO,IAAIgC,UAAU,KAAK,CAAnB,EAAsB;EAC3BX,MAAAA,OAAO;EACPN,MAAAA,WAAW,CAACf,OAAZ;EACD;EACF,GAVD;;EAYAgB,EAAAA,GAAG,CAACiB,IAAJ,CAASvB,MAAT,EAAiBF,GAAjB,EAAsB,IAAtB;EACA3C,EAAAA,MAAM,CAACQ,IAAP,CAAYuC,OAAZ,EAAqBzB,OAArB,CAA6B,UAACxB,GAAD,EAAS;EACpCqD,IAAAA,GAAG,CAACkB,gBAAJ,CAAqBvE,GAArB,EAA0BiD,OAAO,CAACjD,GAAD,CAAjC;EACD,GAFD;EAGAqD,EAAAA,GAAG,CAACmB,eAAJ,GAAsBC,sBAAsB,CAAC;EAAEzB,IAAAA,WAAW,EAAXA,WAAF;EAAeH,IAAAA,GAAG,EAAHA;EAAf,GAAD,CAA5C;;EACA,MAAI,kBAAkBQ,GAAlB,IAAyBqB,OAA7B,EAAsC;EACpCrB,IAAAA,GAAG,CAACsB,YAAJ,GAAmB,MAAnB;EACD;;EACDtB,EAAAA,GAAG,CAACuB,IAAJ,CAASlC,IAAT;EAlEG,kBAoEGQ,cApEH;EAsEH;EACA,QAAM2B,WAAW,GACf,iBAAiBxB,GAAjB,GAAuBA,GAAG,CAACyB,WAA3B,GAAyC7B,OAAO,CAAC,eAAD,CADlD;EAEA,QAAI8B,cAAc,GAAG1B,GAAG,CAAC2B,MAAzB;EACA,QAAMC,kBAAkB,GAAG5B,GAAG,CAAC6B,UAA/B;EACA,QAAMC,eAAe,GAAGC,iBAAiB,CAAC/B,GAAD,CAAzC;;EAEA,QAAMgC,QAAQ,YAARA,QAAQ,GAAe;EAAA,sBACrBjC,WADqB;EAG3B,YAAQ4B,MAAR,GAAmB3B,GAAnB,CAAQ2B,MAAR,CAH2B;;EAK3B,YAAIA,MAAM,KAAK,CAAf,EAAkB;EAChBD,UAAAA,cAAc,GAAG,GAAjB;EACD;;EAED,YAAMrC,IAAI,GAAG,cAAcW,GAAd,GAAoBA,GAAG,CAACiC,QAAxB,GAAmCjC,GAAG,CAACkC,YAApD;EAEA,eAAO;EACLC,UAAAA,YAAY,EAAE9C,IADT;EAEL+C,UAAAA,gBAAgB,EAAEC,cAAc,CAAChD,IAAD;EAF3B,SAAP;EAX2B;EAe5B,KAfD;;EAiBA,QAAMiD,IAAI,YAAJA,IAAI,GAAe;EAAA,qBAC0BN,QAD1B;EAAA,YACfG,YADe,SACfA,YADe;EAAA,YACDC,gBADC,SACDA,gBADC;;EAGvB,YAAIA,gBAAgB,KAAK,MAAzB,EAAiC;EAC/B,iBAAOG,UAAU,CAACJ,YAAD,CAAjB;EACD;;EACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;EACnC,gBAAM,IAAI1B,KAAJ,CAAU,sCAAV,CAAN;EACD;;EARsB,eASnB0B,gBAAgB,KAAK,UATF,GAUdI,iBAAiB,CAACL,YAAY,CAACM,MAAd,CAVH,GAYnBL,gBAAgB,KAAK,aAZF,GAadI,iBAAiB,CAACL,YAAD,CAbH,GAkBhBO,MAAM,CAACP,YAAD,CAlBU;EAAA;EAmBxB,KAnBD;;EAqBA,QAAMQ,IAAI,YAAJA,IAAI,GAAe;EAAA,qBACIL,IADJ,EAEhBM,IAAI,CAACC,KAFW;EAGxB,KAHD;;EAKA,QAAMC,IAAI,wBAAe;EACvB,UAAI,CAACzB,OAAL,EAAc;EACZ,cAAM,IAAIX,KAAJ,sBAAN;EACD;;EAHsB,qBAK0BsB,QAL1B;EAAA,YAKfG,YALe,SAKfA,YALe;EAAA,YAKDC,gBALC,SAKDA,gBALC;;EAOvB,YAAIA,gBAAgB,KAAK,MAAzB,EAAiC;EAC/B,iBAAOD,YAAP;EACD;;EACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;EACnC,iBAAO,IAAIW,IAAJ,CAAS,CAACC,WAAW,CAACb,YAAY,CAACM,MAAd,CAAZ,CAAT,CAAP;EACD;;EACD,YAAIL,gBAAgB,KAAK,aAAzB,EAAwC;EACtC,iBAAO,IAAIW,IAAJ,CAAS,CAACC,WAAW,CAACb,YAAD,CAAZ,CAAT,CAAP;EACD;;EACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;EACnC,gBAAM,IAAI1B,KAAJ,CAAU,sCAAV,CAAN;EACD;;EACD,eAAO,IAAIqC,IAAJ,CAAS,CAACL,MAAM,CAACP,YAAD,CAAP,CAAT,CAAP;EAnBuB;EAoBxB,KApBS,CAAV;;EAsBA,QAAMc,WAAW,YAAXA,WAAW,GAAe;EAAA,qBACmBjB,QADnB;EAAA,YACtBG,YADsB,SACtBA,YADsB;EAAA,YACRC,gBADQ,SACRA,gBADQ;EAAA,eAG1BA,gBAAgB,KAAK,aAHK,GAIrBY,WAAW,CAACb,YAAD,CAJU,WAMHW,IANG,EAOvBI,iBAPuB;EAAA;EAQ/B,KARD;;EAUA,QAAMC,QAAQ,wBAAe;EAC3B,UAAI,CAACC,WAAL,EAAkB;EAChB,cAAM,IAAI1C,KAAJ,0BAAN;EACD;;EAH0B,qBAIA4B,IAJA,EAKpBe,cALoB;EAM5B,KANa,CAAd;;EAQA,WAAO;EACL7D,MAAAA,GAAG,EAAEgC,WADA;EAELG,MAAAA,MAAM,EAAED,cAFH;EAGLG,MAAAA,UAAU,EAAED,kBAHP;EAILhC,MAAAA,OAAO,EAAEkC,eAJJ;EAKLQ,MAAAA,IAAI,EAAJA,IALK;EAMLK,MAAAA,IAAI,EAAJA,IANK;EAOLG,MAAAA,IAAI,EAAJA,IAPK;EAQLG,MAAAA,WAAW,EAAXA,WARK;EASLE,MAAAA,QAAQ,EAARA;EATK,KAAP;EAhKG;EA2KJ,CApLyB,CAAnB;;EAsLP,IAAMG,UAAU,GAAG,SAAbA,UAAa,GAAM;EACvB,MAAI,OAAOC,MAAM,CAACC,UAAd,KAA6B,UAAjC,EAA6C,OAAO,KAAP;EAE7C,MAAI,OAAOD,MAAM,CAACR,IAAd,KAAuB,UAA3B,EAAuC,OAAO,KAAP;;EAEvC,MAAI;EACF;EACA,QAAIA,IAAJ;EACA,WAAO,IAAP;EACD,GAJD,CAIE,OAAO5D,CAAP,EAAU;EACV,WAAO,KAAP;EACD;EACF,CAZD;;EAcA,IAAMkC,OAAO,GAAGiC,UAAU,EAA1B;EAEA,IAAMF,WAAW,GAAG,OAAOG,MAAM,CAACE,QAAd,KAA2B,UAA/C;EAEA,IAAMC,cAAc,GAAG,OAAOH,MAAM,CAACI,WAAd,KAA8B,UAArD;EAEA,IAAMC,eAAe,GAAG,OAAOL,MAAM,CAACM,eAAd,KAAkC,UAA1D;;EAEA,IAAMlD,kBAAkB,GAAG,SAArBA,kBAAqB,CAACR,KAAD,SAAoB;EAAA,MAAVX,GAAU,SAAVA,GAAU;EAC7C,SAAO,IAAIkB,KAAJ,uCAC0BlB,GAD1B,qCAGPW,KAAK,CAAC2D,KAHC,EAAP;EAKD,CAND;;EAQA,IAAMhE,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;EAClC,MAAId,OAAJ;EACA,MAAII,MAAJ;EACA,MAAM2E,OAAO,GAAG,IAAIhF,OAAJ,CAAY,UAACiF,GAAD,EAAMC,GAAN,EAAc;EACxCjF,IAAAA,OAAO,GAAG,iBAACpC,KAAD,EAAW;EACnBmH,MAAAA,OAAO,CAAC3D,OAAR,GAAkB,IAAlB;EACA4D,MAAAA,GAAG,CAACpH,KAAD,CAAH;EACD,KAHD;;EAIAwC,IAAAA,MAAM,GAAG,gBAACxC,KAAD,EAAW;EAClBmH,MAAAA,OAAO,CAAC3D,OAAR,GAAkB,IAAlB;EACA6D,MAAAA,GAAG,CAACrH,KAAD,CAAH;EACD,KAHD;EAID,GATe,CAAhB;EAUAmH,EAAAA,OAAO,CAAC/E,OAAR,GAAkBA,OAAlB;EACA+E,EAAAA,OAAO,CAAC3E,MAAR,GAAiBA,MAAjB;EACA,SAAO2E,OAAP;EACD,CAhBD;;;EAmBA,IAAM3C,sBAAsB,GAAG,SAAzBA,sBAAyB,QAA0B;EAAA,MAAvBzB,WAAuB,SAAvBA,WAAuB;EAAA,MAAVH,GAAU,SAAVA,GAAU;;EACvD,MAAIG,WAAW,KAAK,aAApB,EAAmC;EACjC,WAAOuE,wBAAwB,CAAC1E,GAAD,CAA/B;EACD;;EACD,SAAOG,WAAW,KAAK,SAAvB;EACD,CALD;;EAOA,IAAMuE,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAC1E,GAAD,EAAS;EACxC;EACA,MAAI,QAAO+D,MAAP,yCAAOA,MAAP,OAAkB,QAAtB,EAAgC,OAAO,IAAP;EAChC,MAAI,QAAOA,MAAM,CAACY,QAAd,MAA2B,QAA/B,EAAyC,OAAO,IAAP;EACzC,MAAMC,YAAY,GAAGb,MAAM,CAACY,QAAP,CAAgBE,MAArC;EACA,MAAID,YAAY,KAAK,MAArB,EAA6B,OAAO,IAAP;EAC7B,SAAOE,YAAY,CAAC9E,GAAD,CAAZ,KAAsB4E,YAA7B;EACD,CAPD;;EASA,IAAM/B,cAAc,GAAG,SAAjBA,cAAiB,CAAChD,IAAD,EAAU;EAC/B,MAAI,CAACA,IAAL,EAAW;EACT,WAAO,EAAP;EACD;;EACD,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;EAC5B,WAAO,MAAP;EACD;;EACD,MAAIgC,OAAO,IAAI0B,IAAI,CAACtG,SAAL,CAAe8H,aAAf,CAA6BlF,IAA7B,CAAf,EAAmD;EACjD,WAAO,MAAP;EACD;;EACD,MAAI+D,WAAW,IAAIK,QAAQ,CAAChH,SAAT,CAAmB8H,aAAnB,CAAiClF,IAAjC,CAAnB,EAA2D;EACzD,WAAO,UAAP;EACD;;EACD,MAAIqE,cAAJ,EAAoB;EAClB,QAAIrC,OAAO,IAAImD,UAAU,CAACnF,IAAD,CAAzB,EAAiC;EAC/B;EACD;;EACD,QAAIsE,WAAW,CAAClH,SAAZ,CAAsB8H,aAAtB,CAAoClF,IAApC,KAA6CoF,iBAAiB,CAACpF,IAAD,CAAlE,EAA0E;EACxE;EACD;EACF;;EACD,MAAIuE,eAAe,IAAIC,eAAe,CAACpH,SAAhB,CAA0B8H,aAA1B,CAAwClF,IAAxC,CAAvB,EAAsE;EACpE,WAAO,cAAP;EACD;;EACD,SAAO,EAAP;EACD,CAzBD;;;EA4BA,IAAM0C,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC/B,GAAD,EAAS;EACjC,MAAM0E,SAAS,GAAG,EAAlB;EAEA,MAAMC,aAAa,GAAG3E,GAAG,CAAC4E,qBAAJ,EAAtB;EACA,MAAID,aAAa,KAAK,EAAtB,EAA0B,OAAOD,SAAP;EAE1B,MAAMG,KAAK,GAAGF,aAAa,CAACG,IAAd,GAAqBC,KAArB,CAA2B,SAA3B,CAAd;EACAF,EAAAA,KAAK,CAAC1G,OAAN,CAAc,UAAC6G,IAAD,EAAU;EACtB,QAAMC,KAAK,GAAGD,IAAI,CAACD,KAAL,CAAW,IAAX,CAAd;EACA,QAAMhE,IAAI,GAAGkE,KAAK,CAACC,KAAN,EAAb;EACA,QAAMtI,KAAK,GAAGqI,KAAK,CAACE,IAAN,CAAW,IAAX,CAAd;EACAT,IAAAA,SAAS,CAAC3D,IAAI,CAACqE,WAAL,EAAD,CAAT,GAAgCxI,KAAhC;EACD,GALD;EAOA,SAAO8H,SAAP;EACD,CAfD;;EAiBA,IAAMJ,YAAY,GAAG,SAAfA,YAAe,CAACe,IAAD,EAAU;EAC7B,MAAMC,MAAM,GAAGC,YAAY,CAACF,IAAD,CAA3B;;EAEA,MAAIC,MAAM,KAAK,MAAf,EAAuB;EACrB,WAAO,SAAP;EACD;;EAED,MAAIA,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,OAApC,EAA6C;EAC3C,QAAME,wBAAwB,GAAGF,MAAM,CAACrH,MAAP,GAAgB,MAAMA,MAAvD;EACA,QAAMwH,kBAAkB,GAAGJ,IAAI,CAAC7G,OAAL,CAAa,GAAb,EAAkBgH,wBAAlB,CAA3B;EAEA,QAAIC,kBAAkB,KAAK,CAAC,CAA5B,EAA+B,OAAOJ,IAAP;EAC/B,WAAOA,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcD,kBAAd,CAAP;EACD;;EAED,SAAOJ,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcJ,MAAM,CAACrH,MAAP,GAAgB,CAA9B,CAAP;EACD,CAhBD;;EAkBA,IAAMsH,YAAY,GAAG,SAAfA,YAAe,CAACF,IAAD,EAAU;EAC7B,MAAMM,UAAU,GAAGN,IAAI,CAAC7G,OAAL,CAAa,GAAb,CAAnB;EACA,MAAImH,UAAU,KAAK,CAAC,CAApB,EAAuB,OAAO,EAAP;EACvB,SAAON,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcC,UAAd,CAAP;EACD,CAJD;;EAMA,IAAMnB,UAAU,GAAG,SAAbA,UAAa,CAACnI,GAAD,EAAS;EAC1B,SAAOA,GAAG,IAAIuJ,QAAQ,CAACnJ,SAAT,CAAmB8H,aAAnB,CAAiClI,GAAjC,CAAd;EACD,CAFD;;EAIA,IAAMoI,iBAAiB,GACrBd,WAAW,CAACkC,MAAZ,IACC,YAAM;EACL,MAAMC,WAAW,GAAG,CAClB,oBADkB,EAElB,qBAFkB,EAGlB,4BAHkB,EAIlB,qBAJkB,EAKlB,sBALkB,EAMlB,qBANkB,EAOlB,sBAPkB,EAQlB,uBARkB,EASlB,uBATkB,CAApB;EAYA,SAAO,UAAClJ,KAAD,EAAW;EAChB,WACEA,KAAK,IAAIkJ,WAAW,CAACC,QAAZ,CAAqBlJ,MAAM,CAACJ,SAAP,CAAiBuJ,QAAjB,CAA0BpH,IAA1B,CAA+BhC,KAA/B,CAArB,CADX;EAGD,GAJD;EAKD,CAlBD,EAFF;;EAsBA,IAAMyG,cAAc,GAAG,SAAjBA,cAAiB,CAACf,IAAD,EAAU;EAC/B,MAAM2D,IAAI,GAAG,IAAIxC,QAAJ,EAAb;EACAnB,EAAAA,IAAI,CACDwC,IADH,GAEGC,KAFH,CAES,GAFT,EAGG5G,OAHH,CAGW,UAAU+H,KAAV,EAAiB;EACxB,QAAIA,KAAJ,EAAW;EACT,UAAMnB,KAAK,GAAGmB,KAAK,CAACnB,KAAN,CAAY,GAAZ,CAAd;EACA,UAAMhE,IAAI,GAAGgE,KAAK,CAACG,KAAN,GAAciB,OAAd,CAAsB,KAAtB,EAA6B,GAA7B,CAAb;EACA,UAAMvJ,KAAK,GAAGmI,KAAK,CAACI,IAAN,CAAW,GAAX,EAAgBgB,OAAhB,CAAwB,KAAxB,EAA+B,GAA/B,CAAd;EACAF,MAAAA,IAAI,CAACG,MAAL,CAAYC,kBAAkB,CAACtF,IAAD,CAA9B,EAAsCsF,kBAAkB,CAACzJ,KAAD,CAAxD;EACD;EACF,GAVH;EAWA,SAAOqJ,IAAP;EACD,CAdD;;EAgBA,IAAM/C,iBAAiB,sBAAUJ,IAAV,EAAmB;EACxC,MAAMwD,MAAM,GAAG,IAAI9C,UAAJ,EAAf;EACA,MAAMO,OAAO,GAAGwC,eAAe,CAACD,MAAD,CAA/B;EACAA,EAAAA,MAAM,CAACE,iBAAP,CAAyB1D,IAAzB;EACA,SAAOiB,OAAP;EACD,CALsB,CAAvB;;EAOA,IAAMxB,UAAU,GAAG,SAAbA,UAAa,CAACO,IAAD,EAAU;EAC3B,MAAMwD,MAAM,GAAG,IAAI9C,UAAJ,EAAf;EACA,MAAMO,OAAO,GAAGwC,eAAe,CAACD,MAAD,CAA/B;EACAA,EAAAA,MAAM,CAACG,UAAP,CAAkB3D,IAAlB;EACA,SAAOiB,OAAP;EACD,CALD;;EAOA,IAAMvB,iBAAiB,GAAG,SAApBA,iBAAoB,CAACS,WAAD,EAAiB;EACzC,MAAMyD,IAAI,GAAG,IAAIC,UAAJ,CAAe1D,WAAf,CAAb;EACA,MAAM2D,KAAK,GAAG,IAAIC,KAAJ,CAAUH,IAAI,CAACzI,MAAf,CAAd;EACA,MAAIF,CAAC,GAAG,CAAR;;EACA,SAAOA,CAAC,GAAG2I,IAAI,CAACzI,MAAhB,EAAwB;EACtB2I,IAAAA,KAAK,CAAC7I,CAAD,CAAL,GAAW2E,MAAM,CAACoE,YAAP,CAAoBJ,IAAI,CAAC3I,CAAD,CAAxB,CAAX;EAEAA,IAAAA,CAAC;EACF;;EACD,SAAO6I,KAAK,CAACzB,IAAN,CAAW,EAAX,CAAP;EACD,CAVD;;EAYA,IAAMoB,eAAe,GAAG,SAAlBA,eAAkB,CAACD,MAAD,EAAY;EAClC,SAAO,IAAIvH,OAAJ,CAAY,UAAUC,OAAV,EAAmBI,MAAnB,EAA2B;EAC5CkH,IAAAA,MAAM,CAAC9F,MAAP,GAAgB,YAAY;EAC1BxB,MAAAA,OAAO,CAACsH,MAAM,CAAChH,MAAR,CAAP;EACD,KAFD;;EAGAgH,IAAAA,MAAM,CAAC/F,OAAP,GAAiB,YAAY;EAC3BnB,MAAAA,MAAM,CAACkH,MAAM,CAACnG,KAAR,CAAN;EACD,KAFD;EAGD,GAPM,CAAP;EAQD,CATD;;EAWA,IAAM6C,WAAW,GAAG,SAAdA,WAAc,CAACP,MAAD,EAAY;EAC9B,MAAIA,MAAM,CAACiD,KAAX,EAAkB;EAChB,WAAOjD,MAAM,CAACiD,KAAP,CAAa,CAAb,CAAP;EACD;;EACD,MAAMgB,IAAI,GAAG,IAAIC,UAAJ,CAAelE,MAAM,CAACsE,UAAtB,CAAb;EACAL,EAAAA,IAAI,CAACM,GAAL,CAAS,IAAIL,UAAJ,CAAelE,MAAf,CAAT;EACA,SAAOiE,IAAI,CAACjE,MAAZ;EACD,CAPD;;;;ECzTO,SAASwE,QAAT,CAAgBrK,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;EAC3C,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;EACA;;EACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;EAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;EACA;;EACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;EACA;;EAtBM,SAASsK,QAAT,CAAgBjI,CAAhB,EAAmB;EACzB,SAAO,YAAW;EACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;EACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;EACA;;EACD,QAAI;EACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;EACA,KAFD,CAEE,OAAMC,CAAN,EAAS;EACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD,GATD;EAUA;;EA7ED,IAAMgI,WAAW,sBAAU3H,GAAV,EAAsD;EAAA,iFAAP,EAAO;;EAAA,uBAArC4H,IAAqC;EAAA,MAArCA,IAAqC,0BAA9B,MAA8B;EAAA,MAAnBC,OAAmB;;EAAA,kBAC9C9D,MAAM,CAAC+D,KAAP,CAAa9H,GAAb;EACrB4H,IAAAA,IAAI,EAAJA;EADqB,KAElBC,OAFkB,EAD8C,YAC/DpF,QAD+D;EAMrE,WAAO;EACLzC,MAAAA,GAAG,EAAEyC,QAAQ,CAACzC,GADT;EAELmC,MAAAA,MAAM,EAAEM,QAAQ,CAACN,MAFZ;EAGLE,MAAAA,UAAU,EAAE,EAHP;EAILjC,MAAAA,OAAO,EAAE2H,iBAAiB,CAACtF,QAAD,CAJrB;EAKLK,MAAAA,IAAI,EAAE;EAAA,eAAML,QAAQ,CAACK,IAAT,EAAN;EAAA,OALD;EAMLK,MAAAA,IAAI,EAAE;EAAA,eAAMV,QAAQ,CAACU,IAAT,EAAN;EAAA,OAND;EAOLG,MAAAA,IAAI,EAAE;EAAA,eAAMb,QAAQ,CAACa,IAAT,EAAN;EAAA,OAPD;EAQLG,MAAAA,WAAW,EAAE;EAAA,eAAMhB,QAAQ,CAACgB,WAAT,EAAN;EAAA,OARR;EASLE,MAAAA,QAAQ,EAAE;EAAA,eAAMlB,QAAQ,CAACkB,QAAT,EAAN;EAAA;EATL,KAAP;EANqE;EAiBtE,CAjBgB,CAAjB;;EAmBA,IAAMoE,iBAAiB,GAAG,SAApBA,iBAAoB,CAACtF,QAAD,EAAc;EACtC,MAAMrC,OAAO,GAAG,EAAhB;EACAqC,EAAAA,QAAQ,CAACrC,OAAT,CAAiBzB,OAAjB,CAAyB,UAACvB,KAAD,EAAQmE,IAAR,EAAiB;EACxCnB,IAAAA,OAAO,CAACmB,IAAD,CAAP,GAAgBnE,KAAhB;EACD,GAFD;EAGA,SAAOgD,OAAP;EACD,CAND;;EAQO,IAAM4H,QAAQ,GACnB,OAAOjE,MAAM,CAAC+D,KAAd,KAAwB,UAAxB,IACA,OAAO/D,MAAM,CAACkE,eAAd,KAAkC,UADlC,GAEIN,WAFJ,GAGI5H,aAJC;;ECqDA,kBAAgB3C,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;EAC3C,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;EACA;;EACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;EAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;EACA;;EACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;EACA;;EAtBM,kBAAgBqC,CAAhB,EAAmB;EACzB,SAAO,YAAW;EACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;EACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;EACA;;EACD,QAAI;EACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;EACA,KAFD,CAEE,OAAMC,CAAN,EAAS;EACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD,GATD;EAUA;;EA/EM,IAAMuI,SAAS,sBAAUlI,GAAV,EAAgC;EAAA,MAAjB6H,OAAiB,uEAAP,EAAO;EAAA,kBAC7BG,QAAQ,CAAChI,GAAD,EAAM6H,OAAN,CADqB,YAC9CpF,QAD8C;EAAA,oBAE/BA,QAAQ,CAACU,IAAT,EAF+B;EAAA;EAIrD,CAJqB,CAAf;;ECkFA,kBAAgB/F,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;EAC3C,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;EACA;;EACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;EAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;EACA;;EACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;EACA;;EAsdM,gBAAgByC,IAAhB,EAAsBsI,OAAtB,EAA+B;EACrC,MAAI;EACH,QAAIrI,MAAM,GAAGD,IAAI,EAAjB;EACA,GAFD,CAEE,OAAMF,CAAN,EAAS;EACV,WAAOwI,OAAO,CAACxI,CAAD,CAAd;EACA;;EACD,MAAIG,MAAM,IAAIA,MAAM,CAACT,IAArB,EAA2B;EAC1B,WAAOS,MAAM,CAACT,IAAP,CAAY,KAAK,CAAjB,EAAoB8I,OAApB,CAAP;EACA;;EACD,SAAOrI,MAAP;EACA;;EAtfM,kBAAgBL,CAAhB,EAAmB;EACzB,SAAO,YAAW;EACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;EACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;EACA;;EACD,QAAI;EACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;EACA,KAFD,CAEE,OAAMC,CAAN,EAAS;EACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD,GATD;EAUA;;EA/EM,IAAMyI,kBAAkB,wBAA8B;EAAA,iFAAP,EAAO;EAAA,MAAlBnI,MAAkB,QAAlBA,MAAkB;;EAAA,4BACvD;EAAA,oBAC0BiI,SAAS,CAAC,wBAAD,EAA2B;EAC9DjI,MAAAA,MAAM,EAANA;EAD8D,KAA3B,CADnC;EAKH,GAN0D,YAMlDN,CANkD,EAM/C;EACV,QAAIM,MAAM,IAAIA,MAAM,CAACoI,OAAjB,IAA4B1I,CAAC,CAAC4B,IAAF,KAAW,YAA3C,EAAyD;EACvD,YAAM5B,CAAN;EACD;;EACD,UAAM,IAAIuB,KAAJ,iGAGRvB,CAAC,CAAC2E,KAHM,EAAN;EAKD,GAf0D;EAgB5D,CAhB8B,CAAxB;;EC0DA,IAAMgE,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD,EAAUC,MAAV,EAAqB;EAC5C,MAAMC,YAAY,GAAGF,OAAO,CAACG,KAA7B;EACA,MAAMC,aAAa,GAAGtL,MAAM,CAACQ,IAAP,CAAY2K,MAAZ,EAAoBI,GAApB,CAAwB,UAACC,SAAD,EAAe;EAC3D,QAAIC,OAAJ;;EACA,QAAID,SAAS,IAAIJ,YAAjB,EAA+B;EAC7B,UAAMM,YAAY,GAAGN,YAAY,CAACI,SAAD,CAAjC;;EACAC,MAAAA,OAAO,GAAG,mBAAM;EACdL,QAAAA,YAAY,CAACI,SAAD,CAAZ,GAA0BE,YAA1B;EACD,OAFD;EAGD,KALD,MAKO;EACLD,MAAAA,OAAO,GAAG,mBAAM;EACd,eAAOL,YAAY,CAACI,SAAD,CAAnB;EACD,OAFD;EAGD;;EAEDJ,IAAAA,YAAY,CAACI,SAAD,CAAZ,GAA0BL,MAAM,CAACK,SAAD,CAAhC;EAEA,WAAOC,OAAP;EACD,GAhBqB,CAAtB;EAiBA,SAAO,YAAM;EACXH,IAAAA,aAAa,CAAChK,OAAd,CAAsB,UAACmK,OAAD;EAAA,aAAaA,OAAO,EAApB;EAAA,KAAtB;EACD,GAFD;EAGD,CAtBM;EAwBA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACT,OAAD,EAAUU,UAAV,EAAyB;EACpD5L,EAAAA,MAAM,CAACQ,IAAP,CAAYoL,UAAZ,EAAwBtK,OAAxB,CAAgC,UAAC4C,IAAD,EAAU;EACxCgH,IAAAA,OAAO,CAACW,YAAR,CAAqB3H,IAArB,EAA2B0H,UAAU,CAAC1H,IAAD,CAArC;EACD,GAFD;EAGD,CAJM;;ECAA,SAASkG,MAAT,CAAgBrK,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;EAC3C,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;EACA;;EACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;EAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;EACA;;EACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;EACA;;EAxFD,IAAM+L,0BAA0B,GAAG,oCAAnC;;EA2gBO,SAASC,KAAT,CAAevJ,IAAf,EAAqBR,IAArB,EAA2BC,MAA3B,EAAmC;EACzC,MAAIA,MAAJ,EAAY;EACX,WAAOD,IAAI,GAAGA,IAAI,CAACQ,IAAI,EAAL,CAAP,GAAkBA,IAAI,EAAjC;EACA;;EACD,MAAI;EACH,QAAIC,MAAM,GAAGP,OAAO,CAACC,OAAR,CAAgBK,IAAI,EAApB,CAAb;EACA,WAAOR,IAAI,GAAGS,MAAM,CAACT,IAAP,CAAYA,IAAZ,CAAH,GAAuBS,MAAlC;EACA,GAHD,CAGE,OAAOH,CAAP,EAAU;EACX,WAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD;;EAphBD,IAAM0J,eAAe,GAAG,mHAAxB;;EAiEO,SAAS3B,MAAT,CAAgBjI,CAAhB,EAAmB;EACzB,SAAO,YAAW;EACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;EACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;EACA;;EACD,QAAI;EACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;EACA,KAFD,CAEE,OAAMC,CAAN,EAAS;EACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;EACA;EACD,GATD;EAUA;;EA1ED,IAAM2J,aAAa,sBAAe;EAAA,gBAC1B,IAAI/J,OAAJ,CAAY,UAACC,OAAD,EAAa;EAC7B,QAAIuE,MAAM,CAACwF,mBAAX,EAAgC;EAC9BxF,MAAAA,MAAM,CAACwF,mBAAP,CAA2B/J,OAA3B;EACD,KAFD,MAEO;EACLuE,MAAAA,MAAM,CAACyF,qBAAP,CAA6BhK,OAA7B;EACD;EACF,GANK,CAD0B;EAAA,iBASY4I,kBATZ;EAAA,UASxBqB,yBATwB,QASxBA,yBATwB;EAUhC,UAAMC,uBAAuB,GAAGC,UAAU,CACxCF,yBADwC,EAExCG,QAAQ,CAACjF,QAAT,CAAkBE,MAFsB,CAA1C;EAKA,UAAMgF,WAAW,GAAGC,qBAAqB,EAAzC;EAEA,UAAMC,MAAM,GAAGH,QAAQ,CAACI,aAAT,CAAuB,QAAvB,CAAf;EACAhB,MAAAA,aAAa,CAACe,MAAD,EAAS;EACpBE,QAAAA,QAAQ,EAAE,CAAC,CADS;EAEpB;EACA;EACAC,QAAAA,iBAAiB,EAAE;EAJC,OAAT,CAAb;EAMA5B,MAAAA,SAAS,CAACyB,MAAD,EAAS;EAChB,oBAAY,OADI;EAEhB,kBAAU,IAFM;EAGhB,kBAAU,CAHM;EAIhB,gBAAQ,CAJQ;EAKhB,iBAAS,MALO;EAMhB,kBAAU,CANM;;EAOhB;EACA,sBAAc,QARE;EAShB,+BAAuB,OATP;EAUhB,+BAAuB,oBAVP;EAWhB,kBAAU;EAXM,OAAT,CAAT;EAaA,UAAMI,mBAAmB,GAAGC,qBAAqB,CAACL,MAAD,CAAjD;EACA,UAAMM,yBAAyB,GAAGV,UAAU,CAC1CR,0BAD0C,EAE1CO,uBAF0C,CAA5C,CAtCgC;;EA2ChCK,MAAAA,MAAM,CAACb,YAAP,CAAoB,KAApB,EAA2BmB,yBAA3B;EACAR,MAAAA,WAAW,CAACS,UAAZ,CAAuBC,YAAvB,CAAoCR,MAApC,EAA4CF,WAA5C;EA5CgC,oBA8C1BM,mBA9C0B;EA+ChCJ,QAAAA,MAAM,CAACS,eAAP,CAAuB,UAAvB;EAEA,YAAMC,GAAG,GAAGb,QAAQ,CAACI,aAAT,CAAuB,KAAvB,CAAZ;EACAS,QAAAA,GAAG,CAACC,SAAJ,oHAGqBrB,eAHrB;EA8CA,YAAMsB,cAAc,GAAGF,GAAG,CAACG,iBAA3B;EACAb,QAAAA,MAAM,CAACO,UAAP,CAAkBO,WAAlB,CAA8BF,cAA9B;EAEA,YAAIG,KAAJ;;EACAH,QAAAA,cAAc,CAACI,YAAf,GAA8B,YAAM;EAClCJ,UAAAA,cAAc,CAACzB,YAAf,CAA4B,cAA5B,EAA4C,EAA5C;EACA4B,UAAAA,KAAK,GAAGE,UAAU,CAACC,oBAAD,EAAuB,GAAvB,CAAlB;EACD,SAHD;;EAIAN,QAAAA,cAAc,CAACO,YAAf,GAA8B,YAAM;EAClCC,UAAAA,YAAY,CAACL,KAAD,CAAZ;EACAM,UAAAA,sBAAsB;EACvB,SAHD;;EAIAT,QAAAA,cAAc,CAACU,OAAf,GAAyB,YAAM;EAC7BV,UAAAA,cAAc,CAACH,eAAf,CAA+B,cAA/B;EACAS,UAAAA,oBAAoB;EACrB,SAHD;;EAIAN,QAAAA,cAAc,CAACW,MAAf,GAAwB,YAAM;EAC5BX,UAAAA,cAAc,CAACH,eAAf,CAA+B,cAA/B;EACAW,UAAAA,YAAY,CAACL,KAAD,CAAZ;EACAM,UAAAA,sBAAsB;EACvB,SAJD;;EAKAT,QAAAA,cAAc,CAACY,OAAf,GAAyB,YAAM;EAC7BC,UAAAA,oBAAoB,CAACzB,MAAD,EAAS,aAAT,CAApB;EACD,SAFD;;EAIA,YAAM0B,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;EAC/Bd,UAAAA,cAAc,CAACjC,KAAf,CAAqBgD,OAArB,GAA+B,OAA/B;EACD,SAFD;;EAIA,YAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;EAC/BhB,UAAAA,cAAc,CAACjC,KAAf,CAAqBgD,OAArB,GAA+B,MAA/B;EACD,SAFD;;EAIA,YAAMT,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjCN,UAAAA,cAAc,CAACzB,YAAf,CAA4B,eAA5B,EAA6C,EAA7C;EACD,SAFD;;EAIA,YAAMkC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;EACnCT,UAAAA,cAAc,CAACH,eAAf,CAA+B,eAA/B,EAAgD,EAAhD;EACD,SAFD;;EAIAmB,QAAAA,kBAAkB;EAClBC,QAAAA,uBAAuB,CAAC7B,MAAD,EAAS,2BAAT,EAAsC,UAAC8B,OAAD,EAAa;EACxE,cAAIA,OAAJ,EAAa;EACXF,YAAAA,kBAAkB;EACnB,WAFD,MAEO;EACLF,YAAAA,kBAAkB;EACnB;EACF,SANsB,CAAvB;EAOAG,QAAAA,uBAAuB,CAAC7B,MAAD,EAAS,eAAT,EAA0B,YAAM;EACrDyB,UAAAA,oBAAoB,CAACzB,MAAD,EAAS,eAAT,CAApB;EACD,SAFsB,CAAvB;EAIA,eAAOA,MAAP;EArJgC;EAAA;EAAA;EAsJjC,CAtJkB,CAAnB;;EAwJA,IAAM6B,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAC7B,MAAD,EAAS+B,SAAT,EAAoBC,QAApB,EAAiC;EAC/D,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,YAAD,EAAkB;EAC7C,QAAQC,IAAR,GAAiBD,YAAjB,CAAQC,IAAR;;EACA,QAAI,QAAOA,IAAP,MAAgB,QAApB,EAA8B;EAC5B;EACD;;EACD,QAAQC,SAAR,GAAsBD,IAAtB,CAAQC,SAAR;;EACA,QAAI,CAACA,SAAL,EAAgB;EACd;EACD;;EACD,QAAIA,SAAS,CAACC,KAAV,KAAoBN,SAAxB,EAAmC;EACjC;EACD;;EACDC,IAAAA,QAAQ,CAACI,SAAS,CAACD,IAAX,CAAR;EACD,GAbD;;EAeAnI,EAAAA,MAAM,CAAC3C,gBAAP,CAAwB,SAAxB,EAAmC4K,oBAAnC,EAAyD,KAAzD;EACA,SAAO,YAAM;EACXjI,IAAAA,MAAM,CAACsI,mBAAP,CAA2B,SAA3B,EAAsCL,oBAAtC,EAA4D,KAA5D;EACD,GAFD;EAGD,CApBD;;EAsBA,IAAMR,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACzB,MAAD,EAASuC,OAAT,EAA8B;EAAA,oCAAT5M,IAAS;EAATA,IAAAA,IAAS;EAAA;;EACzDqK,EAAAA,MAAM,CAACwC,aAAP,CAAqBC,WAArB,CACE;EACEL,IAAAA,SAAS,EAAE;EACTG,MAAAA,OAAO,EAAPA,OADS;EAET5M,MAAAA,IAAI,EAAJA;EAFS;EADb,GADF,EAOEqE,MAAM,CAACc,MAPT;EASD,CAVD;;EAYA,IAAMiF,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;EAClC,MAAMD,WAAW,GAAG4C,gBAAgB,EAApC;;EACA,MAAI5C,WAAJ,EAAiB;EACf,QAAID,QAAQ,CAAC/J,IAAT,CAAc6M,QAAd,CAAuB7C,WAAvB,CAAJ,EAAyC;EACvC,aAAOA,WAAP;EACD,KAHc;;;EAKf8C,IAAAA,OAAO,CAACC,IAAR,CACE,4EADF;EAGA,WAAOC,yBAAyB,EAAhC;EACD;;EACD,SAAOA,yBAAyB,EAAhC;EACD,CAbD;;EAeA,IAAMJ,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;EAC7B,SAAO7C,QAAQ,CAACkD,aAAT,CAAuB,kCAAvB,CAAP;EACD,CAFD;;EAIA,IAAMD,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;EACtC,MAAMhD,WAAW,GAAGD,QAAQ,CAACI,aAAT,CAAuB,MAAvB,CAApB;EACAJ,EAAAA,QAAQ,CAAC/J,IAAT,CAAcgL,WAAd,CAA0BhB,WAA1B;EACA,SAAOA,WAAP;EACD,CAJD;;EAMA,IAAMO,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACL,MAAD,EAAY;EACxC,SAAO,IAAIxK,OAAJ,CAAY,UAACC,OAAD,EAAa;EAC9B,QAAMwB,MAAM,GAAG,SAATA,MAAS,GAAM;EACnB+I,MAAAA,MAAM,CAACsC,mBAAP,CAA2B,MAA3B,EAAmCrL,MAAnC,EAA2C,IAA3C;EACAxB,MAAAA,OAAO;EACR,KAHD;;EAIAuK,IAAAA,MAAM,CAAC3I,gBAAP,CAAwB,MAAxB,EAAgCJ,MAAhC,EAAwC,IAAxC;EACD,GANM,CAAP;EAOD,CARD;;EAUA,IAAM2I,UAAU,GAAG,SAAbA,UAAa,CAAC3J,GAAD,EAAM+M,OAAN;EAAA,SAAkB7J,MAAM,CAAC,IAAI8J,GAAJ,CAAQhN,GAAR,EAAa+M,OAAb,CAAD,CAAxB;EAAA,CAAnB;;EAEA,IAAInD,QAAQ,CAACpI,UAAT,KAAwB,UAA5B,EAAwC;EACtC8H,EAAAA,aAAa;EACd,CAFD,MAEO;EACLvF,EAAAA,MAAM,CAAC3C,gBAAP,CAAwB,MAAxB,EAAgCkI,aAAhC;EACD;;;;;;"
|
|
293
|
+
"mappings": "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"
|
|
294
294
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsenv/core",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.4.1",
|
|
4
4
|
"description": "Tool to develop, test and build js projects",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
"/src/",
|
|
28
28
|
"/main.js"
|
|
29
29
|
],
|
|
30
|
+
"workspaces": [
|
|
31
|
+
"./packages/*"
|
|
32
|
+
],
|
|
30
33
|
"scripts": {
|
|
31
34
|
"eslint": "node ./node_modules/eslint/bin/eslint.js . --ext=.js,.mjs,.cjs,.html",
|
|
32
35
|
"importmap": "node ./script/importmap/importmap.js",
|
|
@@ -39,8 +42,8 @@
|
|
|
39
42
|
"file-size": "node ./script/file_size/file_size.mjs --log",
|
|
40
43
|
"prettier": "prettier --write .",
|
|
41
44
|
"playwright-install": "npx playwright install-deps && npx playwright install",
|
|
42
|
-
"packages-install": "node ./script/packages/packages_install.js",
|
|
43
45
|
"certificate-install": "node ./script/dev/install_certificate_authority.mjs",
|
|
46
|
+
"sync-workspace-versions": "node ./script/dev/sync_workspace_versions.mjs",
|
|
44
47
|
"prepublishOnly": "npm run build"
|
|
45
48
|
},
|
|
46
49
|
"optionalDependencies": {
|
|
@@ -59,11 +62,12 @@
|
|
|
59
62
|
"@babel/plugin-transform-modules-systemjs": "7.16.5",
|
|
60
63
|
"@c88/v8-coverage": "0.1.1",
|
|
61
64
|
"@jsenv/abort": "4.1.2",
|
|
62
|
-
"@jsenv/filesystem": "2.
|
|
65
|
+
"@jsenv/filesystem": "2.7.1",
|
|
63
66
|
"@jsenv/importmap": "1.2.0",
|
|
67
|
+
"@jsenv/integrity": "0.0.1",
|
|
64
68
|
"@jsenv/log": "1.5.0",
|
|
65
69
|
"@jsenv/logger": "4.0.1",
|
|
66
|
-
"@jsenv/server": "12.
|
|
70
|
+
"@jsenv/server": "12.4.1",
|
|
67
71
|
"@jsenv/uneval": "1.6.0",
|
|
68
72
|
"@rollup/plugin-commonjs": "21.0.1",
|
|
69
73
|
"@rollup/plugin-json": "4.1.0",
|
|
@@ -112,15 +116,15 @@
|
|
|
112
116
|
"@babel/plugin-transform-typescript": "7.16.1",
|
|
113
117
|
"@babel/preset-env": "7.16.5",
|
|
114
118
|
"@jsenv/assert": "2.4.1",
|
|
115
|
-
"@jsenv/babel-preset": "
|
|
119
|
+
"@jsenv/babel-preset": "1.1.2",
|
|
116
120
|
"@jsenv/eslint-config": "16.0.9",
|
|
117
|
-
"@jsenv/file-size-impact": "12.1.
|
|
118
|
-
"@jsenv/github-release-package": "1.
|
|
119
|
-
"@jsenv/https-local": "1.0.
|
|
120
|
-
"@jsenv/importmap-eslint-resolver": "5.2.
|
|
121
|
-
"@jsenv/importmap-node-module": "5.1.
|
|
122
|
-
"@jsenv/package-publish": "1.
|
|
123
|
-
"@jsenv/performance-impact": "2.2.
|
|
121
|
+
"@jsenv/file-size-impact": "12.1.6",
|
|
122
|
+
"@jsenv/github-release-package": "1.3.4",
|
|
123
|
+
"@jsenv/https-local": "1.0.7",
|
|
124
|
+
"@jsenv/importmap-eslint-resolver": "5.2.5",
|
|
125
|
+
"@jsenv/importmap-node-module": "5.1.3",
|
|
126
|
+
"@jsenv/package-publish": "1.7.2",
|
|
127
|
+
"@jsenv/performance-impact": "2.2.6",
|
|
124
128
|
"@jsenv/pwa": "4.0.1",
|
|
125
129
|
"babel-plugin-transform-async-to-promises": "0.8.17",
|
|
126
130
|
"eslint": "7.32.0",
|
package/readme.md
CHANGED
|
@@ -255,6 +255,60 @@ build duration: 1.85 seconds
|
|
|
255
255
|
|
|
256
256
|
To read more about jsenv build tool, check [jsenv build documentation](./docs/building/readme.md#jsenv-build).
|
|
257
257
|
|
|
258
|
+
# Installation
|
|
259
|
+
|
|
260
|
+
```console
|
|
261
|
+
npm install --save-dev @jsenv/core
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
_@jsenv/core_ is tested on Mac, Windows, Linux on Node.js 16.13.0. Other operating systems and Node.js versions are not tested.
|
|
265
|
+
|
|
266
|
+
# Configuration
|
|
267
|
+
|
|
268
|
+
We recommend to put some jsenv configuration in a top level file named _jsenv.config.mjs_.
|
|
269
|
+
|
|
270
|
+
The presence of a jsenv configuration file is **optional**.
|
|
271
|
+
|
|
272
|
+
```js
|
|
273
|
+
/*
|
|
274
|
+
* This file exports configuration reused by other files such as
|
|
275
|
+
*
|
|
276
|
+
* script/test/test.mjs
|
|
277
|
+
* script/build/build.mjs
|
|
278
|
+
*
|
|
279
|
+
* Read more at https://github.com/jsenv/jsenv-core#configuration
|
|
280
|
+
*/
|
|
281
|
+
|
|
282
|
+
export const projectDirectoryUrl = new URL("./", import.meta.url)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
_jsenv.config.mjs_ is meant to share configuration, other files will simply import what they need.
|
|
286
|
+
|
|
287
|
+
```diff
|
|
288
|
+
import { buildProject } from '@jsenv/core'
|
|
289
|
+
|
|
290
|
+
+ import { projectDirectoryUrl } from "./jsenv.config.mjs"
|
|
291
|
+
|
|
292
|
+
await buildProject({
|
|
293
|
+
- projectDirectoryUrl: new URL('./', import.meta.url)
|
|
294
|
+
+ projectDirectoryUrl
|
|
295
|
+
})
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
> We recommend to use ".mjs" extension when a file is written for Node.js but you can name the file as you want, "jsenv.config.js" is fine too.
|
|
299
|
+
|
|
300
|
+
# Documentation
|
|
301
|
+
|
|
302
|
+
| Link | Description |
|
|
303
|
+
| -------------------------------------------------------- | ------------------------------------------ |
|
|
304
|
+
| [Browser support](./docs/browser_support/readme.md) | Documentation around browser support |
|
|
305
|
+
| [Assets](./docs/assets/readme.md) | How to use assets (CSS, JSON, images, ...) |
|
|
306
|
+
| [Web workers](./docs/web_workers/readme.md) | How to use web workers |
|
|
307
|
+
| [NPM package](./docs/npm_package/readme.md) | How to use a NPM package |
|
|
308
|
+
| [CDN](./docs/cdn/readme.md) | How to use ressources from CDN |
|
|
309
|
+
| [React](./docs/react/readme.md) | How to enable react (or preact) and JSX |
|
|
310
|
+
| [TypeScript (Experimental)](./docs/typescript/readme.md) | How to enable TypeScript |
|
|
311
|
+
|
|
258
312
|
# About
|
|
259
313
|
|
|
260
314
|
Jsenv was first created to write tests that could be executed in different runtimes. It has naturally evolved to cover the core needs of a JavaScript project:
|
|
@@ -324,60 +378,6 @@ The logo is composed by the name at the center and two circles orbiting around i
|
|
|
324
378
|
|
|
325
379
|
</details>
|
|
326
380
|
|
|
327
|
-
# Installation
|
|
328
|
-
|
|
329
|
-
```console
|
|
330
|
-
npm install --save-dev @jsenv/core
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
_@jsenv/core_ is tested on Mac, Windows, Linux on Node.js 16.13.0. Other operating systems and Node.js versions are not tested.
|
|
334
|
-
|
|
335
|
-
# Configuration
|
|
336
|
-
|
|
337
|
-
We recommend to put some jsenv configuration in a top level file named _jsenv.config.mjs_.
|
|
338
|
-
|
|
339
|
-
The presence of a jsenv configuration file is **optional**.
|
|
340
|
-
|
|
341
|
-
```js
|
|
342
|
-
/*
|
|
343
|
-
* This file exports configuration reused by other files such as
|
|
344
|
-
*
|
|
345
|
-
* script/test/test.mjs
|
|
346
|
-
* script/build/build.mjs
|
|
347
|
-
*
|
|
348
|
-
* Read more at https://github.com/jsenv/jsenv-core#configuration
|
|
349
|
-
*/
|
|
350
|
-
|
|
351
|
-
export const projectDirectoryUrl = new URL("./", import.meta.url)
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
_jsenv.config.mjs_ is meant to share configuration, other files will simply import what they need.
|
|
355
|
-
|
|
356
|
-
```diff
|
|
357
|
-
import { buildProject } from '@jsenv/core'
|
|
358
|
-
|
|
359
|
-
+ import { projectDirectoryUrl } from "./jsenv.config.mjs"
|
|
360
|
-
|
|
361
|
-
await buildProject({
|
|
362
|
-
- projectDirectoryUrl: new URL('./', import.meta.url)
|
|
363
|
-
+ projectDirectoryUrl
|
|
364
|
-
})
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
> We recommend to use ".mjs" extension when a file is written for Node.js but you can name the file as you want, "jsenv.config.js" is fine too.
|
|
368
|
-
|
|
369
|
-
# Documentation
|
|
370
|
-
|
|
371
|
-
| Link | Description |
|
|
372
|
-
| -------------------------------------------------------- | ------------------------------------------ |
|
|
373
|
-
| [Browser support](./docs/browser_support/readme.md) | Documentation around browser support |
|
|
374
|
-
| [Assets](./docs/assets/readme.md) | How to use assets (CSS, JSON, images, ...) |
|
|
375
|
-
| [CDN](./docs/cdn/readme.md) | How to use ressources from CDN |
|
|
376
|
-
| [Web workers](./docs/web_workers/readme.md) | How to use web workers |
|
|
377
|
-
| [NPM package](./docs/npm_package/readme.md) | How to use a NPM package |
|
|
378
|
-
| [React](./docs/react/readme.md) | How to enable react (or preact) and JSX |
|
|
379
|
-
| [TypeScript (Experimental)](./docs/typescript/readme.md) | How to enable TypeScript |
|
|
380
|
-
|
|
381
381
|
# See also
|
|
382
382
|
|
|
383
383
|
| Link | Description |
|