From 75e34726d3ef97ede6be1ad9038c9bcc9d2d6cd9 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Mon, 26 Feb 2024 23:13:26 +0530 Subject: [PATCH 01/22] Add ability to spawn code notebooks first-commit --- .../tools/oncoprinter/JupyterNotebookTool.tsx | 76 +++++++++++++++++ src/routes.tsx | 11 +++ .../oncoprint/ResultsViewOncoprint.tsx | 81 +++++++++++++++++++ .../oncoprint/controls/OncoprintControls.tsx | 26 +++++- 4 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx new file mode 100644 index 00000000000..16f04d39ec2 --- /dev/null +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -0,0 +1,76 @@ +import * as React from 'react'; +import { observer } from 'mobx-react'; +import { Helmet } from 'react-helmet'; +import { PageLayout } from '../../../../shared/components/PageLayout/PageLayout'; +import OncoprinterStore from './OncoprinterStore'; +import { observable, makeObservable } from 'mobx'; +import { getBrowserWindow } from 'cbioportal-frontend-commons'; + +export interface IOncoprinterToolProps {} + +@observer +export default class JupyterNotebookTool extends React.Component< + IOncoprinterToolProps, + {} +> { + private store = new OncoprinterStore(); + + @observable geneticDataInput = ''; + @observable clinicalDataInput = ''; + @observable heatmapDataInput = ''; + @observable geneOrderInput = ''; + @observable sampleOrderInput = ''; + + constructor(props: IOncoprinterToolProps) { + super(props); + makeObservable(this); + (window as any).oncoprinterTool = this; + } + + componentDidMount() { + const postData = getBrowserWindow().clientPostedData; + if (postData) { + this.geneticDataInput = postData.genetic; + this.clinicalDataInput = postData.clinical; + this.heatmapDataInput = postData.heatmap; + getBrowserWindow().clientPostedData = null; + } + } + + render() { + const clinical_data = JSON.stringify([700, 5, 300, 900, 850, 517]); + + const code0 = `import numpy as np\n`; + const code1 = `# Example analysis using NumPy\nmean = np.mean(${clinical_data})\nmedian = np.median(${clinical_data})\nstd = np.std(${clinical_data})\n`; + const code2 = `print("Mean:", mean)\nprint("Median:", median)\nprint("Standard Deviation:", std)`; + + const final_code = [code0, code1, code2].join('\n'); + + return ( + + + + {'cBioPortal for Cancer Genomics::JupyterNotebook'} + + +
+

+ Oncoprinter +

{' '} + Jupyter Notebook for visualization and advance works. +
+
+
+ +
+
+
+ ); + } +} diff --git a/src/routes.tsx b/src/routes.tsx index 0f640d186da..00c077d7d05 100755 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -62,6 +62,13 @@ const OncoprinterTool = SuspenseWrapper( ) ); +const JupyterNotebookTool = SuspenseWrapper( + React.lazy(() => + // @ts-ignore + import('./pages/staticPages/tools/oncoprinter/JupyterNotebookTool') + ) +); + const Visualize = SuspenseWrapper( // @ts-ignore React.lazy(() => import('./pages/staticPages/visualize/Visualize')) @@ -416,6 +423,10 @@ export const makeRoutes = () => { + diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index fde9efce8e2..b85fb6830f1 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -1095,6 +1095,87 @@ export default class ResultsViewOncoprint extends React.Component< } ); break; + case 'jupyterNoteBook': + onMobxPromise( + [ + this.props.store.samples, + this.props.store.patients, + this.geneticTracks, + this.clinicalTracks, + this.heatmapTracks, + this.genesetHeatmapTracks, + this.props.store + .clinicalAttributeIdToClinicalAttribute, + ], + ( + samples: Sample[], + patients: Patient[], + geneticTracks: GeneticTrackSpec[], + clinicalTracks: ClinicalTrackSpec[], + heatmapTracks: IHeatmapTrackSpec[], + genesetHeatmapTracks: IGenesetHeatmapTrackSpec[], + attributeIdToAttribute: { + [attributeId: string]: ClinicalAttribute; + } + ) => { + const caseIds = + this.oncoprintAnalysisCaseType === + OncoprintAnalysisCaseType.SAMPLE + ? samples.map(s => s.sampleId) + : patients.map(p => p.patientId); + + let geneticInput = ''; + if (geneticTracks.length > 0) { + geneticInput = getOncoprinterGeneticInput( + geneticTracks, + caseIds, + this.oncoprintAnalysisCaseType + ); + } + + let clinicalInput = ''; + if (clinicalTracks.length > 0) { + const oncoprintClinicalData = _.flatMap( + clinicalTracks, + (track: ClinicalTrackSpec) => track.data + ); + clinicalInput = getOncoprinterClinicalInput( + oncoprintClinicalData, + caseIds, + clinicalTracks.map( + track => track.attributeId + ), + attributeIdToAttribute, + this.oncoprintAnalysisCaseType + ); + } + + let heatmapInput = ''; + if (heatmapTracks.length > 0) { + heatmapInput = getOncoprinterHeatmapInput( + heatmapTracks, + caseIds, + this.oncoprintAnalysisCaseType + ); + } + + if (genesetHeatmapTracks.length > 0) { + alert( + 'Oncoprinter does not support geneset heatmaps - all other tracks will still be exported.' + ); + } + + const jupyterNotebookTool = window.open( + buildCBioPortalPageUrl('/jupyternotebook') + ) as any; + jupyterNotebookTool.clientPostedData = { + genetic: geneticInput, + clinical: clinicalInput, + heatmap: heatmapInput, + }; + } + ); + break; } }, onSetHorzZoom: (z: number) => { diff --git a/src/shared/components/oncoprint/controls/OncoprintControls.tsx b/src/shared/components/oncoprint/controls/OncoprintControls.tsx index 887dfd78745..0494a0c749a 100644 --- a/src/shared/components/oncoprint/controls/OncoprintControls.tsx +++ b/src/shared/components/oncoprint/controls/OncoprintControls.tsx @@ -68,7 +68,14 @@ export interface IOncoprintControlsHandlers onClickSortAlphabetical?: () => void; onClickSortCaseListOrder?: () => void; onClickDownload?: ( - type: 'pdf' | 'png' | 'svg' | 'order' | 'tabular' | 'oncoprinter' + type: + | 'pdf' + | 'png' + | 'svg' + | 'order' + | 'tabular' + | 'oncoprinter' + | 'jupyterNoteBook' ) => void; onChangeSelectedClinicalTracks?: ( trackConfigs: ClinicalTrackConfig[] @@ -135,6 +142,7 @@ export interface IOncoprintControlsProps { handlers: IOncoprintControlsHandlers; state: IOncoprintControlsState; oncoprinterMode?: boolean; + jupyterNotebookMode?: boolean; molecularProfileIdToMolecularProfile?: { [molecularProfileId: string]: MolecularProfile; }; @@ -182,6 +190,7 @@ const EVENT_KEY = { downloadOrder: '28', downloadTabular: '29', downloadOncoprinter: '29.1', + openJupyterNotebook: '32', horzZoomSlider: '30', viewNGCHM: '31', }; @@ -428,6 +437,9 @@ export default class OncoprintControls extends React.Component< this.props.handlers.onClickDownload && this.props.handlers.onClickDownload('oncoprinter'); break; + case EVENT_KEY.openJupyterNotebook: + this.props.handlers.onClickDownload && + this.props.handlers.onClickDownload('jupyterNoteBook'); case EVENT_KEY.viewNGCHM: if ( this.props.state.ngchmButtonActive && @@ -1141,6 +1153,18 @@ export default class OncoprintControls extends React.Component< Open in Oncoprinter )} + + {!this.props.jupyterNotebookMode && + getServerConfig().skin_hide_download_controls === + DownloadControlOption.SHOW_ALL && ( + + )} ) : null; }); From a0164069aa385f712d1eedb1ed5eb641aa607411 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Wed, 28 Feb 2024 14:35:31 +0530 Subject: [PATCH 02/22] Toolbar added to run the code --- src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index 16f04d39ec2..c335de998ce 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -62,7 +62,7 @@ export default class JupyterNotebookTool extends React.Component<
From 6684d511eeac8af20cdaba3a77a9d2f4e1dfed35 Mon Sep 17 00:00:00 2001 From: Gautam Sarawagi <101802666+gautamsarawagi@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:49:06 +0530 Subject: [PATCH 05/22] Create READEME.md for the notebook --- notebook/READEME.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 notebook/READEME.md diff --git a/notebook/READEME.md b/notebook/READEME.md new file mode 100644 index 00000000000..49af2f6dffa --- /dev/null +++ b/notebook/READEME.md @@ -0,0 +1,7 @@ +## For using the notebook and its features: + +1. Naviagte to the `notebook` directory. +2. Create a **conda** environement with this code: `conda create -n jupyterlab-iframe-ext --override-channels --strict-channel-priority -c conda-forge -c nodefaults jupyterlab=4 nodejs=20 git copier=7 jinja2-time jupyterlite-core`. +3. Activate it using the command: `conda activate jupyterlab-iframe-ext` +4. Then, install all the dependencies of the `**kernel**` and others using the command: `jupyter lite build --output-dir lite`. +5. Then try to run the command to check the notebook : `python -m http.server -b 127.0.0.1` From 0f00437f194a783ff98a68201d309c053547b580 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Fri, 22 Mar 2024 01:15:07 +0530 Subject: [PATCH 06/22] File Communication with Button Added and Notebook Code Removed --- notebook/index.html | 15 - notebook/lite/api/translations/all.json | 9 - notebook/lite/api/translations/en.json | 4 - notebook/lite/bootstrap.js | 96 - notebook/lite/config-utils.js | 273 - notebook/lite/consoles/build/bootstrap.js | 96 - notebook/lite/consoles/build/index.js | 558 -- notebook/lite/consoles/build/style.js | 34 - notebook/lite/consoles/index.html | 37 - notebook/lite/consoles/jupyter-lite.json | 11 - notebook/lite/consoles/package.json | 312 - notebook/lite/doc/tree/index.html | 14 - notebook/lite/doc/workspaces/index.html | 14 - notebook/lite/edit/build/bootstrap.js | 96 - notebook/lite/edit/build/index.js | 606 -- notebook/lite/edit/build/style.js | 39 - notebook/lite/edit/index.html | 37 - notebook/lite/edit/jupyter-lite.json | 11 - notebook/lite/edit/package.json | 326 - .../pyodide-kernel-extension/install.json | 5 - .../pyodide-kernel-extension/package.json | 93 - .../static/128.fd6a7bd994d997285906.js | 5880 ----------------- .../static/128.fd6a7bd994d997285906.js.map | 1 - .../static/154.44c9e2db1c8a2cc6b5da.js | 90 - .../static/154.44c9e2db1c8a2cc6b5da.js.map | 1 - .../static/576.ee3d77f00b3c07797681.js | 422 -- .../576.ee3d77f00b3c07797681.js.LICENSE.txt | 5 - .../static/576.ee3d77f00b3c07797681.js.map | 1 - .../static/600.0dd7986d3894bd09e26d.js | 520 -- .../600.0dd7986d3894bd09e26d.js.LICENSE.txt | 5 - .../static/600.0dd7986d3894bd09e26d.js.map | 1 - .../static/pypi/all.json | 128 - .../remoteEntry.badedd5607b5d4e57583.js | 531 -- .../remoteEntry.badedd5607b5d4e57583.js.map | 1 - .../static/schema/kernel.v0.schema.json | 29 - .../static/schema/piplite.v0.schema.json | 113 - .../pyodide-kernel-extension/static/style.js | 2 - .../static/third-party-licenses.json | 22 - .../communication_extension/build_log.json | 665 -- .../communication_extension/package.json | 193 - .../lib_index_js.a55949f4c762e13d1865.js | 73 - .../lib_index_js.a55949f4c762e13d1865.js.map | 1 - .../remoteEntry.2c16c2805511d8774341.js | 1038 --- .../remoteEntry.2c16c2805511d8774341.js.map | 1 - .../communication_extension/static/style.js | 4 - .../style_index_js.0ad2e2f818efbe18dc2b.js | 567 -- ...style_index_js.0ad2e2f818efbe18dc2b.js.map | 1 - .../jupyterlab_pygments/install.json | 5 - .../jupyterlab_pygments/package.json | 205 - .../static/568.1e2faa2ba0bbe59c4780.js | 15 - .../static/747.67662283a5707eeb4d4c.js | 266 - .../remoteEntry.5cbb9d2323598fbda535.js | 229 - .../jupyterlab_pygments/static/style.js | 4 - .../static/third-party-licenses.json | 16 - notebook/lite/icon-120x120.png | Bin 4609 -> 0 bytes notebook/lite/icon-512x512.png | Bin 20954 -> 0 bytes notebook/lite/index.html | 68 - notebook/lite/jupyter-lite.json | 316 - notebook/lite/jupyterlite.schema.v0.json | 320 - notebook/lite/kernelspecs/javascript.svg | 1 - notebook/lite/lab/index.html | 37 - notebook/lite/lab/jupyter-lite.json | 8 - notebook/lite/lab/package.json | 307 - notebook/lite/lab/tree/index.html | 14 - notebook/lite/lab/workspaces/index.html | 14 - notebook/lite/manifest.webmanifest | 33 - notebook/lite/notebooks/build/bootstrap.js | 96 - notebook/lite/notebooks/build/index.js | 598 -- notebook/lite/notebooks/build/style.js | 38 - notebook/lite/notebooks/index.html | 37 - notebook/lite/notebooks/jupyter-lite.json | 11 - notebook/lite/notebooks/package.json | 333 - notebook/lite/package.json | 44 - notebook/lite/repl/index.html | 37 - notebook/lite/repl/jupyter-lite.json | 7 - notebook/lite/repl/package.json | 248 - notebook/lite/service-worker.js | 69 - notebook/lite/tree/build/bootstrap.js | 96 - notebook/lite/tree/build/index.js | 578 -- notebook/lite/tree/build/style.js | 36 - notebook/lite/tree/index.html | 36 - notebook/lite/tree/jupyter-lite.json | 10 - notebook/lite/tree/package.json | 288 - .../tools/oncoprinter/JupyterNotebookTool.tsx | 68 +- .../oncoprint/ResultsViewOncoprint.tsx | 90 +- 85 files changed, 63 insertions(+), 17496 deletions(-) delete mode 100644 notebook/index.html delete mode 100644 notebook/lite/api/translations/all.json delete mode 100644 notebook/lite/api/translations/en.json delete mode 100644 notebook/lite/bootstrap.js delete mode 100644 notebook/lite/config-utils.js delete mode 100644 notebook/lite/consoles/build/bootstrap.js delete mode 100644 notebook/lite/consoles/build/index.js delete mode 100644 notebook/lite/consoles/build/style.js delete mode 100644 notebook/lite/consoles/index.html delete mode 100644 notebook/lite/consoles/jupyter-lite.json delete mode 100644 notebook/lite/consoles/package.json delete mode 100644 notebook/lite/doc/tree/index.html delete mode 100644 notebook/lite/doc/workspaces/index.html delete mode 100644 notebook/lite/edit/build/bootstrap.js delete mode 100644 notebook/lite/edit/build/index.js delete mode 100644 notebook/lite/edit/build/style.js delete mode 100644 notebook/lite/edit/index.html delete mode 100644 notebook/lite/edit/jupyter-lite.json delete mode 100644 notebook/lite/edit/package.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/install.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/package.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js.map delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js.map delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.LICENSE.txt delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.map delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.LICENSE.txt delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.map delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js.map delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js delete mode 100644 notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json delete mode 100644 notebook/lite/extensions/communication_extension/build_log.json delete mode 100644 notebook/lite/extensions/communication_extension/package.json delete mode 100644 notebook/lite/extensions/communication_extension/static/lib_index_js.a55949f4c762e13d1865.js delete mode 100644 notebook/lite/extensions/communication_extension/static/lib_index_js.a55949f4c762e13d1865.js.map delete mode 100644 notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js delete mode 100644 notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js.map delete mode 100644 notebook/lite/extensions/communication_extension/static/style.js delete mode 100644 notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js delete mode 100644 notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js.map delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/install.json delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/package.json delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/static/style.js delete mode 100644 notebook/lite/extensions/jupyterlab_pygments/static/third-party-licenses.json delete mode 100644 notebook/lite/icon-120x120.png delete mode 100644 notebook/lite/icon-512x512.png delete mode 100644 notebook/lite/index.html delete mode 100644 notebook/lite/jupyter-lite.json delete mode 100644 notebook/lite/jupyterlite.schema.v0.json delete mode 100644 notebook/lite/kernelspecs/javascript.svg delete mode 100644 notebook/lite/lab/index.html delete mode 100644 notebook/lite/lab/jupyter-lite.json delete mode 100644 notebook/lite/lab/package.json delete mode 100644 notebook/lite/lab/tree/index.html delete mode 100644 notebook/lite/lab/workspaces/index.html delete mode 100644 notebook/lite/manifest.webmanifest delete mode 100644 notebook/lite/notebooks/build/bootstrap.js delete mode 100644 notebook/lite/notebooks/build/index.js delete mode 100644 notebook/lite/notebooks/build/style.js delete mode 100644 notebook/lite/notebooks/index.html delete mode 100644 notebook/lite/notebooks/jupyter-lite.json delete mode 100644 notebook/lite/notebooks/package.json delete mode 100644 notebook/lite/package.json delete mode 100644 notebook/lite/repl/index.html delete mode 100644 notebook/lite/repl/jupyter-lite.json delete mode 100644 notebook/lite/repl/package.json delete mode 100644 notebook/lite/service-worker.js delete mode 100644 notebook/lite/tree/build/bootstrap.js delete mode 100644 notebook/lite/tree/build/index.js delete mode 100644 notebook/lite/tree/build/style.js delete mode 100644 notebook/lite/tree/index.html delete mode 100644 notebook/lite/tree/jupyter-lite.json delete mode 100644 notebook/lite/tree/package.json diff --git a/notebook/index.html b/notebook/index.html deleted file mode 100644 index 9e8fbe5b119..00000000000 --- a/notebook/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - Open Another File - - - -

This page will automatically open another file.

- - \ No newline at end of file diff --git a/notebook/lite/api/translations/all.json b/notebook/lite/api/translations/all.json deleted file mode 100644 index 0f1a90ee5e4..00000000000 --- a/notebook/lite/api/translations/all.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "data": { - "en": { - "displayName": "English", - "nativeName": "English" - } - }, - "message": "" -} \ No newline at end of file diff --git a/notebook/lite/api/translations/en.json b/notebook/lite/api/translations/en.json deleted file mode 100644 index 2d378ee6a51..00000000000 --- a/notebook/lite/api/translations/en.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "data": {}, - "message": "" -} \ No newline at end of file diff --git a/notebook/lite/bootstrap.js b/notebook/lite/bootstrap.js deleted file mode 100644 index 16300d5bc1f..00000000000 --- a/notebook/lite/bootstrap.js +++ /dev/null @@ -1,96 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent( - `${labExtensionUrl}/${data.name}/${data.load}`, - data.name - ); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/notebook/lite/config-utils.js b/notebook/lite/config-utils.js deleted file mode 100644 index f35fa3bd3ca..00000000000 --- a/notebook/lite/config-utils.js +++ /dev/null @@ -1,273 +0,0 @@ -/** - * configuration utilities for jupyter-lite - * - * this file may not import anything else, and exposes no API - */ - -/* - * An `index.html` should `await import('../config-utils.js')` after specifying - * the key `script` tags... - * - * ```html - * - * ``` - */ -const JUPYTER_CONFIG_ID = 'jupyter-config-data'; - -/* - * The JS-mangled name for `data-jupyter-lite-root` - */ -const LITE_ROOT_ATTR = 'jupyterLiteRoot'; - -/** - * The well-known filename that contains `#jupyter-config-data` and other goodies - */ -const LITE_FILES = ['jupyter-lite.json', 'jupyter-lite.ipynb']; - -/** - * And this link tag, used like so to load a bundle after configuration. - * - * ```html - * - * ``` - */ -const LITE_MAIN = 'jupyter-lite-main'; - -/** - * The current page, with trailing server junk stripped - */ -const HERE = `${window.location.origin}${window.location.pathname.replace( - /(\/|\/index.html)?$/, - '' -)}/`; - -/** - * The computed composite configuration - */ -let _JUPYTER_CONFIG; - -/** - * A handle on the config script, must exist, and will be overridden - */ -const CONFIG_SCRIPT = document.getElementById(JUPYTER_CONFIG_ID); - -/** - * The relative path to the root of this JupyterLite - */ -const RAW_LITE_ROOT = CONFIG_SCRIPT.dataset[LITE_ROOT_ATTR]; - -/** - * The fully-resolved path to the root of this JupyterLite - */ -const FULL_LITE_ROOT = new URL(RAW_LITE_ROOT, HERE).toString(); - -/** - * Paths that are joined with baseUrl to derive full URLs - */ -const UNPREFIXED_PATHS = ['licensesUrl', 'themesUrl']; - -/* a DOM parser for reading html files */ -const parser = new DOMParser(); - -/** - * Merge `jupyter-config-data` on the current page with: - * - the contents of `.jupyter-lite#/jupyter-config-data` - * - parent documents, and their `.jupyter-lite#/jupyter-config-data` - * ...up to `jupyter-lite-root`. - */ -async function jupyterConfigData() { - /** - * Return the value if already cached for some reason - */ - if (_JUPYTER_CONFIG != null) { - return _JUPYTER_CONFIG; - } - - let parent = new URL(HERE).toString(); - let promises = [getPathConfig(HERE)]; - while (parent != FULL_LITE_ROOT) { - parent = new URL('..', parent).toString(); - promises.unshift(getPathConfig(parent)); - } - - const configs = (await Promise.all(promises)).flat(); - - let finalConfig = configs.reduce(mergeOneConfig); - - // apply any final patches - finalConfig = dedupFederatedExtensions(finalConfig); - - // hoist to cache - _JUPYTER_CONFIG = finalConfig; - - return finalConfig; -} - -/** - * Merge a new configuration on top of the existing config - */ -function mergeOneConfig(memo, config) { - for (const [k, v] of Object.entries(config)) { - switch (k) { - // this list of extension names is appended - case 'disabledExtensions': - case 'federated_extensions': - memo[k] = [...(memo[k] || []), ...v]; - break; - // these `@org/pkg:plugin` are merged at the first level of values - case 'litePluginSettings': - case 'settingsOverrides': - if (!memo[k]) { - memo[k] = {}; - } - for (const [plugin, defaults] of Object.entries(v || {})) { - memo[k][plugin] = { - ...(memo[k][plugin] || {}), - ...defaults, - }; - } - break; - default: - memo[k] = v; - } - } - return memo; -} - -function dedupFederatedExtensions(config) { - const originalList = - Object.keys(config || {})['federated_extensions'] || []; - const named = {}; - for (const ext of originalList) { - named[ext.name] = ext; - } - let allExtensions = [...Object.values(named)]; - allExtensions.sort((a, b) => a.name.localeCompare(b.name)); - return config; -} - -/** - * Load jupyter config data from (this) page and merge with - * `jupyter-lite.json#jupyter-config-data` - */ -async function getPathConfig(url) { - let promises = [getPageConfig(url)]; - for (const fileName of LITE_FILES) { - promises.unshift(getLiteConfig(url, fileName)); - } - return Promise.all(promises); -} - -/** - * The current normalized location - */ -function here() { - return window.location.href.replace(/(\/|\/index.html)?$/, '/'); -} - -/** - * Maybe fetch an `index.html` in this folder, which must contain the trailing slash. - */ -export async function getPageConfig(url = null) { - let script = CONFIG_SCRIPT; - - if (url != null) { - const text = await (await window.fetch(`${url}index.html`)).text(); - const doc = parser.parseFromString(text, 'text/html'); - script = doc.getElementById(JUPYTER_CONFIG_ID); - } - return fixRelativeUrls(url, JSON.parse(script.textContent)); -} - -/** - * Fetch a jupyter-lite JSON or Notebook in this folder, which must contain the trailing slash. - */ -export async function getLiteConfig(url, fileName) { - let text = '{}'; - let config = {}; - const liteUrl = `${url || HERE}${fileName}`; - try { - text = await (await window.fetch(liteUrl)).text(); - const json = JSON.parse(text); - const liteConfig = fileName.endsWith('.ipynb') - ? json['metadata']['jupyter-lite'] - : json; - config = liteConfig[JUPYTER_CONFIG_ID] || {}; - } catch (err) { - console.warn(`failed get ${JUPYTER_CONFIG_ID} from ${liteUrl}`); - } - return fixRelativeUrls(url, config); -} - -export function fixRelativeUrls(url, config) { - let urlBase = new URL(url || here()).pathname; - for (const [k, v] of Object.entries(config)) { - config[k] = fixOneRelativeUrl(k, v, url, urlBase); - } - return config; -} - -export function fixOneRelativeUrl(key, value, url, urlBase) { - if (key === 'litePluginSettings' || key === 'settingsOverrides') { - // these are plugin id-keyed objects, fix each plugin - return Object.entries(value || {}).reduce((m, [k, v]) => { - m[k] = fixRelativeUrls(url, v); - return m; - }, {}); - } else if ( - !UNPREFIXED_PATHS.includes(key) && - key.endsWith('Url') && - value.startsWith('./') - ) { - // themesUrls, etc. are joined in code with baseUrl, leave as-is: otherwise, clean - return `${urlBase}${value.slice(2)}`; - } else if (key.endsWith('Urls') && Array.isArray(value)) { - return value.map(v => - v.startsWith('./') ? `${urlBase}${v.slice(2)}` : v - ); - } - return value; -} - -/** - * Update with the as-configured favicon - */ -function addFavicon(config) { - const favicon = document.createElement('link'); - favicon.rel = 'icon'; - favicon.type = 'image/x-icon'; - favicon.href = config.faviconUrl; - document.head.appendChild(favicon); -} - -/** - * The main entry point. - */ -async function main() { - const config = await jupyterConfigData(); - if (config.baseUrl === new URL(here()).pathname) { - window.location.href = config.appUrl.replace(/\/?$/, '/index.html'); - return; - } - // rewrite the config - CONFIG_SCRIPT.textContent = JSON.stringify(config, null, 2); - addFavicon(config); - const preloader = document.getElementById(LITE_MAIN); - const bundle = document.createElement('script'); - bundle.src = preloader.href; - bundle.main = preloader.attributes.main; - document.head.appendChild(bundle); -} - -/** - * TODO: consider better pattern for invocation. - */ -await main(); diff --git a/notebook/lite/consoles/build/bootstrap.js b/notebook/lite/consoles/build/bootstrap.js deleted file mode 100644 index 16300d5bc1f..00000000000 --- a/notebook/lite/consoles/build/bootstrap.js +++ /dev/null @@ -1,96 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent( - `${labExtensionUrl}/${data.name}/${data.load}`, - data.name - ); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/notebook/lite/consoles/build/index.js b/notebook/lite/consoles/build/index.js deleted file mode 100644 index d786e047aa2..00000000000 --- a/notebook/lite/consoles/build/index.js +++ /dev/null @@ -1,558 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -import { NotebookApp } from '@jupyter-notebook/application'; - -import { JupyterLiteServer } from '@jupyterlite/server'; - -// The webpack public path needs to be set before loading the CSS assets. -import { PageConfig } from '@jupyterlab/coreutils'; - -import './style.js'; - -const serverExtensions = [import('@jupyterlite/server-extension')]; - -// custom list of disabled plugins -const disabled = [ - '@jupyterlab/application-extension:dirty', - '@jupyterlab/application-extension:info', - '@jupyterlab/application-extension:layout', - '@jupyterlab/application-extension:logo', - '@jupyterlab/application-extension:main', - '@jupyterlab/application-extension:mode-switch', - '@jupyterlab/application-extension:notfound', - '@jupyterlab/application-extension:paths', - '@jupyterlab/application-extension:property-inspector', - '@jupyterlab/application-extension:shell', - '@jupyterlab/application-extension:status', - '@jupyterlab/application-extension:tree-resolver', - '@jupyterlab/apputils-extension:announcements', - '@jupyterlab/apputils-extension:kernel-status', - '@jupyterlab/apputils-extension:notification', - '@jupyterlab/apputils-extension:palette-restorer', - '@jupyterlab/apputils-extension:print', - '@jupyterlab/apputils-extension:resolver', - '@jupyterlab/apputils-extension:running-sessions-status', - '@jupyterlab/apputils-extension:splash', - '@jupyterlab/apputils-extension:workspaces', - '@jupyterlab/console-extension:kernel-status', - '@jupyterlab/docmanager-extension:download', - '@jupyterlab/docmanager-extension:opener', - '@jupyterlab/docmanager-extension:path-status', - '@jupyterlab/docmanager-extension:saving-status', - '@jupyterlab/documentsearch-extension:labShellWidgetListener', - '@jupyterlab/filebrowser-extension:browser', - '@jupyterlab/filebrowser-extension:download', - '@jupyterlab/filebrowser-extension:file-upload-status', - '@jupyterlab/filebrowser-extension:open-with', - '@jupyterlab/filebrowser-extension:share-file', - '@jupyterlab/filebrowser-extension:widget', - '@jupyterlab/fileeditor-extension:editor-syntax-status', - '@jupyterlab/fileeditor-extension:language-server', - '@jupyterlab/fileeditor-extension:search', - '@jupyterlab/notebook-extension:execution-indicator', - '@jupyterlab/notebook-extension:kernel-status', - '@jupyter-notebook/application-extension:logo', - '@jupyter-notebook/application-extension:opener', - '@jupyter-notebook/application-extension:path-opener', -]; - -async function createModule(scope, module) { - try { - const factory = await window._JUPYTERLAB[scope].get(module); - return factory(); - } catch (e) { - console.warn( - `Failed to create module: package: ${scope}; module: ${module}` - ); - throw e; - } -} - -/** - * The main entry point for the application. - */ -export async function main() { - const pluginsToRegister = []; - const federatedExtensionPromises = []; - const federatedMimeExtensionPromises = []; - const federatedStylePromises = []; - const litePluginsToRegister = []; - const liteExtensionPromises = []; - - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extensions = JSON.parse(PageConfig.getOption('federated_extensions')); - - // The set of federated extension names. - const federatedExtensionNames = new Set(); - - extensions.forEach(data => { - if (data.liteExtension) { - liteExtensionPromises.push(createModule(data.name, data.extension)); - return; - } - if (data.extension) { - federatedExtensionNames.add(data.name); - federatedExtensionPromises.push( - createModule(data.name, data.extension) - ); - } - if (data.mimeExtension) { - federatedExtensionNames.add(data.name); - federatedMimeExtensionPromises.push( - createModule(data.name, data.mimeExtension) - ); - } - if (data.style) { - federatedStylePromises.push(createModule(data.name, data.style)); - } - }); - - /** - * Iterate over active plugins in an extension. - */ - function* activePlugins(extension) { - // Handle commonjs or es2015 modules - let exports; - if (extension.hasOwnProperty('__esModule')) { - exports = extension.default; - } else { - // CommonJS exports. - exports = extension; - } - - let plugins = Array.isArray(exports) ? exports : [exports]; - for (let plugin of plugins) { - if ( - PageConfig.Extension.isDisabled(plugin.id) || - disabled.includes(plugin.id) || - disabled.includes(plugin.id.split(':')[0]) - ) { - continue; - } - yield plugin; - } - } - - // Handle the mime extensions. - const mimeExtensions = []; - if (!federatedExtensionNames.has('@jupyterlab/javascript-extension')) { - try { - let ext = require('@jupyterlab/javascript-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/json-extension')) { - try { - let ext = require('@jupyterlab/json-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/vega5-extension')) { - try { - let ext = require('@jupyterlab/vega5-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/iframe-extension')) { - try { - let ext = require('@jupyterlite/iframe-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated mime extensions. - const federatedMimeExtensions = await Promise.allSettled( - federatedMimeExtensionPromises - ); - federatedMimeExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - mimeExtensions.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Handle the standard extensions. - if (!federatedExtensionNames.has('@jupyterlab/application-extension')) { - try { - let ext = require('@jupyterlab/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/apputils-extension')) { - try { - let ext = require('@jupyterlab/apputils-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/cell-toolbar-extension')) { - try { - let ext = require('@jupyterlab/cell-toolbar-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/codemirror-extension')) { - try { - let ext = require('@jupyterlab/codemirror-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/completer-extension')) { - try { - let ext = require('@jupyterlab/completer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/console-extension')) { - try { - let ext = require('@jupyterlab/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/docmanager-extension')) { - try { - let ext = require('@jupyterlab/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/documentsearch-extension')) { - try { - let ext = require('@jupyterlab/documentsearch-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/filebrowser-extension')) { - try { - let ext = require('@jupyterlab/filebrowser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/fileeditor-extension')) { - try { - let ext = require('@jupyterlab/fileeditor-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/lsp-extension')) { - try { - let ext = require('@jupyterlab/lsp-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mainmenu-extension')) { - try { - let ext = require('@jupyterlab/mainmenu-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mathjax-extension')) { - try { - let ext = require('@jupyterlab/mathjax-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/metadataform-extension')) { - try { - let ext = require('@jupyterlab/metadataform-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/notebook-extension')) { - try { - let ext = require('@jupyterlab/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/rendermime-extension')) { - try { - let ext = require('@jupyterlab/rendermime-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/shortcuts-extension')) { - try { - let ext = require('@jupyterlab/shortcuts-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-dark-extension')) { - try { - let ext = require('@jupyterlab/theme-dark-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-light-extension')) { - try { - let ext = require('@jupyterlab/theme-light-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/toc-extension')) { - try { - let ext = require('@jupyterlab/toc-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/tooltip-extension')) { - try { - let ext = require('@jupyterlab/tooltip-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/translation-extension')) { - try { - let ext = require('@jupyterlab/translation-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/ui-components-extension')) { - try { - let ext = require('@jupyterlab/ui-components-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/application-extension') - ) { - try { - let ext = require('@jupyter-notebook/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/docmanager-extension') - ) { - try { - let ext = require('@jupyter-notebook/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/help-extension')) { - try { - let ext = require('@jupyter-notebook/help-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/application-extension')) { - try { - let ext = require('@jupyterlite/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has( - '@jupyterlite/notebook-application-extension' - ) - ) { - try { - let ext = require('@jupyterlite/notebook-application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated extensions. - const federatedExtensions = await Promise.allSettled( - federatedExtensionPromises - ); - federatedExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - pluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Add the base serverlite extensions - const baseServerExtensions = await Promise.all(serverExtensions); - baseServerExtensions.forEach(p => { - for (let plugin of activePlugins(p)) { - litePluginsToRegister.push(plugin); - } - }); - - // Add the serverlite federated extensions. - const federatedLiteExtensions = await Promise.allSettled( - liteExtensionPromises - ); - federatedLiteExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - litePluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Load all federated component styles and log errors for any that do not - (await Promise.allSettled(federatedStylePromises)) - .filter(({ status }) => status === 'rejected') - .forEach(({ reason }) => { - console.error(reason); - }); - - // create the in-browser JupyterLite Server - const jupyterLiteServer = new JupyterLiteServer({}); - jupyterLiteServer.registerPluginModules(litePluginsToRegister); - // start the server - await jupyterLiteServer.start(); - - // retrieve the custom service manager from the server app - const { serviceManager } = jupyterLiteServer; - - // create a full-blown JupyterLab frontend - const app = new NotebookApp({ - mimeExtensions, - serviceManager, - }); - app.name = PageConfig.getOption('appName') || 'JupyterLite'; - - app.registerPluginModules(pluginsToRegister); - - // Expose global app instance when in dev mode or when toggled explicitly. - const exposeAppInBrowser = - (PageConfig.getOption('exposeAppInBrowser') || '').toLowerCase() === - 'true'; - - if (exposeAppInBrowser) { - window.jupyterapp = app; - } - - /* eslint-disable no-console */ - await app.start(); - await app.restored; -} diff --git a/notebook/lite/consoles/build/style.js b/notebook/lite/consoles/build/style.js deleted file mode 100644 index 9b0fb86d3da..00000000000 --- a/notebook/lite/consoles/build/style.js +++ /dev/null @@ -1,34 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import '@jupyter-notebook/application-extension/style/index.js'; -import '@jupyter-notebook/docmanager-extension/style/index.js'; -import '@jupyter-notebook/help-extension/style/index.js'; -import '@jupyterlab/application-extension/style/index.js'; -import '@jupyterlab/apputils-extension/style/index.js'; -import '@jupyterlab/cell-toolbar-extension/style/index.js'; -import '@jupyterlab/codemirror-extension/style/index.js'; -import '@jupyterlab/completer-extension/style/index.js'; -import '@jupyterlab/console-extension/style/index.js'; -import '@jupyterlab/docmanager-extension/style/index.js'; -import '@jupyterlab/documentsearch-extension/style/index.js'; -import '@jupyterlab/filebrowser-extension/style/index.js'; -import '@jupyterlab/fileeditor-extension/style/index.js'; -import '@jupyterlab/javascript-extension/style/index.js'; -import '@jupyterlab/json-extension/style/index.js'; -import '@jupyterlab/lsp-extension/style/index.js'; -import '@jupyterlab/mainmenu-extension/style/index.js'; -import '@jupyterlab/mathjax-extension/style/index.js'; -import '@jupyterlab/metadataform-extension/style/index.js'; -import '@jupyterlab/notebook-extension/style/index.js'; -import '@jupyterlab/rendermime-extension/style/index.js'; -import '@jupyterlab/shortcuts-extension/style/index.js'; -import '@jupyterlab/toc-extension/style/index.js'; -import '@jupyterlab/tooltip-extension/style/index.js'; -import '@jupyterlab/translation-extension/style/index.js'; -import '@jupyterlab/ui-components-extension/style/index.js'; -import '@jupyterlab/vega5-extension/style/index.js'; -import '@jupyterlite/application-extension/style/index.js'; -import '@jupyterlite/iframe-extension/style/index.js'; -import '@jupyterlite/notebook-application-extension/style/index.js'; -import '@jupyterlite/server-extension/style/index.js'; diff --git a/notebook/lite/consoles/index.html b/notebook/lite/consoles/index.html deleted file mode 100644 index 96d9d56b1f4..00000000000 --- a/notebook/lite/consoles/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - Jupyter Notebook - Consoles - - - - - - - - - - diff --git a/notebook/lite/consoles/jupyter-lite.json b/notebook/lite/consoles/jupyter-lite.json deleted file mode 100644 index 702a8e34f73..00000000000 --- a/notebook/lite/consoles/jupyter-lite.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appUrl": "/consoles", - "notebookPage": "consoles", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../build", - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/consoles/package.json b/notebook/lite/consoles/package.json deleted file mode 100644 index 59ba10530e5..00000000000 --- a/notebook/lite/consoles/package.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "name": "@jupyterlite/app-consoles", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter-notebook/application": "~7.0.7", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingeditor": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc": "~6.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/licenses": "~0.2.3", - "@jupyterlite/localforage": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/types": "~0.2.3", - "@jupyterlite/ui-components": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/licenses": "^0.2.3", - "@jupyterlite/localforage": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/types": "^0.2.3", - "@jupyterlite/ui-components": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.5.40" - }, - "jupyterlab": { - "title": "Jupyter Notebook - Consoles", - "appClassName": "NotebookApp", - "appModuleName": "@jupyter-notebook/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/documentsearch-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/json-extension", - "@jupyterlab/lsp-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/metadataform-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/toc-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyter-notebook/application-extension", - "@jupyter-notebook/docmanager-extension", - "@jupyter-notebook/help-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/notebook-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/lsp", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/toc", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyter-notebook/application", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/application-extension:dirty", - "@jupyterlab/application-extension:info", - "@jupyterlab/application-extension:layout", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:mode-switch", - "@jupyterlab/application-extension:notfound", - "@jupyterlab/application-extension:paths", - "@jupyterlab/application-extension:property-inspector", - "@jupyterlab/application-extension:shell", - "@jupyterlab/application-extension:status", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:kernel-status", - "@jupyterlab/apputils-extension:notification", - "@jupyterlab/apputils-extension:palette-restorer", - "@jupyterlab/apputils-extension:print", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/apputils-extension:running-sessions-status", - "@jupyterlab/apputils-extension:splash", - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/console-extension:kernel-status", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/docmanager-extension:opener", - "@jupyterlab/docmanager-extension:path-status", - "@jupyterlab/docmanager-extension:saving-status", - "@jupyterlab/documentsearch-extension:labShellWidgetListener", - "@jupyterlab/filebrowser-extension:browser", - "@jupyterlab/filebrowser-extension:download", - "@jupyterlab/filebrowser-extension:file-upload-status", - "@jupyterlab/filebrowser-extension:open-with", - "@jupyterlab/filebrowser-extension:share-file", - "@jupyterlab/filebrowser-extension:widget", - "@jupyterlab/fileeditor-extension:editor-syntax-status", - "@jupyterlab/fileeditor-extension:language-server", - "@jupyterlab/fileeditor-extension:search", - "@jupyterlab/notebook-extension:execution-indicator", - "@jupyterlab/notebook-extension:kernel-status", - "@jupyter-notebook/application-extension:logo", - "@jupyter-notebook/application-extension:opener", - "@jupyter-notebook/application-extension:path-opener" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - } -} diff --git a/notebook/lite/doc/tree/index.html b/notebook/lite/doc/tree/index.html deleted file mode 100644 index b3c3206f6de..00000000000 --- a/notebook/lite/doc/tree/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/notebook/lite/doc/workspaces/index.html b/notebook/lite/doc/workspaces/index.html deleted file mode 100644 index 9849b7263f3..00000000000 --- a/notebook/lite/doc/workspaces/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/notebook/lite/edit/build/bootstrap.js b/notebook/lite/edit/build/bootstrap.js deleted file mode 100644 index 16300d5bc1f..00000000000 --- a/notebook/lite/edit/build/bootstrap.js +++ /dev/null @@ -1,96 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent( - `${labExtensionUrl}/${data.name}/${data.load}`, - data.name - ); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/notebook/lite/edit/build/index.js b/notebook/lite/edit/build/index.js deleted file mode 100644 index 647ddbf613c..00000000000 --- a/notebook/lite/edit/build/index.js +++ /dev/null @@ -1,606 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -import { NotebookApp } from '@jupyter-notebook/application'; - -import { JupyterLiteServer } from '@jupyterlite/server'; - -// The webpack public path needs to be set before loading the CSS assets. -import { PageConfig } from '@jupyterlab/coreutils'; - -import './style.js'; - -const serverExtensions = [import('@jupyterlite/server-extension')]; - -// custom list of disabled plugins -const disabled = [ - '@jupyterlab/application-extension:dirty', - '@jupyterlab/application-extension:info', - '@jupyterlab/application-extension:layout', - '@jupyterlab/application-extension:logo', - '@jupyterlab/application-extension:main', - '@jupyterlab/application-extension:mode-switch', - '@jupyterlab/application-extension:notfound', - '@jupyterlab/application-extension:paths', - '@jupyterlab/application-extension:property-inspector', - '@jupyterlab/application-extension:shell', - '@jupyterlab/application-extension:status', - '@jupyterlab/application-extension:tree-resolver', - '@jupyterlab/apputils-extension:announcements', - '@jupyterlab/apputils-extension:kernel-status', - '@jupyterlab/apputils-extension:notification', - '@jupyterlab/apputils-extension:palette-restorer', - '@jupyterlab/apputils-extension:print', - '@jupyterlab/apputils-extension:resolver', - '@jupyterlab/apputils-extension:running-sessions-status', - '@jupyterlab/apputils-extension:splash', - '@jupyterlab/apputils-extension:workspaces', - '@jupyterlab/console-extension:kernel-status', - '@jupyterlab/docmanager-extension:download', - '@jupyterlab/docmanager-extension:opener', - '@jupyterlab/docmanager-extension:path-status', - '@jupyterlab/docmanager-extension:saving-status', - '@jupyterlab/documentsearch-extension:labShellWidgetListener', - '@jupyterlab/filebrowser-extension:browser', - '@jupyterlab/filebrowser-extension:download', - '@jupyterlab/filebrowser-extension:file-upload-status', - '@jupyterlab/filebrowser-extension:open-with', - '@jupyterlab/filebrowser-extension:share-file', - '@jupyterlab/filebrowser-extension:widget', - '@jupyterlab/fileeditor-extension:editor-syntax-status', - '@jupyterlab/notebook-extension:execution-indicator', - '@jupyterlab/notebook-extension:kernel-status', - '@jupyter-notebook/application-extension:logo', - '@jupyter-notebook/application-extension:opener', - '@jupyter-notebook/application-extension:path-opener', -]; - -async function createModule(scope, module) { - try { - const factory = await window._JUPYTERLAB[scope].get(module); - return factory(); - } catch (e) { - console.warn( - `Failed to create module: package: ${scope}; module: ${module}` - ); - throw e; - } -} - -/** - * The main entry point for the application. - */ -export async function main() { - const pluginsToRegister = []; - const federatedExtensionPromises = []; - const federatedMimeExtensionPromises = []; - const federatedStylePromises = []; - const litePluginsToRegister = []; - const liteExtensionPromises = []; - - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extensions = JSON.parse(PageConfig.getOption('federated_extensions')); - - // The set of federated extension names. - const federatedExtensionNames = new Set(); - - extensions.forEach(data => { - if (data.liteExtension) { - liteExtensionPromises.push(createModule(data.name, data.extension)); - return; - } - if (data.extension) { - federatedExtensionNames.add(data.name); - federatedExtensionPromises.push( - createModule(data.name, data.extension) - ); - } - if (data.mimeExtension) { - federatedExtensionNames.add(data.name); - federatedMimeExtensionPromises.push( - createModule(data.name, data.mimeExtension) - ); - } - if (data.style) { - federatedStylePromises.push(createModule(data.name, data.style)); - } - }); - - /** - * Iterate over active plugins in an extension. - */ - function* activePlugins(extension) { - // Handle commonjs or es2015 modules - let exports; - if (extension.hasOwnProperty('__esModule')) { - exports = extension.default; - } else { - // CommonJS exports. - exports = extension; - } - - let plugins = Array.isArray(exports) ? exports : [exports]; - for (let plugin of plugins) { - if ( - PageConfig.Extension.isDisabled(plugin.id) || - disabled.includes(plugin.id) || - disabled.includes(plugin.id.split(':')[0]) - ) { - continue; - } - yield plugin; - } - } - - // Handle the mime extensions. - const mimeExtensions = []; - if (!federatedExtensionNames.has('@jupyterlab/javascript-extension')) { - try { - let ext = require('@jupyterlab/javascript-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/json-extension')) { - try { - let ext = require('@jupyterlab/json-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/vega5-extension')) { - try { - let ext = require('@jupyterlab/vega5-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/iframe-extension')) { - try { - let ext = require('@jupyterlite/iframe-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated mime extensions. - const federatedMimeExtensions = await Promise.allSettled( - federatedMimeExtensionPromises - ); - federatedMimeExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - mimeExtensions.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Handle the standard extensions. - if (!federatedExtensionNames.has('@jupyterlab/application-extension')) { - try { - let ext = require('@jupyterlab/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/apputils-extension')) { - try { - let ext = require('@jupyterlab/apputils-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/cell-toolbar-extension')) { - try { - let ext = require('@jupyterlab/cell-toolbar-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/codemirror-extension')) { - try { - let ext = require('@jupyterlab/codemirror-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/completer-extension')) { - try { - let ext = require('@jupyterlab/completer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/console-extension')) { - try { - let ext = require('@jupyterlab/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/csvviewer-extension')) { - try { - let ext = require('@jupyterlab/csvviewer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/docmanager-extension')) { - try { - let ext = require('@jupyterlab/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/documentsearch-extension')) { - try { - let ext = require('@jupyterlab/documentsearch-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/filebrowser-extension')) { - try { - let ext = require('@jupyterlab/filebrowser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/fileeditor-extension')) { - try { - let ext = require('@jupyterlab/fileeditor-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/imageviewer-extension')) { - try { - let ext = require('@jupyterlab/imageviewer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/lsp-extension')) { - try { - let ext = require('@jupyterlab/lsp-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mainmenu-extension')) { - try { - let ext = require('@jupyterlab/mainmenu-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/markdownviewer-extension')) { - try { - let ext = require('@jupyterlab/markdownviewer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/markedparser-extension')) { - try { - let ext = require('@jupyterlab/markedparser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mathjax-extension')) { - try { - let ext = require('@jupyterlab/mathjax-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/metadataform-extension')) { - try { - let ext = require('@jupyterlab/metadataform-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/notebook-extension')) { - try { - let ext = require('@jupyterlab/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/rendermime-extension')) { - try { - let ext = require('@jupyterlab/rendermime-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/shortcuts-extension')) { - try { - let ext = require('@jupyterlab/shortcuts-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-dark-extension')) { - try { - let ext = require('@jupyterlab/theme-dark-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-light-extension')) { - try { - let ext = require('@jupyterlab/theme-light-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/toc-extension')) { - try { - let ext = require('@jupyterlab/toc-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/tooltip-extension')) { - try { - let ext = require('@jupyterlab/tooltip-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/translation-extension')) { - try { - let ext = require('@jupyterlab/translation-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/ui-components-extension')) { - try { - let ext = require('@jupyterlab/ui-components-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/application-extension') - ) { - try { - let ext = require('@jupyter-notebook/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/docmanager-extension') - ) { - try { - let ext = require('@jupyter-notebook/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/help-extension')) { - try { - let ext = require('@jupyter-notebook/help-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/notebook-extension')) { - try { - let ext = require('@jupyter-notebook/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/application-extension')) { - try { - let ext = require('@jupyterlite/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has( - '@jupyterlite/notebook-application-extension' - ) - ) { - try { - let ext = require('@jupyterlite/notebook-application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated extensions. - const federatedExtensions = await Promise.allSettled( - federatedExtensionPromises - ); - federatedExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - pluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Add the base serverlite extensions - const baseServerExtensions = await Promise.all(serverExtensions); - baseServerExtensions.forEach(p => { - for (let plugin of activePlugins(p)) { - litePluginsToRegister.push(plugin); - } - }); - - // Add the serverlite federated extensions. - const federatedLiteExtensions = await Promise.allSettled( - liteExtensionPromises - ); - federatedLiteExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - litePluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Load all federated component styles and log errors for any that do not - (await Promise.allSettled(federatedStylePromises)) - .filter(({ status }) => status === 'rejected') - .forEach(({ reason }) => { - console.error(reason); - }); - - // create the in-browser JupyterLite Server - const jupyterLiteServer = new JupyterLiteServer({}); - jupyterLiteServer.registerPluginModules(litePluginsToRegister); - // start the server - await jupyterLiteServer.start(); - - // retrieve the custom service manager from the server app - const { serviceManager } = jupyterLiteServer; - - // create a full-blown JupyterLab frontend - const app = new NotebookApp({ - mimeExtensions, - serviceManager, - }); - app.name = PageConfig.getOption('appName') || 'JupyterLite'; - - app.registerPluginModules(pluginsToRegister); - - // Expose global app instance when in dev mode or when toggled explicitly. - const exposeAppInBrowser = - (PageConfig.getOption('exposeAppInBrowser') || '').toLowerCase() === - 'true'; - - if (exposeAppInBrowser) { - window.jupyterapp = app; - } - - /* eslint-disable no-console */ - await app.start(); - await app.restored; -} diff --git a/notebook/lite/edit/build/style.js b/notebook/lite/edit/build/style.js deleted file mode 100644 index 59ce4e28c4e..00000000000 --- a/notebook/lite/edit/build/style.js +++ /dev/null @@ -1,39 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import '@jupyter-notebook/application-extension/style/index.js'; -import '@jupyter-notebook/docmanager-extension/style/index.js'; -import '@jupyter-notebook/help-extension/style/index.js'; -import '@jupyter-notebook/notebook-extension/style/index.js'; -import '@jupyterlab/application-extension/style/index.js'; -import '@jupyterlab/apputils-extension/style/index.js'; -import '@jupyterlab/cell-toolbar-extension/style/index.js'; -import '@jupyterlab/codemirror-extension/style/index.js'; -import '@jupyterlab/completer-extension/style/index.js'; -import '@jupyterlab/console-extension/style/index.js'; -import '@jupyterlab/csvviewer-extension/style/index.js'; -import '@jupyterlab/docmanager-extension/style/index.js'; -import '@jupyterlab/documentsearch-extension/style/index.js'; -import '@jupyterlab/filebrowser-extension/style/index.js'; -import '@jupyterlab/fileeditor-extension/style/index.js'; -import '@jupyterlab/imageviewer-extension/style/index.js'; -import '@jupyterlab/javascript-extension/style/index.js'; -import '@jupyterlab/json-extension/style/index.js'; -import '@jupyterlab/lsp-extension/style/index.js'; -import '@jupyterlab/mainmenu-extension/style/index.js'; -import '@jupyterlab/markdownviewer-extension/style/index.js'; -import '@jupyterlab/markedparser-extension/style/index.js'; -import '@jupyterlab/mathjax-extension/style/index.js'; -import '@jupyterlab/metadataform-extension/style/index.js'; -import '@jupyterlab/notebook-extension/style/index.js'; -import '@jupyterlab/rendermime-extension/style/index.js'; -import '@jupyterlab/shortcuts-extension/style/index.js'; -import '@jupyterlab/toc-extension/style/index.js'; -import '@jupyterlab/tooltip-extension/style/index.js'; -import '@jupyterlab/translation-extension/style/index.js'; -import '@jupyterlab/ui-components-extension/style/index.js'; -import '@jupyterlab/vega5-extension/style/index.js'; -import '@jupyterlite/application-extension/style/index.js'; -import '@jupyterlite/iframe-extension/style/index.js'; -import '@jupyterlite/notebook-application-extension/style/index.js'; -import '@jupyterlite/server-extension/style/index.js'; diff --git a/notebook/lite/edit/index.html b/notebook/lite/edit/index.html deleted file mode 100644 index 0eaeb5848ca..00000000000 --- a/notebook/lite/edit/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - Jupyter Notebook - Edit - - - - - - - - - - diff --git a/notebook/lite/edit/jupyter-lite.json b/notebook/lite/edit/jupyter-lite.json deleted file mode 100644 index f12c9597db4..00000000000 --- a/notebook/lite/edit/jupyter-lite.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appUrl": "/edit", - "notebookPage": "edit", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../build", - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/edit/package.json b/notebook/lite/edit/package.json deleted file mode 100644 index 829f031c3f3..00000000000 --- a/notebook/lite/edit/package.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "name": "@jupyterlite/app-edit", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/notebook-extension": "~7.0.7", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingeditor": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc": "~6.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/licenses": "~0.2.3", - "@jupyterlite/localforage": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/types": "~0.2.3", - "@jupyterlite/ui-components": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/notebook-extension": "~7.0.7", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/licenses": "^0.2.3", - "@jupyterlite/localforage": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/types": "^0.2.3", - "@jupyterlite/ui-components": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.5.40" - }, - "jupyterlab": { - "title": "Jupyter Notebook - Edit", - "appClassName": "NotebookApp", - "appModuleName": "@jupyter-notebook/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/csvviewer-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/documentsearch-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/json-extension", - "@jupyterlab/lsp-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/markdownviewer-extension", - "@jupyterlab/markedparser-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/metadataform-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/toc-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyter-notebook/application-extension", - "@jupyter-notebook/docmanager-extension", - "@jupyter-notebook/help-extension", - "@jupyter-notebook/notebook-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/notebook-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/lsp", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/toc", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyter-notebook/application", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/application-extension:dirty", - "@jupyterlab/application-extension:info", - "@jupyterlab/application-extension:layout", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:mode-switch", - "@jupyterlab/application-extension:notfound", - "@jupyterlab/application-extension:paths", - "@jupyterlab/application-extension:property-inspector", - "@jupyterlab/application-extension:shell", - "@jupyterlab/application-extension:status", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:kernel-status", - "@jupyterlab/apputils-extension:notification", - "@jupyterlab/apputils-extension:palette-restorer", - "@jupyterlab/apputils-extension:print", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/apputils-extension:running-sessions-status", - "@jupyterlab/apputils-extension:splash", - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/console-extension:kernel-status", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/docmanager-extension:opener", - "@jupyterlab/docmanager-extension:path-status", - "@jupyterlab/docmanager-extension:saving-status", - "@jupyterlab/documentsearch-extension:labShellWidgetListener", - "@jupyterlab/filebrowser-extension:browser", - "@jupyterlab/filebrowser-extension:download", - "@jupyterlab/filebrowser-extension:file-upload-status", - "@jupyterlab/filebrowser-extension:open-with", - "@jupyterlab/filebrowser-extension:share-file", - "@jupyterlab/filebrowser-extension:widget", - "@jupyterlab/fileeditor-extension:editor-syntax-status", - "@jupyterlab/notebook-extension:execution-indicator", - "@jupyterlab/notebook-extension:kernel-status", - "@jupyter-notebook/application-extension:logo", - "@jupyter-notebook/application-extension:opener", - "@jupyter-notebook/application-extension:path-opener" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - } -} diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/install.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/install.json deleted file mode 100644 index 6846f37bfdf..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/install.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "packageManager": "python", - "packageName": "jupyterlite_pyodide_kernel", - "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package jupyterlite_pyodide_kernel" -} diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/package.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/package.json deleted file mode 100644 index 4fb3cff4bfb..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "name": "@jupyterlite/pyodide-kernel-extension", - "version": "0.2.3", - "description": "JupyterLite - Pyodide Kernel Extension", - "homepage": "https://github.com/jupyterlite/pyodide-kernel", - "bugs": { - "url": "https://github.com/jupyterlite/pyodide-kernel/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/jupyterlite/pyodide-kernel.git" - }, - "license": "BSD-3-Clause", - "author": "JupyterLite Contributors", - "sideEffects": [ - "style/*.css", - "style/index.js" - ], - "main": "lib/index.js", - "types": "lib/index.d.ts", - "directories": { - "lib": "lib/" - }, - "files": [ - "lib/*.d.ts", - "lib/*.js.map", - "lib/*.js", - "style/*.css", - "style/**/*.svg", - "style/index.js", - "schema/*.json" - ], - "scripts": { - "build": "jlpm build:lib && jlpm build:labextension:dev", - "build:prod": "jlpm build:lib && jlpm build:labextension", - "build:labextension": "jupyter labextension build .", - "build:labextension:dev": "jupyter labextension build --development True .", - "build:lib": "tsc", - "dist": "cd ../../dist && npm pack ../packages/pyodide-kernel-extension", - "clean": "jlpm clean:lib", - "clean:lib": "rimraf lib tsconfig.tsbuildinfo", - "clean:labextension": "rimraf ../../jupyterlite_pyodide_kernel/labextension", - "clean:all": "jlpm clean:lib && jlpm clean:labextension", - "docs": "typedoc src", - "watch": "run-p watch:src watch:labextension", - "watch:src": "tsc -w", - "watch:labextension": "jupyter labextension watch ." - }, - "dependencies": { - "@jupyterlab/coreutils": "^6.0.6", - "@jupyterlite/contents": "^0.2.0", - "@jupyterlite/kernel": "^0.2.0", - "@jupyterlite/pyodide-kernel": "^0.2.3", - "@jupyterlite/server": "^0.2.0" - }, - "devDependencies": { - "@jupyterlab/builder": "~4.0.7", - "rimraf": "^5.0.1", - "typescript": "~5.2.2" - }, - "publishConfig": { - "access": "public" - }, - "jupyterlab": { - "extension": true, - "outputDir": "../../jupyterlite_pyodide_kernel/labextension", - "webpackConfig": "webpack.config.js", - "sharedPackages": { - "@jupyterlite/kernel": { - "bundled": false, - "singleton": true - }, - "@jupyterlite/server": { - "bundled": false, - "singleton": true - }, - "@jupyterlite/contents": { - "bundled": false, - "singleton": true - } - }, - "_build": { - "load": "static/remoteEntry.badedd5607b5d4e57583.js", - "extension": "./extension" - } - }, - "jupyterlite": { - "liteExtension": true - }, - "piplite": { - "wheelDir": "static/pypi" - } -} diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js deleted file mode 100644 index cc532a1f0fc..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js +++ /dev/null @@ -1,5880 +0,0 @@ -(self.webpackChunk_jupyterlite_pyodide_kernel_extension = - self.webpackChunk_jupyterlite_pyodide_kernel_extension || []).push([ - [128], - { - 664: t => { - var e, - i, - a = (t.exports = {}); - function n() { - throw new Error('setTimeout has not been defined'); - } - function o() { - throw new Error('clearTimeout has not been defined'); - } - function r(t) { - if (e === setTimeout) return setTimeout(t, 0); - if ((e === n || !e) && setTimeout) - return (e = setTimeout), setTimeout(t, 0); - try { - return e(t, 0); - } catch (i) { - try { - return e.call(null, t, 0); - } catch (i) { - return e.call(this, t, 0); - } - } - } - !(function() { - try { - e = 'function' == typeof setTimeout ? setTimeout : n; - } catch (t) { - e = n; - } - try { - i = 'function' == typeof clearTimeout ? clearTimeout : o; - } catch (t) { - i = o; - } - })(); - var l, - p = [], - s = !1, - c = -1; - function d() { - s && - l && - ((s = !1), - l.length ? (p = l.concat(p)) : (c = -1), - p.length && m()); - } - function m() { - if (!s) { - var t = r(d); - s = !0; - for (var e = p.length; e; ) { - for (l = p, p = []; ++c < e; ) l && l[c].run(); - (c = -1), (e = p.length); - } - (l = null), - (s = !1), - (function(t) { - if (i === clearTimeout) return clearTimeout(t); - if ((i === o || !i) && clearTimeout) - return (i = clearTimeout), clearTimeout(t); - try { - return i(t); - } catch (e) { - try { - return i.call(null, t); - } catch (e) { - return i.call(this, t); - } - } - })(t); - } - } - function u(t, e) { - (this.fun = t), (this.array = e); - } - function f() {} - (a.nextTick = function(t) { - var e = new Array(arguments.length - 1); - if (arguments.length > 1) - for (var i = 1; i < arguments.length; i++) - e[i - 1] = arguments[i]; - p.push(new u(t, e)), 1 !== p.length || s || r(m); - }), - (u.prototype.run = function() { - this.fun.apply(null, this.array); - }), - (a.title = 'browser'), - (a.browser = !0), - (a.env = {}), - (a.argv = []), - (a.version = ''), - (a.versions = {}), - (a.on = f), - (a.addListener = f), - (a.once = f), - (a.off = f), - (a.removeListener = f), - (a.removeAllListeners = f), - (a.emit = f), - (a.prependListener = f), - (a.prependOnceListener = f), - (a.listeners = function(t) { - return []; - }), - (a.binding = function(t) { - throw new Error('process.binding is not supported'); - }), - (a.cwd = function() { - return '/'; - }), - (a.chdir = function(t) { - throw new Error('process.chdir is not supported'); - }), - (a.umask = function() { - return 0; - }); - }, - 128: ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) => { - 'use strict'; - __webpack_require__.d(__webpack_exports__, { E: () => Yt }); - var process = __webpack_require__(664), - ni = Object.create, - Me = Object.defineProperty, - ai = Object.getOwnPropertyDescriptor, - oi = Object.getOwnPropertyNames, - si = Object.getPrototypeOf, - ri = Object.prototype.hasOwnProperty, - ce = (t, e) => () => (t && (e = t((t = 0))), e), - F = (t, e) => () => ( - e || t((e = { exports: {} }).exports, e), e.exports - ), - li = (t, e) => { - for (var i in e) Me(t, i, { get: e[i], enumerable: !0 }); - }, - ci = (t, e, i, a) => { - if ((e && 'object' == typeof e) || 'function' == typeof e) - for (let n of oi(e)) - !ri.call(t, n) && - n !== i && - Me(t, n, { - get: () => e[n], - enumerable: !(a = ai(e, n)) || a.enumerable, - }); - return t; - }, - se = (t, e, i) => ( - (i = null != t ? ni(si(t)) : {}), - ci( - !e && t && t.__esModule - ? i - : Me(i, 'default', { value: t, enumerable: !0 }), - t - ) - ), - Ye = F((t, e) => { - var i, a; - (i = t), - (a = function(t) { - function e(t, e) { - let i = 0; - for (let a of t) - if (!1 === e(a, i++)) return !1; - return !0; - } - var i; - (t.ArrayExt = void 0), - (function(t) { - function e(t, e, i = 0, a = -1) { - let n, - o = t.length; - if (0 === o) return -1; - (i = - i < 0 - ? Math.max(0, i + o) - : Math.min(i, o - 1)), - (n = - (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)) < - i - ? a + 1 + (o - i) - : a - i + 1); - for (let a = 0; a < n; ++a) { - let n = (i + a) % o; - if (t[n] === e) return n; - } - return -1; - } - function i(t, e, i = -1, a = 0) { - let n, - o = t.length; - if (0 === o) return -1; - n = - (i = - i < 0 - ? Math.max(0, i + o) - : Math.min(i, o - 1)) < - (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)) - ? i + 1 + (o - a) - : i - a + 1; - for (let a = 0; a < n; ++a) { - let n = (i - a + o) % o; - if (t[n] === e) return n; - } - return -1; - } - function a(t, e, i = 0, a = -1) { - let n, - o = t.length; - if (0 === o) return -1; - (i = - i < 0 - ? Math.max(0, i + o) - : Math.min(i, o - 1)), - (n = - (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)) < - i - ? a + 1 + (o - i) - : a - i + 1); - for (let a = 0; a < n; ++a) { - let n = (i + a) % o; - if (e(t[n], n)) return n; - } - return -1; - } - function n(t, e, i = -1, a = 0) { - let n, - o = t.length; - if (0 === o) return -1; - n = - (i = - i < 0 - ? Math.max(0, i + o) - : Math.min(i, o - 1)) < - (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)) - ? i + 1 + (o - a) - : i - a + 1; - for (let a = 0; a < n; ++a) { - let n = (i - a + o) % o; - if (e(t[n], n)) return n; - } - return -1; - } - function o(t, e = 0, i = -1) { - let a = t.length; - if (!(a <= 1)) - for ( - e = - e < 0 - ? Math.max(0, e + a) - : Math.min(e, a - 1), - i = - i < 0 - ? Math.max(0, i + a) - : Math.min( - i, - a - 1 - ); - e < i; - - ) { - let a = t[e], - n = t[i]; - (t[e++] = n), (t[i--] = a); - } - } - function r(t, e) { - let i = t.length; - if ( - (e < 0 && (e += i), e < 0 || e >= i) - ) - return; - let a = t[e]; - for (let a = e + 1; a < i; ++a) - t[a - 1] = t[a]; - return (t.length = i - 1), a; - } - (t.firstIndexOf = e), - (t.lastIndexOf = i), - (t.findFirstIndex = a), - (t.findLastIndex = n), - (t.findFirstValue = function( - t, - e, - i = 0, - n = -1 - ) { - let o = a(t, e, i, n); - return -1 !== o ? t[o] : void 0; - }), - (t.findLastValue = function( - t, - e, - i = -1, - a = 0 - ) { - let o = n(t, e, i, a); - return -1 !== o ? t[o] : void 0; - }), - (t.lowerBound = function( - t, - e, - i, - a = 0, - n = -1 - ) { - let o = t.length; - if (0 === o) return 0; - let r = (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)), - l = - (n = - n < 0 - ? Math.max(0, n + o) - : Math.min( - n, - o - 1 - )) - - a + - 1; - for (; l > 0; ) { - let a = l >> 1, - n = r + a; - i(t[n], e) < 0 - ? ((r = n + 1), - (l -= a + 1)) - : (l = a); - } - return r; - }), - (t.upperBound = function( - t, - e, - i, - a = 0, - n = -1 - ) { - let o = t.length; - if (0 === o) return 0; - let r = (a = - a < 0 - ? Math.max(0, a + o) - : Math.min(a, o - 1)), - l = - (n = - n < 0 - ? Math.max(0, n + o) - : Math.min( - n, - o - 1 - )) - - a + - 1; - for (; l > 0; ) { - let a = l >> 1, - n = r + a; - i(t[n], e) > 0 - ? (l = a) - : ((r = n + 1), - (l -= a + 1)); - } - return r; - }), - (t.shallowEqual = function(t, e, i) { - if (t === e) return !0; - if (t.length !== e.length) - return !1; - for ( - let a = 0, n = t.length; - a < n; - ++a - ) - if ( - i - ? !i(t[a], e[a]) - : t[a] !== e[a] - ) - return !1; - return !0; - }), - (t.slice = function(t, e = {}) { - let { - start: i, - stop: a, - step: n, - } = e; - if ( - (void 0 === n && (n = 1), - 0 === n) - ) - throw new Error( - 'Slice `step` cannot be zero.' - ); - let o, - r = t.length; - void 0 === i - ? (i = n < 0 ? r - 1 : 0) - : i < 0 - ? (i = Math.max( - i + r, - n < 0 ? -1 : 0 - )) - : i >= r && - (i = n < 0 ? r - 1 : r), - void 0 === a - ? (a = n < 0 ? -1 : r) - : a < 0 - ? (a = Math.max( - a + r, - n < 0 ? -1 : 0 - )) - : a >= r && - (a = n < 0 ? r - 1 : r), - (o = - (n < 0 && a >= i) || - (n > 0 && i >= a) - ? 0 - : n < 0 - ? Math.floor( - (a - i + 1) / n + - 1 - ) - : Math.floor( - (a - i - 1) / n + - 1 - )); - let l = []; - for (let e = 0; e < o; ++e) - l[e] = t[i + e * n]; - return l; - }), - (t.move = function(t, e, i) { - let a = t.length; - if ( - a <= 1 || - (e = - e < 0 - ? Math.max(0, e + a) - : Math.min( - e, - a - 1 - )) === - (i = - i < 0 - ? Math.max(0, i + a) - : Math.min( - i, - a - 1 - )) - ) - return; - let n = t[e], - o = e < i ? 1 : -1; - for (let a = e; a !== i; a += o) - t[a] = t[a + o]; - t[i] = n; - }), - (t.reverse = o), - (t.rotate = function( - t, - e, - i = 0, - a = -1 - ) { - let n = t.length; - if ( - n <= 1 || - (i = - i < 0 - ? Math.max(0, i + n) - : Math.min(i, n - 1)) >= - (a = - a < 0 - ? Math.max(0, a + n) - : Math.min( - a, - n - 1 - )) - ) - return; - let r = a - i + 1; - if ( - (e > 0 - ? (e %= r) - : e < 0 && - (e = ((e % r) + r) % r), - 0 === e) - ) - return; - let l = i + e; - o(t, i, l - 1), - o(t, l, a), - o(t, i, a); - }), - (t.fill = function( - t, - e, - i = 0, - a = -1 - ) { - let n, - o = t.length; - if (0 !== o) { - (i = - i < 0 - ? Math.max(0, i + o) - : Math.min(i, o - 1)), - (n = - (a = - a < 0 - ? Math.max( - 0, - a + o - ) - : Math.min( - a, - o - 1 - )) < i - ? a + 1 + (o - i) - : a - i + 1); - for (let a = 0; a < n; ++a) - t[(i + a) % o] = e; - } - }), - (t.insert = function(t, e, i) { - let a = t.length; - e = - e < 0 - ? Math.max(0, e + a) - : Math.min(e, a); - for (let i = a; i > e; --i) - t[i] = t[i - 1]; - t[e] = i; - }), - (t.removeAt = r), - (t.removeFirstOf = function( - t, - i, - a = 0, - n = -1 - ) { - let o = e(t, i, a, n); - return -1 !== o && r(t, o), o; - }), - (t.removeLastOf = function( - t, - e, - a = -1, - n = 0 - ) { - let o = i(t, e, a, n); - return -1 !== o && r(t, o), o; - }), - (t.removeAllOf = function( - t, - e, - i = 0, - a = -1 - ) { - let n = t.length; - if (0 === n) return 0; - (i = - i < 0 - ? Math.max(0, i + n) - : Math.min(i, n - 1)), - (a = - a < 0 - ? Math.max(0, a + n) - : Math.min(a, n - 1)); - let o = 0; - for (let r = 0; r < n; ++r) - (i <= a && - r >= i && - r <= a && - t[r] === e) || - (a < i && - (r <= a || r >= i) && - t[r] === e) - ? o++ - : o > 0 && - (t[r - o] = t[r]); - return ( - o > 0 && (t.length = n - o), o - ); - }), - (t.removeFirstWhere = function( - t, - e, - i = 0, - n = -1 - ) { - let o, - l = a(t, e, i, n); - return ( - -1 !== l && (o = r(t, l)), - { index: l, value: o } - ); - }), - (t.removeLastWhere = function( - t, - e, - i = -1, - a = 0 - ) { - let o, - l = n(t, e, i, a); - return ( - -1 !== l && (o = r(t, l)), - { index: l, value: o } - ); - }), - (t.removeAllWhere = function( - t, - e, - i = 0, - a = -1 - ) { - let n = t.length; - if (0 === n) return 0; - (i = - i < 0 - ? Math.max(0, i + n) - : Math.min(i, n - 1)), - (a = - a < 0 - ? Math.max(0, a + n) - : Math.min(a, n - 1)); - let o = 0; - for (let r = 0; r < n; ++r) - (i <= a && - r >= i && - r <= a && - e(t[r], r)) || - (a < i && - (r <= a || r >= i) && - e(t[r], r)) - ? o++ - : o > 0 && - (t[r - o] = t[r]); - return ( - o > 0 && (t.length = n - o), o - ); - }); - })(t.ArrayExt || (t.ArrayExt = {})), - ((i || (i = {})).rangeLength = function( - t, - e, - i - ) { - return 0 === i - ? 1 / 0 - : (t > e && i > 0) || (t < e && i < 0) - ? 0 - : Math.ceil((e - t) / i); - }), - (t.StringExt = void 0), - (function(t) { - function e(t, e, i = 0) { - let a = new Array(e.length); - for ( - let n = 0, o = i, r = e.length; - n < r; - ++n, ++o - ) { - if ( - ((o = t.indexOf(e[n], o)), - -1 === o) - ) - return null; - a[n] = o; - } - return a; - } - (t.findIndices = e), - (t.matchSumOfSquares = function( - t, - i, - a = 0 - ) { - let n = e(t, i, a); - if (!n) return null; - let o = 0; - for ( - let t = 0, e = n.length; - t < e; - ++t - ) { - let e = n[t] - a; - o += e * e; - } - return { score: o, indices: n }; - }), - (t.matchSumOfDeltas = function( - t, - i, - a = 0 - ) { - let n = e(t, i, a); - if (!n) return null; - let o = 0, - r = a - 1; - for ( - let t = 0, e = n.length; - t < e; - ++t - ) { - let e = n[t]; - (o += e - r - 1), (r = e); - } - return { score: o, indices: n }; - }), - (t.highlight = function(t, e, i) { - let a = [], - n = 0, - o = 0, - r = e.length; - for (; n < r; ) { - let l = e[n], - p = e[n]; - for ( - ; - ++n < r && e[n] === p + 1; - - ) - p++; - o < l && a.push(t.slice(o, l)), - l < p + 1 && - a.push( - i(t.slice(l, p + 1)) - ), - (o = p + 1); - } - return ( - o < t.length && - a.push(t.slice(o)), - a - ); - }), - (t.cmp = function(t, e) { - return t < e ? -1 : t > e ? 1 : 0; - }); - })(t.StringExt || (t.StringExt = {})), - (t.chain = function*(...t) { - for (let e of t) yield* e; - }), - (t.each = function(t, e) { - let i = 0; - for (let a of t) - if (!1 === e(a, i++)) return; - }), - (t.empty = function*() {}), - (t.enumerate = function*(t, e = 0) { - for (let i of t) yield [e++, i]; - }), - (t.every = e), - (t.filter = function*(t, e) { - let i = 0; - for (let a of t) e(a, i++) && (yield a); - }), - (t.find = function(t, e) { - let i = 0; - for (let a of t) if (e(a, i++)) return a; - }), - (t.findIndex = function(t, e) { - let i = 0; - for (let a of t) - if (e(a, i++)) return i - 1; - return -1; - }), - (t.map = function*(t, e) { - let i = 0; - for (let a of t) yield e(a, i++); - }), - (t.max = function(t, e) { - let i; - for (let a of t) - void 0 !== i - ? e(a, i) > 0 && (i = a) - : (i = a); - return i; - }), - (t.min = function(t, e) { - let i; - for (let a of t) - void 0 !== i - ? e(a, i) < 0 && (i = a) - : (i = a); - return i; - }), - (t.minmax = function(t, e) { - let i, - a, - n = !0; - for (let o of t) - n - ? ((i = o), (a = o), (n = !1)) - : e(o, i) < 0 - ? (i = o) - : e(o, a) > 0 && (a = o); - return n ? void 0 : [i, a]; - }), - (t.once = function*(t) { - yield t; - }), - (t.range = function*(t, e, a) { - void 0 === e - ? ((e = t), (t = 0), (a = 1)) - : void 0 === a && (a = 1); - let n = i.rangeLength(t, e, a); - for (let e = 0; e < n; e++) yield t + a * e; - }), - (t.reduce = function(t, e, i) { - let a = t[Symbol.iterator](), - n = 0, - o = a.next(); - if (o.done && void 0 === i) - throw new TypeError( - 'Reduce of empty iterable with no initial value.' - ); - if (o.done) return i; - let r, - l, - p = a.next(); - if (p.done && void 0 === i) return o.value; - if (p.done) return e(i, o.value, n++); - for ( - r = e( - void 0 === i - ? o.value - : e(i, o.value, n++), - p.value, - n++ - ); - !(l = a.next()).done; - - ) - r = e(r, l.value, n++); - return r; - }), - (t.repeat = function*(t, e) { - for (; 0 < e--; ) yield t; - }), - (t.retro = function*(t) { - if ('function' == typeof t.retro) - yield* t.retro(); - else - for (let e = t.length - 1; e > -1; e--) - yield t[e]; - }), - (t.some = function(t, e) { - let i = 0; - for (let a of t) if (e(a, i++)) return !0; - return !1; - }), - (t.stride = function*(t, e) { - let i = 0; - for (let a of t) i++ % e == 0 && (yield a); - }), - (t.take = function*(t, e) { - if (e < 1) return; - let i, - a = t[Symbol.iterator](); - for (; 0 < e-- && !(i = a.next()).done; ) - yield i.value; - }), - (t.toArray = function(t) { - return Array.from(t); - }), - (t.toObject = function(t) { - let e = {}; - for (let [i, a] of t) e[i] = a; - return e; - }), - (t.topologicSort = function(t) { - let e = [], - i = new Set(), - a = new Map(); - for (let e of t) n(e); - for (let [t] of a) o(t); - return e; - function n(t) { - let [e, i] = t, - n = a.get(i); - n ? n.push(e) : a.set(i, [e]); - } - function o(t) { - if (i.has(t)) return; - i.add(t); - let n = a.get(t); - if (n) for (let t of n) o(t); - e.push(t); - } - }), - (t.zip = function*(...t) { - let i = t.map(t => t[Symbol.iterator]()), - a = i.map(t => t.next()); - for ( - ; - e(a, t => !t.done); - a = i.map(t => t.next()) - ) - yield a.map(t => t.value); - }); - }), - 'object' == typeof t && void 0 !== e - ? a(t) - : 'function' == typeof define && - __webpack_require__.amdO - ? define(['exports'], a) - : a( - ((i = - 'undefined' != typeof globalThis - ? globalThis - : i || self).lumino_algorithm = {}) - ); - }), - pe = F((t, e) => { - var i, a; - (i = t), - (a = function(t) { - function e(t) { - let e = 0; - for (let i = 0, a = t.length; i < a; ++i) - i % 4 == 0 && - (e = - (4294967295 * Math.random()) >>> 0), - (t[i] = 255 & e), - (e >>>= 8); - } - (t.JSONExt = void 0), - (function(t) { - function e(t) { - return ( - null === t || - 'boolean' == typeof t || - 'number' == typeof t || - 'string' == typeof t - ); - } - function i(t) { - return Array.isArray(t); - } - (t.emptyObject = Object.freeze({})), - (t.emptyArray = Object.freeze([])), - (t.isPrimitive = e), - (t.isArray = i), - (t.isObject = function(t) { - return !e(t) && !i(t); - }), - (t.deepEqual = function t(a, n) { - if (a === n) return !0; - if (e(a) || e(n)) return !1; - let o = i(a), - r = i(n); - return ( - o === r && - (o && r - ? (function(e, i) { - if (e === i) - return !0; - if ( - e.length !== - i.length - ) - return !1; - for ( - let a = 0, - n = e.length; - a < n; - ++a - ) - if ( - !t(e[a], i[a]) - ) - return !1; - return !0; - })(a, n) - : (function(e, i) { - if (e === i) - return !0; - for (let t in e) - if ( - void 0 !== - e[t] && - !(t in i) - ) - return !1; - for (let t in i) - if ( - void 0 !== - i[t] && - !(t in e) - ) - return !1; - for (let a in e) { - let n = e[a], - o = i[a]; - if ( - !( - (void 0 === - n && - void 0 === - o) || - (void 0 !== - n && - void 0 !== - o && - t( - n, - o - )) - ) - ) - return !1; - } - return !0; - })(a, n)) - ); - }), - (t.deepCopy = function t(a) { - return e(a) - ? a - : i(a) - ? (function(e) { - let i = new Array( - e.length - ); - for ( - let a = 0, - n = e.length; - a < n; - ++a - ) - i[a] = t(e[a]); - return i; - })(a) - : (function(e) { - let i = {}; - for (let a in e) { - let n = e[a]; - void 0 !== n && - (i[a] = t(n)); - } - return i; - })(a); - }); - })(t.JSONExt || (t.JSONExt = {})), - (t.Random = void 0), - (( - t.Random || (t.Random = {}) - ).getRandomValues = (() => { - let t = - ('undefined' != typeof window && - (window.crypto || - window.msCrypto)) || - null; - return t && - 'function' == typeof t.getRandomValues - ? function(e) { - return t.getRandomValues(e); - } - : e; - })()), - (t.UUID = void 0), - ((t.UUID || (t.UUID = {})).uuid4 = (function( - t - ) { - let e = new Uint8Array(16), - i = new Array(256); - for (let t = 0; t < 16; ++t) - i[t] = '0' + t.toString(16); - for (let t = 16; t < 256; ++t) - i[t] = t.toString(16); - return function() { - return ( - t(e), - (e[6] = 64 | (15 & e[6])), - (e[8] = 128 | (63 & e[8])), - i[e[0]] + - i[e[1]] + - i[e[2]] + - i[e[3]] + - '-' + - i[e[4]] + - i[e[5]] + - '-' + - i[e[6]] + - i[e[7]] + - '-' + - i[e[8]] + - i[e[9]] + - '-' + - i[e[10]] + - i[e[11]] + - i[e[12]] + - i[e[13]] + - i[e[14]] + - i[e[15]] - ); - }; - })(t.Random.getRandomValues)), - (t.MimeData = class { - constructor() { - (this._types = []), (this._values = []); - } - types() { - return this._types.slice(); - } - hasData(t) { - return -1 !== this._types.indexOf(t); - } - getData(t) { - let e = this._types.indexOf(t); - return -1 !== e - ? this._values[e] - : void 0; - } - setData(t, e) { - this.clearData(t), - this._types.push(t), - this._values.push(e); - } - clearData(t) { - let e = this._types.indexOf(t); - -1 !== e && - (this._types.splice(e, 1), - this._values.splice(e, 1)); - } - clear() { - (this._types.length = 0), - (this._values.length = 0); - } - }), - (t.PromiseDelegate = class { - constructor() { - this.promise = new Promise((t, e) => { - (this._resolve = t), - (this._reject = e); - }); - } - resolve(t) { - (0, this._resolve)(t); - } - reject(t) { - (0, this._reject)(t); - } - }), - (t.Token = class { - constructor(t, e) { - (this.name = t), - (this.description = - null != e ? e : ''), - (this._tokenStructuralPropertyT = null); - } - }); - }), - 'object' == typeof t && void 0 !== e - ? a(t) - : 'function' == typeof define && - __webpack_require__.amdO - ? define(['exports'], a) - : a( - ((i = - 'undefined' != typeof globalThis - ? globalThis - : i || self).lumino_coreutils = {}) - ); - }), - Xe = F((t, e) => { - var i, a; - (i = t), - (a = function(t, e, i) { - class a { - constructor(t) { - this.sender = t; - } - connect(t, e) { - return o.connect(this, t, e); - } - disconnect(t, e) { - return o.disconnect(this, t, e); - } - emit(t) { - o.emit(this, t); - } - } - var n, o; - ((n = a || (a = {})).disconnectBetween = function( - t, - e - ) { - o.disconnectBetween(t, e); - }), - (n.disconnectSender = function(t) { - o.disconnectSender(t); - }), - (n.disconnectReceiver = function(t) { - o.disconnectReceiver(t); - }), - (n.disconnectAll = function(t) { - o.disconnectAll(t); - }), - (n.clearData = function(t) { - o.disconnectAll(t); - }), - (n.getExceptionHandler = function() { - return o.exceptionHandler; - }), - (n.setExceptionHandler = function(t) { - let e = o.exceptionHandler; - return (o.exceptionHandler = t), e; - }); - class r extends a { - constructor() { - super(...arguments), - (this._pending = new i.PromiseDelegate()); - } - async *[Symbol.asyncIterator]() { - let t = this._pending; - for (;;) - try { - let { - args: e, - next: i, - } = await t.promise; - (t = i), yield e; - } catch { - return; - } - } - emit(t) { - let e = this._pending, - a = (this._pending = new i.PromiseDelegate()); - e.resolve({ args: t, next: a }), - super.emit(t); - } - stop() { - this._pending.promise.catch(() => {}), - this._pending.reject('stop'), - (this._pending = new i.PromiseDelegate()); - } - } - (function(t) { - function i(t) { - let e = n.get(t); - if (e && 0 !== e.length) { - for (let t of e) { - if (!t.signal) continue; - let e = t.thisArg || t.slot; - (t.signal = null), c(o.get(e)); - } - c(e); - } - } - function a(t) { - let e = o.get(t); - if (e && 0 !== e.length) { - for (let t of e) { - if (!t.signal) continue; - let e = t.signal.sender; - (t.signal = null), c(n.get(e)); - } - c(e); - } - } - (t.exceptionHandler = t => { - console.error(t); - }), - (t.connect = function(t, e, i) { - i = i || void 0; - let a = n.get(t.sender); - if ( - (a || - ((a = []), n.set(t.sender, a)), - p(a, t, e, i)) - ) - return !1; - let r = i || e, - l = o.get(r); - l || ((l = []), o.set(r, l)); - let s = { - signal: t, - slot: e, - thisArg: i, - }; - return a.push(s), l.push(s), !0; - }), - (t.disconnect = function(t, e, i) { - i = i || void 0; - let a = n.get(t.sender); - if (!a || 0 === a.length) return !1; - let r = p(a, t, e, i); - if (!r) return !1; - let l = i || e, - s = o.get(l); - return ( - (r.signal = null), c(a), c(s), !0 - ); - }), - (t.disconnectBetween = function(t, e) { - let i = n.get(t); - if (!i || 0 === i.length) return; - let a = o.get(e); - if (a && 0 !== a.length) { - for (let e of a) - e.signal && - e.signal.sender === t && - (e.signal = null); - c(i), c(a); - } - }), - (t.disconnectSender = i), - (t.disconnectReceiver = a), - (t.disconnectAll = function(t) { - i(t), a(t); - }), - (t.emit = function(t, e) { - let i = n.get(t.sender); - if (i && 0 !== i.length) - for ( - let a = 0, n = i.length; - a < n; - ++a - ) { - let n = i[a]; - n.signal === t && s(n, e); - } - }); - let n = new WeakMap(), - o = new WeakMap(), - r = new Set(), - l = - 'function' == - typeof requestAnimationFrame - ? requestAnimationFrame - : setImmediate; - function p(t, i, a, n) { - return e.find( - t, - t => - t.signal === i && - t.slot === a && - t.thisArg === n - ); - } - function s(e, i) { - let { signal: a, slot: n, thisArg: o } = e; - try { - n.call(o, a.sender, i); - } catch (e) { - t.exceptionHandler(e); - } - } - function c(t) { - 0 === r.size && l(d), r.add(t); - } - function d() { - r.forEach(m), r.clear(); - } - function m(t) { - e.ArrayExt.removeAllWhere(t, u); - } - function u(t) { - return null === t.signal; - } - })(o || (o = {})), - (t.Signal = a), - (t.Stream = r); - }), - 'object' == typeof t && void 0 !== e - ? a(t, Ye(), pe()) - : 'function' == typeof define && - __webpack_require__.amdO - ? define([ - 'exports', - '@lumino/algorithm', - '@lumino/coreutils', - ], a) - : a( - ((i = - 'undefined' != typeof globalThis - ? globalThis - : i || self).lumino_signaling = {}), - i.lumino_algorithm, - i.lumino_coreutils - ); - }), - et = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.ActivityMonitor = void 0); - var e = Xe(); - t.ActivityMonitor = class { - constructor(t) { - (this._timer = -1), - (this._timeout = -1), - (this._isDisposed = !1), - (this._activityStopped = new e.Signal(this)), - t.signal.connect(this._onSignalFired, this), - (this._timeout = t.timeout || 1e3); - } - get activityStopped() { - return this._activityStopped; - } - get timeout() { - return this._timeout; - } - set timeout(t) { - this._timeout = t; - } - get isDisposed() { - return this._isDisposed; - } - dispose() { - this._isDisposed || - ((this._isDisposed = !0), - e.Signal.clearData(this)); - } - _onSignalFired(t, e) { - clearTimeout(this._timer), - (this._sender = t), - (this._args = e), - (this._timer = setTimeout(() => { - this._activityStopped.emit({ - sender: this._sender, - args: this._args, - }); - }, this._timeout)); - } - }; - }), - it = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }); - }), - nt = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.MarkdownCodeBlocks = void 0), - (function(t) { - t.CODE_BLOCK_MARKER = '```'; - let e = [ - '.markdown', - '.mdown', - '.mkdn', - '.md', - '.mkd', - '.mdwn', - '.mdtxt', - '.mdtext', - '.text', - '.txt', - '.Rmd', - ]; - class i { - constructor(t) { - (this.startLine = t), - (this.code = ''), - (this.endLine = -1); - } - } - (t.MarkdownCodeBlock = i), - (t.isMarkdown = function(t) { - return e.indexOf(t) > -1; - }), - (t.findMarkdownCodeBlocks = function(e) { - if (!e || '' === e) return []; - let a = e.split('\n'), - n = [], - o = null; - for (let e = 0; e < a.length; e++) { - let r = a[e], - l = - 0 === - r.indexOf(t.CODE_BLOCK_MARKER), - p = null != o; - if (l || p) - if (p) - o && - (l - ? ((o.endLine = e - 1), - n.push(o), - (o = null)) - : (o.code += r + '\n')); - else { - o = new i(e); - let a = r.indexOf( - t.CODE_BLOCK_MARKER - ), - l = r.lastIndexOf( - t.CODE_BLOCK_MARKER - ); - a !== l && - ((o.code = r.substring( - a + - t.CODE_BLOCK_MARKER - .length, - l - )), - (o.endLine = e), - n.push(o), - (o = null)); - } - } - return n; - }); - })(t.MarkdownCodeBlocks || (t.MarkdownCodeBlocks = {})); - }), - rt = F((t, e) => { - function i(t) { - return ( - !( - 'number' != typeof t && - !/^0x[0-9a-f]+$/i.test(t) - ) || - /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(t) - ); - } - function a(t, e) { - return ( - ('constructor' === e && - 'function' == typeof t[e]) || - '__proto__' === e - ); - } - e.exports = function(t, e) { - e || (e = {}); - var n = { bools: {}, strings: {}, unknownFn: null }; - 'function' == typeof e.unknown && - (n.unknownFn = e.unknown), - 'boolean' == typeof e.boolean && e.boolean - ? (n.allBools = !0) - : [] - .concat(e.boolean) - .filter(Boolean) - .forEach(function(t) { - n.bools[t] = !0; - }); - var o = {}; - function r(t) { - return o[t].some(function(t) { - return n.bools[t]; - }); - } - Object.keys(e.alias || {}).forEach(function(t) { - (o[t] = [].concat(e.alias[t])), - o[t].forEach(function(e) { - o[e] = [t].concat( - o[t].filter(function(t) { - return e !== t; - }) - ); - }); - }), - [] - .concat(e.string) - .filter(Boolean) - .forEach(function(t) { - (n.strings[t] = !0), - o[t] && - [] - .concat(o[t]) - .forEach(function(t) { - n.strings[t] = !0; - }); - }); - var l = e.default || {}, - p = { _: [] }; - function s(t, e, i) { - for (var o = t, r = 0; r < e.length - 1; r++) { - var l = e[r]; - if (a(o, l)) return; - void 0 === o[l] && (o[l] = {}), - (o[l] === Object.prototype || - o[l] === Number.prototype || - o[l] === String.prototype) && - (o[l] = {}), - o[l] === Array.prototype && (o[l] = []), - (o = o[l]); - } - var p = e[e.length - 1]; - a(o, p) || - ((o === Object.prototype || - o === Number.prototype || - o === String.prototype) && - (o = {}), - o === Array.prototype && (o = []), - void 0 === o[p] || - n.bools[p] || - 'boolean' == typeof o[p] - ? (o[p] = i) - : Array.isArray(o[p]) - ? o[p].push(i) - : (o[p] = [o[p], i])); - } - function c(t, e, a) { - if ( - !a || - !n.unknownFn || - (function(t, e) { - return ( - (n.allBools && /^--[^=]+$/.test(e)) || - n.strings[t] || - n.bools[t] || - o[t] - ); - })(t, a) || - !1 !== n.unknownFn(a) - ) { - var r = !n.strings[t] && i(e) ? Number(e) : e; - s(p, t.split('.'), r), - (o[t] || []).forEach(function(t) { - s(p, t.split('.'), r); - }); - } - } - Object.keys(n.bools).forEach(function(t) { - c(t, void 0 !== l[t] && l[t]); - }); - var d = []; - -1 !== t.indexOf('--') && - ((d = t.slice(t.indexOf('--') + 1)), - (t = t.slice(0, t.indexOf('--')))); - for (var m = 0; m < t.length; m++) { - var u, - f, - h = t[m]; - if (/^--.+=/.test(h)) { - var v = h.match(/^--([^=]+)=([\s\S]*)$/); - u = v[1]; - var x = v[2]; - n.bools[u] && (x = 'false' !== x), c(u, x, h); - } else if (/^--no-.+/.test(h)) - c((u = h.match(/^--no-(.+)/)[1]), !1, h); - else if (/^--.+/.test(h)) - (u = h.match(/^--(.+)/)[1]), - void 0 === (f = t[m + 1]) || - /^(-|--)[^-]/.test(f) || - n.bools[u] || - n.allBools || - (o[u] && r(u)) - ? /^(true|false)$/.test(f) - ? (c(u, 'true' === f, h), (m += 1)) - : c(u, !n.strings[u] || '', h) - : (c(u, f, h), (m += 1)); - else if (/^-[^-]+/.test(h)) { - for ( - var g = h.slice(1, -1).split(''), - b = !1, - w = 0; - w < g.length; - w++ - ) - if ('-' !== (f = h.slice(w + 2))) { - if ( - /[A-Za-z]/.test(g[w]) && - '=' === f[0] - ) { - c(g[w], f.slice(1), h), (b = !0); - break; - } - if ( - /[A-Za-z]/.test(g[w]) && - /-?\d+(\.\d*)?(e-?\d+)?$/.test(f) - ) { - c(g[w], f, h), (b = !0); - break; - } - if (g[w + 1] && g[w + 1].match(/\W/)) { - c(g[w], h.slice(w + 2), h), - (b = !0); - break; - } - c(g[w], !n.strings[g[w]] || '', h); - } else c(g[w], f, h); - (u = h.slice(-1)[0]), - !b && - '-' !== u && - (!t[m + 1] || - /^(-|--)[^-]/.test(t[m + 1]) || - n.bools[u] || - (o[u] && r(u)) - ? t[m + 1] && - /^(true|false)$/.test(t[m + 1]) - ? (c(u, 'true' === t[m + 1], h), - (m += 1)) - : c(u, !n.strings[u] || '', h) - : (c(u, t[m + 1], h), (m += 1))); - } else if ( - ((!n.unknownFn || !1 !== n.unknownFn(h)) && - p._.push( - n.strings._ || !i(h) ? h : Number(h) - ), - e.stopEarly) - ) { - p._.push.apply(p._, t.slice(m + 1)); - break; - } - } - return ( - Object.keys(l).forEach(function(t) { - (function(t, e) { - var i = t; - return ( - e.slice(0, -1).forEach(function(t) { - i = i[t] || {}; - }), - e[e.length - 1] in i - ); - })(p, t.split('.')) || - (s(p, t.split('.'), l[t]), - (o[t] || []).forEach(function(e) { - s(p, e.split('.'), l[t]); - })); - }), - e['--'] - ? (p['--'] = d.slice()) - : d.forEach(function(t) { - p._.push(t); - }), - p - ); - }; - }), - ke = F((t, e) => { - function i(t) { - if ('string' != typeof t) - throw new TypeError( - 'Path must be a string. Received ' + - JSON.stringify(t) - ); - } - function a(t, e) { - for ( - var i, a = '', n = 0, o = -1, r = 0, l = 0; - l <= t.length; - ++l - ) { - if (l < t.length) i = t.charCodeAt(l); - else { - if (47 === i) break; - i = 47; - } - if (47 === i) { - if (o !== l - 1 && 1 !== r) - if (o !== l - 1 && 2 === r) { - if ( - a.length < 2 || - 2 !== n || - 46 !== a.charCodeAt(a.length - 1) || - 46 !== a.charCodeAt(a.length - 2) - ) - if (a.length > 2) { - var p = a.lastIndexOf('/'); - if (p !== a.length - 1) { - -1 === p - ? ((a = ''), (n = 0)) - : (n = - (a = a.slice( - 0, - p - )).length - - 1 - - a.lastIndexOf( - '/' - )), - (o = l), - (r = 0); - continue; - } - } else if ( - 2 === a.length || - 1 === a.length - ) { - (a = ''), - (n = 0), - (o = l), - (r = 0); - continue; - } - e && - (a.length > 0 - ? (a += '/..') - : (a = '..'), - (n = 2)); - } else - a.length > 0 - ? (a += '/' + t.slice(o + 1, l)) - : (a = t.slice(o + 1, l)), - (n = l - o - 1); - (o = l), (r = 0); - } else 46 === i && -1 !== r ? ++r : (r = -1); - } - return a; - } - var n = { - resolve: function() { - for ( - var t, e = '', n = !1, o = arguments.length - 1; - o >= -1 && !n; - o-- - ) { - var r; - o >= 0 - ? (r = arguments[o]) - : (void 0 === t && (t = process.cwd()), - (r = t)), - i(r), - 0 !== r.length && - ((e = r + '/' + e), - (n = 47 === r.charCodeAt(0))); - } - return ( - (e = a(e, !n)), - n - ? e.length > 0 - ? '/' + e - : '/' - : e.length > 0 - ? e - : '.' - ); - }, - normalize: function(t) { - if ((i(t), 0 === t.length)) return '.'; - var e = 47 === t.charCodeAt(0), - n = 47 === t.charCodeAt(t.length - 1); - return ( - 0 === (t = a(t, !e)).length && !e && (t = '.'), - t.length > 0 && n && (t += '/'), - e ? '/' + t : t - ); - }, - isAbsolute: function(t) { - return i(t), t.length > 0 && 47 === t.charCodeAt(0); - }, - join: function() { - if (0 === arguments.length) return '.'; - for (var t, e = 0; e < arguments.length; ++e) { - var a = arguments[e]; - i(a), - a.length > 0 && - (void 0 === t - ? (t = a) - : (t += '/' + a)); - } - return void 0 === t ? '.' : n.normalize(t); - }, - relative: function(t, e) { - if ( - (i(t), - i(e), - t === e || - (t = n.resolve(t)) === (e = n.resolve(e))) - ) - return ''; - for ( - var a = 1; - a < t.length && 47 === t.charCodeAt(a); - ++a - ); - for ( - var o = t.length, r = o - a, l = 1; - l < e.length && 47 === e.charCodeAt(l); - ++l - ); - for ( - var p = e.length - l, - s = r < p ? r : p, - c = -1, - d = 0; - d <= s; - ++d - ) { - if (d === s) { - if (p > s) { - if (47 === e.charCodeAt(l + d)) - return e.slice(l + d + 1); - if (0 === d) return e.slice(l + d); - } else - r > s && - (47 === t.charCodeAt(a + d) - ? (c = d) - : 0 === d && (c = 0)); - break; - } - var m = t.charCodeAt(a + d); - if (m !== e.charCodeAt(l + d)) break; - 47 === m && (c = d); - } - var u = ''; - for (d = a + c + 1; d <= o; ++d) - (d === o || 47 === t.charCodeAt(d)) && - (0 === u.length - ? (u += '..') - : (u += '/..')); - return u.length > 0 - ? u + e.slice(l + c) - : ((l += c), - 47 === e.charCodeAt(l) && ++l, - e.slice(l)); - }, - _makeLong: function(t) { - return t; - }, - dirname: function(t) { - if ((i(t), 0 === t.length)) return '.'; - for ( - var e = t.charCodeAt(0), - a = 47 === e, - n = -1, - o = !0, - r = t.length - 1; - r >= 1; - --r - ) - if (47 === (e = t.charCodeAt(r))) { - if (!o) { - n = r; - break; - } - } else o = !1; - return -1 === n - ? a - ? '/' - : '.' - : a && 1 === n - ? '//' - : t.slice(0, n); - }, - basename: function(t, e) { - if (void 0 !== e && 'string' != typeof e) - throw new TypeError( - '"ext" argument must be a string' - ); - i(t); - var a, - n = 0, - o = -1, - r = !0; - if ( - void 0 !== e && - e.length > 0 && - e.length <= t.length - ) { - if (e.length === t.length && e === t) return ''; - var l = e.length - 1, - p = -1; - for (a = t.length - 1; a >= 0; --a) { - var s = t.charCodeAt(a); - if (47 === s) { - if (!r) { - n = a + 1; - break; - } - } else - -1 === p && ((r = !1), (p = a + 1)), - l >= 0 && - (s === e.charCodeAt(l) - ? -1 == --l && (o = a) - : ((l = -1), (o = p))); - } - return ( - n === o - ? (o = p) - : -1 === o && (o = t.length), - t.slice(n, o) - ); - } - for (a = t.length - 1; a >= 0; --a) - if (47 === t.charCodeAt(a)) { - if (!r) { - n = a + 1; - break; - } - } else -1 === o && ((r = !1), (o = a + 1)); - return -1 === o ? '' : t.slice(n, o); - }, - extname: function(t) { - i(t); - for ( - var e = -1, - a = 0, - n = -1, - o = !0, - r = 0, - l = t.length - 1; - l >= 0; - --l - ) { - var p = t.charCodeAt(l); - if (47 !== p) - -1 === n && ((o = !1), (n = l + 1)), - 46 === p - ? -1 === e - ? (e = l) - : 1 !== r && (r = 1) - : -1 !== e && (r = -1); - else if (!o) { - a = l + 1; - break; - } - } - return -1 === e || - -1 === n || - 0 === r || - (1 === r && e === n - 1 && e === a + 1) - ? '' - : t.slice(e, n); - }, - format: function(t) { - if (null === t || 'object' != typeof t) - throw new TypeError( - 'The "pathObject" argument must be of type Object. Received type ' + - typeof t - ); - return (function(t, e) { - var i = e.dir || e.root, - a = - e.base || - (e.name || '') + (e.ext || ''); - return i - ? i === e.root - ? i + a - : i + '/' + a - : a; - })(0, t); - }, - parse: function(t) { - i(t); - var e = { - root: '', - dir: '', - base: '', - ext: '', - name: '', - }; - if (0 === t.length) return e; - var a, - n = t.charCodeAt(0), - o = 47 === n; - o ? ((e.root = '/'), (a = 1)) : (a = 0); - for ( - var r = -1, - l = 0, - p = -1, - s = !0, - c = t.length - 1, - d = 0; - c >= a; - --c - ) - if (47 !== (n = t.charCodeAt(c))) - -1 === p && ((s = !1), (p = c + 1)), - 46 === n - ? -1 === r - ? (r = c) - : 1 !== d && (d = 1) - : -1 !== r && (d = -1); - else if (!s) { - l = c + 1; - break; - } - return ( - -1 === r || - -1 === p || - 0 === d || - (1 === d && r === p - 1 && r === l + 1) - ? -1 !== p && - (e.base = e.name = - 0 === l && o - ? t.slice(1, p) - : t.slice(l, p)) - : (0 === l && o - ? ((e.name = t.slice(1, r)), - (e.base = t.slice(1, p))) - : ((e.name = t.slice(l, r)), - (e.base = t.slice(l, p))), - (e.ext = t.slice(r, p))), - l > 0 - ? (e.dir = t.slice(0, l - 1)) - : o && (e.dir = '/'), - e - ); - }, - sep: '/', - delimiter: ':', - win32: null, - posix: null, - }; - (n.posix = n), (e.exports = n); - }), - dt = F((t, e) => { - e.exports = function(t, e) { - if (((e = e.split(':')[0]), !(t = +t))) return !1; - switch (e) { - case 'http': - case 'ws': - return 80 !== t; - case 'https': - case 'wss': - return 443 !== t; - case 'ftp': - return 21 !== t; - case 'gopher': - return 70 !== t; - case 'file': - return !1; - } - return 0 !== t; - }; - }), - ut = F(t => { - var e = Object.prototype.hasOwnProperty; - function i(t) { - try { - return decodeURIComponent(t.replace(/\+/g, ' ')); - } catch { - return null; - } - } - function a(t) { - try { - return encodeURIComponent(t); - } catch { - return null; - } - } - (t.stringify = function(t, i) { - i = i || ''; - var n, - o, - r = []; - for (o in ('string' != typeof i && (i = '?'), t)) - if (e.call(t, o)) { - if ( - (!(n = t[o]) && - (null == n || isNaN(n)) && - (n = ''), - (o = a(o)), - (n = a(n)), - null === o || null === n) - ) - continue; - r.push(o + '=' + n); - } - return r.length ? i + r.join('&') : ''; - }), - (t.parse = function(t) { - for ( - var e, a = /([^=?#&]+)=?([^&]*)/g, n = {}; - (e = a.exec(t)); - - ) { - var o = i(e[1]), - r = i(e[2]); - null === o || - null === r || - o in n || - (n[o] = r); - } - return n; - }); - }), - _t = F((t, e) => { - var i = dt(), - a = ut(), - n = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/, - o = /[\n\r\t]/g, - r = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//, - l = /:\d+$/, - p = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i, - s = /^[a-zA-Z]:/; - function c(t) { - return (t || '').toString().replace(n, ''); - } - var d = [ - ['#', 'hash'], - ['?', 'query'], - function(t, e) { - return f(e.protocol) - ? t.replace(/\\/g, '/') - : t; - }, - ['/', 'pathname'], - ['@', 'auth', 1], - [NaN, 'host', void 0, 1, 1], - [/:(\d*)$/, 'port', void 0, 1], - [NaN, 'hostname', void 0, 1, 1], - ], - m = { hash: 1, query: 1 }; - function u(t) { - var e, - i = - ('undefined' != typeof window - ? window - : void 0 !== __webpack_require__.g - ? __webpack_require__.g - : 'undefined' != typeof self - ? self - : {} - ).location || {}, - a = {}, - n = typeof (t = t || i); - if ('blob:' === t.protocol) - a = new v(unescape(t.pathname), {}); - else if ('string' === n) - for (e in ((a = new v(t, {})), m)) delete a[e]; - else if ('object' === n) { - for (e in t) e in m || (a[e] = t[e]); - void 0 === a.slashes && - (a.slashes = r.test(t.href)); - } - return a; - } - function f(t) { - return ( - 'file:' === t || - 'ftp:' === t || - 'http:' === t || - 'https:' === t || - 'ws:' === t || - 'wss:' === t - ); - } - function h(t, e) { - (t = (t = c(t)).replace(o, '')), (e = e || {}); - var i, - a = p.exec(t), - n = a[1] ? a[1].toLowerCase() : '', - r = !!a[2], - l = !!a[3], - s = 0; - return ( - r - ? l - ? ((i = a[2] + a[3] + a[4]), - (s = a[2].length + a[3].length)) - : ((i = a[2] + a[4]), (s = a[2].length)) - : l - ? ((i = a[3] + a[4]), (s = a[3].length)) - : (i = a[4]), - 'file:' === n - ? s >= 2 && (i = i.slice(2)) - : f(n) - ? (i = a[4]) - : n - ? r && (i = i.slice(2)) - : s >= 2 && f(e.protocol) && (i = a[4]), - { - protocol: n, - slashes: r || f(n), - slashesCount: s, - rest: i, - } - ); - } - function v(t, e, n) { - if ( - ((t = (t = c(t)).replace(o, '')), - !(this instanceof v)) - ) - return new v(t, e, n); - var r, - l, - p, - m, - x, - g, - b = d.slice(), - w = typeof e, - y = this, - _ = 0; - for ( - 'object' !== w && - 'string' !== w && - ((n = e), (e = null)), - n && 'function' != typeof n && (n = a.parse), - r = - !(l = h(t || '', (e = u(e)))).protocol && - !l.slashes, - y.slashes = l.slashes || (r && e.slashes), - y.protocol = l.protocol || e.protocol || '', - t = l.rest, - (('file:' === l.protocol && - (2 !== l.slashesCount || s.test(t))) || - (!l.slashes && - (l.protocol || - l.slashesCount < 2 || - !f(y.protocol)))) && - (b[3] = [/(.*)/, 'pathname']); - _ < b.length; - _++ - ) - 'function' != typeof (m = b[_]) - ? ((p = m[0]), - (g = m[1]), - p != p - ? (y[g] = t) - : 'string' == typeof p - ? ~(x = - '@' === p - ? t.lastIndexOf(p) - : t.indexOf(p)) && - ('number' == typeof m[2] - ? ((y[g] = t.slice(0, x)), - (t = t.slice(x + m[2]))) - : ((y[g] = t.slice(x)), - (t = t.slice(0, x)))) - : (x = p.exec(t)) && - ((y[g] = x[1]), - (t = t.slice(0, x.index))), - (y[g] = y[g] || (r && m[3] && e[g]) || ''), - m[4] && (y[g] = y[g].toLowerCase())) - : (t = m(t, y)); - n && (y.query = n(y.query)), - r && - e.slashes && - '/' !== y.pathname.charAt(0) && - ('' !== y.pathname || '' !== e.pathname) && - (y.pathname = (function(t, e) { - if ('' === t) return e; - for ( - var i = (e || '/') - .split('/') - .slice(0, -1) - .concat(t.split('/')), - a = i.length, - n = i[a - 1], - o = !1, - r = 0; - a--; - - ) - '.' === i[a] - ? i.splice(a, 1) - : '..' === i[a] - ? (i.splice(a, 1), r++) - : r && - (0 === a && (o = !0), - i.splice(a, 1), - r--); - return ( - o && i.unshift(''), - ('.' === n || '..' === n) && i.push(''), - i.join('/') - ); - })(y.pathname, e.pathname)), - '/' !== y.pathname.charAt(0) && - f(y.protocol) && - (y.pathname = '/' + y.pathname), - i(y.port, y.protocol) || - ((y.host = y.hostname), (y.port = '')), - (y.username = y.password = ''), - y.auth && - (~(x = y.auth.indexOf(':')) - ? ((y.username = y.auth.slice(0, x)), - (y.username = encodeURIComponent( - decodeURIComponent(y.username) - )), - (y.password = y.auth.slice(x + 1)), - (y.password = encodeURIComponent( - decodeURIComponent(y.password) - ))) - : (y.username = encodeURIComponent( - decodeURIComponent(y.auth) - )), - (y.auth = y.password - ? y.username + ':' + y.password - : y.username)), - (y.origin = - 'file:' !== y.protocol && - f(y.protocol) && - y.host - ? y.protocol + '//' + y.host - : 'null'), - (y.href = y.toString()); - } - (v.prototype = { - set: function(t, e, n) { - var o = this; - switch (t) { - case 'query': - 'string' == typeof e && - e.length && - (e = (n || a.parse)(e)), - (o[t] = e); - break; - case 'port': - (o[t] = e), - i(e, o.protocol) - ? e && - (o.host = o.hostname + ':' + e) - : ((o.host = o.hostname), - (o[t] = '')); - break; - case 'hostname': - (o[t] = e), - o.port && (e += ':' + o.port), - (o.host = e); - break; - case 'host': - (o[t] = e), - l.test(e) - ? ((e = e.split(':')), - (o.port = e.pop()), - (o.hostname = e.join(':'))) - : ((o.hostname = e), (o.port = '')); - break; - case 'protocol': - (o.protocol = e.toLowerCase()), - (o.slashes = !n); - break; - case 'pathname': - case 'hash': - if (e) { - var r = 'pathname' === t ? '/' : '#'; - o[t] = e.charAt(0) !== r ? r + e : e; - } else o[t] = e; - break; - case 'username': - case 'password': - o[t] = encodeURIComponent(e); - break; - case 'auth': - var p = e.indexOf(':'); - ~p - ? ((o.username = e.slice(0, p)), - (o.username = encodeURIComponent( - decodeURIComponent(o.username) - )), - (o.password = e.slice(p + 1)), - (o.password = encodeURIComponent( - decodeURIComponent(o.password) - ))) - : (o.username = encodeURIComponent( - decodeURIComponent(e) - )); - } - for (var s = 0; s < d.length; s++) { - var c = d[s]; - c[4] && (o[c[1]] = o[c[1]].toLowerCase()); - } - return ( - (o.auth = o.password - ? o.username + ':' + o.password - : o.username), - (o.origin = - 'file:' !== o.protocol && - f(o.protocol) && - o.host - ? o.protocol + '//' + o.host - : 'null'), - (o.href = o.toString()), - o - ); - }, - toString: function(t) { - (!t || 'function' != typeof t) && (t = a.stringify); - var e, - i = this, - n = i.host, - o = i.protocol; - o && ':' !== o.charAt(o.length - 1) && (o += ':'); - var r = - o + - ((i.protocol && i.slashes) || f(i.protocol) - ? '//' - : ''); - return ( - i.username - ? ((r += i.username), - i.password && (r += ':' + i.password), - (r += '@')) - : i.password - ? ((r += ':' + i.password), (r += '@')) - : 'file:' !== i.protocol && - f(i.protocol) && - !n && - '/' !== i.pathname && - (r += '@'), - (':' === n[n.length - 1] || - (l.test(i.hostname) && !i.port)) && - (n += ':'), - (r += n + i.pathname), - (e = - 'object' == typeof i.query - ? t(i.query) - : i.query) && - (r += '?' !== e.charAt(0) ? '?' + e : e), - i.hash && (r += i.hash), - r - ); - }, - }), - (v.extractProtocol = h), - (v.location = u), - (v.trimLeft = c), - (v.qs = a), - (e.exports = v); - }), - Ne = F(t => { - var e = - (t && t.__importDefault) || - function(t) { - return t && t.__esModule ? t : { default: t }; - }; - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.URLExt = void 0); - var i = ke(), - a = e(_t()); - !(function(t) { - function e(t) { - if ('undefined' != typeof document && document) { - let e = document.createElement('a'); - return (e.href = t), e; - } - return (0, a.default)(t); - } - function n(...t) { - let e = (0, a.default)(t[0], {}), - n = '' === e.protocol && e.slashes; - n && (e = (0, a.default)(t[0], 'https:' + t[0])); - let o = `${n ? '' : e.protocol}${ - e.slashes ? '//' : '' - }${e.auth}${e.auth ? '@' : ''}${e.host}`, - r = i.posix.join( - `${o && '/' !== e.pathname[0] ? '/' : ''}${ - e.pathname - }`, - ...t.slice(1) - ); - return `${o}${'.' === r ? '' : r}`; - } - (t.parse = e), - (t.getHostName = function(t) { - return (0, a.default)(t).hostname; - }), - (t.normalize = function(t) { - return t && e(t).toString(); - }), - (t.join = n), - (t.encodeParts = function(t) { - return n( - ...t.split('/').map(encodeURIComponent) - ); - }), - (t.objectToQueryString = function(t) { - let e = Object.keys(t).filter( - t => t.length > 0 - ); - return e.length - ? '?' + - e - .map(e => { - let i = encodeURIComponent( - String(t[e]) - ); - return e + (i ? '=' + i : ''); - }) - .join('&') - : ''; - }), - (t.queryStringToObject = function(t) { - return t - .replace(/^\?/, '') - .split('&') - .reduce((t, e) => { - let [i, a] = e.split('='); - return ( - i.length > 0 && - (t[i] = decodeURIComponent( - a || '' - )), - t - ); - }, {}); - }), - (t.isLocal = function(t) { - let { protocol: i } = e(t); - return ( - (!i || 0 !== t.toLowerCase().indexOf(i)) && - 0 !== t.indexOf('/') - ); - }); - })(t.URLExt || (t.URLExt = {})); - }), - kt = F((exports, module) => { - var __importDefault = - (exports && exports.__importDefault) || - function(t) { - return t && t.__esModule ? t : { default: t }; - }; - Object.defineProperty(exports, '__esModule', { value: !0 }), - (exports.PageConfig = void 0); - var coreutils_1 = pe(), - minimist_1 = __importDefault(rt()), - url_1 = Ne(), - PageConfig; - (function(PageConfig) { - function getOption(name) { - if (configData) - return configData[name] || getBodyData(name); - configData = Object.create(null); - let found = !1; - if ('undefined' != typeof document && document) { - let t = document.getElementById( - 'jupyter-config-data' - ); - t && - ((configData = JSON.parse( - t.textContent || '' - )), - (found = !0)); - } - if (!found && void 0 !== process && process.argv) - try { - let cli = (0, minimist_1.default)( - process.argv.slice(2) - ), - path = ke(), - fullPath = ''; - 'jupyter-config-data' in cli - ? (fullPath = path.resolve( - cli['jupyter-config-data'] - )) - : 'JUPYTER_CONFIG_DATA' in - process.env && - (fullPath = path.resolve( - process.env.JUPYTER_CONFIG_DATA - )), - fullPath && - (configData = eval('require')( - fullPath - )); - } catch (t) { - console.error(t); - } - if (coreutils_1.JSONExt.isObject(configData)) - for (let t in configData) - 'string' != typeof configData[t] && - (configData[t] = JSON.stringify( - configData[t] - )); - else configData = Object.create(null); - return configData[name] || getBodyData(name); - } - function setOption(t, e) { - let i = getOption(t); - return (configData[t] = e), i; - } - function getBaseUrl() { - return url_1.URLExt.normalize( - getOption('baseUrl') || '/' - ); - } - function getTreeUrl() { - return url_1.URLExt.join( - getBaseUrl(), - getOption('treeUrl') - ); - } - function getShareUrl() { - return url_1.URLExt.normalize( - getOption('shareUrl') || getBaseUrl() - ); - } - function getTreeShareUrl() { - return url_1.URLExt.normalize( - url_1.URLExt.join( - getShareUrl(), - getOption('treeUrl') - ) - ); - } - function getUrl(t) { - var e, i, a, n; - let o = t.toShare ? getShareUrl() : getBaseUrl(), - r = - null !== (e = t.mode) && void 0 !== e - ? e - : getOption('mode'), - l = - null !== (i = t.workspace) && void 0 !== i - ? i - : getOption('workspace'), - p = 'single-document' === r ? 'doc' : 'lab'; - (o = url_1.URLExt.join(o, p)), - l !== PageConfig.defaultWorkspace && - (o = url_1.URLExt.join( - o, - 'workspaces', - encodeURIComponent( - null !== - (a = getOption('workspace')) && - void 0 !== a - ? a - : PageConfig.defaultWorkspace - ) - )); - let s = - null !== (n = t.treePath) && void 0 !== n - ? n - : getOption('treePath'); - return ( - s && - (o = url_1.URLExt.join( - o, - 'tree', - url_1.URLExt.encodeParts(s) - )), - o - ); - } - function getWsUrl(t) { - let e = getOption('wsUrl'); - if (!e) { - if ( - 0 !== - (t = t - ? url_1.URLExt.normalize(t) - : getBaseUrl()).indexOf('http') - ) - return ''; - e = 'ws' + t.slice(4); - } - return url_1.URLExt.normalize(e); - } - function getNBConvertURL({ - path: t, - format: e, - download: i, - }) { - let a = url_1.URLExt.encodeParts(t), - n = url_1.URLExt.join( - getBaseUrl(), - 'nbconvert', - e, - a - ); - return i ? n + '?download=true' : n; - } - function getToken() { - return ( - getOption('token') || - getBodyData('jupyterApiToken') - ); - } - function getNotebookVersion() { - let t = getOption('notebookVersion'); - return '' === t ? [0, 0, 0] : JSON.parse(t); - } - (PageConfig.getOption = getOption), - (PageConfig.setOption = setOption), - (PageConfig.getBaseUrl = getBaseUrl), - (PageConfig.getTreeUrl = getTreeUrl), - (PageConfig.getShareUrl = getShareUrl), - (PageConfig.getTreeShareUrl = getTreeShareUrl), - (PageConfig.getUrl = getUrl), - (PageConfig.defaultWorkspace = 'default'), - (PageConfig.getWsUrl = getWsUrl), - (PageConfig.getNBConvertURL = getNBConvertURL), - (PageConfig.getToken = getToken), - (PageConfig.getNotebookVersion = getNotebookVersion); - let configData = null, - Extension; - function getBodyData(t) { - if ( - 'undefined' == typeof document || - !document.body - ) - return ''; - let e = document.body.dataset[t]; - return void 0 === e ? '' : decodeURIComponent(e); - } - !(function(t) { - function e(t) { - try { - let e = getOption(t); - if (e) return JSON.parse(e); - } catch (e) { - console.warn(`Unable to parse ${t}.`, e); - } - return []; - } - (t.deferred = e('deferredExtensions')), - (t.disabled = e('disabledExtensions')), - (t.isDeferred = function(e) { - let i = e.indexOf(':'), - a = ''; - return ( - -1 !== i && (a = e.slice(0, i)), - t.deferred.some( - t => t === e || (a && t === a) - ) - ); - }), - (t.isDisabled = function(e) { - let i = e.indexOf(':'), - a = ''; - return ( - -1 !== i && (a = e.slice(0, i)), - t.disabled.some( - t => t === e || (a && t === a) - ) - ); - }); - })( - (Extension = - PageConfig.Extension || - (PageConfig.Extension = {})) - ); - })( - (PageConfig = - exports.PageConfig || (exports.PageConfig = {})) - ); - }), - jt = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.PathExt = void 0); - var e = ke(); - !(function(t) { - function i(t) { - return 0 === t.indexOf('/') && (t = t.slice(1)), t; - } - (t.join = function(...t) { - let a = e.posix.join(...t); - return '.' === a ? '' : i(a); - }), - (t.basename = function(t, i) { - return e.posix.basename(t, i); - }), - (t.dirname = function(t) { - let a = i(e.posix.dirname(t)); - return '.' === a ? '' : a; - }), - (t.extname = function(t) { - return e.posix.extname(t); - }), - (t.normalize = function(t) { - return '' === t ? '' : i(e.posix.normalize(t)); - }), - (t.resolve = function(...t) { - return i(e.posix.resolve(...t)); - }), - (t.relative = function(t, a) { - return i(e.posix.relative(t, a)); - }), - (t.normalizeExtension = function(t) { - return ( - t.length > 0 && - 0 !== t.indexOf('.') && - (t = `.${t}`), - t - ); - }), - (t.removeSlash = i); - })(t.PathExt || (t.PathExt = {})); - }), - Ct = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.signalToPromise = void 0); - var e = pe(); - t.signalToPromise = function(t, i) { - let a = new e.PromiseDelegate(); - function n() { - t.disconnect(o); - } - function o(t, e) { - n(), a.resolve([t, e]); - } - return ( - t.connect(o), - (null != i ? i : 0) > 0 && - setTimeout(() => { - n(), - a.reject( - `Signal not emitted within ${i} ms.` - ); - }, i), - a.promise - ); - }; - }), - Ot = F(t => { - var e; - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.Text = void 0), - ((e = - t.Text || - (t.Text = {})).jsIndexToCharIndex = function(t, e) { - return t; - }), - (e.charIndexToJsIndex = function(t, e) { - return t; - }), - (e.camelCase = function(t, e = !1) { - return t.replace(/^(\w)|[\s-_:]+(\w)/g, function( - t, - i, - a - ) { - return a - ? a.toUpperCase() - : e - ? i.toUpperCase() - : i.toLowerCase(); - }); - }), - (e.titleCase = function(t) { - return (t || '') - .toLowerCase() - .split(' ') - .map( - t => t.charAt(0).toUpperCase() + t.slice(1) - ) - .join(' '); - }); - }), - Pt = F(t => { - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.Time = void 0); - var e, - i = [ - { name: 'years', milliseconds: 31536e6 }, - { name: 'months', milliseconds: 2592e6 }, - { name: 'days', milliseconds: 864e5 }, - { name: 'hours', milliseconds: 36e5 }, - { name: 'minutes', milliseconds: 6e4 }, - { name: 'seconds', milliseconds: 1e3 }, - ]; - ((e = t.Time || (t.Time = {})).formatHuman = function(t) { - let e = document.documentElement.lang || 'en', - a = new Intl.RelativeTimeFormat(e, { - numeric: 'auto', - }), - n = new Date(t).getTime() - Date.now(); - for (let t of i) { - let e = Math.ceil(n / t.milliseconds); - if (0 !== e) return a.format(e, t.name); - } - return a.format(0, 'seconds'); - }), - (e.format = function(t) { - let e = document.documentElement.lang || 'en'; - return new Intl.DateTimeFormat(e, { - dateStyle: 'short', - timeStyle: 'short', - }).format(new Date(t)); - }); - }), - xe = F(t => { - var e = - (t && t.__createBinding) || - (Object.create - ? function(t, e, i, a) { - void 0 === a && (a = i); - var n = Object.getOwnPropertyDescriptor( - e, - i - ); - (!n || - ('get' in n - ? !e.__esModule - : n.writable || - n.configurable)) && - (n = { - enumerable: !0, - get: function() { - return e[i]; - }, - }), - Object.defineProperty(t, a, n); - } - : function(t, e, i, a) { - void 0 === a && (a = i), (t[a] = e[i]); - }), - i = - (t && t.__exportStar) || - function(t, i) { - for (var a in t) - 'default' !== a && - !Object.prototype.hasOwnProperty.call( - i, - a - ) && - e(i, t, a); - }; - Object.defineProperty(t, '__esModule', { value: !0 }), - i(et(), t), - i(it(), t), - i(nt(), t), - i(kt(), t), - i(jt(), t), - i(Ct(), t), - i(Ot(), t), - i(Pt(), t), - i(Ne(), t); - }), - zt = F((t, e) => { - function i() { - (this._types = Object.create(null)), - (this._extensions = Object.create(null)); - for (let t = 0; t < arguments.length; t++) - this.define(arguments[t]); - (this.define = this.define.bind(this)), - (this.getType = this.getType.bind(this)), - (this.getExtension = this.getExtension.bind(this)); - } - (i.prototype.define = function(t, e) { - for (let i in t) { - let a = t[i].map(function(t) { - return t.toLowerCase(); - }); - i = i.toLowerCase(); - for (let t = 0; t < a.length; t++) { - let n = a[t]; - if ('*' !== n[0]) { - if (!e && n in this._types) - throw new Error( - 'Attempt to change mapping for "' + - n + - '" extension from "' + - this._types[n] + - '" to "' + - i + - '". Pass `force=true` to allow this, otherwise remove "' + - n + - '" from the list of extensions for "' + - i + - '".' - ); - this._types[n] = i; - } - } - if (e || !this._extensions[i]) { - let t = a[0]; - this._extensions[i] = - '*' !== t[0] ? t : t.substr(1); - } - } - }), - (i.prototype.getType = function(t) { - let e = (t = String(t)) - .replace(/^.*[/\\]/, '') - .toLowerCase(), - i = e.replace(/^.*\./, '').toLowerCase(), - a = e.length < t.length; - return ( - ((i.length < e.length - 1 || !a) && - this._types[i]) || - null - ); - }), - (i.prototype.getExtension = function(t) { - return ( - ((t = /^\s*([^;\s]*)/.test(t) && RegExp.$1) && - this._extensions[t.toLowerCase()]) || - null - ); - }), - (e.exports = i); - }), - Et = F((t, e) => { - e.exports = { - 'application/andrew-inset': ['ez'], - 'application/applixware': ['aw'], - 'application/atom+xml': ['atom'], - 'application/atomcat+xml': ['atomcat'], - 'application/atomdeleted+xml': ['atomdeleted'], - 'application/atomsvc+xml': ['atomsvc'], - 'application/atsc-dwd+xml': ['dwd'], - 'application/atsc-held+xml': ['held'], - 'application/atsc-rsat+xml': ['rsat'], - 'application/bdoc': ['bdoc'], - 'application/calendar+xml': ['xcs'], - 'application/ccxml+xml': ['ccxml'], - 'application/cdfx+xml': ['cdfx'], - 'application/cdmi-capability': ['cdmia'], - 'application/cdmi-container': ['cdmic'], - 'application/cdmi-domain': ['cdmid'], - 'application/cdmi-object': ['cdmio'], - 'application/cdmi-queue': ['cdmiq'], - 'application/cu-seeme': ['cu'], - 'application/dash+xml': ['mpd'], - 'application/davmount+xml': ['davmount'], - 'application/docbook+xml': ['dbk'], - 'application/dssc+der': ['dssc'], - 'application/dssc+xml': ['xdssc'], - 'application/ecmascript': ['es', 'ecma'], - 'application/emma+xml': ['emma'], - 'application/emotionml+xml': ['emotionml'], - 'application/epub+zip': ['epub'], - 'application/exi': ['exi'], - 'application/express': ['exp'], - 'application/fdt+xml': ['fdt'], - 'application/font-tdpfr': ['pfr'], - 'application/geo+json': ['geojson'], - 'application/gml+xml': ['gml'], - 'application/gpx+xml': ['gpx'], - 'application/gxf': ['gxf'], - 'application/gzip': ['gz'], - 'application/hjson': ['hjson'], - 'application/hyperstudio': ['stk'], - 'application/inkml+xml': ['ink', 'inkml'], - 'application/ipfix': ['ipfix'], - 'application/its+xml': ['its'], - 'application/java-archive': ['jar', 'war', 'ear'], - 'application/java-serialized-object': ['ser'], - 'application/java-vm': ['class'], - 'application/javascript': ['js', 'mjs'], - 'application/json': ['json', 'map'], - 'application/json5': ['json5'], - 'application/jsonml+json': ['jsonml'], - 'application/ld+json': ['jsonld'], - 'application/lgr+xml': ['lgr'], - 'application/lost+xml': ['lostxml'], - 'application/mac-binhex40': ['hqx'], - 'application/mac-compactpro': ['cpt'], - 'application/mads+xml': ['mads'], - 'application/manifest+json': ['webmanifest'], - 'application/marc': ['mrc'], - 'application/marcxml+xml': ['mrcx'], - 'application/mathematica': ['ma', 'nb', 'mb'], - 'application/mathml+xml': ['mathml'], - 'application/mbox': ['mbox'], - 'application/mediaservercontrol+xml': ['mscml'], - 'application/metalink+xml': ['metalink'], - 'application/metalink4+xml': ['meta4'], - 'application/mets+xml': ['mets'], - 'application/mmt-aei+xml': ['maei'], - 'application/mmt-usd+xml': ['musd'], - 'application/mods+xml': ['mods'], - 'application/mp21': ['m21', 'mp21'], - 'application/mp4': ['mp4s', 'm4p'], - 'application/msword': ['doc', 'dot'], - 'application/mxf': ['mxf'], - 'application/n-quads': ['nq'], - 'application/n-triples': ['nt'], - 'application/node': ['cjs'], - 'application/octet-stream': [ - 'bin', - 'dms', - 'lrf', - 'mar', - 'so', - 'dist', - 'distz', - 'pkg', - 'bpk', - 'dump', - 'elc', - 'deploy', - 'exe', - 'dll', - 'deb', - 'dmg', - 'iso', - 'img', - 'msi', - 'msp', - 'msm', - 'buffer', - ], - 'application/oda': ['oda'], - 'application/oebps-package+xml': ['opf'], - 'application/ogg': ['ogx'], - 'application/omdoc+xml': ['omdoc'], - 'application/onenote': [ - 'onetoc', - 'onetoc2', - 'onetmp', - 'onepkg', - ], - 'application/oxps': ['oxps'], - 'application/p2p-overlay+xml': ['relo'], - 'application/patch-ops-error+xml': ['xer'], - 'application/pdf': ['pdf'], - 'application/pgp-encrypted': ['pgp'], - 'application/pgp-signature': ['asc', 'sig'], - 'application/pics-rules': ['prf'], - 'application/pkcs10': ['p10'], - 'application/pkcs7-mime': ['p7m', 'p7c'], - 'application/pkcs7-signature': ['p7s'], - 'application/pkcs8': ['p8'], - 'application/pkix-attr-cert': ['ac'], - 'application/pkix-cert': ['cer'], - 'application/pkix-crl': ['crl'], - 'application/pkix-pkipath': ['pkipath'], - 'application/pkixcmp': ['pki'], - 'application/pls+xml': ['pls'], - 'application/postscript': ['ai', 'eps', 'ps'], - 'application/provenance+xml': ['provx'], - 'application/pskc+xml': ['pskcxml'], - 'application/raml+yaml': ['raml'], - 'application/rdf+xml': ['rdf', 'owl'], - 'application/reginfo+xml': ['rif'], - 'application/relax-ng-compact-syntax': ['rnc'], - 'application/resource-lists+xml': ['rl'], - 'application/resource-lists-diff+xml': ['rld'], - 'application/rls-services+xml': ['rs'], - 'application/route-apd+xml': ['rapd'], - 'application/route-s-tsid+xml': ['sls'], - 'application/route-usd+xml': ['rusd'], - 'application/rpki-ghostbusters': ['gbr'], - 'application/rpki-manifest': ['mft'], - 'application/rpki-roa': ['roa'], - 'application/rsd+xml': ['rsd'], - 'application/rss+xml': ['rss'], - 'application/rtf': ['rtf'], - 'application/sbml+xml': ['sbml'], - 'application/scvp-cv-request': ['scq'], - 'application/scvp-cv-response': ['scs'], - 'application/scvp-vp-request': ['spq'], - 'application/scvp-vp-response': ['spp'], - 'application/sdp': ['sdp'], - 'application/senml+xml': ['senmlx'], - 'application/sensml+xml': ['sensmlx'], - 'application/set-payment-initiation': ['setpay'], - 'application/set-registration-initiation': ['setreg'], - 'application/shf+xml': ['shf'], - 'application/sieve': ['siv', 'sieve'], - 'application/smil+xml': ['smi', 'smil'], - 'application/sparql-query': ['rq'], - 'application/sparql-results+xml': ['srx'], - 'application/srgs': ['gram'], - 'application/srgs+xml': ['grxml'], - 'application/sru+xml': ['sru'], - 'application/ssdl+xml': ['ssdl'], - 'application/ssml+xml': ['ssml'], - 'application/swid+xml': ['swidtag'], - 'application/tei+xml': ['tei', 'teicorpus'], - 'application/thraud+xml': ['tfi'], - 'application/timestamped-data': ['tsd'], - 'application/toml': ['toml'], - 'application/trig': ['trig'], - 'application/ttml+xml': ['ttml'], - 'application/ubjson': ['ubj'], - 'application/urc-ressheet+xml': ['rsheet'], - 'application/urc-targetdesc+xml': ['td'], - 'application/voicexml+xml': ['vxml'], - 'application/wasm': ['wasm'], - 'application/widget': ['wgt'], - 'application/winhlp': ['hlp'], - 'application/wsdl+xml': ['wsdl'], - 'application/wspolicy+xml': ['wspolicy'], - 'application/xaml+xml': ['xaml'], - 'application/xcap-att+xml': ['xav'], - 'application/xcap-caps+xml': ['xca'], - 'application/xcap-diff+xml': ['xdf'], - 'application/xcap-el+xml': ['xel'], - 'application/xcap-ns+xml': ['xns'], - 'application/xenc+xml': ['xenc'], - 'application/xhtml+xml': ['xhtml', 'xht'], - 'application/xliff+xml': ['xlf'], - 'application/xml': ['xml', 'xsl', 'xsd', 'rng'], - 'application/xml-dtd': ['dtd'], - 'application/xop+xml': ['xop'], - 'application/xproc+xml': ['xpl'], - 'application/xslt+xml': ['*xsl', 'xslt'], - 'application/xspf+xml': ['xspf'], - 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'], - 'application/yang': ['yang'], - 'application/yin+xml': ['yin'], - 'application/zip': ['zip'], - 'audio/3gpp': ['*3gpp'], - 'audio/adpcm': ['adp'], - 'audio/amr': ['amr'], - 'audio/basic': ['au', 'snd'], - 'audio/midi': ['mid', 'midi', 'kar', 'rmi'], - 'audio/mobile-xmf': ['mxmf'], - 'audio/mp3': ['*mp3'], - 'audio/mp4': ['m4a', 'mp4a'], - 'audio/mpeg': [ - 'mpga', - 'mp2', - 'mp2a', - 'mp3', - 'm2a', - 'm3a', - ], - 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'], - 'audio/s3m': ['s3m'], - 'audio/silk': ['sil'], - 'audio/wav': ['wav'], - 'audio/wave': ['*wav'], - 'audio/webm': ['weba'], - 'audio/xm': ['xm'], - 'font/collection': ['ttc'], - 'font/otf': ['otf'], - 'font/ttf': ['ttf'], - 'font/woff': ['woff'], - 'font/woff2': ['woff2'], - 'image/aces': ['exr'], - 'image/apng': ['apng'], - 'image/avif': ['avif'], - 'image/bmp': ['bmp'], - 'image/cgm': ['cgm'], - 'image/dicom-rle': ['drle'], - 'image/emf': ['emf'], - 'image/fits': ['fits'], - 'image/g3fax': ['g3'], - 'image/gif': ['gif'], - 'image/heic': ['heic'], - 'image/heic-sequence': ['heics'], - 'image/heif': ['heif'], - 'image/heif-sequence': ['heifs'], - 'image/hej2k': ['hej2'], - 'image/hsj2': ['hsj2'], - 'image/ief': ['ief'], - 'image/jls': ['jls'], - 'image/jp2': ['jp2', 'jpg2'], - 'image/jpeg': ['jpeg', 'jpg', 'jpe'], - 'image/jph': ['jph'], - 'image/jphc': ['jhc'], - 'image/jpm': ['jpm'], - 'image/jpx': ['jpx', 'jpf'], - 'image/jxr': ['jxr'], - 'image/jxra': ['jxra'], - 'image/jxrs': ['jxrs'], - 'image/jxs': ['jxs'], - 'image/jxsc': ['jxsc'], - 'image/jxsi': ['jxsi'], - 'image/jxss': ['jxss'], - 'image/ktx': ['ktx'], - 'image/ktx2': ['ktx2'], - 'image/png': ['png'], - 'image/sgi': ['sgi'], - 'image/svg+xml': ['svg', 'svgz'], - 'image/t38': ['t38'], - 'image/tiff': ['tif', 'tiff'], - 'image/tiff-fx': ['tfx'], - 'image/webp': ['webp'], - 'image/wmf': ['wmf'], - 'message/disposition-notification': [ - 'disposition-notification', - ], - 'message/global': ['u8msg'], - 'message/global-delivery-status': ['u8dsn'], - 'message/global-disposition-notification': ['u8mdn'], - 'message/global-headers': ['u8hdr'], - 'message/rfc822': ['eml', 'mime'], - 'model/3mf': ['3mf'], - 'model/gltf+json': ['gltf'], - 'model/gltf-binary': ['glb'], - 'model/iges': ['igs', 'iges'], - 'model/mesh': ['msh', 'mesh', 'silo'], - 'model/mtl': ['mtl'], - 'model/obj': ['obj'], - 'model/step+xml': ['stpx'], - 'model/step+zip': ['stpz'], - 'model/step-xml+zip': ['stpxz'], - 'model/stl': ['stl'], - 'model/vrml': ['wrl', 'vrml'], - 'model/x3d+binary': ['*x3db', 'x3dbz'], - 'model/x3d+fastinfoset': ['x3db'], - 'model/x3d+vrml': ['*x3dv', 'x3dvz'], - 'model/x3d+xml': ['x3d', 'x3dz'], - 'model/x3d-vrml': ['x3dv'], - 'text/cache-manifest': ['appcache', 'manifest'], - 'text/calendar': ['ics', 'ifb'], - 'text/coffeescript': ['coffee', 'litcoffee'], - 'text/css': ['css'], - 'text/csv': ['csv'], - 'text/html': ['html', 'htm', 'shtml'], - 'text/jade': ['jade'], - 'text/jsx': ['jsx'], - 'text/less': ['less'], - 'text/markdown': ['markdown', 'md'], - 'text/mathml': ['mml'], - 'text/mdx': ['mdx'], - 'text/n3': ['n3'], - 'text/plain': [ - 'txt', - 'text', - 'conf', - 'def', - 'list', - 'log', - 'in', - 'ini', - ], - 'text/richtext': ['rtx'], - 'text/rtf': ['*rtf'], - 'text/sgml': ['sgml', 'sgm'], - 'text/shex': ['shex'], - 'text/slim': ['slim', 'slm'], - 'text/spdx': ['spdx'], - 'text/stylus': ['stylus', 'styl'], - 'text/tab-separated-values': ['tsv'], - 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'], - 'text/turtle': ['ttl'], - 'text/uri-list': ['uri', 'uris', 'urls'], - 'text/vcard': ['vcard'], - 'text/vtt': ['vtt'], - 'text/xml': ['*xml'], - 'text/yaml': ['yaml', 'yml'], - 'video/3gpp': ['3gp', '3gpp'], - 'video/3gpp2': ['3g2'], - 'video/h261': ['h261'], - 'video/h263': ['h263'], - 'video/h264': ['h264'], - 'video/iso.segment': ['m4s'], - 'video/jpeg': ['jpgv'], - 'video/jpm': ['*jpm', 'jpgm'], - 'video/mj2': ['mj2', 'mjp2'], - 'video/mp2t': ['ts'], - 'video/mp4': ['mp4', 'mp4v', 'mpg4'], - 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'], - 'video/ogg': ['ogv'], - 'video/quicktime': ['qt', 'mov'], - 'video/webm': ['webm'], - }; - }), - Dt = F((t, e) => { - e.exports = { - 'application/prs.cww': ['cww'], - 'application/vnd.1000minds.decision-model+xml': ['1km'], - 'application/vnd.3gpp.pic-bw-large': ['plb'], - 'application/vnd.3gpp.pic-bw-small': ['psb'], - 'application/vnd.3gpp.pic-bw-var': ['pvb'], - 'application/vnd.3gpp2.tcap': ['tcap'], - 'application/vnd.3m.post-it-notes': ['pwn'], - 'application/vnd.accpac.simply.aso': ['aso'], - 'application/vnd.accpac.simply.imp': ['imp'], - 'application/vnd.acucobol': ['acu'], - 'application/vnd.acucorp': ['atc', 'acutc'], - 'application/vnd.adobe.air-application-installer-package+zip': [ - 'air', - ], - 'application/vnd.adobe.formscentral.fcdt': ['fcdt'], - 'application/vnd.adobe.fxp': ['fxp', 'fxpl'], - 'application/vnd.adobe.xdp+xml': ['xdp'], - 'application/vnd.adobe.xfdf': ['xfdf'], - 'application/vnd.ahead.space': ['ahead'], - 'application/vnd.airzip.filesecure.azf': ['azf'], - 'application/vnd.airzip.filesecure.azs': ['azs'], - 'application/vnd.amazon.ebook': ['azw'], - 'application/vnd.americandynamics.acc': ['acc'], - 'application/vnd.amiga.ami': ['ami'], - 'application/vnd.android.package-archive': ['apk'], - 'application/vnd.anser-web-certificate-issue-initiation': [ - 'cii', - ], - 'application/vnd.anser-web-funds-transfer-initiation': [ - 'fti', - ], - 'application/vnd.antix.game-component': ['atx'], - 'application/vnd.apple.installer+xml': ['mpkg'], - 'application/vnd.apple.keynote': ['key'], - 'application/vnd.apple.mpegurl': ['m3u8'], - 'application/vnd.apple.numbers': ['numbers'], - 'application/vnd.apple.pages': ['pages'], - 'application/vnd.apple.pkpass': ['pkpass'], - 'application/vnd.aristanetworks.swi': ['swi'], - 'application/vnd.astraea-software.iota': ['iota'], - 'application/vnd.audiograph': ['aep'], - 'application/vnd.balsamiq.bmml+xml': ['bmml'], - 'application/vnd.blueice.multipass': ['mpm'], - 'application/vnd.bmi': ['bmi'], - 'application/vnd.businessobjects': ['rep'], - 'application/vnd.chemdraw+xml': ['cdxml'], - 'application/vnd.chipnuts.karaoke-mmd': ['mmd'], - 'application/vnd.cinderella': ['cdy'], - 'application/vnd.citationstyles.style+xml': ['csl'], - 'application/vnd.claymore': ['cla'], - 'application/vnd.cloanto.rp9': ['rp9'], - 'application/vnd.clonk.c4group': [ - 'c4g', - 'c4d', - 'c4f', - 'c4p', - 'c4u', - ], - 'application/vnd.cluetrust.cartomobile-config': [ - 'c11amc', - ], - 'application/vnd.cluetrust.cartomobile-config-pkg': [ - 'c11amz', - ], - 'application/vnd.commonspace': ['csp'], - 'application/vnd.contact.cmsg': ['cdbcmsg'], - 'application/vnd.cosmocaller': ['cmc'], - 'application/vnd.crick.clicker': ['clkx'], - 'application/vnd.crick.clicker.keyboard': ['clkk'], - 'application/vnd.crick.clicker.palette': ['clkp'], - 'application/vnd.crick.clicker.template': ['clkt'], - 'application/vnd.crick.clicker.wordbank': ['clkw'], - 'application/vnd.criticaltools.wbs+xml': ['wbs'], - 'application/vnd.ctc-posml': ['pml'], - 'application/vnd.cups-ppd': ['ppd'], - 'application/vnd.curl.car': ['car'], - 'application/vnd.curl.pcurl': ['pcurl'], - 'application/vnd.dart': ['dart'], - 'application/vnd.data-vision.rdz': ['rdz'], - 'application/vnd.dbf': ['dbf'], - 'application/vnd.dece.data': [ - 'uvf', - 'uvvf', - 'uvd', - 'uvvd', - ], - 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'], - 'application/vnd.dece.unspecified': ['uvx', 'uvvx'], - 'application/vnd.dece.zip': ['uvz', 'uvvz'], - 'application/vnd.denovo.fcselayout-link': ['fe_launch'], - 'application/vnd.dna': ['dna'], - 'application/vnd.dolby.mlp': ['mlp'], - 'application/vnd.dpgraph': ['dpg'], - 'application/vnd.dreamfactory': ['dfac'], - 'application/vnd.ds-keypoint': ['kpxx'], - 'application/vnd.dvb.ait': ['ait'], - 'application/vnd.dvb.service': ['svc'], - 'application/vnd.dynageo': ['geo'], - 'application/vnd.ecowin.chart': ['mag'], - 'application/vnd.enliven': ['nml'], - 'application/vnd.epson.esf': ['esf'], - 'application/vnd.epson.msf': ['msf'], - 'application/vnd.epson.quickanime': ['qam'], - 'application/vnd.epson.salt': ['slt'], - 'application/vnd.epson.ssf': ['ssf'], - 'application/vnd.eszigno3+xml': ['es3', 'et3'], - 'application/vnd.ezpix-album': ['ez2'], - 'application/vnd.ezpix-package': ['ez3'], - 'application/vnd.fdf': ['fdf'], - 'application/vnd.fdsn.mseed': ['mseed'], - 'application/vnd.fdsn.seed': ['seed', 'dataless'], - 'application/vnd.flographit': ['gph'], - 'application/vnd.fluxtime.clip': ['ftc'], - 'application/vnd.framemaker': [ - 'fm', - 'frame', - 'maker', - 'book', - ], - 'application/vnd.frogans.fnc': ['fnc'], - 'application/vnd.frogans.ltf': ['ltf'], - 'application/vnd.fsc.weblaunch': ['fsc'], - 'application/vnd.fujitsu.oasys': ['oas'], - 'application/vnd.fujitsu.oasys2': ['oa2'], - 'application/vnd.fujitsu.oasys3': ['oa3'], - 'application/vnd.fujitsu.oasysgp': ['fg5'], - 'application/vnd.fujitsu.oasysprs': ['bh2'], - 'application/vnd.fujixerox.ddd': ['ddd'], - 'application/vnd.fujixerox.docuworks': ['xdw'], - 'application/vnd.fujixerox.docuworks.binder': ['xbd'], - 'application/vnd.fuzzysheet': ['fzs'], - 'application/vnd.genomatix.tuxedo': ['txd'], - 'application/vnd.geogebra.file': ['ggb'], - 'application/vnd.geogebra.tool': ['ggt'], - 'application/vnd.geometry-explorer': ['gex', 'gre'], - 'application/vnd.geonext': ['gxt'], - 'application/vnd.geoplan': ['g2w'], - 'application/vnd.geospace': ['g3w'], - 'application/vnd.gmx': ['gmx'], - 'application/vnd.google-apps.document': ['gdoc'], - 'application/vnd.google-apps.presentation': ['gslides'], - 'application/vnd.google-apps.spreadsheet': ['gsheet'], - 'application/vnd.google-earth.kml+xml': ['kml'], - 'application/vnd.google-earth.kmz': ['kmz'], - 'application/vnd.grafeq': ['gqf', 'gqs'], - 'application/vnd.groove-account': ['gac'], - 'application/vnd.groove-help': ['ghf'], - 'application/vnd.groove-identity-message': ['gim'], - 'application/vnd.groove-injector': ['grv'], - 'application/vnd.groove-tool-message': ['gtm'], - 'application/vnd.groove-tool-template': ['tpl'], - 'application/vnd.groove-vcard': ['vcg'], - 'application/vnd.hal+xml': ['hal'], - 'application/vnd.handheld-entertainment+xml': ['zmm'], - 'application/vnd.hbci': ['hbci'], - 'application/vnd.hhe.lesson-player': ['les'], - 'application/vnd.hp-hpgl': ['hpgl'], - 'application/vnd.hp-hpid': ['hpid'], - 'application/vnd.hp-hps': ['hps'], - 'application/vnd.hp-jlyt': ['jlt'], - 'application/vnd.hp-pcl': ['pcl'], - 'application/vnd.hp-pclxl': ['pclxl'], - 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'], - 'application/vnd.ibm.minipay': ['mpy'], - 'application/vnd.ibm.modcap': [ - 'afp', - 'listafp', - 'list3820', - ], - 'application/vnd.ibm.rights-management': ['irm'], - 'application/vnd.ibm.secure-container': ['sc'], - 'application/vnd.iccprofile': ['icc', 'icm'], - 'application/vnd.igloader': ['igl'], - 'application/vnd.immervision-ivp': ['ivp'], - 'application/vnd.immervision-ivu': ['ivu'], - 'application/vnd.insors.igm': ['igm'], - 'application/vnd.intercon.formnet': ['xpw', 'xpx'], - 'application/vnd.intergeo': ['i2g'], - 'application/vnd.intu.qbo': ['qbo'], - 'application/vnd.intu.qfx': ['qfx'], - 'application/vnd.ipunplugged.rcprofile': ['rcprofile'], - 'application/vnd.irepository.package+xml': ['irp'], - 'application/vnd.is-xpr': ['xpr'], - 'application/vnd.isac.fcs': ['fcs'], - 'application/vnd.jam': ['jam'], - 'application/vnd.jcp.javame.midlet-rms': ['rms'], - 'application/vnd.jisp': ['jisp'], - 'application/vnd.joost.joda-archive': ['joda'], - 'application/vnd.kahootz': ['ktz', 'ktr'], - 'application/vnd.kde.karbon': ['karbon'], - 'application/vnd.kde.kchart': ['chrt'], - 'application/vnd.kde.kformula': ['kfo'], - 'application/vnd.kde.kivio': ['flw'], - 'application/vnd.kde.kontour': ['kon'], - 'application/vnd.kde.kpresenter': ['kpr', 'kpt'], - 'application/vnd.kde.kspread': ['ksp'], - 'application/vnd.kde.kword': ['kwd', 'kwt'], - 'application/vnd.kenameaapp': ['htke'], - 'application/vnd.kidspiration': ['kia'], - 'application/vnd.kinar': ['kne', 'knp'], - 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'], - 'application/vnd.kodak-descriptor': ['sse'], - 'application/vnd.las.las+xml': ['lasxml'], - 'application/vnd.llamagraphics.life-balance.desktop': [ - 'lbd', - ], - 'application/vnd.llamagraphics.life-balance.exchange+xml': [ - 'lbe', - ], - 'application/vnd.lotus-1-2-3': ['123'], - 'application/vnd.lotus-approach': ['apr'], - 'application/vnd.lotus-freelance': ['pre'], - 'application/vnd.lotus-notes': ['nsf'], - 'application/vnd.lotus-organizer': ['org'], - 'application/vnd.lotus-screencam': ['scm'], - 'application/vnd.lotus-wordpro': ['lwp'], - 'application/vnd.macports.portpkg': ['portpkg'], - 'application/vnd.mapbox-vector-tile': ['mvt'], - 'application/vnd.mcd': ['mcd'], - 'application/vnd.medcalcdata': ['mc1'], - 'application/vnd.mediastation.cdkey': ['cdkey'], - 'application/vnd.mfer': ['mwf'], - 'application/vnd.mfmp': ['mfm'], - 'application/vnd.micrografx.flo': ['flo'], - 'application/vnd.micrografx.igx': ['igx'], - 'application/vnd.mif': ['mif'], - 'application/vnd.mobius.daf': ['daf'], - 'application/vnd.mobius.dis': ['dis'], - 'application/vnd.mobius.mbk': ['mbk'], - 'application/vnd.mobius.mqy': ['mqy'], - 'application/vnd.mobius.msl': ['msl'], - 'application/vnd.mobius.plc': ['plc'], - 'application/vnd.mobius.txf': ['txf'], - 'application/vnd.mophun.application': ['mpn'], - 'application/vnd.mophun.certificate': ['mpc'], - 'application/vnd.mozilla.xul+xml': ['xul'], - 'application/vnd.ms-artgalry': ['cil'], - 'application/vnd.ms-cab-compressed': ['cab'], - 'application/vnd.ms-excel': [ - 'xls', - 'xlm', - 'xla', - 'xlc', - 'xlt', - 'xlw', - ], - 'application/vnd.ms-excel.addin.macroenabled.12': [ - 'xlam', - ], - 'application/vnd.ms-excel.sheet.binary.macroenabled.12': [ - 'xlsb', - ], - 'application/vnd.ms-excel.sheet.macroenabled.12': [ - 'xlsm', - ], - 'application/vnd.ms-excel.template.macroenabled.12': [ - 'xltm', - ], - 'application/vnd.ms-fontobject': ['eot'], - 'application/vnd.ms-htmlhelp': ['chm'], - 'application/vnd.ms-ims': ['ims'], - 'application/vnd.ms-lrm': ['lrm'], - 'application/vnd.ms-officetheme': ['thmx'], - 'application/vnd.ms-outlook': ['msg'], - 'application/vnd.ms-pki.seccat': ['cat'], - 'application/vnd.ms-pki.stl': ['*stl'], - 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'], - 'application/vnd.ms-powerpoint.addin.macroenabled.12': [ - 'ppam', - ], - 'application/vnd.ms-powerpoint.presentation.macroenabled.12': [ - 'pptm', - ], - 'application/vnd.ms-powerpoint.slide.macroenabled.12': [ - 'sldm', - ], - 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': [ - 'ppsm', - ], - 'application/vnd.ms-powerpoint.template.macroenabled.12': [ - 'potm', - ], - 'application/vnd.ms-project': ['mpp', 'mpt'], - 'application/vnd.ms-word.document.macroenabled.12': [ - 'docm', - ], - 'application/vnd.ms-word.template.macroenabled.12': [ - 'dotm', - ], - 'application/vnd.ms-works': [ - 'wps', - 'wks', - 'wcm', - 'wdb', - ], - 'application/vnd.ms-wpl': ['wpl'], - 'application/vnd.ms-xpsdocument': ['xps'], - 'application/vnd.mseq': ['mseq'], - 'application/vnd.musician': ['mus'], - 'application/vnd.muvee.style': ['msty'], - 'application/vnd.mynfc': ['taglet'], - 'application/vnd.neurolanguage.nlu': ['nlu'], - 'application/vnd.nitf': ['ntf', 'nitf'], - 'application/vnd.noblenet-directory': ['nnd'], - 'application/vnd.noblenet-sealer': ['nns'], - 'application/vnd.noblenet-web': ['nnw'], - 'application/vnd.nokia.n-gage.ac+xml': ['*ac'], - 'application/vnd.nokia.n-gage.data': ['ngdat'], - 'application/vnd.nokia.n-gage.symbian.install': [ - 'n-gage', - ], - 'application/vnd.nokia.radio-preset': ['rpst'], - 'application/vnd.nokia.radio-presets': ['rpss'], - 'application/vnd.novadigm.edm': ['edm'], - 'application/vnd.novadigm.edx': ['edx'], - 'application/vnd.novadigm.ext': ['ext'], - 'application/vnd.oasis.opendocument.chart': ['odc'], - 'application/vnd.oasis.opendocument.chart-template': [ - 'otc', - ], - 'application/vnd.oasis.opendocument.database': ['odb'], - 'application/vnd.oasis.opendocument.formula': ['odf'], - 'application/vnd.oasis.opendocument.formula-template': [ - 'odft', - ], - 'application/vnd.oasis.opendocument.graphics': ['odg'], - 'application/vnd.oasis.opendocument.graphics-template': [ - 'otg', - ], - 'application/vnd.oasis.opendocument.image': ['odi'], - 'application/vnd.oasis.opendocument.image-template': [ - 'oti', - ], - 'application/vnd.oasis.opendocument.presentation': [ - 'odp', - ], - 'application/vnd.oasis.opendocument.presentation-template': [ - 'otp', - ], - 'application/vnd.oasis.opendocument.spreadsheet': [ - 'ods', - ], - 'application/vnd.oasis.opendocument.spreadsheet-template': [ - 'ots', - ], - 'application/vnd.oasis.opendocument.text': ['odt'], - 'application/vnd.oasis.opendocument.text-master': [ - 'odm', - ], - 'application/vnd.oasis.opendocument.text-template': [ - 'ott', - ], - 'application/vnd.oasis.opendocument.text-web': ['oth'], - 'application/vnd.olpc-sugar': ['xo'], - 'application/vnd.oma.dd2+xml': ['dd2'], - 'application/vnd.openblox.game+xml': ['obgx'], - 'application/vnd.openofficeorg.extension': ['oxt'], - 'application/vnd.openstreetmap.data+xml': ['osm'], - 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [ - 'pptx', - ], - 'application/vnd.openxmlformats-officedocument.presentationml.slide': [ - 'sldx', - ], - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [ - 'ppsx', - ], - 'application/vnd.openxmlformats-officedocument.presentationml.template': [ - 'potx', - ], - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': [ - 'xlsx', - ], - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [ - 'xltx', - ], - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [ - 'docx', - ], - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [ - 'dotx', - ], - 'application/vnd.osgeo.mapguide.package': ['mgp'], - 'application/vnd.osgi.dp': ['dp'], - 'application/vnd.osgi.subsystem': ['esa'], - 'application/vnd.palm': ['pdb', 'pqa', 'oprc'], - 'application/vnd.pawaafile': ['paw'], - 'application/vnd.pg.format': ['str'], - 'application/vnd.pg.osasli': ['ei6'], - 'application/vnd.picsel': ['efif'], - 'application/vnd.pmi.widget': ['wg'], - 'application/vnd.pocketlearn': ['plf'], - 'application/vnd.powerbuilder6': ['pbd'], - 'application/vnd.previewsystems.box': ['box'], - 'application/vnd.proteus.magazine': ['mgz'], - 'application/vnd.publishare-delta-tree': ['qps'], - 'application/vnd.pvi.ptid1': ['ptid'], - 'application/vnd.quark.quarkxpress': [ - 'qxd', - 'qxt', - 'qwd', - 'qwt', - 'qxl', - 'qxb', - ], - 'application/vnd.rar': ['rar'], - 'application/vnd.realvnc.bed': ['bed'], - 'application/vnd.recordare.musicxml': ['mxl'], - 'application/vnd.recordare.musicxml+xml': ['musicxml'], - 'application/vnd.rig.cryptonote': ['cryptonote'], - 'application/vnd.rim.cod': ['cod'], - 'application/vnd.rn-realmedia': ['rm'], - 'application/vnd.rn-realmedia-vbr': ['rmvb'], - 'application/vnd.route66.link66+xml': ['link66'], - 'application/vnd.sailingtracker.track': ['st'], - 'application/vnd.seemail': ['see'], - 'application/vnd.sema': ['sema'], - 'application/vnd.semd': ['semd'], - 'application/vnd.semf': ['semf'], - 'application/vnd.shana.informed.formdata': ['ifm'], - 'application/vnd.shana.informed.formtemplate': ['itp'], - 'application/vnd.shana.informed.interchange': ['iif'], - 'application/vnd.shana.informed.package': ['ipk'], - 'application/vnd.simtech-mindmapper': ['twd', 'twds'], - 'application/vnd.smaf': ['mmf'], - 'application/vnd.smart.teacher': ['teacher'], - 'application/vnd.software602.filler.form+xml': ['fo'], - 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'], - 'application/vnd.spotfire.dxp': ['dxp'], - 'application/vnd.spotfire.sfs': ['sfs'], - 'application/vnd.stardivision.calc': ['sdc'], - 'application/vnd.stardivision.draw': ['sda'], - 'application/vnd.stardivision.impress': ['sdd'], - 'application/vnd.stardivision.math': ['smf'], - 'application/vnd.stardivision.writer': ['sdw', 'vor'], - 'application/vnd.stardivision.writer-global': ['sgl'], - 'application/vnd.stepmania.package': ['smzip'], - 'application/vnd.stepmania.stepchart': ['sm'], - 'application/vnd.sun.wadl+xml': ['wadl'], - 'application/vnd.sun.xml.calc': ['sxc'], - 'application/vnd.sun.xml.calc.template': ['stc'], - 'application/vnd.sun.xml.draw': ['sxd'], - 'application/vnd.sun.xml.draw.template': ['std'], - 'application/vnd.sun.xml.impress': ['sxi'], - 'application/vnd.sun.xml.impress.template': ['sti'], - 'application/vnd.sun.xml.math': ['sxm'], - 'application/vnd.sun.xml.writer': ['sxw'], - 'application/vnd.sun.xml.writer.global': ['sxg'], - 'application/vnd.sun.xml.writer.template': ['stw'], - 'application/vnd.sus-calendar': ['sus', 'susp'], - 'application/vnd.svd': ['svd'], - 'application/vnd.symbian.install': ['sis', 'sisx'], - 'application/vnd.syncml+xml': ['xsm'], - 'application/vnd.syncml.dm+wbxml': ['bdm'], - 'application/vnd.syncml.dm+xml': ['xdm'], - 'application/vnd.syncml.dmddf+xml': ['ddf'], - 'application/vnd.tao.intent-module-archive': ['tao'], - 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'], - 'application/vnd.tmobile-livetv': ['tmo'], - 'application/vnd.trid.tpt': ['tpt'], - 'application/vnd.triscape.mxs': ['mxs'], - 'application/vnd.trueapp': ['tra'], - 'application/vnd.ufdl': ['ufd', 'ufdl'], - 'application/vnd.uiq.theme': ['utz'], - 'application/vnd.umajin': ['umj'], - 'application/vnd.unity': ['unityweb'], - 'application/vnd.uoml+xml': ['uoml'], - 'application/vnd.vcx': ['vcx'], - 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw'], - 'application/vnd.visionary': ['vis'], - 'application/vnd.vsf': ['vsf'], - 'application/vnd.wap.wbxml': ['wbxml'], - 'application/vnd.wap.wmlc': ['wmlc'], - 'application/vnd.wap.wmlscriptc': ['wmlsc'], - 'application/vnd.webturbo': ['wtb'], - 'application/vnd.wolfram.player': ['nbp'], - 'application/vnd.wordperfect': ['wpd'], - 'application/vnd.wqd': ['wqd'], - 'application/vnd.wt.stf': ['stf'], - 'application/vnd.xara': ['xar'], - 'application/vnd.xfdl': ['xfdl'], - 'application/vnd.yamaha.hv-dic': ['hvd'], - 'application/vnd.yamaha.hv-script': ['hvs'], - 'application/vnd.yamaha.hv-voice': ['hvp'], - 'application/vnd.yamaha.openscoreformat': ['osf'], - 'application/vnd.yamaha.openscoreformat.osfpvg+xml': [ - 'osfpvg', - ], - 'application/vnd.yamaha.smaf-audio': ['saf'], - 'application/vnd.yamaha.smaf-phrase': ['spf'], - 'application/vnd.yellowriver-custom-menu': ['cmp'], - 'application/vnd.zul': ['zir', 'zirz'], - 'application/vnd.zzazz.deck+xml': ['zaz'], - 'application/x-7z-compressed': ['7z'], - 'application/x-abiword': ['abw'], - 'application/x-ace-compressed': ['ace'], - 'application/x-apple-diskimage': ['*dmg'], - 'application/x-arj': ['arj'], - 'application/x-authorware-bin': [ - 'aab', - 'x32', - 'u32', - 'vox', - ], - 'application/x-authorware-map': ['aam'], - 'application/x-authorware-seg': ['aas'], - 'application/x-bcpio': ['bcpio'], - 'application/x-bdoc': ['*bdoc'], - 'application/x-bittorrent': ['torrent'], - 'application/x-blorb': ['blb', 'blorb'], - 'application/x-bzip': ['bz'], - 'application/x-bzip2': ['bz2', 'boz'], - 'application/x-cbr': [ - 'cbr', - 'cba', - 'cbt', - 'cbz', - 'cb7', - ], - 'application/x-cdlink': ['vcd'], - 'application/x-cfs-compressed': ['cfs'], - 'application/x-chat': ['chat'], - 'application/x-chess-pgn': ['pgn'], - 'application/x-chrome-extension': ['crx'], - 'application/x-cocoa': ['cco'], - 'application/x-conference': ['nsc'], - 'application/x-cpio': ['cpio'], - 'application/x-csh': ['csh'], - 'application/x-debian-package': ['*deb', 'udeb'], - 'application/x-dgc-compressed': ['dgc'], - 'application/x-director': [ - 'dir', - 'dcr', - 'dxr', - 'cst', - 'cct', - 'cxt', - 'w3d', - 'fgd', - 'swa', - ], - 'application/x-doom': ['wad'], - 'application/x-dtbncx+xml': ['ncx'], - 'application/x-dtbook+xml': ['dtb'], - 'application/x-dtbresource+xml': ['res'], - 'application/x-dvi': ['dvi'], - 'application/x-envoy': ['evy'], - 'application/x-eva': ['eva'], - 'application/x-font-bdf': ['bdf'], - 'application/x-font-ghostscript': ['gsf'], - 'application/x-font-linux-psf': ['psf'], - 'application/x-font-pcf': ['pcf'], - 'application/x-font-snf': ['snf'], - 'application/x-font-type1': [ - 'pfa', - 'pfb', - 'pfm', - 'afm', - ], - 'application/x-freearc': ['arc'], - 'application/x-futuresplash': ['spl'], - 'application/x-gca-compressed': ['gca'], - 'application/x-glulx': ['ulx'], - 'application/x-gnumeric': ['gnumeric'], - 'application/x-gramps-xml': ['gramps'], - 'application/x-gtar': ['gtar'], - 'application/x-hdf': ['hdf'], - 'application/x-httpd-php': ['php'], - 'application/x-install-instructions': ['install'], - 'application/x-iso9660-image': ['*iso'], - 'application/x-iwork-keynote-sffkey': ['*key'], - 'application/x-iwork-numbers-sffnumbers': ['*numbers'], - 'application/x-iwork-pages-sffpages': ['*pages'], - 'application/x-java-archive-diff': ['jardiff'], - 'application/x-java-jnlp-file': ['jnlp'], - 'application/x-keepass2': ['kdbx'], - 'application/x-latex': ['latex'], - 'application/x-lua-bytecode': ['luac'], - 'application/x-lzh-compressed': ['lzh', 'lha'], - 'application/x-makeself': ['run'], - 'application/x-mie': ['mie'], - 'application/x-mobipocket-ebook': ['prc', 'mobi'], - 'application/x-ms-application': ['application'], - 'application/x-ms-shortcut': ['lnk'], - 'application/x-ms-wmd': ['wmd'], - 'application/x-ms-wmz': ['wmz'], - 'application/x-ms-xbap': ['xbap'], - 'application/x-msaccess': ['mdb'], - 'application/x-msbinder': ['obd'], - 'application/x-mscardfile': ['crd'], - 'application/x-msclip': ['clp'], - 'application/x-msdos-program': ['*exe'], - 'application/x-msdownload': [ - '*exe', - '*dll', - 'com', - 'bat', - '*msi', - ], - 'application/x-msmediaview': ['mvb', 'm13', 'm14'], - 'application/x-msmetafile': [ - '*wmf', - '*wmz', - '*emf', - 'emz', - ], - 'application/x-msmoney': ['mny'], - 'application/x-mspublisher': ['pub'], - 'application/x-msschedule': ['scd'], - 'application/x-msterminal': ['trm'], - 'application/x-mswrite': ['wri'], - 'application/x-netcdf': ['nc', 'cdf'], - 'application/x-ns-proxy-autoconfig': ['pac'], - 'application/x-nzb': ['nzb'], - 'application/x-perl': ['pl', 'pm'], - 'application/x-pilot': ['*prc', '*pdb'], - 'application/x-pkcs12': ['p12', 'pfx'], - 'application/x-pkcs7-certificates': ['p7b', 'spc'], - 'application/x-pkcs7-certreqresp': ['p7r'], - 'application/x-rar-compressed': ['*rar'], - 'application/x-redhat-package-manager': ['rpm'], - 'application/x-research-info-systems': ['ris'], - 'application/x-sea': ['sea'], - 'application/x-sh': ['sh'], - 'application/x-shar': ['shar'], - 'application/x-shockwave-flash': ['swf'], - 'application/x-silverlight-app': ['xap'], - 'application/x-sql': ['sql'], - 'application/x-stuffit': ['sit'], - 'application/x-stuffitx': ['sitx'], - 'application/x-subrip': ['srt'], - 'application/x-sv4cpio': ['sv4cpio'], - 'application/x-sv4crc': ['sv4crc'], - 'application/x-t3vm-image': ['t3'], - 'application/x-tads': ['gam'], - 'application/x-tar': ['tar'], - 'application/x-tcl': ['tcl', 'tk'], - 'application/x-tex': ['tex'], - 'application/x-tex-tfm': ['tfm'], - 'application/x-texinfo': ['texinfo', 'texi'], - 'application/x-tgif': ['*obj'], - 'application/x-ustar': ['ustar'], - 'application/x-virtualbox-hdd': ['hdd'], - 'application/x-virtualbox-ova': ['ova'], - 'application/x-virtualbox-ovf': ['ovf'], - 'application/x-virtualbox-vbox': ['vbox'], - 'application/x-virtualbox-vbox-extpack': [ - 'vbox-extpack', - ], - 'application/x-virtualbox-vdi': ['vdi'], - 'application/x-virtualbox-vhd': ['vhd'], - 'application/x-virtualbox-vmdk': ['vmdk'], - 'application/x-wais-source': ['src'], - 'application/x-web-app-manifest+json': ['webapp'], - 'application/x-x509-ca-cert': ['der', 'crt', 'pem'], - 'application/x-xfig': ['fig'], - 'application/x-xliff+xml': ['*xlf'], - 'application/x-xpinstall': ['xpi'], - 'application/x-xz': ['xz'], - 'application/x-zmachine': [ - 'z1', - 'z2', - 'z3', - 'z4', - 'z5', - 'z6', - 'z7', - 'z8', - ], - 'audio/vnd.dece.audio': ['uva', 'uvva'], - 'audio/vnd.digital-winds': ['eol'], - 'audio/vnd.dra': ['dra'], - 'audio/vnd.dts': ['dts'], - 'audio/vnd.dts.hd': ['dtshd'], - 'audio/vnd.lucent.voice': ['lvp'], - 'audio/vnd.ms-playready.media.pya': ['pya'], - 'audio/vnd.nuera.ecelp4800': ['ecelp4800'], - 'audio/vnd.nuera.ecelp7470': ['ecelp7470'], - 'audio/vnd.nuera.ecelp9600': ['ecelp9600'], - 'audio/vnd.rip': ['rip'], - 'audio/x-aac': ['aac'], - 'audio/x-aiff': ['aif', 'aiff', 'aifc'], - 'audio/x-caf': ['caf'], - 'audio/x-flac': ['flac'], - 'audio/x-m4a': ['*m4a'], - 'audio/x-matroska': ['mka'], - 'audio/x-mpegurl': ['m3u'], - 'audio/x-ms-wax': ['wax'], - 'audio/x-ms-wma': ['wma'], - 'audio/x-pn-realaudio': ['ram', 'ra'], - 'audio/x-pn-realaudio-plugin': ['rmp'], - 'audio/x-realaudio': ['*ra'], - 'audio/x-wav': ['*wav'], - 'chemical/x-cdx': ['cdx'], - 'chemical/x-cif': ['cif'], - 'chemical/x-cmdf': ['cmdf'], - 'chemical/x-cml': ['cml'], - 'chemical/x-csml': ['csml'], - 'chemical/x-xyz': ['xyz'], - 'image/prs.btif': ['btif'], - 'image/prs.pti': ['pti'], - 'image/vnd.adobe.photoshop': ['psd'], - 'image/vnd.airzip.accelerator.azv': ['azv'], - 'image/vnd.dece.graphic': [ - 'uvi', - 'uvvi', - 'uvg', - 'uvvg', - ], - 'image/vnd.djvu': ['djvu', 'djv'], - 'image/vnd.dvb.subtitle': ['*sub'], - 'image/vnd.dwg': ['dwg'], - 'image/vnd.dxf': ['dxf'], - 'image/vnd.fastbidsheet': ['fbs'], - 'image/vnd.fpx': ['fpx'], - 'image/vnd.fst': ['fst'], - 'image/vnd.fujixerox.edmics-mmr': ['mmr'], - 'image/vnd.fujixerox.edmics-rlc': ['rlc'], - 'image/vnd.microsoft.icon': ['ico'], - 'image/vnd.ms-dds': ['dds'], - 'image/vnd.ms-modi': ['mdi'], - 'image/vnd.ms-photo': ['wdp'], - 'image/vnd.net-fpx': ['npx'], - 'image/vnd.pco.b16': ['b16'], - 'image/vnd.tencent.tap': ['tap'], - 'image/vnd.valve.source.texture': ['vtf'], - 'image/vnd.wap.wbmp': ['wbmp'], - 'image/vnd.xiff': ['xif'], - 'image/vnd.zbrush.pcx': ['pcx'], - 'image/x-3ds': ['3ds'], - 'image/x-cmu-raster': ['ras'], - 'image/x-cmx': ['cmx'], - 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'], - 'image/x-icon': ['*ico'], - 'image/x-jng': ['jng'], - 'image/x-mrsid-image': ['sid'], - 'image/x-ms-bmp': ['*bmp'], - 'image/x-pcx': ['*pcx'], - 'image/x-pict': ['pic', 'pct'], - 'image/x-portable-anymap': ['pnm'], - 'image/x-portable-bitmap': ['pbm'], - 'image/x-portable-graymap': ['pgm'], - 'image/x-portable-pixmap': ['ppm'], - 'image/x-rgb': ['rgb'], - 'image/x-tga': ['tga'], - 'image/x-xbitmap': ['xbm'], - 'image/x-xpixmap': ['xpm'], - 'image/x-xwindowdump': ['xwd'], - 'message/vnd.wfa.wsc': ['wsc'], - 'model/vnd.collada+xml': ['dae'], - 'model/vnd.dwf': ['dwf'], - 'model/vnd.gdl': ['gdl'], - 'model/vnd.gtw': ['gtw'], - 'model/vnd.mts': ['mts'], - 'model/vnd.opengex': ['ogex'], - 'model/vnd.parasolid.transmit.binary': ['x_b'], - 'model/vnd.parasolid.transmit.text': ['x_t'], - 'model/vnd.sap.vds': ['vds'], - 'model/vnd.usdz+zip': ['usdz'], - 'model/vnd.valve.source.compiled-map': ['bsp'], - 'model/vnd.vtu': ['vtu'], - 'text/prs.lines.tag': ['dsc'], - 'text/vnd.curl': ['curl'], - 'text/vnd.curl.dcurl': ['dcurl'], - 'text/vnd.curl.mcurl': ['mcurl'], - 'text/vnd.curl.scurl': ['scurl'], - 'text/vnd.dvb.subtitle': ['sub'], - 'text/vnd.fly': ['fly'], - 'text/vnd.fmi.flexstor': ['flx'], - 'text/vnd.graphviz': ['gv'], - 'text/vnd.in3d.3dml': ['3dml'], - 'text/vnd.in3d.spot': ['spot'], - 'text/vnd.sun.j2me.app-descriptor': ['jad'], - 'text/vnd.wap.wml': ['wml'], - 'text/vnd.wap.wmlscript': ['wmls'], - 'text/x-asm': ['s', 'asm'], - 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'], - 'text/x-component': ['htc'], - 'text/x-fortran': ['f', 'for', 'f77', 'f90'], - 'text/x-handlebars-template': ['hbs'], - 'text/x-java-source': ['java'], - 'text/x-lua': ['lua'], - 'text/x-markdown': ['mkd'], - 'text/x-nfo': ['nfo'], - 'text/x-opml': ['opml'], - 'text/x-org': ['*org'], - 'text/x-pascal': ['p', 'pas'], - 'text/x-processing': ['pde'], - 'text/x-sass': ['sass'], - 'text/x-scss': ['scss'], - 'text/x-setext': ['etx'], - 'text/x-sfv': ['sfv'], - 'text/x-suse-ymp': ['ymp'], - 'text/x-uuencode': ['uu'], - 'text/x-vcalendar': ['vcs'], - 'text/x-vcard': ['vcf'], - 'video/vnd.dece.hd': ['uvh', 'uvvh'], - 'video/vnd.dece.mobile': ['uvm', 'uvvm'], - 'video/vnd.dece.pd': ['uvp', 'uvvp'], - 'video/vnd.dece.sd': ['uvs', 'uvvs'], - 'video/vnd.dece.video': ['uvv', 'uvvv'], - 'video/vnd.dvb.file': ['dvb'], - 'video/vnd.fvt': ['fvt'], - 'video/vnd.mpegurl': ['mxu', 'm4u'], - 'video/vnd.ms-playready.media.pyv': ['pyv'], - 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'], - 'video/vnd.vivo': ['viv'], - 'video/x-f4v': ['f4v'], - 'video/x-fli': ['fli'], - 'video/x-flv': ['flv'], - 'video/x-m4v': ['m4v'], - 'video/x-matroska': ['mkv', 'mk3d', 'mks'], - 'video/x-mng': ['mng'], - 'video/x-ms-asf': ['asf', 'asx'], - 'video/x-ms-vob': ['vob'], - 'video/x-ms-wm': ['wm'], - 'video/x-ms-wmv': ['wmv'], - 'video/x-ms-wmx': ['wmx'], - 'video/x-ms-wvx': ['wvx'], - 'video/x-msvideo': ['avi'], - 'video/x-sgi-movie': ['movie'], - 'video/x-smv': ['smv'], - 'x-conference/x-cooltalk': ['ice'], - }; - }), - Tt = F((t, e) => { - var i = zt(); - e.exports = new i(Et(), Dt()); - }), - At, - qt, - Le, - Ti, - Y, - ne, - Ai, - Fe = ce(() => { - var t; - (At = se(xe())), - (qt = se(Tt())), - (Le = se(pe())), - (Ti = new Le.Token('@jupyterlite/contents:IContents')), - ((t = Y || (Y = {})).JSON = 'application/json'), - (t.PLAIN_TEXT = 'text/plain'), - (t.OCTET_STREAM = 'octet/stream'), - (function(t) { - let e = JSON.parse( - At.PageConfig.getOption('fileTypes') || '{}' - ); - (t.getType = function(t, i = null) { - t = t.toLowerCase(); - for (let i of Object.values(e)) - for (let e of i.extensions || []) - if ( - e === t && - i.mimeTypes && - i.mimeTypes.length - ) - return i.mimeTypes[0]; - return ( - qt.default.getType(t) || i || Y.OCTET_STREAM - ); - }), - (t.hasFormat = function(t, i) { - t = t.toLowerCase(); - for (let a of Object.values(e)) - if (a.fileFormat === i) - for (let e of a.extensions || []) - if (e === t) return !0; - return !1; - }); - })(ne || (ne = {})), - (Ai = new Le.Token( - '@jupyterlite/contents:IBroadcastChannelWrapper' - )); - }), - oe, - X, - Lt, - Ut, - Nt, - Be, - Se, - Ft = ce(() => { - (oe = se(xe())), - (X = se(xe())), - Fe(), - (Lt = se(pe())), - (Ut = 'JupyterLite Storage'), - (Nt = 5), - (Be = class { - constructor(t) { - (this.reduceBytesToString = (t, e) => - t + String.fromCharCode(e)), - (this._serverContents = new Map()), - (this._storageName = Ut), - (this._storageDrivers = null), - (this._localforage = t.localforage), - (this._storageName = t.storageName || Ut), - (this._storageDrivers = - t.storageDrivers || null), - (this._ready = new Lt.PromiseDelegate()); - } - async initialize() { - await this.initStorage(), - this._ready.resolve(void 0); - } - async initStorage() { - (this._storage = this.createDefaultStorage()), - (this._counters = this.createDefaultCounters()), - (this._checkpoints = this.createDefaultCheckpoints()); - } - get ready() { - return this._ready.promise; - } - get storage() { - return this.ready.then(() => this._storage); - } - get counters() { - return this.ready.then(() => this._counters); - } - get checkpoints() { - return this.ready.then(() => this._checkpoints); - } - get defaultStorageOptions() { - let t = - this._storageDrivers && - this._storageDrivers.length - ? this._storageDrivers - : null; - return { - version: 1, - name: this._storageName, - ...(t ? { driver: t } : {}), - }; - } - createDefaultStorage() { - return this._localforage.createInstance({ - description: - 'Offline Storage for Notebooks and Files', - storeName: 'files', - ...this.defaultStorageOptions, - }); - } - createDefaultCounters() { - return this._localforage.createInstance({ - description: - 'Store the current file suffix counters', - storeName: 'counters', - ...this.defaultStorageOptions, - }); - } - createDefaultCheckpoints() { - return this._localforage.createInstance({ - description: - 'Offline Storage for Checkpoints', - storeName: 'checkpoints', - ...this.defaultStorageOptions, - }); - } - async newUntitled(t) { - var e, i, a; - let n, - o = - null !== - (e = null == t ? void 0 : t.path) && - void 0 !== e - ? e - : '', - r = - null !== - (i = null == t ? void 0 : t.type) && - void 0 !== i - ? i - : 'notebook', - l = new Date().toISOString(), - p = X.PathExt.dirname(o), - s = X.PathExt.basename(o), - c = X.PathExt.extname(o), - d = await this.get(p), - m = ''; - switch ( - (o && !c && d - ? ((p = `${o}/`), (m = '')) - : p && s - ? ((p = `${p}/`), (m = s)) - : ((p = ''), (m = o)), - r) - ) { - case 'directory': - (m = `Untitled Folder${(await this._incrementCounter( - 'directory' - )) || ''}`), - (n = { - name: m, - path: `${p}${m}`, - last_modified: l, - created: l, - format: 'json', - mimetype: '', - content: null, - size: 0, - writable: !0, - type: 'directory', - }); - break; - case 'notebook': { - let t = await this._incrementCounter( - 'notebook' - ); - (m = m || `Untitled${t || ''}.ipynb`), - (n = { - name: m, - path: `${p}${m}`, - last_modified: l, - created: l, - format: 'json', - mimetype: Y.JSON, - content: Se.EMPTY_NB, - size: JSON.stringify( - Se.EMPTY_NB - ).length, - writable: !0, - type: 'notebook', - }); - break; - } - default: { - let e, - i = - null !== - (a = - null == t - ? void 0 - : t.ext) && - void 0 !== a - ? a - : '.txt', - o = await this._incrementCounter( - 'file' - ), - r = ne.getType(i) || Y.OCTET_STREAM; - (e = - ne.hasFormat(i, 'text') || - -1 !== r.indexOf('text') - ? 'text' - : -1 !== i.indexOf('json') || - -1 !== i.indexOf('ipynb') - ? 'json' - : 'base64'), - (m = m || `untitled${o || ''}${i}`), - (n = { - name: m, - path: `${p}${m}`, - last_modified: l, - created: l, - format: e, - mimetype: r, - content: '', - size: 0, - writable: !0, - type: 'file', - }); - break; - } - } - let u = n.path; - return ( - await (await this.storage).setItem(u, n), n - ); - } - async copy(t, e) { - let i = X.PathExt.basename(t); - for ( - e = '' === e ? '' : `${e.slice(1)}/`; - await this.get(`${e}${i}`, { content: !0 }); - - ) { - let t = X.PathExt.extname(i); - i = `${i.replace(t, '')} (copy)${t}`; - } - let a = `${e}${i}`, - n = await this.get(t, { content: !0 }); - if (!n) - throw Error( - `Could not find file with path ${t}` - ); - return ( - (n = { ...n, name: i, path: a }), - await (await this.storage).setItem(a, n), - n - ); - } - async get(t, e) { - if ( - '' === - (t = decodeURIComponent( - t.replace(/^\//, '') - )) - ) - return await this._getFolder(t); - let i = await this.storage, - a = await i.getItem(t), - n = await this._getServerContents(t, e), - o = a || n; - if (!o) return null; - if (null == e || !e.content) - return { size: 0, ...o, content: null }; - if ('directory' === o.type) { - let e = new Map(); - await i.iterate((i, a) => { - a === `${t}/${i.name}` && - e.set(i.name, i); - }); - let a = n - ? n.content - : Array.from( - ( - await this._getServerDirectory( - t - ) - ).values() - ); - for (let t of a) - e.has(t.name) || e.set(t.name, t); - let r = [...e.values()]; - return { - name: X.PathExt.basename(t), - path: t, - last_modified: o.last_modified, - created: o.created, - format: 'json', - mimetype: Y.JSON, - content: r, - size: 0, - writable: !0, - type: 'directory', - }; - } - return o; - } - async rename(t, e) { - let i = decodeURIComponent(t), - a = await this.get(i, { content: !0 }); - if (!a) - throw Error( - `Could not find file with path ${i}` - ); - let n = new Date().toISOString(), - o = X.PathExt.basename(e), - r = { - ...a, - name: o, - path: e, - last_modified: n, - }, - l = await this.storage; - if ( - (await l.setItem(e, r), - await l.removeItem(i), - await (await this.checkpoints).removeItem( - i - ), - 'directory' === a.type) - ) { - let i; - for (i of a.content) - await this.rename( - oe.URLExt.join(t, i.name), - oe.URLExt.join(e, i.name) - ); - } - return r; - } - async save(t, e = {}) { - var i; - t = decodeURIComponent(t); - let a = X.PathExt.extname( - null !== (i = e.name) && void 0 !== i - ? i - : '' - ), - n = e.chunk, - o = !!n && (n > 1 || -1 === n), - r = await this.get(t, { content: o }); - if ( - (r || - (r = await this.newUntitled({ - path: t, - ext: a, - type: 'file', - })), - !r) - ) - return null; - let l = r.content, - p = new Date().toISOString(); - if ( - ((r = { ...r, ...e, last_modified: p }), - e.content && 'base64' === e.format) - ) { - let t = !n || -1 === n; - if ('.ipynb' === a) { - let i = this._handleChunk( - e.content, - l, - o - ); - r = { - ...r, - content: t ? JSON.parse(i) : i, - format: 'json', - type: 'notebook', - size: i.length, - }; - } else if (ne.hasFormat(a, 'json')) { - let i = this._handleChunk( - e.content, - l, - o - ); - r = { - ...r, - content: t ? JSON.parse(i) : i, - format: 'json', - type: 'file', - size: i.length, - }; - } else if (ne.hasFormat(a, 'text')) { - let t = this._handleChunk( - e.content, - l, - o - ); - r = { - ...r, - content: t, - format: 'text', - type: 'file', - size: t.length, - }; - } else { - let t = e.content; - r = { - ...r, - content: t, - size: atob(t).length, - }; - } - } - return ( - await (await this.storage).setItem(t, r), r - ); - } - async delete(t) { - let e = `${(t = decodeURIComponent(t))}/`, - i = ( - await (await this.storage).keys() - ).filter(i => i === t || i.startsWith(e)); - await Promise.all(i.map(this.forgetPath, this)); - } - async forgetPath(t) { - await Promise.all([ - (await this.storage).removeItem(t), - (await this.checkpoints).removeItem(t), - ]); - } - async createCheckpoint(t) { - var e; - let i = await this.checkpoints; - t = decodeURIComponent(t); - let a = await this.get(t, { content: !0 }); - if (!a) - throw Error( - `Could not find file with path ${t}` - ); - let n = (null !== (e = await i.getItem(t)) && - void 0 !== e - ? e - : [] - ).filter(Boolean); - return ( - n.push(a), - n.length > Nt && n.splice(0, n.length - Nt), - await i.setItem(t, n), - { - id: '' + (n.length - 1), - last_modified: a.last_modified, - } - ); - } - async listCheckpoints(t) { - return ( - (await (await this.checkpoints).getItem( - t - )) || [] - ) - .filter(Boolean) - .map(this.normalizeCheckpoint, this); - } - normalizeCheckpoint(t, e) { - return { - id: e.toString(), - last_modified: t.last_modified, - }; - } - async restoreCheckpoint(t, e) { - t = decodeURIComponent(t); - let i = ((await ( - await this.checkpoints - ).getItem(t)) || [])[parseInt(e)]; - await (await this.storage).setItem(t, i); - } - async deleteCheckpoint(t, e) { - t = decodeURIComponent(t); - let i = - (await (await this.checkpoints).getItem( - t - )) || [], - a = parseInt(e); - i.splice(a, 1), - await (await this.checkpoints).setItem( - t, - i - ); - } - _handleChunk(t, e, i) { - let a = decodeURIComponent(escape(atob(t))); - return i ? e + a : a; - } - async _getFolder(t) { - let e = new Map(); - await (await this.storage).iterate((t, i) => { - i.includes('/') || e.set(t.path, t); - }); - for (let i of ( - await this._getServerDirectory(t) - ).values()) - e.has(i.path) || e.set(i.path, i); - return t && 0 === e.size - ? null - : { - name: '', - path: t, - last_modified: new Date( - 0 - ).toISOString(), - created: new Date(0).toISOString(), - format: 'json', - mimetype: Y.JSON, - content: Array.from(e.values()), - size: 0, - writable: !0, - type: 'directory', - }; - } - async _getServerContents(t, e) { - let i = X.PathExt.basename(t), - a = ( - await this._getServerDirectory( - oe.URLExt.join(t, '..') - ) - ).get(i); - if (!a) return null; - if ( - ((a = a || { - name: i, - path: t, - last_modified: new Date( - 0 - ).toISOString(), - created: new Date(0).toISOString(), - format: 'text', - mimetype: Y.PLAIN_TEXT, - type: 'file', - writable: !0, - size: 0, - content: '', - }), - null != e && e.content) - ) - if ('directory' === a.type) { - let e = await this._getServerDirectory( - t - ); - a = { - ...a, - content: Array.from(e.values()), - }; - } else { - let e = oe.URLExt.join( - oe.PageConfig.getBaseUrl(), - 'files', - t - ), - n = await fetch(e); - if (!n.ok) return null; - let o = - a.mimetype || - n.headers.get('Content-Type'), - r = X.PathExt.extname(i); - if ( - 'notebook' === a.type || - ne.hasFormat(r, 'json') || - -1 !== - (null == o - ? void 0 - : o.indexOf('json')) || - t.match(/\.(ipynb|[^/]*json[^/]*)$/) - ) { - let t = await n.text(); - a = { - ...a, - content: JSON.parse(t), - format: 'json', - mimetype: a.mimetype || Y.JSON, - size: t.length, - }; - } else if ( - ne.hasFormat(r, 'text') || - -1 !== o.indexOf('text') - ) { - let t = await n.text(); - a = { - ...a, - content: t, - format: 'text', - mimetype: o || Y.PLAIN_TEXT, - size: t.length, - }; - } else { - let t = await n.arrayBuffer(), - e = new Uint8Array(t); - a = { - ...a, - content: btoa( - e.reduce( - this - .reduceBytesToString, - '' - ) - ), - format: 'base64', - mimetype: o || Y.OCTET_STREAM, - size: e.length, - }; - } - } - return a; - } - async _getServerDirectory(t) { - let e = - this._serverContents.get(t) || new Map(); - if (!this._serverContents.has(t)) { - let i = oe.URLExt.join( - oe.PageConfig.getBaseUrl(), - 'api/contents', - t, - 'all.json' - ); - try { - let t = await fetch(i), - a = JSON.parse(await t.text()); - for (let t of a.content) - e.set(t.name, t); - } catch (t) { - console.warn( - `don't worry, about ${t}... nothing's broken. If there had been a\n file at ${i}, you might see some more files.` - ); - } - this._serverContents.set(t, e); - } - return e; - } - async _incrementCounter(t) { - var e; - let i = await this.counters, - a = - (null !== (e = await i.getItem(t)) && - void 0 !== e - ? e - : -1) + 1; - return await i.setItem(t, a), a; - } - }), - ((Se || (Se = {})).EMPTY_NB = { - metadata: { orig_nbformat: 4 }, - nbformat_minor: 4, - nbformat: 4, - cells: [], - }); - }), - ze, - Bt, - qi, - Ui, - $t = ce(() => { - (ze = 16895), (Bt = 33206), (qi = 1), (Ui = 2); - }), - Wt, - He, - De, - Ni, - Li, - Ht, - Re, - Ee, - Ie, - $e, - We = ce(() => { - (Wt = ':'), - (He = '/api/drive.v1'), - (De = 4096), - (Ni = new TextEncoder()), - (Li = new TextDecoder('utf-8')), - (Ht = { - 0: !1, - 1: !0, - 2: !0, - 64: !0, - 65: !0, - 66: !0, - 129: !0, - 193: !0, - 514: !0, - 577: !0, - 578: !0, - 705: !0, - 706: !0, - 1024: !0, - 1025: !0, - 1026: !0, - 1089: !0, - 1090: !0, - 1153: !0, - 1154: !0, - 1217: !0, - 1218: !0, - 4096: !0, - 4098: !0, - }), - (Re = class { - constructor(t) { - this.fs = t; - } - open(t) { - let e = this.fs.realPath(t.node); - this.fs.FS.isFile(t.node.mode) && - (t.file = this.fs.API.get(e)); - } - close(t) { - if (!this.fs.FS.isFile(t.node.mode) || !t.file) - return; - let e = this.fs.realPath(t.node), - i = t.flags, - a = - 'string' == typeof i - ? parseInt(i, 10) - : i; - a &= 8191; - let n = !0; - a in Ht && (n = Ht[a]), - n && this.fs.API.put(e, t.file), - (t.file = void 0); - } - read(t, e, i, a, n) { - if ( - a <= 0 || - void 0 === t.file || - n >= (t.file.data.length || 0) - ) - return 0; - let o = Math.min(t.file.data.length - n, a); - return ( - e.set(t.file.data.subarray(n, n + o), i), o - ); - } - write(t, e, i, a, n) { - var o; - if (a <= 0 || void 0 === t.file) return 0; - if ( - ((t.node.timestamp = Date.now()), - n + a > - ((null === (o = t.file) || void 0 === o - ? void 0 - : o.data.length) || 0)) - ) { - let e = t.file.data - ? t.file.data - : new Uint8Array(); - (t.file.data = new Uint8Array(n + a)), - t.file.data.set(e); - } - return ( - t.file.data.set(e.subarray(i, i + a), n), a - ); - } - llseek(t, e, i) { - let a = e; - if (1 === i) a += t.position; - else if ( - 2 === i && - this.fs.FS.isFile(t.node.mode) - ) { - if (void 0 === t.file) - throw new this.fs.FS.ErrnoError( - this.fs.ERRNO_CODES.EPERM - ); - a += t.file.data.length; - } - if (a < 0) - throw new this.fs.FS.ErrnoError( - this.fs.ERRNO_CODES.EINVAL - ); - return a; - } - }), - (Ee = class { - constructor(t) { - this.fs = t; - } - getattr(t) { - return { - ...this.fs.API.getattr(this.fs.realPath(t)), - mode: t.mode, - ino: t.id, - }; - } - setattr(t, e) { - for (let [i, a] of Object.entries(e)) - switch (i) { - case 'mode': - t.mode = a; - break; - case 'timestamp': - t.timestamp = a; - break; - default: - console.warn( - 'setattr', - i, - 'of', - a, - 'on', - t, - 'not yet implemented' - ); - } - } - lookup(t, e) { - let i = this.fs.PATH.join2( - this.fs.realPath(t), - e - ), - a = this.fs.API.lookup(i); - if (!a.ok) - throw this.fs.FS.genericErrors[ - this.fs.ERRNO_CODES.ENOENT - ]; - return this.fs.createNode(t, e, a.mode, 0); - } - mknod(t, e, i, a) { - let n = this.fs.PATH.join2( - this.fs.realPath(t), - e - ); - return ( - this.fs.API.mknod(n, i), - this.fs.createNode(t, e, i, a) - ); - } - rename(t, e, i) { - this.fs.API.rename( - t.parent - ? this.fs.PATH.join2( - this.fs.realPath(t.parent), - t.name - ) - : t.name, - this.fs.PATH.join2(this.fs.realPath(e), i) - ), - (t.name = i), - (t.parent = e); - } - unlink(t, e) { - this.fs.API.rmdir( - this.fs.PATH.join2(this.fs.realPath(t), e) - ); - } - rmdir(t, e) { - this.fs.API.rmdir( - this.fs.PATH.join2(this.fs.realPath(t), e) - ); - } - readdir(t) { - return this.fs.API.readdir(this.fs.realPath(t)); - } - symlink(t, e, i) { - throw new this.fs.FS.ErrnoError( - this.fs.ERRNO_CODES.EPERM - ); - } - readlink(t) { - throw new this.fs.FS.ErrnoError( - this.fs.ERRNO_CODES.EPERM - ); - } - }), - (Ie = class { - constructor(t, e, i, a, n) { - (this._baseUrl = t), - (this._driveName = e), - (this._mountpoint = i), - (this.FS = a), - (this.ERRNO_CODES = n); - } - request(t) { - let e = new XMLHttpRequest(); - e.open('POST', encodeURI(this.endpoint), !1); - try { - e.send(JSON.stringify(t)); - } catch (t) { - console.error(t); - } - if (e.status >= 400) - throw new this.FS.ErrnoError( - this.ERRNO_CODES.EINVAL - ); - return JSON.parse(e.responseText); - } - lookup(t) { - return this.request({ - method: 'lookup', - path: this.normalizePath(t), - }); - } - getmode(t) { - return Number.parseInt( - this.request({ - method: 'getmode', - path: this.normalizePath(t), - }) - ); - } - mknod(t, e) { - return this.request({ - method: 'mknod', - path: this.normalizePath(t), - data: { mode: e }, - }); - } - rename(t, e) { - return this.request({ - method: 'rename', - path: this.normalizePath(t), - data: { newPath: this.normalizePath(e) }, - }); - } - readdir(t) { - let e = this.request({ - method: 'readdir', - path: this.normalizePath(t), - }); - return e.push('.'), e.push('..'), e; - } - rmdir(t) { - return this.request({ - method: 'rmdir', - path: this.normalizePath(t), - }); - } - get(t) { - let e = this.request({ - method: 'get', - path: this.normalizePath(t), - }), - i = e.content, - a = e.format; - switch (a) { - case 'json': - case 'text': - return { - data: Ni.encode(i), - format: a, - }; - case 'base64': { - let t = atob(i), - e = t.length, - n = new Uint8Array(e); - for (let i = 0; i < e; i++) - n[i] = t.charCodeAt(i); - return { data: n, format: a }; - } - default: - throw new this.FS.ErrnoError( - this.ERRNO_CODES.ENOENT - ); - } - } - put(t, e) { - switch (e.format) { - case 'json': - case 'text': - return this.request({ - method: 'put', - path: this.normalizePath(t), - data: { - format: e.format, - data: Li.decode(e.data), - }, - }); - case 'base64': { - let i = ''; - for ( - let t = 0; - t < e.data.byteLength; - t++ - ) - i += String.fromCharCode(e.data[t]); - return this.request({ - method: 'put', - path: this.normalizePath(t), - data: { - format: e.format, - data: btoa(i), - }, - }); - } - } - } - getattr(t) { - let e = this.request({ - method: 'getattr', - path: this.normalizePath(t), - }); - return ( - (e.atime = new Date(e.atime)), - (e.mtime = new Date(e.mtime)), - (e.ctime = new Date(e.ctime)), - (e.size = e.size || 0), - e - ); - } - normalizePath(t) { - return ( - t.startsWith(this._mountpoint) && - (t = t.slice(this._mountpoint.length)), - this._driveName && - (t = `${this._driveName}${Wt}${t}`), - t - ); - } - get endpoint() { - return `${this._baseUrl}api/drive`; - } - }), - ($e = class { - constructor(t) { - (this.FS = t.FS), - (this.PATH = t.PATH), - (this.ERRNO_CODES = t.ERRNO_CODES), - (this.API = new Ie( - t.baseUrl, - t.driveName, - t.mountpoint, - this.FS, - this.ERRNO_CODES - )), - (this.driveName = t.driveName), - (this.node_ops = new Ee(this)), - (this.stream_ops = new Re(this)); - } - mount(t) { - return this.createNode( - null, - t.mountpoint, - 16895, - 0 - ); - } - createNode(t, e, i, a) { - let n = this.FS; - if (!n.isDir(i) && !n.isFile(i)) - throw new n.ErrnoError( - this.ERRNO_CODES.EINVAL - ); - let o = n.createNode(t, e, i, a); - return ( - (o.node_ops = this.node_ops), - (o.stream_ops = this.stream_ops), - o - ); - } - getMode(t) { - return this.API.getmode(t); - } - realPath(t) { - let e = [], - i = t; - for (e.push(i.name); i.parent !== i; ) - (i = i.parent), e.push(i.name); - return ( - e.reverse(), this.PATH.join.apply(null, e) - ); - } - }); - }), - Ke, - Je, - Kt = ce(() => { - (Ke = se(xe())), - We(), - (Je = class { - constructor(t) { - (this.isDisposed = !1), - (this._onMessage = async t => { - if (!this._channel) return; - let { _contents: e } = this, - i = t.data, - a = null == i ? void 0 : i.path; - if ( - 'broadcast.ts' !== - (null == i ? void 0 : i.receiver) - ) - return; - let n, - o = null; - switch (null == i ? void 0 : i.method) { - case 'readdir': - (n = await e.get(a, { - content: !0, - })), - (o = []), - 'directory' === n.type && - n.content && - (o = n.content.map( - t => t.name - )); - break; - case 'rmdir': - await e.delete(a); - break; - case 'rename': - await e.rename( - a, - i.data.newPath - ); - break; - case 'getmode': - (n = await e.get(a)), - (o = - 'directory' === n.type - ? 16895 - : 33206); - break; - case 'lookup': - try { - (n = await e.get(a)), - (o = { - ok: !0, - mode: - 'directory' === - n.type - ? 16895 - : 33206, - }); - } catch { - o = { ok: !1 }; - } - break; - case 'mknod': - (n = await e.newUntitled({ - path: Ke.PathExt.dirname(a), - type: - 16895 === - Number.parseInt( - i.data.mode - ) - ? 'directory' - : 'file', - ext: Ke.PathExt.extname(a), - })), - await e.rename(n.path, a); - break; - case 'getattr': { - n = await e.get(a); - let t = new Date( - 0 - ).toISOString(); - o = { - dev: 1, - nlink: 1, - uid: 0, - gid: 0, - rdev: 0, - size: n.size || 0, - blksize: De, - blocks: Math.ceil( - n.size || 0 / De - ), - atime: n.last_modified || t, - mtime: n.last_modified || t, - ctime: n.created || t, - timestamp: 0, - }; - break; - } - case 'get': - if ( - ((n = await e.get(a, { - content: !0, - })), - 'directory' === n.type) - ) - break; - o = { - content: - 'json' === n.format - ? JSON.stringify( - n.content - ) - : n.content, - format: n.format, - }; - break; - case 'put': - await e.save(a, { - content: - 'json' === i.data.format - ? JSON.parse( - i.data.data - ) - : i.data.data, - type: 'file', - format: i.data.format, - }); - break; - default: - o = null; - } - this._channel.postMessage(o); - }), - (this._channel = null), - (this._enabled = !1), - (this._contents = t.contents); - } - get enabled() { - return this._enabled; - } - enable() { - this._channel - ? console.warn( - 'BroadcastChannel already created and enabled' - ) - : ((this._channel = new BroadcastChannel( - He - )), - this._channel.addEventListener( - 'message', - this._onMessage - ), - (this._enabled = !0)); - } - disable() { - this._channel && - (this._channel.removeEventListener( - 'message', - this._onMessage - ), - (this._channel = null)), - (this._enabled = !1); - } - dispose() { - this.isDisposed || - (this.disable(), (this.isDisposed = !0)); - } - }); - }), - Jt = {}; - li(Jt, { - BLOCK_SIZE: () => De, - BroadcastChannelWrapper: () => Je, - Contents: () => Be, - ContentsAPI: () => Ie, - DIR_MODE: () => ze, - DRIVE_API_PATH: () => He, - DRIVE_SEPARATOR: () => Wt, - DriveFS: () => $e, - DriveFSEmscriptenNodeOps: () => Ee, - DriveFSEmscriptenStreamOps: () => Re, - FILE: () => ne, - FILE_MODE: () => Bt, - IBroadcastChannelWrapper: () => Ai, - IContents: () => Ti, - MIME: () => Y, - SEEK_CUR: () => qi, - SEEK_END: () => Ui, - }); - var Vt = ce(() => { - Ft(), We(), Fe(), Kt(), $t(); - }), - Yt = class { - constructor() { - (this._options = null), - (this._initializer = null), - (this._pyodide = null), - (this._localPath = ''), - (this._driveName = ''), - (this._driveFS = null), - (this._initialized = new Promise((t, e) => { - this._initializer = { resolve: t, reject: e }; - })); - } - async initialize(t) { - var e; - if (((this._options = t), t.location.includes(':'))) { - let e = t.location.split(':'); - (this._driveName = e[0]), (this._localPath = e[1]); - } else - (this._driveName = ''), - (this._localPath = t.location); - await this.initRuntime(t), - await this.initFilesystem(t), - await this.initPackageManager(t), - await this.initKernel(t), - await this.initGlobals(t), - null == (e = this._initializer) || e.resolve(); - } - async initRuntime(t) { - let e, - { pyodideUrl: i, indexUrl: a } = t; - i.endsWith('.mjs') - ? (e = (await __webpack_require__(476)(i)) - .loadPyodide) - : (importScripts(i), (e = self.loadPyodide)), - (this._pyodide = await e({ indexURL: a })); - } - async initPackageManager(t) { - if (!this._options) throw new Error('Uninitialized'); - let { - pipliteWheelUrl: e, - disablePyPIFallback: i, - pipliteUrls: a, - } = this._options; - await this._pyodide.loadPackage(['micropip']), - await this._pyodide.runPythonAsync( - `\n import micropip\n await micropip.install('${e}', keep_going=True)\n import piplite.piplite\n piplite.piplite._PIPLITE_DISABLE_PYPI = ${ - i ? 'True' : 'False' - }\n piplite.piplite._PIPLITE_URLS = ${JSON.stringify( - a - )}\n ` - ); - } - async initKernel(t) { - await this._pyodide.runPythonAsync( - "\n await piplite.install(['ssl'], keep_going=True);\n await piplite.install(['sqlite3'], keep_going=True);\n await piplite.install(['ipykernel'], keep_going=True);\n await piplite.install(['comm'], keep_going=True);\n await piplite.install(['pyodide_kernel'], keep_going=True);\n await piplite.install(['ipython'], keep_going=True);\n import pyodide_kernel\n " - ), - t.mountDrive && - this._localPath && - (await this._pyodide.runPythonAsync( - `\n import os;\n os.chdir("${this._localPath}");\n ` - )); - } - async initGlobals(t) { - let { globals: e } = this._pyodide; - (this._kernel = e - .get('pyodide_kernel') - .kernel_instance.copy()), - (this._stdout_stream = e - .get('pyodide_kernel') - .stdout_stream.copy()), - (this._stderr_stream = e - .get('pyodide_kernel') - .stderr_stream.copy()), - (this._interpreter = this._kernel.interpreter.copy()), - (this._interpreter.send_comm = this.sendComm.bind( - this - )); - } - async initFilesystem(t) { - if (t.mountDrive) { - let e = '/drive', - { - FS: i, - PATH: a, - ERRNO_CODES: n, - } = this._pyodide, - { baseUrl: o } = t, - { DriveFS: r } = await Promise.resolve().then( - () => (Vt(), Jt) - ), - l = new r({ - FS: i, - PATH: a, - ERRNO_CODES: n, - baseUrl: o, - driveName: this._driveName, - mountpoint: e, - }); - i.mkdir(e), - i.mount(l, {}, e), - i.chdir(e), - (this._driveFS = l); - } - } - mapToObject(t) { - let e = t instanceof Array ? [] : {}; - return ( - t.forEach((t, i) => { - e[i] = - t instanceof Map || t instanceof Array - ? this.mapToObject(t) - : t; - }), - e - ); - } - formatResult(t) { - if (!(t instanceof this._pyodide.ffi.PyProxy)) return t; - let e = t.toJs(); - return this.mapToObject(e); - } - async setup(t) { - await this._initialized, - (this._kernel._parent_header = this._pyodide.toPy( - t - )); - } - async execute(t, e) { - await this.setup(e); - let i = (t, e) => { - let i = { - name: this.formatResult(t), - text: this.formatResult(e), - }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: i, - type: 'stream', - }); - }; - (this._stdout_stream.publish_stream_callback = i), - (this._stderr_stream.publish_stream_callback = i), - (this._interpreter.display_pub.clear_output_callback = t => { - let e = { wait: this.formatResult(t) }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: e, - type: 'clear_output', - }); - }), - (this._interpreter.display_pub.display_data_callback = ( - t, - e, - i - ) => { - let a = { - data: this.formatResult(t), - metadata: this.formatResult(e), - transient: this.formatResult(i), - }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: a, - type: 'display_data', - }); - }), - (this._interpreter.display_pub.update_display_data_callback = ( - t, - e, - i - ) => { - let a = { - data: this.formatResult(t), - metadata: this.formatResult(e), - transient: this.formatResult(i), - }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: a, - type: 'update_display_data', - }); - }), - (this._interpreter.displayhook.publish_execution_result = ( - t, - e, - i - ) => { - let a = { - execution_count: t, - data: this.formatResult(e), - metadata: this.formatResult(i), - }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: a, - type: 'execute_result', - }); - }), - (this._interpreter.input = this.input.bind(this)), - (this._interpreter.getpass = this.getpass.bind( - this - )); - let a = await this._kernel.run(t.code), - n = this.formatResult(a); - return ( - 'error' === n.status && - ((t, e, i) => { - let a = { - ename: t, - evalue: e, - traceback: i, - }; - postMessage({ - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - bundle: a, - type: 'execute_error', - }); - })(n.ename, n.evalue, n.traceback), - n - ); - } - async complete(t, e) { - await this.setup(e); - let i = this._kernel.complete(t.code, t.cursor_pos); - return this.formatResult(i); - } - async inspect(t, e) { - await this.setup(e); - let i = this._kernel.inspect( - t.code, - t.cursor_pos, - t.detail_level - ); - return this.formatResult(i); - } - async isComplete(t, e) { - await this.setup(e); - let i = this._kernel.is_complete(t.code); - return this.formatResult(i); - } - async commInfo(t, e) { - await this.setup(e); - let i = this._kernel.comm_info(t.target_name); - return { comms: this.formatResult(i), status: 'ok' }; - } - async commOpen(t, e) { - await this.setup(e); - let i = this._kernel.comm_manager.comm_open( - this._pyodide.toPy(null), - this._pyodide.toPy(null), - this._pyodide.toPy(t) - ); - return this.formatResult(i); - } - async commMsg(t, e) { - await this.setup(e); - let i = this._kernel.comm_manager.comm_msg( - this._pyodide.toPy(null), - this._pyodide.toPy(null), - this._pyodide.toPy(t) - ); - return this.formatResult(i); - } - async commClose(t, e) { - await this.setup(e); - let i = this._kernel.comm_manager.comm_close( - this._pyodide.toPy(null), - this._pyodide.toPy(null), - this._pyodide.toPy(t) - ); - return this.formatResult(i); - } - async inputReply(t, e) { - await this.setup(e), this._resolveInputReply(t); - } - async sendInputRequest(t, e) { - let i = { prompt: t, password: e }; - postMessage({ - type: 'input_request', - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - content: i, - }); - } - async getpass(t) { - return ( - (t = void 0 === t ? '' : t), - await this.sendInputRequest(t, !0), - ( - await new Promise(t => { - this._resolveInputReply = t; - }) - ).value - ); - } - async input(t) { - return ( - (t = void 0 === t ? '' : t), - await this.sendInputRequest(t, !1), - ( - await new Promise(t => { - this._resolveInputReply = t; - }) - ).value - ); - } - async sendComm(t, e, i, a, n) { - postMessage({ - type: t, - content: this.formatResult(e), - metadata: this.formatResult(i), - ident: this.formatResult(a), - buffers: this.formatResult(n), - parentHeader: this.formatResult( - this._kernel._parent_header - ).header, - }); - } - }; - }, - 476: t => { - function e(t) { - return Promise.resolve().then(() => { - var e = new Error("Cannot find module '" + t + "'"); - throw ((e.code = 'MODULE_NOT_FOUND'), e); - }); - } - (e.keys = () => []), (e.resolve = e), (e.id = 476), (t.exports = e); - }, - }, -]); -//# sourceMappingURL=128.fd6a7bd994d997285906.js.map?v=fd6a7bd994d997285906 diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js.map b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js.map deleted file mode 100644 index 271a694591a..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/128.fd6a7bd994d997285906.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"128.fd6a7bd994d997285906.js?v=fd6a7bd994d997285906","mappings":"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","sources":["webpack://@jupyterlite/pyodide-kernel-extension/../../node_modules/process/browser.js","webpack://@jupyterlite/pyodide-kernel-extension/../pyodide-kernel/lib/worker.js","webpack://@jupyterlite/pyodide-kernel-extension/../pyodide-kernel/lib/ lazy namespace object"],"sourcesContent":["// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var ni=Object.create;var Me=Object.defineProperty;var ai=Object.getOwnPropertyDescriptor;var oi=Object.getOwnPropertyNames;var si=Object.getPrototypeOf,ri=Object.prototype.hasOwnProperty;var ce=(n,e)=>()=>(n&&(e=n(n=0)),e);var F=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),li=(n,e)=>{for(var t in e)Me(n,t,{get:e[t],enumerable:!0})},ci=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of oi(e))!ri.call(n,a)&&a!==t&&Me(n,a,{get:()=>e[a],enumerable:!(i=ai(e,a))||i.enumerable});return n};var se=(n,e,t)=>(t=n!=null?ni(si(n)):{},ci(e||!n||!n.__esModule?Me(t,\"default\",{value:n,enumerable:!0}):t,n));var Ye=F((be,Ve)=>{(function(n,e){typeof be==\"object\"&&typeof Ve!=\"undefined\"?e(be):typeof define==\"function\"&&define.amd?define([\"exports\"],e):(n=typeof globalThis!=\"undefined\"?globalThis:n||self,e(n.lumino_algorithm={}))})(be,function(n){\"use strict\";n.ArrayExt=void 0,function(u){function v(g,w,d=0,p=-1){let f=g.length;if(f===0)return-1;d<0?d=Math.max(0,d+f):d=Math.min(d,f-1),p<0?p=Math.max(0,p+f):p=Math.min(p,f-1);let _;p0;){let Z=U>>1,fe=k+Z;d(g[fe],w)<0?(k=fe+1,U-=Z+1):U=Z}return k}u.lowerBound=A;function H(g,w,d,p=0,f=-1){let _=g.length;if(_===0)return 0;p<0?p=Math.max(0,p+_):p=Math.min(p,_-1),f<0?f=Math.max(0,f+_):f=Math.min(f,_-1);let k=p,U=f-p+1;for(;U>0;){let Z=U>>1,fe=k+Z;d(g[fe],w)>0?U=Z:(k=fe+1,U-=Z+1)}return k}u.upperBound=H;function L(g,w,d){if(g===w)return!0;if(g.length!==w.length)return!1;for(let p=0,f=g.length;p=_&&(d=f<0?_-1:_),p===void 0?p=f<0?-1:_:p<0?p=Math.max(p+_,f<0?-1:0):p>=_&&(p=f<0?_-1:_);let k;f<0&&p>=d||f>0&&d>=p?k=0:f<0?k=Math.floor((p-d+1)/f+1):k=Math.floor((p-d-1)/f+1);let U=[];for(let Z=0;Z=p))return;let _=p-d+1;if(w>0?w=w%_:w<0&&(w=(w%_+_)%_),w===0)return;let k=d+w;K(g,d,k-1),K(g,k,p),K(g,d,p)}u.rotate=G;function Q(g,w,d=0,p=-1){let f=g.length;if(f===0)return;d<0?d=Math.max(0,d+f):d=Math.min(d,f-1),p<0?p=Math.max(0,p+f):p=Math.min(p,f-1);let _;pw;--f)g[f]=g[f-1];g[w]=d}u.insert=Zt;function me(g,w){let d=g.length;if(w<0&&(w+=d),w<0||w>=d)return;let p=g[w];for(let f=w+1;f=d&&k<=p&&g[k]===w||p=d)&&g[k]===w?_++:_>0&&(g[k-_]=g[k]);return _>0&&(g.length=f-_),_}u.removeAllOf=Qt;function ei(g,w,d=0,p=-1){let f,_=y(g,w,d,p);return _!==-1&&(f=me(g,_)),{index:_,value:f}}u.removeFirstWhere=ei;function ti(g,w,d=-1,p=0){let f,_=M(g,w,d,p);return _!==-1&&(f=me(g,_)),{index:_,value:f}}u.removeLastWhere=ti;function ii(g,w,d=0,p=-1){let f=g.length;if(f===0)return 0;d<0?d=Math.max(0,d+f):d=Math.min(d,f-1),p<0?p=Math.max(0,p+f):p=Math.min(p,f-1);let _=0;for(let k=0;k=d&&k<=p&&w(g[k],k)||p=d)&&w(g[k],k)?_++:_>0&&(g[k-_]=g[k]);return _>0&&(g.length=f-_),_}u.removeAllWhere=ii}(n.ArrayExt||(n.ArrayExt={}));function*e(...u){for(let v of u)yield*v}function*t(){}function*i(u,v=0){for(let x of u)yield[v++,x]}function*a(u,v){let x=0;for(let y of u)v(y,x++)&&(yield y)}function o(u,v){let x=0;for(let y of u)if(v(y,x++))return y}function r(u,v){let x=0;for(let y of u)if(v(y,x++))return x-1;return-1}function s(u,v){let x;for(let y of u){if(x===void 0){x=y;continue}v(y,x)<0&&(x=y)}return x}function l(u,v){let x;for(let y of u){if(x===void 0){x=y;continue}v(y,x)>0&&(x=y)}return x}function m(u,v){let x=!0,y,M;for(let B of u)x?(y=B,M=B,x=!1):v(B,y)<0?y=B:v(B,M)>0&&(M=B);return x?void 0:[y,M]}function h(u){return Array.from(u)}function c(u){let v={};for(let[x,y]of u)v[x]=y;return v}function b(u,v){let x=0;for(let y of u)if(v(y,x++)===!1)return}function j(u,v){let x=0;for(let y of u)if(v(y,x++)===!1)return!1;return!0}function C(u,v){let x=0;for(let y of u)if(v(y,x++))return!0;return!1}function*q(u,v){let x=0;for(let y of u)yield v(y,x++)}function*O(u,v,x){v===void 0?(v=u,u=0,x=1):x===void 0&&(x=1);let y=S.rangeLength(u,v,x);for(let M=0;My&&M>0||x-1;v--)yield u[v]}function V(u){let v=[],x=new Set,y=new Map;for(let T of u)M(T);for(let[T]of y)B(T);return v;function M(T){let[A,H]=T,L=y.get(H);L?L.push(A):y.set(H,[A])}function B(T){if(x.has(T))return;x.add(T);let A=y.get(T);if(A)for(let H of A)B(H);v.push(T)}}function*D(u,v){let x=0;for(let y of u)x++%v===0&&(yield y)}n.StringExt=void 0,function(u){function v(T,A,H=0){let L=new Array(A.length);for(let W=0,$=H,K=A.length;WA?1:0}u.cmp=B}(n.StringExt||(n.StringExt={}));function*z(u,v){if(v<1)return;let x=u[Symbol.iterator](),y;for(;0y[Symbol.iterator]()),x=v.map(y=>y.next());for(;j(x,y=>!y.done);x=v.map(y=>y.next()))yield x.map(y=>y.value)}n.chain=e,n.each=b,n.empty=t,n.enumerate=i,n.every=j,n.filter=a,n.find=o,n.findIndex=r,n.map=q,n.max=l,n.min=s,n.minmax=m,n.once=P,n.range=O,n.reduce=R,n.repeat=I,n.retro=N,n.some=C,n.stride=D,n.take=z,n.toArray=h,n.toObject=c,n.topologicSort=V,n.zip=E})});var pe=F((we,Ze)=>{(function(n,e){typeof we==\"object\"&&typeof Ze!=\"undefined\"?e(we):typeof define==\"function\"&&define.amd?define([\"exports\"],e):(n=typeof globalThis!=\"undefined\"?globalThis:n||self,e(n.lumino_coreutils={}))})(we,function(n){\"use strict\";n.JSONExt=void 0,function(r){r.emptyObject=Object.freeze({}),r.emptyArray=Object.freeze([]);function s(O){return O===null||typeof O==\"boolean\"||typeof O==\"number\"||typeof O==\"string\"}r.isPrimitive=s;function l(O){return Array.isArray(O)}r.isArray=l;function m(O){return!s(O)&&!l(O)}r.isObject=m;function h(O,S){if(O===S)return!0;if(s(O)||s(S))return!1;let R=l(O),I=l(S);return R!==I?!1:R&&I?b(O,S):j(O,S)}r.deepEqual=h;function c(O){return s(O)?O:l(O)?C(O):q(O)}r.deepCopy=c;function b(O,S){if(O===S)return!0;if(O.length!==S.length)return!1;for(let R=0,I=O.length;R{this._resolve=s,this._reject=l})}resolve(s){let l=this._resolve;l(s)}reject(s){let l=this._reject;l(s)}}class i{constructor(s,l){this.name=s,this.description=l!=null?l:\"\",this._tokenStructuralPropertyT=null}}function a(r){let s=0;for(let l=0,m=r.length;l>>0),r[l]=s&255,s>>>=8}n.Random=void 0,function(r){r.getRandomValues=(()=>{let s=typeof window!=\"undefined\"&&(window.crypto||window.msCrypto)||null;return s&&typeof s.getRandomValues==\"function\"?function(m){return s.getRandomValues(m)}:a})()}(n.Random||(n.Random={}));function o(r){let s=new Uint8Array(16),l=new Array(256);for(let m=0;m<16;++m)l[m]=\"0\"+m.toString(16);for(let m=16;m<256;++m)l[m]=m.toString(16);return function(){return r(s),s[6]=64|s[6]&15,s[8]=128|s[8]&63,l[s[0]]+l[s[1]]+l[s[2]]+l[s[3]]+\"-\"+l[s[4]]+l[s[5]]+\"-\"+l[s[6]]+l[s[7]]+\"-\"+l[s[8]]+l[s[9]]+\"-\"+l[s[10]]+l[s[11]]+l[s[12]]+l[s[13]]+l[s[14]]+l[s[15]]}}n.UUID=void 0,function(r){r.uuid4=o(n.Random.getRandomValues)}(n.UUID||(n.UUID={})),n.MimeData=e,n.PromiseDelegate=t,n.Token=i})});var Xe=F((ye,Ge)=>{(function(n,e){typeof ye==\"object\"&&typeof Ge!=\"undefined\"?e(ye,Ye(),pe()):typeof define==\"function\"&&define.amd?define([\"exports\",\"@lumino/algorithm\",\"@lumino/coreutils\"],e):(n=typeof globalThis!=\"undefined\"?globalThis:n||self,e(n.lumino_signaling={},n.lumino_algorithm,n.lumino_coreutils))})(ye,function(n,e,t){\"use strict\";class i{constructor(s){this.sender=s}connect(s,l){return o.connect(this,s,l)}disconnect(s,l){return o.disconnect(this,s,l)}emit(s){o.emit(this,s)}}(function(r){function s(C,q){o.disconnectBetween(C,q)}r.disconnectBetween=s;function l(C){o.disconnectSender(C)}r.disconnectSender=l;function m(C){o.disconnectReceiver(C)}r.disconnectReceiver=m;function h(C){o.disconnectAll(C)}r.disconnectAll=h;function c(C){o.disconnectAll(C)}r.clearData=c;function b(){return o.exceptionHandler}r.getExceptionHandler=b;function j(C){let q=o.exceptionHandler;return o.exceptionHandler=C,q}r.setExceptionHandler=j})(i||(i={}));class a extends i{constructor(){super(...arguments),this._pending=new t.PromiseDelegate}async*[Symbol.asyncIterator](){let s=this._pending;for(;;)try{let{args:l,next:m}=await s.promise;s=m,yield l}catch{return}}emit(s){let l=this._pending,m=this._pending=new t.PromiseDelegate;l.resolve({args:s,next:m}),super.emit(s)}stop(){this._pending.promise.catch(()=>{}),this._pending.reject(\"stop\"),this._pending=new t.PromiseDelegate}}var o;(function(r){r.exceptionHandler=z=>{console.error(z)};function s(z,E,u){u=u||void 0;let v=C.get(z.sender);if(v||(v=[],C.set(z.sender,v)),R(v,z,E,u))return!1;let x=u||E,y=q.get(x);y||(y=[],q.set(x,y));let M={signal:z,slot:E,thisArg:u};return v.push(M),y.push(M),!0}r.connect=s;function l(z,E,u){u=u||void 0;let v=C.get(z.sender);if(!v||v.length===0)return!1;let x=R(v,z,E,u);if(!x)return!1;let y=u||E,M=q.get(y);return x.signal=null,P(v),P(M),!0}r.disconnect=l;function m(z,E){let u=C.get(z);if(!u||u.length===0)return;let v=q.get(E);if(!(!v||v.length===0)){for(let x of v)x.signal&&x.signal.sender===z&&(x.signal=null);P(u),P(v)}}r.disconnectBetween=m;function h(z){let E=C.get(z);if(!(!E||E.length===0)){for(let u of E){if(!u.signal)continue;let v=u.thisArg||u.slot;u.signal=null,P(q.get(v))}P(E)}}r.disconnectSender=h;function c(z){let E=q.get(z);if(!(!E||E.length===0)){for(let u of E){if(!u.signal)continue;let v=u.signal.sender;u.signal=null,P(C.get(v))}P(E)}}r.disconnectReceiver=c;function b(z){h(z),c(z)}r.disconnectAll=b;function j(z,E){let u=C.get(z.sender);if(!(!u||u.length===0))for(let v=0,x=u.length;vx.signal===E&&x.slot===u&&x.thisArg===v)}function I(z,E){let{signal:u,slot:v,thisArg:x}=z;try{v.call(x,u.sender,E)}catch(y){r.exceptionHandler(y)}}function P(z){O.size===0&&S(N),O.add(z)}function N(){O.forEach(V),O.clear()}function V(z){e.ArrayExt.removeAllWhere(z,D)}function D(z){return z.signal===null}})(o||(o={})),n.Signal=i,n.Stream=a})});var et=F(_e=>{\"use strict\";Object.defineProperty(_e,\"__esModule\",{value:!0});_e.ActivityMonitor=void 0;var Qe=Xe(),Te=class{constructor(e){this._timer=-1,this._timeout=-1,this._isDisposed=!1,this._activityStopped=new Qe.Signal(this),e.signal.connect(this._onSignalFired,this),this._timeout=e.timeout||1e3}get activityStopped(){return this._activityStopped}get timeout(){return this._timeout}set timeout(e){this._timeout=e}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,Qe.Signal.clearData(this))}_onSignalFired(e,t){clearTimeout(this._timer),this._sender=e,this._args=t,this._timer=setTimeout(()=>{this._activityStopped.emit({sender:this._sender,args:this._args})},this._timeout)}};_e.ActivityMonitor=Te});var it=F(tt=>{\"use strict\";Object.defineProperty(tt,\"__esModule\",{value:!0})});var nt=F(ue=>{\"use strict\";Object.defineProperty(ue,\"__esModule\",{value:!0});ue.MarkdownCodeBlocks=void 0;var pi;(function(n){n.CODE_BLOCK_MARKER=\"```\";let e=[\".markdown\",\".mdown\",\".mkdn\",\".md\",\".mkd\",\".mdwn\",\".mdtxt\",\".mdtext\",\".text\",\".txt\",\".Rmd\"];class t{constructor(r){this.startLine=r,this.code=\"\",this.endLine=-1}}n.MarkdownCodeBlock=t;function i(o){return e.indexOf(o)>-1}n.isMarkdown=i;function a(o){if(!o||o===\"\")return[];let r=o.split(`\n`),s=[],l=null;for(let m=0;m{\"use strict\";function di(n,e){var t=n;e.slice(0,-1).forEach(function(a){t=t[a]||{}});var i=e[e.length-1];return i in t}function at(n){return typeof n==\"number\"||/^0x[0-9a-f]+$/i.test(n)?!0:/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/.test(n)}function ot(n,e){return e===\"constructor\"&&typeof n[e]==\"function\"||e===\"__proto__\"}st.exports=function(n,e){e||(e={});var t={bools:{},strings:{},unknownFn:null};typeof e.unknown==\"function\"&&(t.unknownFn=e.unknown),typeof e.boolean==\"boolean\"&&e.boolean?t.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(P){t.bools[P]=!0});var i={};function a(P){return i[P].some(function(N){return t.bools[N]})}Object.keys(e.alias||{}).forEach(function(P){i[P]=[].concat(e.alias[P]),i[P].forEach(function(N){i[N]=[P].concat(i[P].filter(function(V){return N!==V}))})}),[].concat(e.string).filter(Boolean).forEach(function(P){t.strings[P]=!0,i[P]&&[].concat(i[P]).forEach(function(N){t.strings[N]=!0})});var o=e.default||{},r={_:[]};function s(P,N){return t.allBools&&/^--[^=]+$/.test(N)||t.strings[P]||t.bools[P]||i[P]}function l(P,N,V){for(var D=P,z=0;z{\"use strict\";function ee(n){if(typeof n!=\"string\")throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(n))}function lt(n,e){for(var t=\"\",i=0,a=-1,o=0,r,s=0;s<=n.length;++s){if(s2){var l=t.lastIndexOf(\"/\");if(l!==t.length-1){l===-1?(t=\"\",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf(\"/\")),a=s,o=0;continue}}else if(t.length===2||t.length===1){t=\"\",i=0,a=s,o=0;continue}}e&&(t.length>0?t+=\"/..\":t=\"..\",i=2)}else t.length>0?t+=\"/\"+n.slice(a+1,s):t=n.slice(a+1,s),i=s-a-1;a=s,o=0}else r===46&&o!==-1?++o:o=-1}return t}function mi(n,e){var t=e.dir||e.root,i=e.base||(e.name||\"\")+(e.ext||\"\");return t?t===e.root?t+i:t+n+i:i}var de={resolve:function(){for(var e=\"\",t=!1,i,a=arguments.length-1;a>=-1&&!t;a--){var o;a>=0?o=arguments[a]:(i===void 0&&(i=process.cwd()),o=i),ee(o),o.length!==0&&(e=o+\"/\"+e,t=o.charCodeAt(0)===47)}return e=lt(e,!t),t?e.length>0?\"/\"+e:\"/\":e.length>0?e:\".\"},normalize:function(e){if(ee(e),e.length===0)return\".\";var t=e.charCodeAt(0)===47,i=e.charCodeAt(e.length-1)===47;return e=lt(e,!t),e.length===0&&!t&&(e=\".\"),e.length>0&&i&&(e+=\"/\"),t?\"/\"+e:e},isAbsolute:function(e){return ee(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return\".\";for(var e,t=0;t0&&(e===void 0?e=i:e+=\"/\"+i)}return e===void 0?\".\":de.normalize(e)},relative:function(e,t){if(ee(e),ee(t),e===t||(e=de.resolve(e),t=de.resolve(t),e===t))return\"\";for(var i=1;im){if(t.charCodeAt(r+c)===47)return t.slice(r+c+1);if(c===0)return t.slice(r+c)}else o>m&&(e.charCodeAt(i+c)===47?h=c:c===0&&(h=0));break}var b=e.charCodeAt(i+c),j=t.charCodeAt(r+c);if(b!==j)break;b===47&&(h=c)}var C=\"\";for(c=i+h+1;c<=a;++c)(c===a||e.charCodeAt(c)===47)&&(C.length===0?C+=\"..\":C+=\"/..\");return C.length>0?C+t.slice(r+h):(r+=h,t.charCodeAt(r)===47&&++r,t.slice(r))},_makeLong:function(e){return e},dirname:function(e){if(ee(e),e.length===0)return\".\";for(var t=e.charCodeAt(0),i=t===47,a=-1,o=!0,r=e.length-1;r>=1;--r)if(t=e.charCodeAt(r),t===47){if(!o){a=r;break}}else o=!1;return a===-1?i?\"/\":\".\":i&&a===1?\"//\":e.slice(0,a)},basename:function(e,t){if(t!==void 0&&typeof t!=\"string\")throw new TypeError('\"ext\" argument must be a string');ee(e);var i=0,a=-1,o=!0,r;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return\"\";var s=t.length-1,l=-1;for(r=e.length-1;r>=0;--r){var m=e.charCodeAt(r);if(m===47){if(!o){i=r+1;break}}else l===-1&&(o=!1,l=r+1),s>=0&&(m===t.charCodeAt(s)?--s===-1&&(a=r):(s=-1,a=l))}return i===a?a=l:a===-1&&(a=e.length),e.slice(i,a)}else{for(r=e.length-1;r>=0;--r)if(e.charCodeAt(r)===47){if(!o){i=r+1;break}}else a===-1&&(o=!1,a=r+1);return a===-1?\"\":e.slice(i,a)}},extname:function(e){ee(e);for(var t=-1,i=0,a=-1,o=!0,r=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(l===47){if(!o){i=s+1;break}continue}a===-1&&(o=!1,a=s+1),l===46?t===-1?t=s:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||a===-1||r===0||r===1&&t===a-1&&t===i+1?\"\":e.slice(t,a)},format:function(e){if(e===null||typeof e!=\"object\")throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return mi(\"/\",e)},parse:function(e){ee(e);var t={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(e.length===0)return t;var i=e.charCodeAt(0),a=i===47,o;a?(t.root=\"/\",o=1):o=0;for(var r=-1,s=0,l=-1,m=!0,h=e.length-1,c=0;h>=o;--h){if(i=e.charCodeAt(h),i===47){if(!m){s=h+1;break}continue}l===-1&&(m=!1,l=h+1),i===46?r===-1?r=h:c!==1&&(c=1):r!==-1&&(c=-1)}return r===-1||l===-1||c===0||c===1&&r===l-1&&r===s+1?l!==-1&&(s===0&&a?t.base=t.name=e.slice(1,l):t.base=t.name=e.slice(s,l)):(s===0&&a?(t.name=e.slice(1,r),t.base=e.slice(1,l)):(t.name=e.slice(s,r),t.base=e.slice(s,l)),t.ext=e.slice(r,l)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir=\"/\"),t},sep:\"/\",delimiter:\":\",win32:null,posix:null};de.posix=de;ct.exports=de});var dt=F((Ji,pt)=>{\"use strict\";pt.exports=function(e,t){if(t=t.split(\":\")[0],e=+e,!e)return!1;switch(t){case\"http\":case\"ws\":return e!==80;case\"https\":case\"wss\":return e!==443;case\"ftp\":return e!==21;case\"gopher\":return e!==70;case\"file\":return!1}return e!==0}});var ut=F(Ae=>{\"use strict\";var fi=Object.prototype.hasOwnProperty,ui;function mt(n){try{return decodeURIComponent(n.replace(/\\+/g,\" \"))}catch{return null}}function ft(n){try{return encodeURIComponent(n)}catch{return null}}function hi(n){for(var e=/([^=?#&]+)=?([^&]*)/g,t={},i;i=e.exec(n);){var a=mt(i[1]),o=mt(i[2]);a===null||o===null||a in t||(t[a]=o)}return t}function vi(n,e){e=e||\"\";var t=[],i,a;typeof e!=\"string\"&&(e=\"?\");for(a in n)if(fi.call(n,a)){if(i=n[a],!i&&(i===null||i===ui||isNaN(i))&&(i=\"\"),a=ft(a),i=ft(i),a===null||i===null)continue;t.push(a+\"=\"+i)}return t.length?e+t.join(\"&\"):\"\"}Ae.stringify=vi;Ae.parse=hi});var _t=F((Yi,yt)=>{\"use strict\";var vt=dt(),je=ut(),gi=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,gt=/[\\n\\r\\t]/g,xi=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,xt=/:\\d+$/,bi=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,wi=/^[a-zA-Z]:/;function Ue(n){return(n||\"\").toString().replace(gi,\"\")}var qe=[[\"#\",\"hash\"],[\"?\",\"query\"],function(e,t){return te(t.protocol)?e.replace(/\\\\/g,\"/\"):e},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],ht={hash:1,query:1};function bt(n){var e;typeof window!=\"undefined\"?e=window:typeof global!=\"undefined\"?e=global:typeof self!=\"undefined\"?e=self:e={};var t=e.location||{};n=n||t;var i={},a=typeof n,o;if(n.protocol===\"blob:\")i=new ie(unescape(n.pathname),{});else if(a===\"string\"){i=new ie(n,{});for(o in ht)delete i[o]}else if(a===\"object\"){for(o in n)o in ht||(i[o]=n[o]);i.slashes===void 0&&(i.slashes=xi.test(n.href))}return i}function te(n){return n===\"file:\"||n===\"ftp:\"||n===\"http:\"||n===\"https:\"||n===\"ws:\"||n===\"wss:\"}function wt(n,e){n=Ue(n),n=n.replace(gt,\"\"),e=e||{};var t=bi.exec(n),i=t[1]?t[1].toLowerCase():\"\",a=!!t[2],o=!!t[3],r=0,s;return a?o?(s=t[2]+t[3]+t[4],r=t[2].length+t[3].length):(s=t[2]+t[4],r=t[2].length):o?(s=t[3]+t[4],r=t[3].length):s=t[4],i===\"file:\"?r>=2&&(s=s.slice(2)):te(i)?s=t[4]:i?a&&(s=s.slice(2)):r>=2&&te(e.protocol)&&(s=t[4]),{protocol:i,slashes:a||te(i),slashesCount:r,rest:s}}function yi(n,e){if(n===\"\")return e;for(var t=(e||\"/\").split(\"/\").slice(0,-1).concat(n.split(\"/\")),i=t.length,a=t[i-1],o=!1,r=0;i--;)t[i]===\".\"?t.splice(i,1):t[i]===\"..\"?(t.splice(i,1),r++):r&&(i===0&&(o=!0),t.splice(i,1),r--);return o&&t.unshift(\"\"),(a===\".\"||a===\"..\")&&t.push(\"\"),t.join(\"/\")}function ie(n,e,t){if(n=Ue(n),n=n.replace(gt,\"\"),!(this instanceof ie))return new ie(n,e,t);var i,a,o,r,s,l,m=qe.slice(),h=typeof e,c=this,b=0;for(h!==\"object\"&&h!==\"string\"&&(t=e,e=null),t&&typeof t!=\"function\"&&(t=je.parse),e=bt(e),a=wt(n||\"\",e),i=!a.protocol&&!a.slashes,c.slashes=a.slashes||i&&e.slashes,c.protocol=a.protocol||e.protocol||\"\",n=a.rest,(a.protocol===\"file:\"&&(a.slashesCount!==2||wi.test(n))||!a.slashes&&(a.protocol||a.slashesCount<2||!te(c.protocol)))&&(m[3]=[/(.*)/,\"pathname\"]);b{\"use strict\";var ji=re&&re.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(re,\"__esModule\",{value:!0});re.URLExt=void 0;var Ci=ke(),Ce=ji(_t()),Oi;(function(n){function e(m){if(typeof document!=\"undefined\"&&document){let h=document.createElement(\"a\");return h.href=m,h}return(0,Ce.default)(m)}n.parse=e;function t(m){return(0,Ce.default)(m).hostname}n.getHostName=t;function i(m){return m&&e(m).toString()}n.normalize=i;function a(...m){let h=(0,Ce.default)(m[0],{}),c=h.protocol===\"\"&&h.slashes;c&&(h=(0,Ce.default)(m[0],\"https:\"+m[0]));let b=`${c?\"\":h.protocol}${h.slashes?\"//\":\"\"}${h.auth}${h.auth?\"@\":\"\"}${h.host}`,j=Ci.posix.join(`${b&&h.pathname[0]!==\"/\"?\"/\":\"\"}${h.pathname}`,...m.slice(1));return`${b}${j===\".\"?\"\":j}`}n.join=a;function o(m){return a(...m.split(\"/\").map(encodeURIComponent))}n.encodeParts=o;function r(m){let h=Object.keys(m).filter(c=>c.length>0);return h.length?\"?\"+h.map(c=>{let b=encodeURIComponent(String(m[c]));return c+(b?\"=\"+b:\"\")}).join(\"&\"):\"\"}n.objectToQueryString=r;function s(m){return m.replace(/^\\?/,\"\").split(\"&\").reduce((h,c)=>{let[b,j]=c.split(\"=\");return b.length>0&&(h[b]=decodeURIComponent(j||\"\")),h},{})}n.queryStringToObject=s;function l(m){let{protocol:h}=e(m);return(!h||m.toLowerCase().indexOf(h)!==0)&&m.indexOf(\"/\")!==0}n.isLocal=l})(Oi=re.URLExt||(re.URLExt={}))});var kt=F((exports,module)=>{\"use strict\";var __importDefault=exports&&exports.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.PageConfig=void 0;var coreutils_1=pe(),minimist_1=__importDefault(rt()),url_1=Ne(),PageConfig;(function(PageConfig){function getOption(name){if(configData)return configData[name]||getBodyData(name);configData=Object.create(null);let found=!1;if(typeof document!=\"undefined\"&&document){let n=document.getElementById(\"jupyter-config-data\");n&&(configData=JSON.parse(n.textContent||\"\"),found=!0)}if(!found&&typeof process!=\"undefined\"&&process.argv)try{let cli=(0,minimist_1.default)(process.argv.slice(2)),path=ke(),fullPath=\"\";\"jupyter-config-data\"in cli?fullPath=path.resolve(cli[\"jupyter-config-data\"]):\"JUPYTER_CONFIG_DATA\"in process.env&&(fullPath=path.resolve(process.env.JUPYTER_CONFIG_DATA)),fullPath&&(configData=eval(\"require\")(fullPath))}catch(n){console.error(n)}if(!coreutils_1.JSONExt.isObject(configData))configData=Object.create(null);else for(let n in configData)typeof configData[n]!=\"string\"&&(configData[n]=JSON.stringify(configData[n]));return configData[name]||getBodyData(name)}PageConfig.getOption=getOption;function setOption(n,e){let t=getOption(n);return configData[n]=e,t}PageConfig.setOption=setOption;function getBaseUrl(){return url_1.URLExt.normalize(getOption(\"baseUrl\")||\"/\")}PageConfig.getBaseUrl=getBaseUrl;function getTreeUrl(){return url_1.URLExt.join(getBaseUrl(),getOption(\"treeUrl\"))}PageConfig.getTreeUrl=getTreeUrl;function getShareUrl(){return url_1.URLExt.normalize(getOption(\"shareUrl\")||getBaseUrl())}PageConfig.getShareUrl=getShareUrl;function getTreeShareUrl(){return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(),getOption(\"treeUrl\")))}PageConfig.getTreeShareUrl=getTreeShareUrl;function getUrl(n){var e,t,i,a;let o=n.toShare?getShareUrl():getBaseUrl(),r=(e=n.mode)!==null&&e!==void 0?e:getOption(\"mode\"),s=(t=n.workspace)!==null&&t!==void 0?t:getOption(\"workspace\"),l=r===\"single-document\"?\"doc\":\"lab\";o=url_1.URLExt.join(o,l),s!==PageConfig.defaultWorkspace&&(o=url_1.URLExt.join(o,\"workspaces\",encodeURIComponent((i=getOption(\"workspace\"))!==null&&i!==void 0?i:PageConfig.defaultWorkspace)));let m=(a=n.treePath)!==null&&a!==void 0?a:getOption(\"treePath\");return m&&(o=url_1.URLExt.join(o,\"tree\",url_1.URLExt.encodeParts(m))),o}PageConfig.getUrl=getUrl,PageConfig.defaultWorkspace=\"default\";function getWsUrl(n){let e=getOption(\"wsUrl\");if(!e){if(n=n?url_1.URLExt.normalize(n):getBaseUrl(),n.indexOf(\"http\")!==0)return\"\";e=\"ws\"+n.slice(4)}return url_1.URLExt.normalize(e)}PageConfig.getWsUrl=getWsUrl;function getNBConvertURL({path:n,format:e,download:t}){let i=url_1.URLExt.encodeParts(n),a=url_1.URLExt.join(getBaseUrl(),\"nbconvert\",e,i);return t?a+\"?download=true\":a}PageConfig.getNBConvertURL=getNBConvertURL;function getToken(){return getOption(\"token\")||getBodyData(\"jupyterApiToken\")}PageConfig.getToken=getToken;function getNotebookVersion(){let n=getOption(\"notebookVersion\");return n===\"\"?[0,0,0]:JSON.parse(n)}PageConfig.getNotebookVersion=getNotebookVersion;let configData=null;function getBodyData(n){if(typeof document==\"undefined\"||!document.body)return\"\";let e=document.body.dataset[n];return typeof e==\"undefined\"?\"\":decodeURIComponent(e)}let Extension;(function(n){function e(a){try{let o=getOption(a);if(o)return JSON.parse(o)}catch(o){console.warn(`Unable to parse ${a}.`,o)}return[]}n.deferred=e(\"deferredExtensions\"),n.disabled=e(\"disabledExtensions\");function t(a){let o=a.indexOf(\":\"),r=\"\";return o!==-1&&(r=a.slice(0,o)),n.deferred.some(s=>s===a||r&&s===r)}n.isDeferred=t;function i(a){let o=a.indexOf(\":\"),r=\"\";return o!==-1&&(r=a.slice(0,o)),n.disabled.some(s=>s===a||r&&s===r)}n.isDisabled=i})(Extension=PageConfig.Extension||(PageConfig.Extension={}))})(PageConfig=exports.PageConfig||(exports.PageConfig={}))});var jt=F(he=>{\"use strict\";Object.defineProperty(he,\"__esModule\",{value:!0});he.PathExt=void 0;var le=ke(),Pi;(function(n){function e(...h){let c=le.posix.join(...h);return c===\".\"?\"\":m(c)}n.join=e;function t(h,c){return le.posix.basename(h,c)}n.basename=t;function i(h){let c=m(le.posix.dirname(h));return c===\".\"?\"\":c}n.dirname=i;function a(h){return le.posix.extname(h)}n.extname=a;function o(h){return h===\"\"?\"\":m(le.posix.normalize(h))}n.normalize=o;function r(...h){return m(le.posix.resolve(...h))}n.resolve=r;function s(h,c){return m(le.posix.relative(h,c))}n.relative=s;function l(h){return h.length>0&&h.indexOf(\".\")!==0&&(h=`.${h}`),h}n.normalizeExtension=l;function m(h){return h.indexOf(\"/\")===0&&(h=h.slice(1)),h}n.removeSlash=m})(Pi=he.PathExt||(he.PathExt={}))});var Ct=F(Oe=>{\"use strict\";Object.defineProperty(Oe,\"__esModule\",{value:!0});Oe.signalToPromise=void 0;var Si=pe();function zi(n,e){let t=new Si.PromiseDelegate;function i(){n.disconnect(a)}function a(o,r){i(),t.resolve([o,r])}return n.connect(a),(e!=null?e:0)>0&&setTimeout(()=>{i(),t.reject(`Signal not emitted within ${e} ms.`)},e),t.promise}Oe.signalToPromise=zi});var Ot=F(ve=>{\"use strict\";Object.defineProperty(ve,\"__esModule\",{value:!0});ve.Text=void 0;var Ri;(function(n){let e=2>1;function t(r,s){if(e)return r;let l=r;for(let m=0;m+1=55296&&h<=56319){let c=s.charCodeAt(m+1);c>=56320&&c<=57343&&(l--,m++)}}return l}n.jsIndexToCharIndex=t;function i(r,s){if(e)return r;let l=r;for(let m=0;m+1=55296&&h<=56319){let c=s.charCodeAt(m+1);c>=56320&&c<=57343&&(l++,m++)}}return l}n.charIndexToJsIndex=i;function a(r,s=!1){return r.replace(/^(\\w)|[\\s-_:]+(\\w)/g,function(l,m,h){return h?h.toUpperCase():s?m.toUpperCase():m.toLowerCase()})}n.camelCase=a;function o(r){return(r||\"\").toLowerCase().split(\" \").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(\" \")}n.titleCase=o})(Ri=ve.Text||(ve.Text={}))});var Pt=F(ge=>{\"use strict\";Object.defineProperty(ge,\"__esModule\",{value:!0});ge.Time=void 0;var Ei=[{name:\"years\",milliseconds:365*24*60*60*1e3},{name:\"months\",milliseconds:30*24*60*60*1e3},{name:\"days\",milliseconds:24*60*60*1e3},{name:\"hours\",milliseconds:60*60*1e3},{name:\"minutes\",milliseconds:60*1e3},{name:\"seconds\",milliseconds:1e3}],Ii;(function(n){function e(i){let a=document.documentElement.lang||\"en\",o=new Intl.RelativeTimeFormat(a,{numeric:\"auto\"}),r=new Date(i).getTime()-Date.now();for(let s of Ei){let l=Math.ceil(r/s.milliseconds);if(l!==0)return o.format(l,s.name)}return o.format(0,\"seconds\")}n.formatHuman=e;function t(i){let a=document.documentElement.lang||\"en\";return new Intl.DateTimeFormat(a,{dateStyle:\"short\",timeStyle:\"short\"}).format(new Date(i))}n.format=t})(Ii=ge.Time||(ge.Time={}))});var xe=F(J=>{\"use strict\";var Di=J&&J.__createBinding||(Object.create?function(n,e,t,i){i===void 0&&(i=t);var a=Object.getOwnPropertyDescriptor(e,t);(!a||(\"get\"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,i,a)}:function(n,e,t,i){i===void 0&&(i=t),n[i]=e[t]}),ae=J&&J.__exportStar||function(n,e){for(var t in n)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&Di(e,n,t)};Object.defineProperty(J,\"__esModule\",{value:!0});ae(et(),J);ae(it(),J);ae(nt(),J);ae(kt(),J);ae(jt(),J);ae(Ct(),J);ae(Ot(),J);ae(Pt(),J);ae(Ne(),J)});var zt=F((nn,St)=>{\"use strict\";function Pe(){this._types=Object.create(null),this._extensions=Object.create(null);for(let n=0;n{Rt.exports={\"application/andrew-inset\":[\"ez\"],\"application/applixware\":[\"aw\"],\"application/atom+xml\":[\"atom\"],\"application/atomcat+xml\":[\"atomcat\"],\"application/atomdeleted+xml\":[\"atomdeleted\"],\"application/atomsvc+xml\":[\"atomsvc\"],\"application/atsc-dwd+xml\":[\"dwd\"],\"application/atsc-held+xml\":[\"held\"],\"application/atsc-rsat+xml\":[\"rsat\"],\"application/bdoc\":[\"bdoc\"],\"application/calendar+xml\":[\"xcs\"],\"application/ccxml+xml\":[\"ccxml\"],\"application/cdfx+xml\":[\"cdfx\"],\"application/cdmi-capability\":[\"cdmia\"],\"application/cdmi-container\":[\"cdmic\"],\"application/cdmi-domain\":[\"cdmid\"],\"application/cdmi-object\":[\"cdmio\"],\"application/cdmi-queue\":[\"cdmiq\"],\"application/cu-seeme\":[\"cu\"],\"application/dash+xml\":[\"mpd\"],\"application/davmount+xml\":[\"davmount\"],\"application/docbook+xml\":[\"dbk\"],\"application/dssc+der\":[\"dssc\"],\"application/dssc+xml\":[\"xdssc\"],\"application/ecmascript\":[\"es\",\"ecma\"],\"application/emma+xml\":[\"emma\"],\"application/emotionml+xml\":[\"emotionml\"],\"application/epub+zip\":[\"epub\"],\"application/exi\":[\"exi\"],\"application/express\":[\"exp\"],\"application/fdt+xml\":[\"fdt\"],\"application/font-tdpfr\":[\"pfr\"],\"application/geo+json\":[\"geojson\"],\"application/gml+xml\":[\"gml\"],\"application/gpx+xml\":[\"gpx\"],\"application/gxf\":[\"gxf\"],\"application/gzip\":[\"gz\"],\"application/hjson\":[\"hjson\"],\"application/hyperstudio\":[\"stk\"],\"application/inkml+xml\":[\"ink\",\"inkml\"],\"application/ipfix\":[\"ipfix\"],\"application/its+xml\":[\"its\"],\"application/java-archive\":[\"jar\",\"war\",\"ear\"],\"application/java-serialized-object\":[\"ser\"],\"application/java-vm\":[\"class\"],\"application/javascript\":[\"js\",\"mjs\"],\"application/json\":[\"json\",\"map\"],\"application/json5\":[\"json5\"],\"application/jsonml+json\":[\"jsonml\"],\"application/ld+json\":[\"jsonld\"],\"application/lgr+xml\":[\"lgr\"],\"application/lost+xml\":[\"lostxml\"],\"application/mac-binhex40\":[\"hqx\"],\"application/mac-compactpro\":[\"cpt\"],\"application/mads+xml\":[\"mads\"],\"application/manifest+json\":[\"webmanifest\"],\"application/marc\":[\"mrc\"],\"application/marcxml+xml\":[\"mrcx\"],\"application/mathematica\":[\"ma\",\"nb\",\"mb\"],\"application/mathml+xml\":[\"mathml\"],\"application/mbox\":[\"mbox\"],\"application/mediaservercontrol+xml\":[\"mscml\"],\"application/metalink+xml\":[\"metalink\"],\"application/metalink4+xml\":[\"meta4\"],\"application/mets+xml\":[\"mets\"],\"application/mmt-aei+xml\":[\"maei\"],\"application/mmt-usd+xml\":[\"musd\"],\"application/mods+xml\":[\"mods\"],\"application/mp21\":[\"m21\",\"mp21\"],\"application/mp4\":[\"mp4s\",\"m4p\"],\"application/msword\":[\"doc\",\"dot\"],\"application/mxf\":[\"mxf\"],\"application/n-quads\":[\"nq\"],\"application/n-triples\":[\"nt\"],\"application/node\":[\"cjs\"],\"application/octet-stream\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"],\"application/oda\":[\"oda\"],\"application/oebps-package+xml\":[\"opf\"],\"application/ogg\":[\"ogx\"],\"application/omdoc+xml\":[\"omdoc\"],\"application/onenote\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"],\"application/oxps\":[\"oxps\"],\"application/p2p-overlay+xml\":[\"relo\"],\"application/patch-ops-error+xml\":[\"xer\"],\"application/pdf\":[\"pdf\"],\"application/pgp-encrypted\":[\"pgp\"],\"application/pgp-signature\":[\"asc\",\"sig\"],\"application/pics-rules\":[\"prf\"],\"application/pkcs10\":[\"p10\"],\"application/pkcs7-mime\":[\"p7m\",\"p7c\"],\"application/pkcs7-signature\":[\"p7s\"],\"application/pkcs8\":[\"p8\"],\"application/pkix-attr-cert\":[\"ac\"],\"application/pkix-cert\":[\"cer\"],\"application/pkix-crl\":[\"crl\"],\"application/pkix-pkipath\":[\"pkipath\"],\"application/pkixcmp\":[\"pki\"],\"application/pls+xml\":[\"pls\"],\"application/postscript\":[\"ai\",\"eps\",\"ps\"],\"application/provenance+xml\":[\"provx\"],\"application/pskc+xml\":[\"pskcxml\"],\"application/raml+yaml\":[\"raml\"],\"application/rdf+xml\":[\"rdf\",\"owl\"],\"application/reginfo+xml\":[\"rif\"],\"application/relax-ng-compact-syntax\":[\"rnc\"],\"application/resource-lists+xml\":[\"rl\"],\"application/resource-lists-diff+xml\":[\"rld\"],\"application/rls-services+xml\":[\"rs\"],\"application/route-apd+xml\":[\"rapd\"],\"application/route-s-tsid+xml\":[\"sls\"],\"application/route-usd+xml\":[\"rusd\"],\"application/rpki-ghostbusters\":[\"gbr\"],\"application/rpki-manifest\":[\"mft\"],\"application/rpki-roa\":[\"roa\"],\"application/rsd+xml\":[\"rsd\"],\"application/rss+xml\":[\"rss\"],\"application/rtf\":[\"rtf\"],\"application/sbml+xml\":[\"sbml\"],\"application/scvp-cv-request\":[\"scq\"],\"application/scvp-cv-response\":[\"scs\"],\"application/scvp-vp-request\":[\"spq\"],\"application/scvp-vp-response\":[\"spp\"],\"application/sdp\":[\"sdp\"],\"application/senml+xml\":[\"senmlx\"],\"application/sensml+xml\":[\"sensmlx\"],\"application/set-payment-initiation\":[\"setpay\"],\"application/set-registration-initiation\":[\"setreg\"],\"application/shf+xml\":[\"shf\"],\"application/sieve\":[\"siv\",\"sieve\"],\"application/smil+xml\":[\"smi\",\"smil\"],\"application/sparql-query\":[\"rq\"],\"application/sparql-results+xml\":[\"srx\"],\"application/srgs\":[\"gram\"],\"application/srgs+xml\":[\"grxml\"],\"application/sru+xml\":[\"sru\"],\"application/ssdl+xml\":[\"ssdl\"],\"application/ssml+xml\":[\"ssml\"],\"application/swid+xml\":[\"swidtag\"],\"application/tei+xml\":[\"tei\",\"teicorpus\"],\"application/thraud+xml\":[\"tfi\"],\"application/timestamped-data\":[\"tsd\"],\"application/toml\":[\"toml\"],\"application/trig\":[\"trig\"],\"application/ttml+xml\":[\"ttml\"],\"application/ubjson\":[\"ubj\"],\"application/urc-ressheet+xml\":[\"rsheet\"],\"application/urc-targetdesc+xml\":[\"td\"],\"application/voicexml+xml\":[\"vxml\"],\"application/wasm\":[\"wasm\"],\"application/widget\":[\"wgt\"],\"application/winhlp\":[\"hlp\"],\"application/wsdl+xml\":[\"wsdl\"],\"application/wspolicy+xml\":[\"wspolicy\"],\"application/xaml+xml\":[\"xaml\"],\"application/xcap-att+xml\":[\"xav\"],\"application/xcap-caps+xml\":[\"xca\"],\"application/xcap-diff+xml\":[\"xdf\"],\"application/xcap-el+xml\":[\"xel\"],\"application/xcap-ns+xml\":[\"xns\"],\"application/xenc+xml\":[\"xenc\"],\"application/xhtml+xml\":[\"xhtml\",\"xht\"],\"application/xliff+xml\":[\"xlf\"],\"application/xml\":[\"xml\",\"xsl\",\"xsd\",\"rng\"],\"application/xml-dtd\":[\"dtd\"],\"application/xop+xml\":[\"xop\"],\"application/xproc+xml\":[\"xpl\"],\"application/xslt+xml\":[\"*xsl\",\"xslt\"],\"application/xspf+xml\":[\"xspf\"],\"application/xv+xml\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"],\"application/yang\":[\"yang\"],\"application/yin+xml\":[\"yin\"],\"application/zip\":[\"zip\"],\"audio/3gpp\":[\"*3gpp\"],\"audio/adpcm\":[\"adp\"],\"audio/amr\":[\"amr\"],\"audio/basic\":[\"au\",\"snd\"],\"audio/midi\":[\"mid\",\"midi\",\"kar\",\"rmi\"],\"audio/mobile-xmf\":[\"mxmf\"],\"audio/mp3\":[\"*mp3\"],\"audio/mp4\":[\"m4a\",\"mp4a\"],\"audio/mpeg\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"],\"audio/ogg\":[\"oga\",\"ogg\",\"spx\",\"opus\"],\"audio/s3m\":[\"s3m\"],\"audio/silk\":[\"sil\"],\"audio/wav\":[\"wav\"],\"audio/wave\":[\"*wav\"],\"audio/webm\":[\"weba\"],\"audio/xm\":[\"xm\"],\"font/collection\":[\"ttc\"],\"font/otf\":[\"otf\"],\"font/ttf\":[\"ttf\"],\"font/woff\":[\"woff\"],\"font/woff2\":[\"woff2\"],\"image/aces\":[\"exr\"],\"image/apng\":[\"apng\"],\"image/avif\":[\"avif\"],\"image/bmp\":[\"bmp\"],\"image/cgm\":[\"cgm\"],\"image/dicom-rle\":[\"drle\"],\"image/emf\":[\"emf\"],\"image/fits\":[\"fits\"],\"image/g3fax\":[\"g3\"],\"image/gif\":[\"gif\"],\"image/heic\":[\"heic\"],\"image/heic-sequence\":[\"heics\"],\"image/heif\":[\"heif\"],\"image/heif-sequence\":[\"heifs\"],\"image/hej2k\":[\"hej2\"],\"image/hsj2\":[\"hsj2\"],\"image/ief\":[\"ief\"],\"image/jls\":[\"jls\"],\"image/jp2\":[\"jp2\",\"jpg2\"],\"image/jpeg\":[\"jpeg\",\"jpg\",\"jpe\"],\"image/jph\":[\"jph\"],\"image/jphc\":[\"jhc\"],\"image/jpm\":[\"jpm\"],\"image/jpx\":[\"jpx\",\"jpf\"],\"image/jxr\":[\"jxr\"],\"image/jxra\":[\"jxra\"],\"image/jxrs\":[\"jxrs\"],\"image/jxs\":[\"jxs\"],\"image/jxsc\":[\"jxsc\"],\"image/jxsi\":[\"jxsi\"],\"image/jxss\":[\"jxss\"],\"image/ktx\":[\"ktx\"],\"image/ktx2\":[\"ktx2\"],\"image/png\":[\"png\"],\"image/sgi\":[\"sgi\"],\"image/svg+xml\":[\"svg\",\"svgz\"],\"image/t38\":[\"t38\"],\"image/tiff\":[\"tif\",\"tiff\"],\"image/tiff-fx\":[\"tfx\"],\"image/webp\":[\"webp\"],\"image/wmf\":[\"wmf\"],\"message/disposition-notification\":[\"disposition-notification\"],\"message/global\":[\"u8msg\"],\"message/global-delivery-status\":[\"u8dsn\"],\"message/global-disposition-notification\":[\"u8mdn\"],\"message/global-headers\":[\"u8hdr\"],\"message/rfc822\":[\"eml\",\"mime\"],\"model/3mf\":[\"3mf\"],\"model/gltf+json\":[\"gltf\"],\"model/gltf-binary\":[\"glb\"],\"model/iges\":[\"igs\",\"iges\"],\"model/mesh\":[\"msh\",\"mesh\",\"silo\"],\"model/mtl\":[\"mtl\"],\"model/obj\":[\"obj\"],\"model/step+xml\":[\"stpx\"],\"model/step+zip\":[\"stpz\"],\"model/step-xml+zip\":[\"stpxz\"],\"model/stl\":[\"stl\"],\"model/vrml\":[\"wrl\",\"vrml\"],\"model/x3d+binary\":[\"*x3db\",\"x3dbz\"],\"model/x3d+fastinfoset\":[\"x3db\"],\"model/x3d+vrml\":[\"*x3dv\",\"x3dvz\"],\"model/x3d+xml\":[\"x3d\",\"x3dz\"],\"model/x3d-vrml\":[\"x3dv\"],\"text/cache-manifest\":[\"appcache\",\"manifest\"],\"text/calendar\":[\"ics\",\"ifb\"],\"text/coffeescript\":[\"coffee\",\"litcoffee\"],\"text/css\":[\"css\"],\"text/csv\":[\"csv\"],\"text/html\":[\"html\",\"htm\",\"shtml\"],\"text/jade\":[\"jade\"],\"text/jsx\":[\"jsx\"],\"text/less\":[\"less\"],\"text/markdown\":[\"markdown\",\"md\"],\"text/mathml\":[\"mml\"],\"text/mdx\":[\"mdx\"],\"text/n3\":[\"n3\"],\"text/plain\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"],\"text/richtext\":[\"rtx\"],\"text/rtf\":[\"*rtf\"],\"text/sgml\":[\"sgml\",\"sgm\"],\"text/shex\":[\"shex\"],\"text/slim\":[\"slim\",\"slm\"],\"text/spdx\":[\"spdx\"],\"text/stylus\":[\"stylus\",\"styl\"],\"text/tab-separated-values\":[\"tsv\"],\"text/troff\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"],\"text/turtle\":[\"ttl\"],\"text/uri-list\":[\"uri\",\"uris\",\"urls\"],\"text/vcard\":[\"vcard\"],\"text/vtt\":[\"vtt\"],\"text/xml\":[\"*xml\"],\"text/yaml\":[\"yaml\",\"yml\"],\"video/3gpp\":[\"3gp\",\"3gpp\"],\"video/3gpp2\":[\"3g2\"],\"video/h261\":[\"h261\"],\"video/h263\":[\"h263\"],\"video/h264\":[\"h264\"],\"video/iso.segment\":[\"m4s\"],\"video/jpeg\":[\"jpgv\"],\"video/jpm\":[\"*jpm\",\"jpgm\"],\"video/mj2\":[\"mj2\",\"mjp2\"],\"video/mp2t\":[\"ts\"],\"video/mp4\":[\"mp4\",\"mp4v\",\"mpg4\"],\"video/mpeg\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"],\"video/ogg\":[\"ogv\"],\"video/quicktime\":[\"qt\",\"mov\"],\"video/webm\":[\"webm\"]}});var Dt=F((on,It)=>{It.exports={\"application/prs.cww\":[\"cww\"],\"application/vnd.1000minds.decision-model+xml\":[\"1km\"],\"application/vnd.3gpp.pic-bw-large\":[\"plb\"],\"application/vnd.3gpp.pic-bw-small\":[\"psb\"],\"application/vnd.3gpp.pic-bw-var\":[\"pvb\"],\"application/vnd.3gpp2.tcap\":[\"tcap\"],\"application/vnd.3m.post-it-notes\":[\"pwn\"],\"application/vnd.accpac.simply.aso\":[\"aso\"],\"application/vnd.accpac.simply.imp\":[\"imp\"],\"application/vnd.acucobol\":[\"acu\"],\"application/vnd.acucorp\":[\"atc\",\"acutc\"],\"application/vnd.adobe.air-application-installer-package+zip\":[\"air\"],\"application/vnd.adobe.formscentral.fcdt\":[\"fcdt\"],\"application/vnd.adobe.fxp\":[\"fxp\",\"fxpl\"],\"application/vnd.adobe.xdp+xml\":[\"xdp\"],\"application/vnd.adobe.xfdf\":[\"xfdf\"],\"application/vnd.ahead.space\":[\"ahead\"],\"application/vnd.airzip.filesecure.azf\":[\"azf\"],\"application/vnd.airzip.filesecure.azs\":[\"azs\"],\"application/vnd.amazon.ebook\":[\"azw\"],\"application/vnd.americandynamics.acc\":[\"acc\"],\"application/vnd.amiga.ami\":[\"ami\"],\"application/vnd.android.package-archive\":[\"apk\"],\"application/vnd.anser-web-certificate-issue-initiation\":[\"cii\"],\"application/vnd.anser-web-funds-transfer-initiation\":[\"fti\"],\"application/vnd.antix.game-component\":[\"atx\"],\"application/vnd.apple.installer+xml\":[\"mpkg\"],\"application/vnd.apple.keynote\":[\"key\"],\"application/vnd.apple.mpegurl\":[\"m3u8\"],\"application/vnd.apple.numbers\":[\"numbers\"],\"application/vnd.apple.pages\":[\"pages\"],\"application/vnd.apple.pkpass\":[\"pkpass\"],\"application/vnd.aristanetworks.swi\":[\"swi\"],\"application/vnd.astraea-software.iota\":[\"iota\"],\"application/vnd.audiograph\":[\"aep\"],\"application/vnd.balsamiq.bmml+xml\":[\"bmml\"],\"application/vnd.blueice.multipass\":[\"mpm\"],\"application/vnd.bmi\":[\"bmi\"],\"application/vnd.businessobjects\":[\"rep\"],\"application/vnd.chemdraw+xml\":[\"cdxml\"],\"application/vnd.chipnuts.karaoke-mmd\":[\"mmd\"],\"application/vnd.cinderella\":[\"cdy\"],\"application/vnd.citationstyles.style+xml\":[\"csl\"],\"application/vnd.claymore\":[\"cla\"],\"application/vnd.cloanto.rp9\":[\"rp9\"],\"application/vnd.clonk.c4group\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"],\"application/vnd.cluetrust.cartomobile-config\":[\"c11amc\"],\"application/vnd.cluetrust.cartomobile-config-pkg\":[\"c11amz\"],\"application/vnd.commonspace\":[\"csp\"],\"application/vnd.contact.cmsg\":[\"cdbcmsg\"],\"application/vnd.cosmocaller\":[\"cmc\"],\"application/vnd.crick.clicker\":[\"clkx\"],\"application/vnd.crick.clicker.keyboard\":[\"clkk\"],\"application/vnd.crick.clicker.palette\":[\"clkp\"],\"application/vnd.crick.clicker.template\":[\"clkt\"],\"application/vnd.crick.clicker.wordbank\":[\"clkw\"],\"application/vnd.criticaltools.wbs+xml\":[\"wbs\"],\"application/vnd.ctc-posml\":[\"pml\"],\"application/vnd.cups-ppd\":[\"ppd\"],\"application/vnd.curl.car\":[\"car\"],\"application/vnd.curl.pcurl\":[\"pcurl\"],\"application/vnd.dart\":[\"dart\"],\"application/vnd.data-vision.rdz\":[\"rdz\"],\"application/vnd.dbf\":[\"dbf\"],\"application/vnd.dece.data\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"],\"application/vnd.dece.ttml+xml\":[\"uvt\",\"uvvt\"],\"application/vnd.dece.unspecified\":[\"uvx\",\"uvvx\"],\"application/vnd.dece.zip\":[\"uvz\",\"uvvz\"],\"application/vnd.denovo.fcselayout-link\":[\"fe_launch\"],\"application/vnd.dna\":[\"dna\"],\"application/vnd.dolby.mlp\":[\"mlp\"],\"application/vnd.dpgraph\":[\"dpg\"],\"application/vnd.dreamfactory\":[\"dfac\"],\"application/vnd.ds-keypoint\":[\"kpxx\"],\"application/vnd.dvb.ait\":[\"ait\"],\"application/vnd.dvb.service\":[\"svc\"],\"application/vnd.dynageo\":[\"geo\"],\"application/vnd.ecowin.chart\":[\"mag\"],\"application/vnd.enliven\":[\"nml\"],\"application/vnd.epson.esf\":[\"esf\"],\"application/vnd.epson.msf\":[\"msf\"],\"application/vnd.epson.quickanime\":[\"qam\"],\"application/vnd.epson.salt\":[\"slt\"],\"application/vnd.epson.ssf\":[\"ssf\"],\"application/vnd.eszigno3+xml\":[\"es3\",\"et3\"],\"application/vnd.ezpix-album\":[\"ez2\"],\"application/vnd.ezpix-package\":[\"ez3\"],\"application/vnd.fdf\":[\"fdf\"],\"application/vnd.fdsn.mseed\":[\"mseed\"],\"application/vnd.fdsn.seed\":[\"seed\",\"dataless\"],\"application/vnd.flographit\":[\"gph\"],\"application/vnd.fluxtime.clip\":[\"ftc\"],\"application/vnd.framemaker\":[\"fm\",\"frame\",\"maker\",\"book\"],\"application/vnd.frogans.fnc\":[\"fnc\"],\"application/vnd.frogans.ltf\":[\"ltf\"],\"application/vnd.fsc.weblaunch\":[\"fsc\"],\"application/vnd.fujitsu.oasys\":[\"oas\"],\"application/vnd.fujitsu.oasys2\":[\"oa2\"],\"application/vnd.fujitsu.oasys3\":[\"oa3\"],\"application/vnd.fujitsu.oasysgp\":[\"fg5\"],\"application/vnd.fujitsu.oasysprs\":[\"bh2\"],\"application/vnd.fujixerox.ddd\":[\"ddd\"],\"application/vnd.fujixerox.docuworks\":[\"xdw\"],\"application/vnd.fujixerox.docuworks.binder\":[\"xbd\"],\"application/vnd.fuzzysheet\":[\"fzs\"],\"application/vnd.genomatix.tuxedo\":[\"txd\"],\"application/vnd.geogebra.file\":[\"ggb\"],\"application/vnd.geogebra.tool\":[\"ggt\"],\"application/vnd.geometry-explorer\":[\"gex\",\"gre\"],\"application/vnd.geonext\":[\"gxt\"],\"application/vnd.geoplan\":[\"g2w\"],\"application/vnd.geospace\":[\"g3w\"],\"application/vnd.gmx\":[\"gmx\"],\"application/vnd.google-apps.document\":[\"gdoc\"],\"application/vnd.google-apps.presentation\":[\"gslides\"],\"application/vnd.google-apps.spreadsheet\":[\"gsheet\"],\"application/vnd.google-earth.kml+xml\":[\"kml\"],\"application/vnd.google-earth.kmz\":[\"kmz\"],\"application/vnd.grafeq\":[\"gqf\",\"gqs\"],\"application/vnd.groove-account\":[\"gac\"],\"application/vnd.groove-help\":[\"ghf\"],\"application/vnd.groove-identity-message\":[\"gim\"],\"application/vnd.groove-injector\":[\"grv\"],\"application/vnd.groove-tool-message\":[\"gtm\"],\"application/vnd.groove-tool-template\":[\"tpl\"],\"application/vnd.groove-vcard\":[\"vcg\"],\"application/vnd.hal+xml\":[\"hal\"],\"application/vnd.handheld-entertainment+xml\":[\"zmm\"],\"application/vnd.hbci\":[\"hbci\"],\"application/vnd.hhe.lesson-player\":[\"les\"],\"application/vnd.hp-hpgl\":[\"hpgl\"],\"application/vnd.hp-hpid\":[\"hpid\"],\"application/vnd.hp-hps\":[\"hps\"],\"application/vnd.hp-jlyt\":[\"jlt\"],\"application/vnd.hp-pcl\":[\"pcl\"],\"application/vnd.hp-pclxl\":[\"pclxl\"],\"application/vnd.hydrostatix.sof-data\":[\"sfd-hdstx\"],\"application/vnd.ibm.minipay\":[\"mpy\"],\"application/vnd.ibm.modcap\":[\"afp\",\"listafp\",\"list3820\"],\"application/vnd.ibm.rights-management\":[\"irm\"],\"application/vnd.ibm.secure-container\":[\"sc\"],\"application/vnd.iccprofile\":[\"icc\",\"icm\"],\"application/vnd.igloader\":[\"igl\"],\"application/vnd.immervision-ivp\":[\"ivp\"],\"application/vnd.immervision-ivu\":[\"ivu\"],\"application/vnd.insors.igm\":[\"igm\"],\"application/vnd.intercon.formnet\":[\"xpw\",\"xpx\"],\"application/vnd.intergeo\":[\"i2g\"],\"application/vnd.intu.qbo\":[\"qbo\"],\"application/vnd.intu.qfx\":[\"qfx\"],\"application/vnd.ipunplugged.rcprofile\":[\"rcprofile\"],\"application/vnd.irepository.package+xml\":[\"irp\"],\"application/vnd.is-xpr\":[\"xpr\"],\"application/vnd.isac.fcs\":[\"fcs\"],\"application/vnd.jam\":[\"jam\"],\"application/vnd.jcp.javame.midlet-rms\":[\"rms\"],\"application/vnd.jisp\":[\"jisp\"],\"application/vnd.joost.joda-archive\":[\"joda\"],\"application/vnd.kahootz\":[\"ktz\",\"ktr\"],\"application/vnd.kde.karbon\":[\"karbon\"],\"application/vnd.kde.kchart\":[\"chrt\"],\"application/vnd.kde.kformula\":[\"kfo\"],\"application/vnd.kde.kivio\":[\"flw\"],\"application/vnd.kde.kontour\":[\"kon\"],\"application/vnd.kde.kpresenter\":[\"kpr\",\"kpt\"],\"application/vnd.kde.kspread\":[\"ksp\"],\"application/vnd.kde.kword\":[\"kwd\",\"kwt\"],\"application/vnd.kenameaapp\":[\"htke\"],\"application/vnd.kidspiration\":[\"kia\"],\"application/vnd.kinar\":[\"kne\",\"knp\"],\"application/vnd.koan\":[\"skp\",\"skd\",\"skt\",\"skm\"],\"application/vnd.kodak-descriptor\":[\"sse\"],\"application/vnd.las.las+xml\":[\"lasxml\"],\"application/vnd.llamagraphics.life-balance.desktop\":[\"lbd\"],\"application/vnd.llamagraphics.life-balance.exchange+xml\":[\"lbe\"],\"application/vnd.lotus-1-2-3\":[\"123\"],\"application/vnd.lotus-approach\":[\"apr\"],\"application/vnd.lotus-freelance\":[\"pre\"],\"application/vnd.lotus-notes\":[\"nsf\"],\"application/vnd.lotus-organizer\":[\"org\"],\"application/vnd.lotus-screencam\":[\"scm\"],\"application/vnd.lotus-wordpro\":[\"lwp\"],\"application/vnd.macports.portpkg\":[\"portpkg\"],\"application/vnd.mapbox-vector-tile\":[\"mvt\"],\"application/vnd.mcd\":[\"mcd\"],\"application/vnd.medcalcdata\":[\"mc1\"],\"application/vnd.mediastation.cdkey\":[\"cdkey\"],\"application/vnd.mfer\":[\"mwf\"],\"application/vnd.mfmp\":[\"mfm\"],\"application/vnd.micrografx.flo\":[\"flo\"],\"application/vnd.micrografx.igx\":[\"igx\"],\"application/vnd.mif\":[\"mif\"],\"application/vnd.mobius.daf\":[\"daf\"],\"application/vnd.mobius.dis\":[\"dis\"],\"application/vnd.mobius.mbk\":[\"mbk\"],\"application/vnd.mobius.mqy\":[\"mqy\"],\"application/vnd.mobius.msl\":[\"msl\"],\"application/vnd.mobius.plc\":[\"plc\"],\"application/vnd.mobius.txf\":[\"txf\"],\"application/vnd.mophun.application\":[\"mpn\"],\"application/vnd.mophun.certificate\":[\"mpc\"],\"application/vnd.mozilla.xul+xml\":[\"xul\"],\"application/vnd.ms-artgalry\":[\"cil\"],\"application/vnd.ms-cab-compressed\":[\"cab\"],\"application/vnd.ms-excel\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"],\"application/vnd.ms-excel.addin.macroenabled.12\":[\"xlam\"],\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":[\"xlsb\"],\"application/vnd.ms-excel.sheet.macroenabled.12\":[\"xlsm\"],\"application/vnd.ms-excel.template.macroenabled.12\":[\"xltm\"],\"application/vnd.ms-fontobject\":[\"eot\"],\"application/vnd.ms-htmlhelp\":[\"chm\"],\"application/vnd.ms-ims\":[\"ims\"],\"application/vnd.ms-lrm\":[\"lrm\"],\"application/vnd.ms-officetheme\":[\"thmx\"],\"application/vnd.ms-outlook\":[\"msg\"],\"application/vnd.ms-pki.seccat\":[\"cat\"],\"application/vnd.ms-pki.stl\":[\"*stl\"],\"application/vnd.ms-powerpoint\":[\"ppt\",\"pps\",\"pot\"],\"application/vnd.ms-powerpoint.addin.macroenabled.12\":[\"ppam\"],\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":[\"pptm\"],\"application/vnd.ms-powerpoint.slide.macroenabled.12\":[\"sldm\"],\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":[\"ppsm\"],\"application/vnd.ms-powerpoint.template.macroenabled.12\":[\"potm\"],\"application/vnd.ms-project\":[\"mpp\",\"mpt\"],\"application/vnd.ms-word.document.macroenabled.12\":[\"docm\"],\"application/vnd.ms-word.template.macroenabled.12\":[\"dotm\"],\"application/vnd.ms-works\":[\"wps\",\"wks\",\"wcm\",\"wdb\"],\"application/vnd.ms-wpl\":[\"wpl\"],\"application/vnd.ms-xpsdocument\":[\"xps\"],\"application/vnd.mseq\":[\"mseq\"],\"application/vnd.musician\":[\"mus\"],\"application/vnd.muvee.style\":[\"msty\"],\"application/vnd.mynfc\":[\"taglet\"],\"application/vnd.neurolanguage.nlu\":[\"nlu\"],\"application/vnd.nitf\":[\"ntf\",\"nitf\"],\"application/vnd.noblenet-directory\":[\"nnd\"],\"application/vnd.noblenet-sealer\":[\"nns\"],\"application/vnd.noblenet-web\":[\"nnw\"],\"application/vnd.nokia.n-gage.ac+xml\":[\"*ac\"],\"application/vnd.nokia.n-gage.data\":[\"ngdat\"],\"application/vnd.nokia.n-gage.symbian.install\":[\"n-gage\"],\"application/vnd.nokia.radio-preset\":[\"rpst\"],\"application/vnd.nokia.radio-presets\":[\"rpss\"],\"application/vnd.novadigm.edm\":[\"edm\"],\"application/vnd.novadigm.edx\":[\"edx\"],\"application/vnd.novadigm.ext\":[\"ext\"],\"application/vnd.oasis.opendocument.chart\":[\"odc\"],\"application/vnd.oasis.opendocument.chart-template\":[\"otc\"],\"application/vnd.oasis.opendocument.database\":[\"odb\"],\"application/vnd.oasis.opendocument.formula\":[\"odf\"],\"application/vnd.oasis.opendocument.formula-template\":[\"odft\"],\"application/vnd.oasis.opendocument.graphics\":[\"odg\"],\"application/vnd.oasis.opendocument.graphics-template\":[\"otg\"],\"application/vnd.oasis.opendocument.image\":[\"odi\"],\"application/vnd.oasis.opendocument.image-template\":[\"oti\"],\"application/vnd.oasis.opendocument.presentation\":[\"odp\"],\"application/vnd.oasis.opendocument.presentation-template\":[\"otp\"],\"application/vnd.oasis.opendocument.spreadsheet\":[\"ods\"],\"application/vnd.oasis.opendocument.spreadsheet-template\":[\"ots\"],\"application/vnd.oasis.opendocument.text\":[\"odt\"],\"application/vnd.oasis.opendocument.text-master\":[\"odm\"],\"application/vnd.oasis.opendocument.text-template\":[\"ott\"],\"application/vnd.oasis.opendocument.text-web\":[\"oth\"],\"application/vnd.olpc-sugar\":[\"xo\"],\"application/vnd.oma.dd2+xml\":[\"dd2\"],\"application/vnd.openblox.game+xml\":[\"obgx\"],\"application/vnd.openofficeorg.extension\":[\"oxt\"],\"application/vnd.openstreetmap.data+xml\":[\"osm\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\"pptx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slide\":[\"sldx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":[\"ppsx\"],\"application/vnd.openxmlformats-officedocument.presentationml.template\":[\"potx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\"xlsx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":[\"xltx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\"docx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":[\"dotx\"],\"application/vnd.osgeo.mapguide.package\":[\"mgp\"],\"application/vnd.osgi.dp\":[\"dp\"],\"application/vnd.osgi.subsystem\":[\"esa\"],\"application/vnd.palm\":[\"pdb\",\"pqa\",\"oprc\"],\"application/vnd.pawaafile\":[\"paw\"],\"application/vnd.pg.format\":[\"str\"],\"application/vnd.pg.osasli\":[\"ei6\"],\"application/vnd.picsel\":[\"efif\"],\"application/vnd.pmi.widget\":[\"wg\"],\"application/vnd.pocketlearn\":[\"plf\"],\"application/vnd.powerbuilder6\":[\"pbd\"],\"application/vnd.previewsystems.box\":[\"box\"],\"application/vnd.proteus.magazine\":[\"mgz\"],\"application/vnd.publishare-delta-tree\":[\"qps\"],\"application/vnd.pvi.ptid1\":[\"ptid\"],\"application/vnd.quark.quarkxpress\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"],\"application/vnd.rar\":[\"rar\"],\"application/vnd.realvnc.bed\":[\"bed\"],\"application/vnd.recordare.musicxml\":[\"mxl\"],\"application/vnd.recordare.musicxml+xml\":[\"musicxml\"],\"application/vnd.rig.cryptonote\":[\"cryptonote\"],\"application/vnd.rim.cod\":[\"cod\"],\"application/vnd.rn-realmedia\":[\"rm\"],\"application/vnd.rn-realmedia-vbr\":[\"rmvb\"],\"application/vnd.route66.link66+xml\":[\"link66\"],\"application/vnd.sailingtracker.track\":[\"st\"],\"application/vnd.seemail\":[\"see\"],\"application/vnd.sema\":[\"sema\"],\"application/vnd.semd\":[\"semd\"],\"application/vnd.semf\":[\"semf\"],\"application/vnd.shana.informed.formdata\":[\"ifm\"],\"application/vnd.shana.informed.formtemplate\":[\"itp\"],\"application/vnd.shana.informed.interchange\":[\"iif\"],\"application/vnd.shana.informed.package\":[\"ipk\"],\"application/vnd.simtech-mindmapper\":[\"twd\",\"twds\"],\"application/vnd.smaf\":[\"mmf\"],\"application/vnd.smart.teacher\":[\"teacher\"],\"application/vnd.software602.filler.form+xml\":[\"fo\"],\"application/vnd.solent.sdkm+xml\":[\"sdkm\",\"sdkd\"],\"application/vnd.spotfire.dxp\":[\"dxp\"],\"application/vnd.spotfire.sfs\":[\"sfs\"],\"application/vnd.stardivision.calc\":[\"sdc\"],\"application/vnd.stardivision.draw\":[\"sda\"],\"application/vnd.stardivision.impress\":[\"sdd\"],\"application/vnd.stardivision.math\":[\"smf\"],\"application/vnd.stardivision.writer\":[\"sdw\",\"vor\"],\"application/vnd.stardivision.writer-global\":[\"sgl\"],\"application/vnd.stepmania.package\":[\"smzip\"],\"application/vnd.stepmania.stepchart\":[\"sm\"],\"application/vnd.sun.wadl+xml\":[\"wadl\"],\"application/vnd.sun.xml.calc\":[\"sxc\"],\"application/vnd.sun.xml.calc.template\":[\"stc\"],\"application/vnd.sun.xml.draw\":[\"sxd\"],\"application/vnd.sun.xml.draw.template\":[\"std\"],\"application/vnd.sun.xml.impress\":[\"sxi\"],\"application/vnd.sun.xml.impress.template\":[\"sti\"],\"application/vnd.sun.xml.math\":[\"sxm\"],\"application/vnd.sun.xml.writer\":[\"sxw\"],\"application/vnd.sun.xml.writer.global\":[\"sxg\"],\"application/vnd.sun.xml.writer.template\":[\"stw\"],\"application/vnd.sus-calendar\":[\"sus\",\"susp\"],\"application/vnd.svd\":[\"svd\"],\"application/vnd.symbian.install\":[\"sis\",\"sisx\"],\"application/vnd.syncml+xml\":[\"xsm\"],\"application/vnd.syncml.dm+wbxml\":[\"bdm\"],\"application/vnd.syncml.dm+xml\":[\"xdm\"],\"application/vnd.syncml.dmddf+xml\":[\"ddf\"],\"application/vnd.tao.intent-module-archive\":[\"tao\"],\"application/vnd.tcpdump.pcap\":[\"pcap\",\"cap\",\"dmp\"],\"application/vnd.tmobile-livetv\":[\"tmo\"],\"application/vnd.trid.tpt\":[\"tpt\"],\"application/vnd.triscape.mxs\":[\"mxs\"],\"application/vnd.trueapp\":[\"tra\"],\"application/vnd.ufdl\":[\"ufd\",\"ufdl\"],\"application/vnd.uiq.theme\":[\"utz\"],\"application/vnd.umajin\":[\"umj\"],\"application/vnd.unity\":[\"unityweb\"],\"application/vnd.uoml+xml\":[\"uoml\"],\"application/vnd.vcx\":[\"vcx\"],\"application/vnd.visio\":[\"vsd\",\"vst\",\"vss\",\"vsw\"],\"application/vnd.visionary\":[\"vis\"],\"application/vnd.vsf\":[\"vsf\"],\"application/vnd.wap.wbxml\":[\"wbxml\"],\"application/vnd.wap.wmlc\":[\"wmlc\"],\"application/vnd.wap.wmlscriptc\":[\"wmlsc\"],\"application/vnd.webturbo\":[\"wtb\"],\"application/vnd.wolfram.player\":[\"nbp\"],\"application/vnd.wordperfect\":[\"wpd\"],\"application/vnd.wqd\":[\"wqd\"],\"application/vnd.wt.stf\":[\"stf\"],\"application/vnd.xara\":[\"xar\"],\"application/vnd.xfdl\":[\"xfdl\"],\"application/vnd.yamaha.hv-dic\":[\"hvd\"],\"application/vnd.yamaha.hv-script\":[\"hvs\"],\"application/vnd.yamaha.hv-voice\":[\"hvp\"],\"application/vnd.yamaha.openscoreformat\":[\"osf\"],\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":[\"osfpvg\"],\"application/vnd.yamaha.smaf-audio\":[\"saf\"],\"application/vnd.yamaha.smaf-phrase\":[\"spf\"],\"application/vnd.yellowriver-custom-menu\":[\"cmp\"],\"application/vnd.zul\":[\"zir\",\"zirz\"],\"application/vnd.zzazz.deck+xml\":[\"zaz\"],\"application/x-7z-compressed\":[\"7z\"],\"application/x-abiword\":[\"abw\"],\"application/x-ace-compressed\":[\"ace\"],\"application/x-apple-diskimage\":[\"*dmg\"],\"application/x-arj\":[\"arj\"],\"application/x-authorware-bin\":[\"aab\",\"x32\",\"u32\",\"vox\"],\"application/x-authorware-map\":[\"aam\"],\"application/x-authorware-seg\":[\"aas\"],\"application/x-bcpio\":[\"bcpio\"],\"application/x-bdoc\":[\"*bdoc\"],\"application/x-bittorrent\":[\"torrent\"],\"application/x-blorb\":[\"blb\",\"blorb\"],\"application/x-bzip\":[\"bz\"],\"application/x-bzip2\":[\"bz2\",\"boz\"],\"application/x-cbr\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"],\"application/x-cdlink\":[\"vcd\"],\"application/x-cfs-compressed\":[\"cfs\"],\"application/x-chat\":[\"chat\"],\"application/x-chess-pgn\":[\"pgn\"],\"application/x-chrome-extension\":[\"crx\"],\"application/x-cocoa\":[\"cco\"],\"application/x-conference\":[\"nsc\"],\"application/x-cpio\":[\"cpio\"],\"application/x-csh\":[\"csh\"],\"application/x-debian-package\":[\"*deb\",\"udeb\"],\"application/x-dgc-compressed\":[\"dgc\"],\"application/x-director\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"],\"application/x-doom\":[\"wad\"],\"application/x-dtbncx+xml\":[\"ncx\"],\"application/x-dtbook+xml\":[\"dtb\"],\"application/x-dtbresource+xml\":[\"res\"],\"application/x-dvi\":[\"dvi\"],\"application/x-envoy\":[\"evy\"],\"application/x-eva\":[\"eva\"],\"application/x-font-bdf\":[\"bdf\"],\"application/x-font-ghostscript\":[\"gsf\"],\"application/x-font-linux-psf\":[\"psf\"],\"application/x-font-pcf\":[\"pcf\"],\"application/x-font-snf\":[\"snf\"],\"application/x-font-type1\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"],\"application/x-freearc\":[\"arc\"],\"application/x-futuresplash\":[\"spl\"],\"application/x-gca-compressed\":[\"gca\"],\"application/x-glulx\":[\"ulx\"],\"application/x-gnumeric\":[\"gnumeric\"],\"application/x-gramps-xml\":[\"gramps\"],\"application/x-gtar\":[\"gtar\"],\"application/x-hdf\":[\"hdf\"],\"application/x-httpd-php\":[\"php\"],\"application/x-install-instructions\":[\"install\"],\"application/x-iso9660-image\":[\"*iso\"],\"application/x-iwork-keynote-sffkey\":[\"*key\"],\"application/x-iwork-numbers-sffnumbers\":[\"*numbers\"],\"application/x-iwork-pages-sffpages\":[\"*pages\"],\"application/x-java-archive-diff\":[\"jardiff\"],\"application/x-java-jnlp-file\":[\"jnlp\"],\"application/x-keepass2\":[\"kdbx\"],\"application/x-latex\":[\"latex\"],\"application/x-lua-bytecode\":[\"luac\"],\"application/x-lzh-compressed\":[\"lzh\",\"lha\"],\"application/x-makeself\":[\"run\"],\"application/x-mie\":[\"mie\"],\"application/x-mobipocket-ebook\":[\"prc\",\"mobi\"],\"application/x-ms-application\":[\"application\"],\"application/x-ms-shortcut\":[\"lnk\"],\"application/x-ms-wmd\":[\"wmd\"],\"application/x-ms-wmz\":[\"wmz\"],\"application/x-ms-xbap\":[\"xbap\"],\"application/x-msaccess\":[\"mdb\"],\"application/x-msbinder\":[\"obd\"],\"application/x-mscardfile\":[\"crd\"],\"application/x-msclip\":[\"clp\"],\"application/x-msdos-program\":[\"*exe\"],\"application/x-msdownload\":[\"*exe\",\"*dll\",\"com\",\"bat\",\"*msi\"],\"application/x-msmediaview\":[\"mvb\",\"m13\",\"m14\"],\"application/x-msmetafile\":[\"*wmf\",\"*wmz\",\"*emf\",\"emz\"],\"application/x-msmoney\":[\"mny\"],\"application/x-mspublisher\":[\"pub\"],\"application/x-msschedule\":[\"scd\"],\"application/x-msterminal\":[\"trm\"],\"application/x-mswrite\":[\"wri\"],\"application/x-netcdf\":[\"nc\",\"cdf\"],\"application/x-ns-proxy-autoconfig\":[\"pac\"],\"application/x-nzb\":[\"nzb\"],\"application/x-perl\":[\"pl\",\"pm\"],\"application/x-pilot\":[\"*prc\",\"*pdb\"],\"application/x-pkcs12\":[\"p12\",\"pfx\"],\"application/x-pkcs7-certificates\":[\"p7b\",\"spc\"],\"application/x-pkcs7-certreqresp\":[\"p7r\"],\"application/x-rar-compressed\":[\"*rar\"],\"application/x-redhat-package-manager\":[\"rpm\"],\"application/x-research-info-systems\":[\"ris\"],\"application/x-sea\":[\"sea\"],\"application/x-sh\":[\"sh\"],\"application/x-shar\":[\"shar\"],\"application/x-shockwave-flash\":[\"swf\"],\"application/x-silverlight-app\":[\"xap\"],\"application/x-sql\":[\"sql\"],\"application/x-stuffit\":[\"sit\"],\"application/x-stuffitx\":[\"sitx\"],\"application/x-subrip\":[\"srt\"],\"application/x-sv4cpio\":[\"sv4cpio\"],\"application/x-sv4crc\":[\"sv4crc\"],\"application/x-t3vm-image\":[\"t3\"],\"application/x-tads\":[\"gam\"],\"application/x-tar\":[\"tar\"],\"application/x-tcl\":[\"tcl\",\"tk\"],\"application/x-tex\":[\"tex\"],\"application/x-tex-tfm\":[\"tfm\"],\"application/x-texinfo\":[\"texinfo\",\"texi\"],\"application/x-tgif\":[\"*obj\"],\"application/x-ustar\":[\"ustar\"],\"application/x-virtualbox-hdd\":[\"hdd\"],\"application/x-virtualbox-ova\":[\"ova\"],\"application/x-virtualbox-ovf\":[\"ovf\"],\"application/x-virtualbox-vbox\":[\"vbox\"],\"application/x-virtualbox-vbox-extpack\":[\"vbox-extpack\"],\"application/x-virtualbox-vdi\":[\"vdi\"],\"application/x-virtualbox-vhd\":[\"vhd\"],\"application/x-virtualbox-vmdk\":[\"vmdk\"],\"application/x-wais-source\":[\"src\"],\"application/x-web-app-manifest+json\":[\"webapp\"],\"application/x-x509-ca-cert\":[\"der\",\"crt\",\"pem\"],\"application/x-xfig\":[\"fig\"],\"application/x-xliff+xml\":[\"*xlf\"],\"application/x-xpinstall\":[\"xpi\"],\"application/x-xz\":[\"xz\"],\"application/x-zmachine\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"],\"audio/vnd.dece.audio\":[\"uva\",\"uvva\"],\"audio/vnd.digital-winds\":[\"eol\"],\"audio/vnd.dra\":[\"dra\"],\"audio/vnd.dts\":[\"dts\"],\"audio/vnd.dts.hd\":[\"dtshd\"],\"audio/vnd.lucent.voice\":[\"lvp\"],\"audio/vnd.ms-playready.media.pya\":[\"pya\"],\"audio/vnd.nuera.ecelp4800\":[\"ecelp4800\"],\"audio/vnd.nuera.ecelp7470\":[\"ecelp7470\"],\"audio/vnd.nuera.ecelp9600\":[\"ecelp9600\"],\"audio/vnd.rip\":[\"rip\"],\"audio/x-aac\":[\"aac\"],\"audio/x-aiff\":[\"aif\",\"aiff\",\"aifc\"],\"audio/x-caf\":[\"caf\"],\"audio/x-flac\":[\"flac\"],\"audio/x-m4a\":[\"*m4a\"],\"audio/x-matroska\":[\"mka\"],\"audio/x-mpegurl\":[\"m3u\"],\"audio/x-ms-wax\":[\"wax\"],\"audio/x-ms-wma\":[\"wma\"],\"audio/x-pn-realaudio\":[\"ram\",\"ra\"],\"audio/x-pn-realaudio-plugin\":[\"rmp\"],\"audio/x-realaudio\":[\"*ra\"],\"audio/x-wav\":[\"*wav\"],\"chemical/x-cdx\":[\"cdx\"],\"chemical/x-cif\":[\"cif\"],\"chemical/x-cmdf\":[\"cmdf\"],\"chemical/x-cml\":[\"cml\"],\"chemical/x-csml\":[\"csml\"],\"chemical/x-xyz\":[\"xyz\"],\"image/prs.btif\":[\"btif\"],\"image/prs.pti\":[\"pti\"],\"image/vnd.adobe.photoshop\":[\"psd\"],\"image/vnd.airzip.accelerator.azv\":[\"azv\"],\"image/vnd.dece.graphic\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"],\"image/vnd.djvu\":[\"djvu\",\"djv\"],\"image/vnd.dvb.subtitle\":[\"*sub\"],\"image/vnd.dwg\":[\"dwg\"],\"image/vnd.dxf\":[\"dxf\"],\"image/vnd.fastbidsheet\":[\"fbs\"],\"image/vnd.fpx\":[\"fpx\"],\"image/vnd.fst\":[\"fst\"],\"image/vnd.fujixerox.edmics-mmr\":[\"mmr\"],\"image/vnd.fujixerox.edmics-rlc\":[\"rlc\"],\"image/vnd.microsoft.icon\":[\"ico\"],\"image/vnd.ms-dds\":[\"dds\"],\"image/vnd.ms-modi\":[\"mdi\"],\"image/vnd.ms-photo\":[\"wdp\"],\"image/vnd.net-fpx\":[\"npx\"],\"image/vnd.pco.b16\":[\"b16\"],\"image/vnd.tencent.tap\":[\"tap\"],\"image/vnd.valve.source.texture\":[\"vtf\"],\"image/vnd.wap.wbmp\":[\"wbmp\"],\"image/vnd.xiff\":[\"xif\"],\"image/vnd.zbrush.pcx\":[\"pcx\"],\"image/x-3ds\":[\"3ds\"],\"image/x-cmu-raster\":[\"ras\"],\"image/x-cmx\":[\"cmx\"],\"image/x-freehand\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"],\"image/x-icon\":[\"*ico\"],\"image/x-jng\":[\"jng\"],\"image/x-mrsid-image\":[\"sid\"],\"image/x-ms-bmp\":[\"*bmp\"],\"image/x-pcx\":[\"*pcx\"],\"image/x-pict\":[\"pic\",\"pct\"],\"image/x-portable-anymap\":[\"pnm\"],\"image/x-portable-bitmap\":[\"pbm\"],\"image/x-portable-graymap\":[\"pgm\"],\"image/x-portable-pixmap\":[\"ppm\"],\"image/x-rgb\":[\"rgb\"],\"image/x-tga\":[\"tga\"],\"image/x-xbitmap\":[\"xbm\"],\"image/x-xpixmap\":[\"xpm\"],\"image/x-xwindowdump\":[\"xwd\"],\"message/vnd.wfa.wsc\":[\"wsc\"],\"model/vnd.collada+xml\":[\"dae\"],\"model/vnd.dwf\":[\"dwf\"],\"model/vnd.gdl\":[\"gdl\"],\"model/vnd.gtw\":[\"gtw\"],\"model/vnd.mts\":[\"mts\"],\"model/vnd.opengex\":[\"ogex\"],\"model/vnd.parasolid.transmit.binary\":[\"x_b\"],\"model/vnd.parasolid.transmit.text\":[\"x_t\"],\"model/vnd.sap.vds\":[\"vds\"],\"model/vnd.usdz+zip\":[\"usdz\"],\"model/vnd.valve.source.compiled-map\":[\"bsp\"],\"model/vnd.vtu\":[\"vtu\"],\"text/prs.lines.tag\":[\"dsc\"],\"text/vnd.curl\":[\"curl\"],\"text/vnd.curl.dcurl\":[\"dcurl\"],\"text/vnd.curl.mcurl\":[\"mcurl\"],\"text/vnd.curl.scurl\":[\"scurl\"],\"text/vnd.dvb.subtitle\":[\"sub\"],\"text/vnd.fly\":[\"fly\"],\"text/vnd.fmi.flexstor\":[\"flx\"],\"text/vnd.graphviz\":[\"gv\"],\"text/vnd.in3d.3dml\":[\"3dml\"],\"text/vnd.in3d.spot\":[\"spot\"],\"text/vnd.sun.j2me.app-descriptor\":[\"jad\"],\"text/vnd.wap.wml\":[\"wml\"],\"text/vnd.wap.wmlscript\":[\"wmls\"],\"text/x-asm\":[\"s\",\"asm\"],\"text/x-c\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"],\"text/x-component\":[\"htc\"],\"text/x-fortran\":[\"f\",\"for\",\"f77\",\"f90\"],\"text/x-handlebars-template\":[\"hbs\"],\"text/x-java-source\":[\"java\"],\"text/x-lua\":[\"lua\"],\"text/x-markdown\":[\"mkd\"],\"text/x-nfo\":[\"nfo\"],\"text/x-opml\":[\"opml\"],\"text/x-org\":[\"*org\"],\"text/x-pascal\":[\"p\",\"pas\"],\"text/x-processing\":[\"pde\"],\"text/x-sass\":[\"sass\"],\"text/x-scss\":[\"scss\"],\"text/x-setext\":[\"etx\"],\"text/x-sfv\":[\"sfv\"],\"text/x-suse-ymp\":[\"ymp\"],\"text/x-uuencode\":[\"uu\"],\"text/x-vcalendar\":[\"vcs\"],\"text/x-vcard\":[\"vcf\"],\"video/vnd.dece.hd\":[\"uvh\",\"uvvh\"],\"video/vnd.dece.mobile\":[\"uvm\",\"uvvm\"],\"video/vnd.dece.pd\":[\"uvp\",\"uvvp\"],\"video/vnd.dece.sd\":[\"uvs\",\"uvvs\"],\"video/vnd.dece.video\":[\"uvv\",\"uvvv\"],\"video/vnd.dvb.file\":[\"dvb\"],\"video/vnd.fvt\":[\"fvt\"],\"video/vnd.mpegurl\":[\"mxu\",\"m4u\"],\"video/vnd.ms-playready.media.pyv\":[\"pyv\"],\"video/vnd.uvvu.mp4\":[\"uvu\",\"uvvu\"],\"video/vnd.vivo\":[\"viv\"],\"video/x-f4v\":[\"f4v\"],\"video/x-fli\":[\"fli\"],\"video/x-flv\":[\"flv\"],\"video/x-m4v\":[\"m4v\"],\"video/x-matroska\":[\"mkv\",\"mk3d\",\"mks\"],\"video/x-mng\":[\"mng\"],\"video/x-ms-asf\":[\"asf\",\"asx\"],\"video/x-ms-vob\":[\"vob\"],\"video/x-ms-wm\":[\"wm\"],\"video/x-ms-wmv\":[\"wmv\"],\"video/x-ms-wmx\":[\"wmx\"],\"video/x-ms-wvx\":[\"wvx\"],\"video/x-msvideo\":[\"avi\"],\"video/x-sgi-movie\":[\"movie\"],\"video/x-smv\":[\"smv\"],\"x-conference/x-cooltalk\":[\"ice\"]}});var Tt=F((sn,Mt)=>{\"use strict\";var Mi=zt();Mt.exports=new Mi(Et(),Dt())});var At,qt,Le,Ti,Y,ne,Ai,Fe=ce(()=>{At=se(xe()),qt=se(Tt()),Le=se(pe()),Ti=new Le.Token(\"@jupyterlite/contents:IContents\");(function(n){n.JSON=\"application/json\",n.PLAIN_TEXT=\"text/plain\",n.OCTET_STREAM=\"octet/stream\"})(Y||(Y={}));(function(n){let e=JSON.parse(At.PageConfig.getOption(\"fileTypes\")||\"{}\");function t(a,o=null){a=a.toLowerCase();for(let r of Object.values(e))for(let s of r.extensions||[])if(s===a&&r.mimeTypes&&r.mimeTypes.length)return r.mimeTypes[0];return qt.default.getType(a)||o||Y.OCTET_STREAM}n.getType=t;function i(a,o){a=a.toLowerCase();for(let r of Object.values(e))if(r.fileFormat===o){for(let s of r.extensions||[])if(s===a)return!0}return!1}n.hasFormat=i})(ne||(ne={}));Ai=new Le.Token(\"@jupyterlite/contents:IBroadcastChannelWrapper\")});var oe,X,Lt,Ut,Nt,Be,Se,Ft=ce(()=>{oe=se(xe()),X=se(xe());Fe();Lt=se(pe()),Ut=\"JupyterLite Storage\",Nt=5,Be=class{constructor(e){this.reduceBytesToString=(t,i)=>t+String.fromCharCode(i),this._serverContents=new Map,this._storageName=Ut,this._storageDrivers=null,this._localforage=e.localforage,this._storageName=e.storageName||Ut,this._storageDrivers=e.storageDrivers||null,this._ready=new Lt.PromiseDelegate}async initialize(){await this.initStorage(),this._ready.resolve(void 0)}async initStorage(){this._storage=this.createDefaultStorage(),this._counters=this.createDefaultCounters(),this._checkpoints=this.createDefaultCheckpoints()}get ready(){return this._ready.promise}get storage(){return this.ready.then(()=>this._storage)}get counters(){return this.ready.then(()=>this._counters)}get checkpoints(){return this.ready.then(()=>this._checkpoints)}get defaultStorageOptions(){let e=this._storageDrivers&&this._storageDrivers.length?this._storageDrivers:null;return{version:1,name:this._storageName,...e?{driver:e}:{}}}createDefaultStorage(){return this._localforage.createInstance({description:\"Offline Storage for Notebooks and Files\",storeName:\"files\",...this.defaultStorageOptions})}createDefaultCounters(){return this._localforage.createInstance({description:\"Store the current file suffix counters\",storeName:\"counters\",...this.defaultStorageOptions})}createDefaultCheckpoints(){return this._localforage.createInstance({description:\"Offline Storage for Checkpoints\",storeName:\"checkpoints\",...this.defaultStorageOptions})}async newUntitled(e){var t,i,a;let o=(t=e==null?void 0:e.path)!==null&&t!==void 0?t:\"\",r=(i=e==null?void 0:e.type)!==null&&i!==void 0?i:\"notebook\",s=new Date().toISOString(),l=X.PathExt.dirname(o),m=X.PathExt.basename(o),h=X.PathExt.extname(o),c=await this.get(l),b=\"\";o&&!h&&c?(l=`${o}/`,b=\"\"):l&&m?(l=`${l}/`,b=m):(l=\"\",b=o);let j;switch(r){case\"directory\":{b=`Untitled Folder${await this._incrementCounter(\"directory\")||\"\"}`,j={name:b,path:`${l}${b}`,last_modified:s,created:s,format:\"json\",mimetype:\"\",content:null,size:0,writable:!0,type:\"directory\"};break}case\"notebook\":{let q=await this._incrementCounter(\"notebook\");b=b||`Untitled${q||\"\"}.ipynb`,j={name:b,path:`${l}${b}`,last_modified:s,created:s,format:\"json\",mimetype:Y.JSON,content:Se.EMPTY_NB,size:JSON.stringify(Se.EMPTY_NB).length,writable:!0,type:\"notebook\"};break}default:{let q=(a=e==null?void 0:e.ext)!==null&&a!==void 0?a:\".txt\",O=await this._incrementCounter(\"file\"),S=ne.getType(q)||Y.OCTET_STREAM,R;ne.hasFormat(q,\"text\")||S.indexOf(\"text\")!==-1?R=\"text\":q.indexOf(\"json\")!==-1||q.indexOf(\"ipynb\")!==-1?R=\"json\":R=\"base64\",b=b||`untitled${O||\"\"}${q}`,j={name:b,path:`${l}${b}`,last_modified:s,created:s,format:R,mimetype:S,content:\"\",size:0,writable:!0,type:\"file\"};break}}let C=j.path;return await(await this.storage).setItem(C,j),j}async copy(e,t){let i=X.PathExt.basename(e);for(t=t===\"\"?\"\":`${t.slice(1)}/`;await this.get(`${t}${i}`,{content:!0});){let r=X.PathExt.extname(i);i=`${i.replace(r,\"\")} (copy)${r}`}let a=`${t}${i}`,o=await this.get(e,{content:!0});if(!o)throw Error(`Could not find file with path ${e}`);return o={...o,name:i,path:a},await(await this.storage).setItem(a,o),o}async get(e,t){if(e=decodeURIComponent(e.replace(/^\\//,\"\")),e===\"\")return await this._getFolder(e);let i=await this.storage,a=await i.getItem(e),o=await this._getServerContents(e,t),r=a||o;if(!r)return null;if(!(t!=null&&t.content))return{size:0,...r,content:null};if(r.type===\"directory\"){let s=new Map;await i.iterate((h,c)=>{c===`${e}/${h.name}`&&s.set(h.name,h)});let l=o?o.content:Array.from((await this._getServerDirectory(e)).values());for(let h of l)s.has(h.name)||s.set(h.name,h);let m=[...s.values()];return{name:X.PathExt.basename(e),path:e,last_modified:r.last_modified,created:r.created,format:\"json\",mimetype:Y.JSON,content:m,size:0,writable:!0,type:\"directory\"}}return r}async rename(e,t){let i=decodeURIComponent(e),a=await this.get(i,{content:!0});if(!a)throw Error(`Could not find file with path ${i}`);let o=new Date().toISOString(),r=X.PathExt.basename(t),s={...a,name:r,path:t,last_modified:o},l=await this.storage;if(await l.setItem(t,s),await l.removeItem(i),await(await this.checkpoints).removeItem(i),a.type===\"directory\"){let m;for(m of a.content)await this.rename(oe.URLExt.join(e,m.name),oe.URLExt.join(t,m.name))}return s}async save(e,t={}){var i;e=decodeURIComponent(e);let a=X.PathExt.extname((i=t.name)!==null&&i!==void 0?i:\"\"),o=t.chunk,r=o?o>1||o===-1:!1,s=await this.get(e,{content:r});if(s||(s=await this.newUntitled({path:e,ext:a,type:\"file\"})),!s)return null;let l=s.content,m=new Date().toISOString();if(s={...s,...t,last_modified:m},t.content&&t.format===\"base64\"){let h=o?o===-1:!0;if(a===\".ipynb\"){let c=this._handleChunk(t.content,l,r);s={...s,content:h?JSON.parse(c):c,format:\"json\",type:\"notebook\",size:c.length}}else if(ne.hasFormat(a,\"json\")){let c=this._handleChunk(t.content,l,r);s={...s,content:h?JSON.parse(c):c,format:\"json\",type:\"file\",size:c.length}}else if(ne.hasFormat(a,\"text\")){let c=this._handleChunk(t.content,l,r);s={...s,content:c,format:\"text\",type:\"file\",size:c.length}}else{let c=t.content;s={...s,content:c,size:atob(c).length}}}return await(await this.storage).setItem(e,s),s}async delete(e){e=decodeURIComponent(e);let t=`${e}/`,i=(await(await this.storage).keys()).filter(a=>a===e||a.startsWith(t));await Promise.all(i.map(this.forgetPath,this))}async forgetPath(e){await Promise.all([(await this.storage).removeItem(e),(await this.checkpoints).removeItem(e)])}async createCheckpoint(e){var t;let i=await this.checkpoints;e=decodeURIComponent(e);let a=await this.get(e,{content:!0});if(!a)throw Error(`Could not find file with path ${e}`);let o=((t=await i.getItem(e))!==null&&t!==void 0?t:[]).filter(Boolean);return o.push(a),o.length>Nt&&o.splice(0,o.length-Nt),await i.setItem(e,o),{id:`${o.length-1}`,last_modified:a.last_modified}}async listCheckpoints(e){return(await(await this.checkpoints).getItem(e)||[]).filter(Boolean).map(this.normalizeCheckpoint,this)}normalizeCheckpoint(e,t){return{id:t.toString(),last_modified:e.last_modified}}async restoreCheckpoint(e,t){e=decodeURIComponent(e);let i=await(await this.checkpoints).getItem(e)||[],a=parseInt(t),o=i[a];await(await this.storage).setItem(e,o)}async deleteCheckpoint(e,t){e=decodeURIComponent(e);let i=await(await this.checkpoints).getItem(e)||[],a=parseInt(t);i.splice(a,1),await(await this.checkpoints).setItem(e,i)}_handleChunk(e,t,i){let a=decodeURIComponent(escape(atob(e)));return i?t+a:a}async _getFolder(e){let t=new Map;await(await this.storage).iterate((a,o)=>{o.includes(\"/\")||t.set(a.path,a)});for(let a of(await this._getServerDirectory(e)).values())t.has(a.path)||t.set(a.path,a);return e&&t.size===0?null:{name:\"\",path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:\"json\",mimetype:Y.JSON,content:Array.from(t.values()),size:0,writable:!0,type:\"directory\"}}async _getServerContents(e,t){let i=X.PathExt.basename(e),o=(await this._getServerDirectory(oe.URLExt.join(e,\"..\"))).get(i);if(!o)return null;if(o=o||{name:i,path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:\"text\",mimetype:Y.PLAIN_TEXT,type:\"file\",writable:!0,size:0,content:\"\"},t!=null&&t.content)if(o.type===\"directory\"){let r=await this._getServerDirectory(e);o={...o,content:Array.from(r.values())}}else{let r=oe.URLExt.join(oe.PageConfig.getBaseUrl(),\"files\",e),s=await fetch(r);if(!s.ok)return null;let l=o.mimetype||s.headers.get(\"Content-Type\"),m=X.PathExt.extname(i);if(o.type===\"notebook\"||ne.hasFormat(m,\"json\")||(l==null?void 0:l.indexOf(\"json\"))!==-1||e.match(/\\.(ipynb|[^/]*json[^/]*)$/)){let h=await s.text();o={...o,content:JSON.parse(h),format:\"json\",mimetype:o.mimetype||Y.JSON,size:h.length}}else if(ne.hasFormat(m,\"text\")||l.indexOf(\"text\")!==-1){let h=await s.text();o={...o,content:h,format:\"text\",mimetype:l||Y.PLAIN_TEXT,size:h.length}}else{let h=await s.arrayBuffer(),c=new Uint8Array(h);o={...o,content:btoa(c.reduce(this.reduceBytesToString,\"\")),format:\"base64\",mimetype:l||Y.OCTET_STREAM,size:c.length}}}return o}async _getServerDirectory(e){let t=this._serverContents.get(e)||new Map;if(!this._serverContents.has(e)){let i=oe.URLExt.join(oe.PageConfig.getBaseUrl(),\"api/contents\",e,\"all.json\");try{let a=await fetch(i),o=JSON.parse(await a.text());for(let r of o.content)t.set(r.name,r)}catch(a){console.warn(`don't worry, about ${a}... nothing's broken. If there had been a\n file at ${i}, you might see some more files.`)}this._serverContents.set(e,t)}return t}async _incrementCounter(e){var t;let i=await this.counters,o=((t=await i.getItem(e))!==null&&t!==void 0?t:-1)+1;return await i.setItem(e,o),o}};(function(n){n.EMPTY_NB={metadata:{orig_nbformat:4},nbformat_minor:4,nbformat:4,cells:[]}})(Se||(Se={}))});var ze,Bt,qi,Ui,$t=ce(()=>{ze=16895,Bt=33206,qi=1,Ui=2});var Wt,He,De,Ni,Li,Ht,Re,Ee,Ie,$e,We=ce(()=>{Wt=\":\",He=\"/api/drive.v1\",De=4096,Ni=new TextEncoder,Li=new TextDecoder(\"utf-8\"),Ht={0:!1,1:!0,2:!0,64:!0,65:!0,66:!0,129:!0,193:!0,514:!0,577:!0,578:!0,705:!0,706:!0,1024:!0,1025:!0,1026:!0,1089:!0,1090:!0,1153:!0,1154:!0,1217:!0,1218:!0,4096:!0,4098:!0},Re=class{constructor(e){this.fs=e}open(e){let t=this.fs.realPath(e.node);this.fs.FS.isFile(e.node.mode)&&(e.file=this.fs.API.get(t))}close(e){if(!this.fs.FS.isFile(e.node.mode)||!e.file)return;let t=this.fs.realPath(e.node),i=e.flags,a=typeof i==\"string\"?parseInt(i,10):i;a&=8191;let o=!0;a in Ht&&(o=Ht[a]),o&&this.fs.API.put(t,e.file),e.file=void 0}read(e,t,i,a,o){if(a<=0||e.file===void 0||o>=(e.file.data.length||0))return 0;let r=Math.min(e.file.data.length-o,a);return t.set(e.file.data.subarray(o,o+r),i),r}write(e,t,i,a,o){var r;if(a<=0||e.file===void 0)return 0;if(e.node.timestamp=Date.now(),o+a>(((r=e.file)===null||r===void 0?void 0:r.data.length)||0)){let s=e.file.data?e.file.data:new Uint8Array;e.file.data=new Uint8Array(o+a),e.file.data.set(s)}return e.file.data.set(t.subarray(i,i+a),o),a}llseek(e,t,i){let a=t;if(i===1)a+=e.position;else if(i===2&&this.fs.FS.isFile(e.node.mode))if(e.file!==void 0)a+=e.file.data.length;else throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM);if(a<0)throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EINVAL);return a}},Ee=class{constructor(e){this.fs=e}getattr(e){return{...this.fs.API.getattr(this.fs.realPath(e)),mode:e.mode,ino:e.id}}setattr(e,t){for(let[i,a]of Object.entries(t))switch(i){case\"mode\":e.mode=a;break;case\"timestamp\":e.timestamp=a;break;default:console.warn(\"setattr\",i,\"of\",a,\"on\",e,\"not yet implemented\");break}}lookup(e,t){let i=this.fs.PATH.join2(this.fs.realPath(e),t),a=this.fs.API.lookup(i);if(!a.ok)throw this.fs.FS.genericErrors[this.fs.ERRNO_CODES.ENOENT];return this.fs.createNode(e,t,a.mode,0)}mknod(e,t,i,a){let o=this.fs.PATH.join2(this.fs.realPath(e),t);return this.fs.API.mknod(o,i),this.fs.createNode(e,t,i,a)}rename(e,t,i){this.fs.API.rename(e.parent?this.fs.PATH.join2(this.fs.realPath(e.parent),e.name):e.name,this.fs.PATH.join2(this.fs.realPath(t),i)),e.name=i,e.parent=t}unlink(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(e),t))}rmdir(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(e),t))}readdir(e){return this.fs.API.readdir(this.fs.realPath(e))}symlink(e,t,i){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}readlink(e){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}},Ie=class{constructor(e,t,i,a,o){this._baseUrl=e,this._driveName=t,this._mountpoint=i,this.FS=a,this.ERRNO_CODES=o}request(e){let t=new XMLHttpRequest;t.open(\"POST\",encodeURI(this.endpoint),!1);try{t.send(JSON.stringify(e))}catch(i){console.error(i)}if(t.status>=400)throw new this.FS.ErrnoError(this.ERRNO_CODES.EINVAL);return JSON.parse(t.responseText)}lookup(e){return this.request({method:\"lookup\",path:this.normalizePath(e)})}getmode(e){return Number.parseInt(this.request({method:\"getmode\",path:this.normalizePath(e)}))}mknod(e,t){return this.request({method:\"mknod\",path:this.normalizePath(e),data:{mode:t}})}rename(e,t){return this.request({method:\"rename\",path:this.normalizePath(e),data:{newPath:this.normalizePath(t)}})}readdir(e){let t=this.request({method:\"readdir\",path:this.normalizePath(e)});return t.push(\".\"),t.push(\"..\"),t}rmdir(e){return this.request({method:\"rmdir\",path:this.normalizePath(e)})}get(e){let t=this.request({method:\"get\",path:this.normalizePath(e)}),i=t.content,a=t.format;switch(a){case\"json\":case\"text\":return{data:Ni.encode(i),format:a};case\"base64\":{let o=atob(i),r=o.length,s=new Uint8Array(r);for(let l=0;l{Ke=se(xe());We();Je=class{constructor(e){this.isDisposed=!1,this._onMessage=async t=>{if(!this._channel)return;let{_contents:i}=this,a=t.data,o=a==null?void 0:a.path;if((a==null?void 0:a.receiver)!==\"broadcast.ts\")return;let s=null,l;switch(a==null?void 0:a.method){case\"readdir\":l=await i.get(o,{content:!0}),s=[],l.type===\"directory\"&&l.content&&(s=l.content.map(m=>m.name));break;case\"rmdir\":await i.delete(o);break;case\"rename\":await i.rename(o,a.data.newPath);break;case\"getmode\":l=await i.get(o),l.type===\"directory\"?s=16895:s=33206;break;case\"lookup\":try{l=await i.get(o),s={ok:!0,mode:l.type===\"directory\"?16895:33206}}catch{s={ok:!1}}break;case\"mknod\":l=await i.newUntitled({path:Ke.PathExt.dirname(o),type:Number.parseInt(a.data.mode)===16895?\"directory\":\"file\",ext:Ke.PathExt.extname(o)}),await i.rename(l.path,o);break;case\"getattr\":{l=await i.get(o);let m=new Date(0).toISOString();s={dev:1,nlink:1,uid:0,gid:0,rdev:0,size:l.size||0,blksize:De,blocks:Math.ceil(l.size||0/De),atime:l.last_modified||m,mtime:l.last_modified||m,ctime:l.created||m,timestamp:0};break}case\"get\":if(l=await i.get(o,{content:!0}),l.type===\"directory\")break;s={content:l.format===\"json\"?JSON.stringify(l.content):l.content,format:l.format};break;case\"put\":await i.save(o,{content:a.data.format===\"json\"?JSON.parse(a.data.data):a.data.data,type:\"file\",format:a.data.format});break;default:s=null;break}this._channel.postMessage(s)},this._channel=null,this._enabled=!1,this._contents=e.contents}get enabled(){return this._enabled}enable(){if(this._channel){console.warn(\"BroadcastChannel already created and enabled\");return}this._channel=new BroadcastChannel(He),this._channel.addEventListener(\"message\",this._onMessage),this._enabled=!0}disable(){this._channel&&(this._channel.removeEventListener(\"message\",this._onMessage),this._channel=null),this._enabled=!1}dispose(){this.isDisposed||(this.disable(),this.isDisposed=!0)}}});var Jt={};li(Jt,{BLOCK_SIZE:()=>De,BroadcastChannelWrapper:()=>Je,Contents:()=>Be,ContentsAPI:()=>Ie,DIR_MODE:()=>ze,DRIVE_API_PATH:()=>He,DRIVE_SEPARATOR:()=>Wt,DriveFS:()=>$e,DriveFSEmscriptenNodeOps:()=>Ee,DriveFSEmscriptenStreamOps:()=>Re,FILE:()=>ne,FILE_MODE:()=>Bt,IBroadcastChannelWrapper:()=>Ai,IContents:()=>Ti,MIME:()=>Y,SEEK_CUR:()=>qi,SEEK_END:()=>Ui});var Vt=ce(()=>{Ft();We();Fe();Kt();$t()});var Yt=class{constructor(){this._options=null;this._initializer=null;this._pyodide=null;this._localPath=\"\";this._driveName=\"\";this._driveFS=null;this._initialized=new Promise((e,t)=>{this._initializer={resolve:e,reject:t}})}async initialize(e){var t;if(this._options=e,e.location.includes(\":\")){let i=e.location.split(\":\");this._driveName=i[0],this._localPath=i[1]}else this._driveName=\"\",this._localPath=e.location;await this.initRuntime(e),await this.initFilesystem(e),await this.initPackageManager(e),await this.initKernel(e),await this.initGlobals(e),(t=this._initializer)==null||t.resolve()}async initRuntime(e){let{pyodideUrl:t,indexUrl:i}=e,a;t.endsWith(\".mjs\")?a=(await import(t)).loadPyodide:(importScripts(t),a=self.loadPyodide),this._pyodide=await a({indexURL:i})}async initPackageManager(e){if(!this._options)throw new Error(\"Uninitialized\");let{pipliteWheelUrl:t,disablePyPIFallback:i,pipliteUrls:a}=this._options;await this._pyodide.loadPackage([\"micropip\"]),await this._pyodide.runPythonAsync(`\n import micropip\n await micropip.install('${t}', keep_going=True)\n import piplite.piplite\n piplite.piplite._PIPLITE_DISABLE_PYPI = ${i?\"True\":\"False\"}\n piplite.piplite._PIPLITE_URLS = ${JSON.stringify(a)}\n `)}async initKernel(e){await this._pyodide.runPythonAsync(`\n await piplite.install(['ssl'], keep_going=True);\n await piplite.install(['sqlite3'], keep_going=True);\n await piplite.install(['ipykernel'], keep_going=True);\n await piplite.install(['comm'], keep_going=True);\n await piplite.install(['pyodide_kernel'], keep_going=True);\n await piplite.install(['ipython'], keep_going=True);\n import pyodide_kernel\n `),e.mountDrive&&this._localPath&&await this._pyodide.runPythonAsync(`\n import os;\n os.chdir(\"${this._localPath}\");\n `)}async initGlobals(e){let{globals:t}=this._pyodide;this._kernel=t.get(\"pyodide_kernel\").kernel_instance.copy(),this._stdout_stream=t.get(\"pyodide_kernel\").stdout_stream.copy(),this._stderr_stream=t.get(\"pyodide_kernel\").stderr_stream.copy(),this._interpreter=this._kernel.interpreter.copy(),this._interpreter.send_comm=this.sendComm.bind(this)}async initFilesystem(e){if(e.mountDrive){let t=\"/drive\",{FS:i,PATH:a,ERRNO_CODES:o}=this._pyodide,{baseUrl:r}=e,{DriveFS:s}=await Promise.resolve().then(()=>(Vt(),Jt)),l=new s({FS:i,PATH:a,ERRNO_CODES:o,baseUrl:r,driveName:this._driveName,mountpoint:t});i.mkdir(t),i.mount(l,{},t),i.chdir(t),this._driveFS=l}}mapToObject(e){let t=e instanceof Array?[]:{};return e.forEach((i,a)=>{t[a]=i instanceof Map||i instanceof Array?this.mapToObject(i):i}),t}formatResult(e){if(!(e instanceof this._pyodide.ffi.PyProxy))return e;let t=e.toJs();return this.mapToObject(t)}async setup(e){await this._initialized,this._kernel._parent_header=this._pyodide.toPy(e)}async execute(e,t){await this.setup(t);let i=(c,b,j)=>{let C={execution_count:c,data:this.formatResult(b),metadata:this.formatResult(j)};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:C,type:\"execute_result\"})},a=(c,b,j)=>{let C={ename:c,evalue:b,traceback:j};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:C,type:\"execute_error\"})},o=c=>{let b={wait:this.formatResult(c)};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:b,type:\"clear_output\"})},r=(c,b,j)=>{let C={data:this.formatResult(c),metadata:this.formatResult(b),transient:this.formatResult(j)};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:C,type:\"display_data\"})},s=(c,b,j)=>{let C={data:this.formatResult(c),metadata:this.formatResult(b),transient:this.formatResult(j)};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:C,type:\"update_display_data\"})},l=(c,b)=>{let j={name:this.formatResult(c),text:this.formatResult(b)};postMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:j,type:\"stream\"})};this._stdout_stream.publish_stream_callback=l,this._stderr_stream.publish_stream_callback=l,this._interpreter.display_pub.clear_output_callback=o,this._interpreter.display_pub.display_data_callback=r,this._interpreter.display_pub.update_display_data_callback=s,this._interpreter.displayhook.publish_execution_result=i,this._interpreter.input=this.input.bind(this),this._interpreter.getpass=this.getpass.bind(this);let m=await this._kernel.run(e.code),h=this.formatResult(m);return h.status===\"error\"&&a(h.ename,h.evalue,h.traceback),h}async complete(e,t){await this.setup(t);let i=this._kernel.complete(e.code,e.cursor_pos);return this.formatResult(i)}async inspect(e,t){await this.setup(t);let i=this._kernel.inspect(e.code,e.cursor_pos,e.detail_level);return this.formatResult(i)}async isComplete(e,t){await this.setup(t);let i=this._kernel.is_complete(e.code);return this.formatResult(i)}async commInfo(e,t){await this.setup(t);let i=this._kernel.comm_info(e.target_name);return{comms:this.formatResult(i),status:\"ok\"}}async commOpen(e,t){await this.setup(t);let i=this._kernel.comm_manager.comm_open(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(i)}async commMsg(e,t){await this.setup(t);let i=this._kernel.comm_manager.comm_msg(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(i)}async commClose(e,t){await this.setup(t);let i=this._kernel.comm_manager.comm_close(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(i)}async inputReply(e,t){await this.setup(t),this._resolveInputReply(e)}async sendInputRequest(e,t){let i={prompt:e,password:t};postMessage({type:\"input_request\",parentHeader:this.formatResult(this._kernel._parent_header).header,content:i})}async getpass(e){return e=typeof e==\"undefined\"?\"\":e,await this.sendInputRequest(e,!0),(await new Promise(a=>{this._resolveInputReply=a})).value}async input(e){return e=typeof e==\"undefined\"?\"\":e,await this.sendInputRequest(e,!1),(await new Promise(a=>{this._resolveInputReply=a})).value}async sendComm(e,t,i,a,o){postMessage({type:e,content:this.formatResult(t),metadata:this.formatResult(i),ident:this.formatResult(a),buffers:this.formatResult(o),parentHeader:this.formatResult(this._kernel._parent_header).header})}};export{Yt as PyodideRemoteKernel};\n//# sourceMappingURL=worker.js.map\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 476;\nmodule.exports = webpackEmptyAsyncContext;"],"names":["cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","call","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","i","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","ni","Object","create","Me","defineProperty","ai","getOwnPropertyDescriptor","oi","getOwnPropertyNames","si","getPrototypeOf","ri","hasOwnProperty","ce","n","F","li","t","get","enumerable","ci","a","se","__esModule","value","Ye","be","Ve","j","u","v","x","y","S","ArrayExt","g","w","d","p","_","f","Math","max","min","k","U","M","K","me","firstIndexOf","lastIndexOf","findFirstIndex","findLastIndex","findFirstValue","findLastValue","lowerBound","Z","fe","upperBound","shallowEqual","slice","start","stop","step","floor","move","reverse","rotate","fill","insert","removeAt","removeFirstOf","removeLastOf","removeAllOf","removeFirstWhere","index","removeLastWhere","removeAllWhere","rangeLength","ceil","StringExt","T","A","H","L","W","$","indexOf","findIndices","matchSumOfSquares","G","score","indices","matchSumOfDeltas","Q","highlight","cmp","chain","each","empty","enumerate","every","filter","find","findIndex","map","minmax","B","range","reduce","Symbol","iterator","next","done","TypeError","repeat","retro","some","stride","take","toArray","from","toObject","topologicSort","Set","Map","set","has","add","zip","define","globalThis","self","lumino_algorithm","pe","we","Ze","r","s","l","m","random","JSONExt","O","isArray","emptyObject","freeze","emptyArray","isPrimitive","isObject","deepEqual","h","R","I","b","P","deepCopy","c","C","q","Random","getRandomValues","window","crypto","msCrypto","UUID","uuid4","Uint8Array","toString","o","MimeData","constructor","_types","_values","types","hasData","getData","setData","clearData","splice","clear","PromiseDelegate","promise","Promise","_resolve","_reject","resolve","reject","Token","description","_tokenStructuralPropertyT","lumino_coreutils","Xe","ye","Ge","sender","connect","disconnect","disconnectBetween","disconnectSender","disconnectReceiver","disconnectAll","getExceptionHandler","exceptionHandler","setExceptionHandler","super","_pending","asyncIterator","catch","z","E","signal","thisArg","slot","console","error","WeakMap","requestAnimationFrame","setImmediate","size","N","forEach","V","D","Signal","Stream","lumino_signaling","et","_e","ActivityMonitor","Qe","_timer","_timeout","_isDisposed","_activityStopped","_onSignalFired","activityStopped","isDisposed","dispose","_sender","_args","Te","it","tt","nt","ue","MarkdownCodeBlocks","CODE_BLOCK_MARKER","startLine","code","endLine","MarkdownCodeBlock","isMarkdown","findMarkdownCodeBlocks","split","substring","rt","Wi","st","at","test","ot","bools","strings","unknownFn","unknown","boolean","allBools","Boolean","keys","alias","string","default","Number","String","match","stopEarly","di","ke","Ki","ct","ee","JSON","stringify","lt","charCodeAt","de","normalize","isAbsolute","join","relative","_makeLong","dirname","basename","extname","format","root","base","ext","mi","parse","sep","delimiter","win32","posix","dt","Ji","pt","ut","Ae","fi","mt","decodeURIComponent","replace","ft","encodeURIComponent","isNaN","exec","hi","_t","Yi","yt","vt","je","gi","gt","xi","xt","bi","wi","Ue","qe","te","protocol","NaN","ht","hash","query","bt","location","ie","unescape","pathname","slashes","href","wt","toLowerCase","slashesCount","rest","charAt","unshift","yi","port","host","hostname","username","password","auth","origin","pop","extractProtocol","trimLeft","qs","Ne","re","ji","__importDefault","URLExt","Ci","Ce","document","createElement","getHostName","encodeParts","objectToQueryString","queryStringToObject","isLocal","kt","PageConfig","coreutils_1","minimist_1","url_1","getOption","configData","getBodyData","found","getElementById","textContent","cli","path","fullPath","JUPYTER_CONFIG_DATA","eval","setOption","getBaseUrl","getTreeUrl","getShareUrl","getTreeShareUrl","getUrl","toShare","mode","workspace","defaultWorkspace","treePath","getWsUrl","getNBConvertURL","download","getToken","getNotebookVersion","Extension","body","dataset","warn","deferred","disabled","isDeferred","isDisabled","jt","he","PathExt","le","normalizeExtension","removeSlash","Ct","Oe","signalToPromise","Si","zi","Ot","ve","Text","jsIndexToCharIndex","charIndexToJsIndex","camelCase","toUpperCase","titleCase","Pt","ge","Time","Ei","milliseconds","formatHuman","documentElement","lang","Intl","RelativeTimeFormat","numeric","Date","getTime","now","DateTimeFormat","dateStyle","timeStyle","xe","J","Di","__createBinding","writable","configurable","ae","__exportStar","zt","nn","St","Pe","_extensions","bind","getType","getExtension","substr","RegExp","$1","Et","an","Rt","Dt","It","Tt","sn","Mt","Mi","At","qt","Le","Ti","Y","ne","Ai","Fe","PLAIN_TEXT","OCTET_STREAM","values","extensions","mimeTypes","hasFormat","fileFormat","oe","X","Lt","Ut","Nt","Be","Se","Ft","reduceBytesToString","fromCharCode","_serverContents","_storageName","_storageDrivers","_localforage","localforage","storageName","storageDrivers","_ready","initialize","initStorage","_storage","createDefaultStorage","_counters","createDefaultCounters","_checkpoints","createDefaultCheckpoints","ready","storage","then","counters","checkpoints","defaultStorageOptions","driver","createInstance","storeName","newUntitled","type","toISOString","_incrementCounter","last_modified","created","mimetype","content","EMPTY_NB","setItem","copy","_getFolder","getItem","_getServerContents","iterate","_getServerDirectory","rename","removeItem","save","chunk","_handleChunk","atob","startsWith","all","forgetPath","createCheckpoint","id","listCheckpoints","normalizeCheckpoint","restoreCheckpoint","parseInt","deleteCheckpoint","escape","includes","fetch","ok","headers","text","arrayBuffer","btoa","metadata","orig_nbformat","nbformat_minor","nbformat","cells","ze","Bt","qi","Ui","$t","Wt","He","De","Ni","Li","Ht","Re","Ee","Ie","$e","We","TextEncoder","TextDecoder","fs","open","realPath","node","FS","isFile","file","API","close","flags","put","read","data","subarray","write","timestamp","llseek","position","ErrnoError","ERRNO_CODES","EPERM","EINVAL","getattr","ino","setattr","entries","lookup","PATH","join2","genericErrors","ENOENT","createNode","mknod","parent","unlink","rmdir","readdir","symlink","readlink","_baseUrl","_driveName","_mountpoint","request","XMLHttpRequest","encodeURI","endpoint","send","status","responseText","method","normalizePath","getmode","newPath","encode","decode","byteLength","atime","mtime","ctime","baseUrl","driveName","mountpoint","node_ops","stream_ops","mount","isDir","getMode","Ke","Je","Kt","_onMessage","async","_channel","_contents","receiver","delete","dev","nlink","uid","gid","rdev","blksize","blocks","postMessage","_enabled","contents","enabled","enable","BroadcastChannel","addEventListener","disable","removeEventListener","Jt","BLOCK_SIZE","BroadcastChannelWrapper","Contents","ContentsAPI","DIR_MODE","DRIVE_API_PATH","DRIVE_SEPARATOR","DriveFS","DriveFSEmscriptenNodeOps","DriveFSEmscriptenStreamOps","FILE","FILE_MODE","IBroadcastChannelWrapper","IContents","MIME","SEEK_CUR","SEEK_END","Vt","Yt","_options","_initializer","_pyodide","_localPath","_driveFS","_initialized","initRuntime","initFilesystem","initPackageManager","initKernel","initGlobals","pyodideUrl","indexUrl","endsWith","loadPyodide","importScripts","indexURL","pipliteWheelUrl","disablePyPIFallback","pipliteUrls","loadPackage","runPythonAsync","mountDrive","globals","_kernel","kernel_instance","_stdout_stream","stdout_stream","_stderr_stream","stderr_stream","_interpreter","interpreter","send_comm","sendComm","mkdir","mapToObject","formatResult","ffi","PyProxy","toJs","setup","_parent_header","toPy","execute","parentHeader","header","bundle","publish_stream_callback","display_pub","clear_output_callback","wait","display_data_callback","transient","update_display_data_callback","displayhook","publish_execution_result","execution_count","input","getpass","ename","evalue","traceback","complete","cursor_pos","inspect","detail_level","isComplete","is_complete","commInfo","comm_info","target_name","comms","commOpen","comm_manager","comm_open","commMsg","comm_msg","commClose","comm_close","inputReply","_resolveInputReply","sendInputRequest","prompt","ident","buffers","webpackEmptyAsyncContext","req"],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js deleted file mode 100644 index 9502491bcb7..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js +++ /dev/null @@ -1,90 +0,0 @@ -'use strict'; -(self.webpackChunk_jupyterlite_pyodide_kernel_extension = - self.webpackChunk_jupyterlite_pyodide_kernel_extension || []).push([ - [154], - { - 260: (e, l, n) => { - n.r(l), - n.d(l, { KERNEL_SETTINGS_SCHEMA: () => o, default: () => p }); - var t = n(281), - i = n(976), - s = n(240), - r = n(540); - const a = n.p + 'schema/kernel.v0.schema.json'; - var o = n.t(a); - const h = `data:image/svg+xml;base64,${btoa( - '\n\n \n \n \n \n \n \n \n \n\n' - )}`, - d = '@jupyterlite/pyodide-kernel-extension:kernel', - p = [ - { - id: d, - autoStart: !0, - requires: [s.IKernelSpecs], - optional: [ - i.IServiceWorkerManager, - r.IBroadcastChannelWrapper, - ], - activate: (e, l, i, s) => { - const r = - JSON.parse( - t.PageConfig.getOption( - 'litePluginSettings' - ) || '{}' - )[d] || {}, - a = - r.pyodideUrl || - 'https://cdn.jsdelivr.net/pyodide/v0.25.0/full/pyodide.js', - o = t.URLExt.parse(a).href, - p = r.pipliteWheelUrl - ? t.URLExt.parse(r.pipliteWheelUrl).href - : void 0, - c = (r.pipliteUrls || []).map( - e => t.URLExt.parse(e).href - ), - v = !!r.disablePyPIFallback; - l.register({ - spec: { - name: 'python', - display_name: 'Python (Pyodide)', - language: 'python', - argv: [], - resources: { - 'logo-32x32': h, - 'logo-64x64': h, - }, - }, - create: async e => { - const { PyodideKernel: l } = await n - .e(728) - .then(n.t.bind(n, 728, 23)), - t = !( - !(null == i ? void 0 : i.enabled) || - !(null == s ? void 0 : s.enabled) - ); - return ( - t - ? console.info( - 'Pyodide contents will be synced with Jupyter Contents' - ) - : console.warn( - 'Pyodide contents will NOT be synced with Jupyter Contents' - ), - new l({ - ...e, - pyodideUrl: o, - pipliteWheelUrl: p, - pipliteUrls: c, - disablePyPIFallback: v, - mountDrive: t, - }) - ); - }, - }); - }, - }, - ]; - }, - }, -]); -//# sourceMappingURL=154.44c9e2db1c8a2cc6b5da.js.map?v=44c9e2db1c8a2cc6b5da diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js.map b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js.map deleted file mode 100644 index 16eee0902c0..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/154.44c9e2db1c8a2cc6b5da.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"154.44c9e2db1c8a2cc6b5da.js?v=44c9e2db1c8a2cc6b5da","mappings":"6TAQMA,EAAkB,6BAA6BC,K,4iCAQ/CC,EAAY,+CAoDlB,EADgB,CA/CD,CACXC,GAAID,EACJE,WAAW,EACXC,SAAU,CAAC,EAAAC,cACXC,SAAU,CAAC,EAAAC,sBAAuB,EAAAC,0BAClCC,SAAU,CAACC,EAAKC,EAAaC,EAAeC,KACxC,MAAMC,EAASC,KAAKC,MAAM,EAAAC,WAAWC,UAAU,uBAAyB,MAAMjB,IAAc,CAAC,EACvFkB,EAAML,EAAOM,YAfH,2DAgBVA,EAAa,EAAAC,OAAOL,MAAMG,GAAKG,KAC/BC,EAAkBT,EAAOS,gBACzB,EAAAF,OAAOL,MAAMF,EAAOS,iBAAiBD,UACrCE,EAEAC,GADaX,EAAOW,aAAe,IACVC,KAAKC,GAAW,EAAAN,OAAOL,MAAMW,GAAQL,OAC9DM,IAAwBd,EAAOc,oBACrCjB,EAAYkB,SAAS,CACjBC,KAAM,CACFC,KAAM,SACNC,aAAc,mBACdC,SAAU,SACVC,KAAM,GACNC,UAAW,CACP,aAAcpC,EACd,aAAcA,IAGtBqC,OAAQC,MAAOC,IACX,MAAM,cAAEC,SAAwB,kCAC1BC,MAAiB5B,aAAqD,EAASA,EAAc6B,YAAa5B,aAA2D,EAASA,EAAiB4B,UAOrM,OANID,EACAE,QAAQC,KAAK,yDAGbD,QAAQE,KAAK,6DAEV,IAAIL,EAAc,IAClBD,EACHlB,aACAG,kBACAE,cACAG,sBACAY,cACF,GAER,G","sources":["webpack://@jupyterlite/pyodide-kernel-extension/./lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { PageConfig, URLExt } from '@jupyterlab/coreutils';\nimport { IServiceWorkerManager, } from '@jupyterlite/server';\nimport { IKernelSpecs } from '@jupyterlite/kernel';\nimport { IBroadcastChannelWrapper } from '@jupyterlite/contents';\nexport * as KERNEL_SETTINGS_SCHEMA from '../schema/kernel.v0.schema.json';\nimport KERNEL_ICON_SVG_STR from '../style/img/pyodide.svg';\nconst KERNEL_ICON_URL = `data:image/svg+xml;base64,${btoa(KERNEL_ICON_SVG_STR)}`;\n/**\n * The default CDN fallback for Pyodide\n */\nconst PYODIDE_CDN_URL = 'https://cdn.jsdelivr.net/pyodide/v0.25.0/full/pyodide.js';\n/**\n * The id for the extension, and key in the litePlugins.\n */\nconst PLUGIN_ID = '@jupyterlite/pyodide-kernel-extension:kernel';\n/**\n * A plugin to register the Pyodide kernel.\n */\nconst kernel = {\n id: PLUGIN_ID,\n autoStart: true,\n requires: [IKernelSpecs],\n optional: [IServiceWorkerManager, IBroadcastChannelWrapper],\n activate: (app, kernelspecs, serviceWorker, broadcastChannel) => {\n const config = JSON.parse(PageConfig.getOption('litePluginSettings') || '{}')[PLUGIN_ID] || {};\n const url = config.pyodideUrl || PYODIDE_CDN_URL;\n const pyodideUrl = URLExt.parse(url).href;\n const pipliteWheelUrl = config.pipliteWheelUrl\n ? URLExt.parse(config.pipliteWheelUrl).href\n : undefined;\n const rawPipUrls = config.pipliteUrls || [];\n const pipliteUrls = rawPipUrls.map((pipUrl) => URLExt.parse(pipUrl).href);\n const disablePyPIFallback = !!config.disablePyPIFallback;\n kernelspecs.register({\n spec: {\n name: 'python',\n display_name: 'Python (Pyodide)',\n language: 'python',\n argv: [],\n resources: {\n 'logo-32x32': KERNEL_ICON_URL,\n 'logo-64x64': KERNEL_ICON_URL,\n },\n },\n create: async (options) => {\n const { PyodideKernel } = await import('@jupyterlite/pyodide-kernel');\n const mountDrive = !!((serviceWorker === null || serviceWorker === void 0 ? void 0 : serviceWorker.enabled) && (broadcastChannel === null || broadcastChannel === void 0 ? void 0 : broadcastChannel.enabled));\n if (mountDrive) {\n console.info('Pyodide contents will be synced with Jupyter Contents');\n }\n else {\n console.warn('Pyodide contents will NOT be synced with Jupyter Contents');\n }\n return new PyodideKernel({\n ...options,\n pyodideUrl,\n pipliteWheelUrl,\n pipliteUrls,\n disablePyPIFallback,\n mountDrive,\n });\n },\n });\n },\n};\nconst plugins = [kernel];\nexport default plugins;\n"],"names":["KERNEL_ICON_URL","btoa","PLUGIN_ID","id","autoStart","requires","IKernelSpecs","optional","IServiceWorkerManager","IBroadcastChannelWrapper","activate","app","kernelspecs","serviceWorker","broadcastChannel","config","JSON","parse","PageConfig","getOption","url","pyodideUrl","URLExt","href","pipliteWheelUrl","undefined","pipliteUrls","map","pipUrl","disablePyPIFallback","register","spec","name","display_name","language","argv","resources","create","async","options","PyodideKernel","mountDrive","enabled","console","info","warn"],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js deleted file mode 100644 index af99096f9c8..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js +++ /dev/null @@ -1,422 +0,0 @@ -/*! For license information please see 576.ee3d77f00b3c07797681.js.LICENSE.txt */ -(() => { - 'use strict'; - var e, - t, - r = { - 576: (e, t, r) => { - const n = Symbol('Comlink.proxy'), - a = Symbol('Comlink.endpoint'), - o = Symbol('Comlink.releaseProxy'), - i = Symbol('Comlink.finalizer'), - s = Symbol('Comlink.thrown'), - c = e => - ('object' == typeof e && null !== e) || - 'function' == typeof e, - u = new Map([ - [ - 'proxy', - { - canHandle: e => c(e) && e[n], - serialize(e) { - const { - port1: t, - port2: r, - } = new MessageChannel(); - return l(e, t), [r, [r]]; - }, - deserialize: e => ( - e.start(), m(e, [], undefined) - ), - }, - ], - [ - 'throw', - { - canHandle: e => c(e) && s in e, - serialize({ value: e }) { - let t; - return ( - (t = - e instanceof Error - ? { - isError: !0, - value: { - message: e.message, - name: e.name, - stack: e.stack, - }, - } - : { isError: !1, value: e }), - [t, []] - ); - }, - deserialize(e) { - if (e.isError) - throw Object.assign( - new Error(e.value.message), - e.value - ); - throw e.value; - }, - }, - ], - ]); - function l(e, t = globalThis, r = ['*']) { - t.addEventListener('message', function a(o) { - if (!o || !o.data) return; - if ( - !(function(e, t) { - for (const r of e) { - if (t === r || '*' === r) return !0; - if (r instanceof RegExp && r.test(t)) - return !0; - } - return !1; - })(r, o.origin) - ) - return void console.warn( - `Invalid origin '${o.origin}' for comlink proxy` - ); - const { id: c, type: u, path: f } = Object.assign( - { path: [] }, - o.data - ), - g = (o.data.argumentList || []).map(E); - let h; - try { - const t = f.slice(0, -1).reduce((e, t) => e[t], e), - r = f.reduce((e, t) => e[t], e); - switch (u) { - case 'GET': - h = r; - break; - case 'SET': - (t[f.slice(-1)[0]] = E(o.data.value)), - (h = !0); - break; - case 'APPLY': - h = r.apply(t, g); - break; - case 'CONSTRUCT': - h = (function(e) { - return Object.assign(e, { [n]: !0 }); - })(new r(...g)); - break; - case 'ENDPOINT': - { - const { - port1: t, - port2: r, - } = new MessageChannel(); - l(e, r), - (h = (function(e, t) { - return y.set(e, t), e; - })(t, [t])); - } - break; - case 'RELEASE': - h = void 0; - break; - default: - return; - } - } catch (e) { - h = { value: e, [s]: 0 }; - } - Promise.resolve(h) - .catch(e => ({ value: e, [s]: 0 })) - .then(r => { - const [n, o] = b(r); - t.postMessage( - Object.assign(Object.assign({}, n), { - id: c, - }), - o - ), - 'RELEASE' === u && - (t.removeEventListener('message', a), - p(t), - i in e && - 'function' == typeof e[i] && - e[i]()); - }) - .catch(e => { - const [r, n] = b({ - value: new TypeError( - 'Unserializable return value' - ), - [s]: 0, - }); - t.postMessage( - Object.assign(Object.assign({}, r), { - id: c, - }), - n - ); - }); - }), - t.start && t.start(); - } - function p(e) { - (function(e) { - return 'MessagePort' === e.constructor.name; - })(e) && e.close(); - } - function f(e) { - if (e) - throw new Error( - 'Proxy has been released and is not useable' - ); - } - function g(e) { - return w(e, { type: 'RELEASE' }).then(() => { - p(e); - }); - } - const h = new WeakMap(), - d = - 'FinalizationRegistry' in globalThis && - new FinalizationRegistry(e => { - const t = (h.get(e) || 0) - 1; - h.set(e, t), 0 === t && g(e); - }); - function m(e, t = [], r = function() {}) { - let n = !1; - const i = new Proxy(r, { - get(r, a) { - if ((f(n), a === o)) - return () => { - !(function(e) { - d && d.unregister(e); - })(i), - g(e), - (n = !0); - }; - if ('then' === a) { - if (0 === t.length) return { then: () => i }; - const r = w(e, { - type: 'GET', - path: t.map(e => e.toString()), - }).then(E); - return r.then.bind(r); - } - return m(e, [...t, a]); - }, - set(r, a, o) { - f(n); - const [i, s] = b(o); - return w( - e, - { - type: 'SET', - path: [...t, a].map(e => e.toString()), - value: i, - }, - s - ).then(E); - }, - apply(r, o, i) { - f(n); - const s = t[t.length - 1]; - if (s === a) - return w(e, { type: 'ENDPOINT' }).then(E); - if ('bind' === s) return m(e, t.slice(0, -1)); - const [c, u] = v(i); - return w( - e, - { - type: 'APPLY', - path: t.map(e => e.toString()), - argumentList: c, - }, - u - ).then(E); - }, - construct(r, a) { - f(n); - const [o, i] = v(a); - return w( - e, - { - type: 'CONSTRUCT', - path: t.map(e => e.toString()), - argumentList: o, - }, - i - ).then(E); - }, - }); - return ( - (function(e, t) { - const r = (h.get(t) || 0) + 1; - h.set(t, r), d && d.register(e, t, e); - })(i, e), - i - ); - } - function v(e) { - const t = e.map(b); - return [ - t.map(e => e[0]), - ((r = t.map(e => e[1])), - Array.prototype.concat.apply([], r)), - ]; - var r; - } - const y = new WeakMap(); - function b(e) { - for (const [t, r] of u) - if (r.canHandle(e)) { - const [n, a] = r.serialize(e); - return [{ type: 'HANDLER', name: t, value: n }, a]; - } - return [{ type: 'RAW', value: e }, y.get(e) || []]; - } - function E(e) { - switch (e.type) { - case 'HANDLER': - return u.get(e.name).deserialize(e.value); - case 'RAW': - return e.value; - } - } - function w(e, t, r) { - return new Promise(n => { - const a = new Array(4) - .fill(0) - .map(() => - Math.floor( - Math.random() * Number.MAX_SAFE_INTEGER - ).toString(16) - ) - .join('-'); - e.addEventListener('message', function t(r) { - r.data && - r.data.id && - r.data.id === a && - (e.removeEventListener('message', t), - n(r.data)); - }), - e.start && e.start(), - e.postMessage(Object.assign({ id: a }, t), r); - }); - } - l(new (r(128).E)()); - }, - }, - n = {}; - function a(e) { - var t = n[e]; - if (void 0 !== t) return t.exports; - var o = (n[e] = { exports: {} }); - return r[e](o, o.exports, a), o.exports; - } - (a.m = r), - (a.c = n), - (a.x = () => { - var e = a.O(void 0, [128], () => a(576)); - return a.O(e); - }), - (a.amdO = {}), - (e = []), - (a.O = (t, r, n, o) => { - if (!r) { - var i = 1 / 0; - for (l = 0; l < e.length; l++) { - for (var [r, n, o] = e[l], s = !0, c = 0; c < r.length; c++) - (!1 & o || i >= o) && - Object.keys(a.O).every(e => a.O[e](r[c])) - ? r.splice(c--, 1) - : ((s = !1), o < i && (i = o)); - if (s) { - e.splice(l--, 1); - var u = n(); - void 0 !== u && (t = u); - } - } - return t; - } - o = o || 0; - for (var l = e.length; l > 0 && e[l - 1][2] > o; l--) - e[l] = e[l - 1]; - e[l] = [r, n, o]; - }), - (a.d = (e, t) => { - for (var r in t) - a.o(t, r) && - !a.o(e, r) && - Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); - }), - (a.f = {}), - (a.e = e => - Promise.all( - Object.keys(a.f).reduce((t, r) => (a.f[r](e, t), t), []) - )), - (a.u = e => e + '.fd6a7bd994d997285906.js?v=fd6a7bd994d997285906'), - (a.g = (function() { - if ('object' == typeof globalThis) return globalThis; - try { - return this || new Function('return this')(); - } catch (e) { - if ('object' == typeof window) return window; - } - })()), - (a.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)), - (() => { - a.S = {}; - var e = {}, - t = {}; - a.I = (r, n) => { - n || (n = []); - var o = t[r]; - if ((o || (o = t[r] = {}), !(n.indexOf(o) >= 0))) { - if ((n.push(o), e[r])) return e[r]; - a.o(a.S, r) || (a.S[r] = {}), a.S[r]; - var i = []; - return (e[r] = i.length - ? Promise.all(i).then(() => (e[r] = 1)) - : 1); - } - }; - })(), - (() => { - var e; - a.g.importScripts && (e = a.g.location + ''); - var t = a.g.document; - if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) { - var r = t.getElementsByTagName('script'); - if (r.length) - for (var n = r.length - 1; n > -1 && !e; ) e = r[n--].src; - } - if (!e) - throw new Error( - 'Automatic publicPath is not supported in this browser' - ); - (e = e - .replace(/#.*$/, '') - .replace(/\?.*$/, '') - .replace(/\/[^\/]+$/, '/')), - (a.p = e); - })(), - (() => { - var e = { 576: 1 }; - a.f.i = (t, r) => { - e[t] || importScripts(a.p + a.u(t)); - }; - var t = (self.webpackChunk_jupyterlite_pyodide_kernel_extension = - self.webpackChunk_jupyterlite_pyodide_kernel_extension || - []), - r = t.push.bind(t); - t.push = t => { - var [n, o, i] = t; - for (var s in o) a.o(o, s) && (a.m[s] = o[s]); - for (i && i(a); n.length; ) e[n.pop()] = 1; - r(t); - }; - })(), - (t = a.x), - (a.x = () => a.e(128).then(t)), - a.x(); -})(); -//# sourceMappingURL=576.ee3d77f00b3c07797681.js.map?v=ee3d77f00b3c07797681 diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.LICENSE.txt b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.LICENSE.txt deleted file mode 100644 index 479a8e58bf4..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.LICENSE.txt +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.map b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.map deleted file mode 100644 index e9991d524bd..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/576.ee3d77f00b3c07797681.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"576.ee3d77f00b3c07797681.js?v=ee3d77f00b3c07797681","mappings":"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","sources":["webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/chunk loaded","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/startup chunk dependencies","webpack://@jupyterlite/pyodide-kernel-extension/../../node_modules/comlink/dist/esm/comlink.mjs","webpack://@jupyterlite/pyodide-kernel-extension/../pyodide-kernel/lib/comlink.worker.js","webpack://@jupyterlite/pyodide-kernel-extension/webpack/bootstrap","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/amd options","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/define property getters","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/ensure chunk","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/get javascript chunk filename","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/global","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/hasOwnProperty shorthand","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/sharing","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/publicPath","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/importScripts chunk loading","webpack://@jupyterlite/pyodide-kernel-extension/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn __webpack_require__.e(128).then(next);\n};","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n return createProxy(ep, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n ep.addEventListener(\"message\", function l(ev) {\n if (!ev.data || !ev.data.id || ev.data.id !== id) {\n return;\n }\n ep.removeEventListener(\"message\", l);\n resolve(ev.data);\n });\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * A WebWorker entrypoint that uses comlink to handle postMessage details\n */\nimport { expose } from 'comlink';\nimport { PyodideRemoteKernel } from './worker';\nconst worker = new PyodideRemoteKernel();\nexpose(worker);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [128], () => (__webpack_require__(576)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","__webpack_require__.amdO = {};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + \"fd6a7bd994d997285906\" + \".js?v=\" + \"fd6a7bd994d997285906\" + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"@jupyterlite/pyodide-kernel-extension\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t576: 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunk_jupyterlite_pyodide_kernel_extension\"] = self[\"webpackChunk_jupyterlite_pyodide_kernel_extension\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// module cache are used so entry inlining is disabled\n// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","next","proxyMarker","Symbol","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","val","transferHandlers","Map","canHandle","serialize","obj","port1","port2","MessageChannel","expose","deserialize","port","start","createProxy","target","value","serialized","Error","isError","message","name","stack","Object","assign","ep","globalThis","allowedOrigins","addEventListener","callback","ev","data","origin","allowedOrigin","RegExp","test","isAllowedOrigin","console","warn","id","type","path","argumentList","map","fromWireValue","returnValue","parent","slice","reduce","prop","rawValue","apply","proxy","transfers","transferCache","set","transfer","undefined","Promise","resolve","catch","then","wireValue","transferables","toWireValue","postMessage","removeEventListener","closeEndPoint","error","TypeError","endpoint","constructor","isMessagePort","close","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","get","isProxyReleased","Proxy","_target","unregister","unregisterProxy","length","r","p","toString","bind","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","v","arr","Array","prototype","concat","handler","serializedValue","msg","fill","Math","floor","random","Number","MAX_SAFE_INTEGER","join","l","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","c","x","__webpack_exports__","O","amdO","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","key","splice","d","definition","o","defineProperty","enumerable","f","e","chunkId","all","promises","u","g","this","Function","window","hasOwnProperty","call","S","initPromises","initTokens","I","initScope","initToken","indexOf","push","scriptUrl","importScripts","location","document","currentScript","src","scripts","getElementsByTagName","replace","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","moreModules","runtime","pop"],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js deleted file mode 100644 index 03d6dc27f55..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js +++ /dev/null @@ -1,520 +0,0 @@ -/*! For license information please see 600.0dd7986d3894bd09e26d.js.LICENSE.txt */ -'use strict'; -(self.webpackChunk_jupyterlite_pyodide_kernel_extension = - self.webpackChunk_jupyterlite_pyodide_kernel_extension || []).push([ - [600], - { - 952: (e, t, n) => { - n.r(t), - n.d(t, { - PIPLITE_INDEX_SCHEMA: () => D, - PyodideKernel: () => H, - PyodideRemoteKernel: () => N.E, - allJSONUrl: () => a, - ipykernelWheelUrl: () => i, - pipliteWheelUrl: () => l, - pyodide_kernelWheelUrl: () => p, - widgetsnbextensionWheelUrl: () => d, - widgetsnbextensionWheelUrl1: () => h, - }); - const r = n.p + 'pypi/all.json'; - var a = n.t(r); - const s = n.p + 'pypi/ipykernel-6.9.2-py3-none-any.whl'; - var i = n.t(s); - const o = n.p + 'pypi/piplite-0.2.3-py3-none-any.whl'; - var l = n.t(o); - const c = n.p + 'pypi/pyodide_kernel-0.2.3-py3-none-any.whl'; - var p = n.t(c); - const u = n.p + 'pypi/widgetsnbextension-3.6.6-py3-none-any.whl'; - var d = n.t(u); - const m = n.p + 'pypi/widgetsnbextension-4.0.10-py3-none-any.whl'; - var h = n.t(m), - y = n(464), - g = n(281), - b = n(240); - const f = Symbol('Comlink.proxy'), - w = Symbol('Comlink.endpoint'), - _ = Symbol('Comlink.releaseProxy'), - v = Symbol('Comlink.finalizer'), - k = Symbol('Comlink.thrown'), - E = e => - ('object' == typeof e && null !== e) || - 'function' == typeof e, - x = new Map([ - [ - 'proxy', - { - canHandle: e => E(e) && e[f], - serialize(e) { - const { - port1: t, - port2: n, - } = new MessageChannel(); - return R(e, t), [n, [n]]; - }, - deserialize: e => (e.start(), C(e)), - }, - ], - [ - 'throw', - { - canHandle: e => E(e) && k in e, - serialize({ value: e }) { - let t; - return ( - (t = - e instanceof Error - ? { - isError: !0, - value: { - message: e.message, - name: e.name, - stack: e.stack, - }, - } - : { isError: !1, value: e }), - [t, []] - ); - }, - deserialize(e) { - if (e.isError) - throw Object.assign( - new Error(e.value.message), - e.value - ); - throw e.value; - }, - }, - ], - ]); - function R(e, t = globalThis, n = ['*']) { - t.addEventListener('message', function r(a) { - if (!a || !a.data) return; - if ( - !(function(e, t) { - for (const n of e) { - if (t === n || '*' === n) return !0; - if (n instanceof RegExp && n.test(t)) return !0; - } - return !1; - })(n, a.origin) - ) - return void console.warn( - `Invalid origin '${a.origin}' for comlink proxy` - ); - const { id: s, type: i, path: o } = Object.assign( - { path: [] }, - a.data - ), - l = (a.data.argumentList || []).map(T); - let c; - try { - const t = o.slice(0, -1).reduce((e, t) => e[t], e), - n = o.reduce((e, t) => e[t], e); - switch (i) { - case 'GET': - c = n; - break; - case 'SET': - (t[o.slice(-1)[0]] = T(a.data.value)), (c = !0); - break; - case 'APPLY': - c = n.apply(t, l); - break; - case 'CONSTRUCT': - c = (function(e) { - return Object.assign(e, { [f]: !0 }); - })(new n(...l)); - break; - case 'ENDPOINT': - { - const { - port1: t, - port2: n, - } = new MessageChannel(); - R(e, n), - (c = (function(e, t) { - return L.set(e, t), e; - })(t, [t])); - } - break; - case 'RELEASE': - c = void 0; - break; - default: - return; - } - } catch (e) { - c = { value: e, [k]: 0 }; - } - Promise.resolve(c) - .catch(e => ({ value: e, [k]: 0 })) - .then(n => { - const [a, o] = K(n); - t.postMessage( - Object.assign(Object.assign({}, a), { id: s }), - o - ), - 'RELEASE' === i && - (t.removeEventListener('message', r), - P(t), - v in e && - 'function' == typeof e[v] && - e[v]()); - }) - .catch(e => { - const [n, r] = K({ - value: new TypeError( - 'Unserializable return value' - ), - [k]: 0, - }); - t.postMessage( - Object.assign(Object.assign({}, n), { id: s }), - r - ); - }); - }), - t.start && t.start(); - } - function P(e) { - (function(e) { - return 'MessagePort' === e.constructor.name; - })(e) && e.close(); - } - function C(e, t) { - return W(e, [], t); - } - function S(e) { - if (e) - throw new Error( - 'Proxy has been released and is not useable' - ); - } - function O(e) { - return j(e, { type: 'RELEASE' }).then(() => { - P(e); - }); - } - const U = new WeakMap(), - M = - 'FinalizationRegistry' in globalThis && - new FinalizationRegistry(e => { - const t = (U.get(e) || 0) - 1; - U.set(e, t), 0 === t && O(e); - }); - function W(e, t = [], n = function() {}) { - let r = !1; - const a = new Proxy(n, { - get(n, s) { - if ((S(r), s === _)) - return () => { - !(function(e) { - M && M.unregister(e); - })(a), - O(e), - (r = !0); - }; - if ('then' === s) { - if (0 === t.length) return { then: () => a }; - const n = j(e, { - type: 'GET', - path: t.map(e => e.toString()), - }).then(T); - return n.then.bind(n); - } - return W(e, [...t, s]); - }, - set(n, a, s) { - S(r); - const [i, o] = K(s); - return j( - e, - { - type: 'SET', - path: [...t, a].map(e => e.toString()), - value: i, - }, - o - ).then(T); - }, - apply(n, a, s) { - S(r); - const i = t[t.length - 1]; - if (i === w) return j(e, { type: 'ENDPOINT' }).then(T); - if ('bind' === i) return W(e, t.slice(0, -1)); - const [o, l] = A(s); - return j( - e, - { - type: 'APPLY', - path: t.map(e => e.toString()), - argumentList: o, - }, - l - ).then(T); - }, - construct(n, a) { - S(r); - const [s, i] = A(a); - return j( - e, - { - type: 'CONSTRUCT', - path: t.map(e => e.toString()), - argumentList: s, - }, - i - ).then(T); - }, - }); - return ( - (function(e, t) { - const n = (U.get(t) || 0) + 1; - U.set(t, n), M && M.register(e, t, e); - })(a, e), - a - ); - } - function A(e) { - const t = e.map(K); - return [ - t.map(e => e[0]), - ((n = t.map(e => e[1])), - Array.prototype.concat.apply([], n)), - ]; - var n; - } - const L = new WeakMap(); - function K(e) { - for (const [t, n] of x) - if (n.canHandle(e)) { - const [r, a] = n.serialize(e); - return [{ type: 'HANDLER', name: t, value: r }, a]; - } - return [{ type: 'RAW', value: e }, L.get(e) || []]; - } - function T(e) { - switch (e.type) { - case 'HANDLER': - return x.get(e.name).deserialize(e.value); - case 'RAW': - return e.value; - } - } - function j(e, t, n) { - return new Promise(r => { - const a = new Array(4) - .fill(0) - .map(() => - Math.floor( - Math.random() * Number.MAX_SAFE_INTEGER - ).toString(16) - ) - .join('-'); - e.addEventListener('message', function t(n) { - n.data && - n.data.id && - n.data.id === a && - (e.removeEventListener('message', t), r(n.data)); - }), - e.start && e.start(), - e.postMessage(Object.assign({ id: a }, t), n); - }); - } - class H extends b.BaseKernel { - constructor(e) { - super(e), - (this._ready = new y.PromiseDelegate()), - (this._worker = this.initWorker(e)), - (this._worker.onmessage = e => - this._processWorkerMessage(e.data)), - (this._remoteKernel = C(this._worker)), - this.initRemote(e); - } - initWorker(e) { - return new Worker(new URL(n.p + n.u(576), n.b), { - type: void 0, - }); - } - async initRemote(e) { - const t = this.initRemoteOptions(e); - await this._remoteKernel.initialize(t), - this._ready.resolve(); - } - initRemoteOptions(e) { - const { pyodideUrl: t } = e, - n = t.slice(0, t.lastIndexOf('/') + 1), - a = g.PageConfig.getBaseUrl(), - s = [...(e.pipliteUrls || []), r], - i = !!e.disablePyPIFallback; - return { - baseUrl: a, - pyodideUrl: t, - indexUrl: n, - pipliteWheelUrl: e.pipliteWheelUrl || o, - pipliteUrls: s, - disablePyPIFallback: i, - location: this.location, - mountDrive: e.mountDrive, - }; - } - dispose() { - this.isDisposed || - (this._worker.terminate(), - (this._worker = null), - super.dispose()); - } - get ready() { - return this._ready.promise; - } - _processWorkerMessage(e) { - var t, n, r, a, s, i, o; - if (e.type) - switch (e.type) { - case 'stream': { - const n = - null !== (t = e.bundle) && void 0 !== t - ? t - : { name: 'stdout', text: '' }; - this.stream(n, e.parentHeader); - break; - } - case 'input_request': { - const t = - null !== (n = e.content) && void 0 !== n - ? n - : { prompt: '', password: !1 }; - this.inputRequest(t, e.parentHeader); - break; - } - case 'display_data': { - const t = - null !== (r = e.bundle) && void 0 !== r - ? r - : { - data: {}, - metadata: {}, - transient: {}, - }; - this.displayData(t, e.parentHeader); - break; - } - case 'update_display_data': { - const t = - null !== (a = e.bundle) && void 0 !== a - ? a - : { - data: {}, - metadata: {}, - transient: {}, - }; - this.updateDisplayData(t, e.parentHeader); - break; - } - case 'clear_output': { - const t = - null !== (s = e.bundle) && void 0 !== s - ? s - : { wait: !1 }; - this.clearOutput(t, e.parentHeader); - break; - } - case 'execute_result': { - const t = - null !== (i = e.bundle) && void 0 !== i - ? i - : { - execution_count: 0, - data: {}, - metadata: {}, - }; - this.publishExecuteResult(t, e.parentHeader); - break; - } - case 'execute_error': { - const t = - null !== (o = e.bundle) && void 0 !== o - ? o - : { - ename: '', - evalue: '', - traceback: [], - }; - this.publishExecuteError(t, e.parentHeader); - break; - } - case 'comm_msg': - case 'comm_open': - case 'comm_close': - this.handleComm( - e.type, - e.content, - e.metadata, - e.buffers, - e.parentHeader - ); - } - } - async kernelInfoRequest() { - return { - implementation: 'pyodide', - implementation_version: '0.1.0', - language_info: { - codemirror_mode: { name: 'python', version: 3 }, - file_extension: '.py', - mimetype: 'text/x-python', - name: 'python', - nbconvert_exporter: 'python', - pygments_lexer: 'ipython3', - version: '3.8', - }, - protocol_version: '5.3', - status: 'ok', - banner: - 'A WebAssembly-powered Python kernel backed by Pyodide', - help_links: [ - { - text: 'Python (WASM) Kernel', - url: 'https://pyodide.org', - }, - ], - }; - } - async executeRequest(e) { - await this.ready; - const t = await this._remoteKernel.execute(e, this.parent); - return (t.execution_count = this.executionCount), t; - } - async completeRequest(e) { - return await this._remoteKernel.complete(e, this.parent); - } - async inspectRequest(e) { - return await this._remoteKernel.inspect(e, this.parent); - } - async isCompleteRequest(e) { - return await this._remoteKernel.isComplete(e, this.parent); - } - async commInfoRequest(e) { - return await this._remoteKernel.commInfo(e, this.parent); - } - async commOpen(e) { - return await this._remoteKernel.commOpen(e, this.parent); - } - async commMsg(e) { - return await this._remoteKernel.commMsg(e, this.parent); - } - async commClose(e) { - return await this._remoteKernel.commClose(e, this.parent); - } - async inputReply(e) { - return await this._remoteKernel.inputReply(e, this.parent); - } - } - const I = n.p + 'schema/piplite.v0.schema.json'; - var D = n.t(I), - N = n(128); - }, - }, -]); -//# sourceMappingURL=600.0dd7986d3894bd09e26d.js.map?v=0dd7986d3894bd09e26d diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.LICENSE.txt b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.LICENSE.txt deleted file mode 100644 index 479a8e58bf4..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.LICENSE.txt +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.map b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.map deleted file mode 100644 index e629cedddb9..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/600.0dd7986d3894bd09e26d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"600.0dd7986d3894bd09e26d.js?v=0dd7986d3894bd09e26d","mappings":"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","sources":["webpack://@jupyterlite/pyodide-kernel-extension/../../node_modules/comlink/dist/esm/comlink.mjs","webpack://@jupyterlite/pyodide-kernel-extension/../pyodide-kernel/lib/kernel.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n return createProxy(ep, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n ep.addEventListener(\"message\", function l(ev) {\n if (!ev.data || !ev.data.id || ev.data.id !== id) {\n return;\n }\n ep.removeEventListener(\"message\", l);\n resolve(ev.data);\n });\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n","import { PromiseDelegate } from '@lumino/coreutils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { BaseKernel } from '@jupyterlite/kernel';\nimport { wrap } from 'comlink';\nimport { allJSONUrl, pipliteWheelUrl } from './_pypi';\n/**\n * A kernel that executes Python code with Pyodide.\n */\nexport class PyodideKernel extends BaseKernel {\n /**\n * Instantiate a new PyodideKernel\n *\n * @param options The instantiation options for a new PyodideKernel\n */\n constructor(options) {\n super(options);\n this._ready = new PromiseDelegate();\n this._worker = this.initWorker(options);\n this._worker.onmessage = (e) => this._processWorkerMessage(e.data);\n this._remoteKernel = wrap(this._worker);\n this.initRemote(options);\n }\n /**\n * Load the worker.\n *\n * ### Note\n *\n * Subclasses must implement this typographically almost _exactly_ for\n * webpack to find it.\n */\n initWorker(options) {\n return new Worker(new URL('./comlink.worker.js', import.meta.url), {\n type: 'module',\n });\n }\n async initRemote(options) {\n const remoteOptions = this.initRemoteOptions(options);\n await this._remoteKernel.initialize(remoteOptions);\n this._ready.resolve();\n }\n initRemoteOptions(options) {\n const { pyodideUrl } = options;\n const indexUrl = pyodideUrl.slice(0, pyodideUrl.lastIndexOf('/') + 1);\n const baseUrl = PageConfig.getBaseUrl();\n const pipliteUrls = [...(options.pipliteUrls || []), allJSONUrl.default];\n const disablePyPIFallback = !!options.disablePyPIFallback;\n return {\n baseUrl,\n pyodideUrl,\n indexUrl,\n pipliteWheelUrl: options.pipliteWheelUrl || pipliteWheelUrl.default,\n pipliteUrls,\n disablePyPIFallback,\n location: this.location,\n mountDrive: options.mountDrive,\n };\n }\n /**\n * Dispose the kernel.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._worker.terminate();\n this._worker = null;\n super.dispose();\n }\n /**\n * A promise that is fulfilled when the kernel is ready.\n */\n get ready() {\n return this._ready.promise;\n }\n /**\n * Process a message coming from the pyodide web worker.\n *\n * @param msg The worker message to process.\n */\n _processWorkerMessage(msg) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!msg.type) {\n return;\n }\n switch (msg.type) {\n case 'stream': {\n const bundle = (_a = msg.bundle) !== null && _a !== void 0 ? _a : { name: 'stdout', text: '' };\n this.stream(bundle, msg.parentHeader);\n break;\n }\n case 'input_request': {\n const bundle = (_b = msg.content) !== null && _b !== void 0 ? _b : { prompt: '', password: false };\n this.inputRequest(bundle, msg.parentHeader);\n break;\n }\n case 'display_data': {\n const bundle = (_c = msg.bundle) !== null && _c !== void 0 ? _c : { data: {}, metadata: {}, transient: {} };\n this.displayData(bundle, msg.parentHeader);\n break;\n }\n case 'update_display_data': {\n const bundle = (_d = msg.bundle) !== null && _d !== void 0 ? _d : { data: {}, metadata: {}, transient: {} };\n this.updateDisplayData(bundle, msg.parentHeader);\n break;\n }\n case 'clear_output': {\n const bundle = (_e = msg.bundle) !== null && _e !== void 0 ? _e : { wait: false };\n this.clearOutput(bundle, msg.parentHeader);\n break;\n }\n case 'execute_result': {\n const bundle = (_f = msg.bundle) !== null && _f !== void 0 ? _f : {\n execution_count: 0,\n data: {},\n metadata: {},\n };\n this.publishExecuteResult(bundle, msg.parentHeader);\n break;\n }\n case 'execute_error': {\n const bundle = (_g = msg.bundle) !== null && _g !== void 0 ? _g : { ename: '', evalue: '', traceback: [] };\n this.publishExecuteError(bundle, msg.parentHeader);\n break;\n }\n case 'comm_msg':\n case 'comm_open':\n case 'comm_close': {\n this.handleComm(msg.type, msg.content, msg.metadata, msg.buffers, msg.parentHeader);\n break;\n }\n }\n }\n /**\n * Handle a kernel_info_request message\n */\n async kernelInfoRequest() {\n const content = {\n implementation: 'pyodide',\n implementation_version: '0.1.0',\n language_info: {\n codemirror_mode: {\n name: 'python',\n version: 3,\n },\n file_extension: '.py',\n mimetype: 'text/x-python',\n name: 'python',\n nbconvert_exporter: 'python',\n pygments_lexer: 'ipython3',\n version: '3.8',\n },\n protocol_version: '5.3',\n status: 'ok',\n banner: 'A WebAssembly-powered Python kernel backed by Pyodide',\n help_links: [\n {\n text: 'Python (WASM) Kernel',\n url: 'https://pyodide.org',\n },\n ],\n };\n return content;\n }\n /**\n * Handle an `execute_request` message\n *\n * @param msg The parent message.\n */\n async executeRequest(content) {\n await this.ready;\n const result = await this._remoteKernel.execute(content, this.parent);\n result.execution_count = this.executionCount;\n return result;\n }\n /**\n * Handle an complete_request message\n *\n * @param msg The parent message.\n */\n async completeRequest(content) {\n return await this._remoteKernel.complete(content, this.parent);\n }\n /**\n * Handle an `inspect_request` message.\n *\n * @param content - The content of the request.\n *\n * @returns A promise that resolves with the response message.\n */\n async inspectRequest(content) {\n return await this._remoteKernel.inspect(content, this.parent);\n }\n /**\n * Handle an `is_complete_request` message.\n *\n * @param content - The content of the request.\n *\n * @returns A promise that resolves with the response message.\n */\n async isCompleteRequest(content) {\n return await this._remoteKernel.isComplete(content, this.parent);\n }\n /**\n * Handle a `comm_info_request` message.\n *\n * @param content - The content of the request.\n *\n * @returns A promise that resolves with the response message.\n */\n async commInfoRequest(content) {\n return await this._remoteKernel.commInfo(content, this.parent);\n }\n /**\n * Send an `comm_open` message.\n *\n * @param msg - The comm_open message.\n */\n async commOpen(msg) {\n return await this._remoteKernel.commOpen(msg, this.parent);\n }\n /**\n * Send an `comm_msg` message.\n *\n * @param msg - The comm_msg message.\n */\n async commMsg(msg) {\n return await this._remoteKernel.commMsg(msg, this.parent);\n }\n /**\n * Send an `comm_close` message.\n *\n * @param close - The comm_close message.\n */\n async commClose(msg) {\n return await this._remoteKernel.commClose(msg, this.parent);\n }\n /**\n * Send an `input_reply` message.\n *\n * @param content - The content of the reply.\n */\n async inputReply(content) {\n return await this._remoteKernel.inputReply(content, this.parent);\n }\n}\n"],"names":["proxyMarker","Symbol","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","val","transferHandlers","Map","canHandle","serialize","obj","port1","port2","MessageChannel","expose","deserialize","port","start","wrap","value","serialized","Error","isError","message","name","stack","Object","assign","ep","globalThis","allowedOrigins","addEventListener","callback","ev","data","origin","allowedOrigin","RegExp","test","isAllowedOrigin","console","warn","id","type","path","argumentList","map","fromWireValue","returnValue","parent","slice","reduce","prop","rawValue","apply","proxy","transfers","transferCache","set","transfer","undefined","Promise","resolve","catch","then","wireValue","transferables","toWireValue","postMessage","removeEventListener","closeEndPoint","error","TypeError","endpoint","constructor","isMessagePort","close","target","createProxy","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","get","isProxyReleased","Proxy","_target","unregister","unregisterProxy","length","r","p","toString","bind","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","v","arr","Array","prototype","concat","handler","serializedValue","msg","fill","Math","floor","random","Number","MAX_SAFE_INTEGER","join","l","PyodideKernel","BaseKernel","options","super","this","_ready","PromiseDelegate","_worker","initWorker","onmessage","e","_processWorkerMessage","_remoteKernel","initRemote","Worker","URL","remoteOptions","initRemoteOptions","initialize","pyodideUrl","indexUrl","lastIndexOf","baseUrl","PageConfig","getBaseUrl","pipliteUrls","disablePyPIFallback","pipliteWheelUrl","location","mountDrive","dispose","isDisposed","terminate","ready","promise","_a","_b","_c","_d","_e","_f","_g","bundle","text","stream","parentHeader","content","prompt","password","inputRequest","metadata","transient","displayData","updateDisplayData","wait","clearOutput","execution_count","publishExecuteResult","ename","evalue","traceback","publishExecuteError","handleComm","buffers","kernelInfoRequest","implementation","implementation_version","language_info","codemirror_mode","version","file_extension","mimetype","nbconvert_exporter","pygments_lexer","protocol_version","status","banner","help_links","url","executeRequest","result","execute","executionCount","completeRequest","complete","inspectRequest","inspect","isCompleteRequest","isComplete","commInfoRequest","commInfo","commOpen","commMsg","commClose","inputReply"],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json deleted file mode 100644 index d404c6c7172..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "ipykernel": { - "releases": { - "6.9.2": [ - { - "comment_text": "", - "digests": { - "md5": "ba0144722ee1846c1af6c08126e66cdb", - "sha256": "714e5e132b36a60608d4617f24507e7f673bc1c6e6d2ad352271d664751f652c" - }, - "downloads": -1, - "filename": "ipykernel-6.9.2-py3-none-any.whl", - "has_sig": false, - "md5_digest": "ba0144722ee1846c1af6c08126e66cdb", - "packagetype": "bdist_wheel", - "python_version": "py3", - "requires_python": ">=3.10", - "size": 2721, - "upload_time": "2024-02-12T07:37:02.122731Z", - "upload_time_iso_8601": "2024-02-12T07:37:02.122731Z", - "url": "./ipykernel-6.9.2-py3-none-any.whl", - "yanked": false, - "yanked_reason": null - } - ] - } - }, - "piplite": { - "releases": { - "0.2.3": [ - { - "comment_text": "", - "digests": { - "md5": "20f73f91854fd5f455234e5599c8a472", - "sha256": "723f8b4b5bb351b21c3ef655ec31b90d7d30cd59849993fcbb16feb6ce65cd0e" - }, - "downloads": -1, - "filename": "piplite-0.2.3-py3-none-any.whl", - "has_sig": false, - "md5_digest": "20f73f91854fd5f455234e5599c8a472", - "packagetype": "bdist_wheel", - "python_version": "py3", - "requires_python": "<3.12,>=3.11", - "size": 7155, - "upload_time": "2024-02-12T07:37:02.122731Z", - "upload_time_iso_8601": "2024-02-12T07:37:02.122731Z", - "url": "./piplite-0.2.3-py3-none-any.whl", - "yanked": false, - "yanked_reason": null - } - ] - } - }, - "pyodide-kernel": { - "releases": { - "0.2.3": [ - { - "comment_text": "", - "digests": { - "md5": "82ac549fa1f425c37c9aac11ea135dd9", - "sha256": "db3056e26ae80d16d9e2beb684a0bc8c089be85379f7f5cf1761fe9d60ce7172" - }, - "downloads": -1, - "filename": "pyodide_kernel-0.2.3-py3-none-any.whl", - "has_sig": false, - "md5_digest": "82ac549fa1f425c37c9aac11ea135dd9", - "packagetype": "bdist_wheel", - "python_version": "py3", - "requires_python": "<3.12,>=3.11", - "size": 10995, - "upload_time": "2024-02-12T07:37:02.122731Z", - "upload_time_iso_8601": "2024-02-12T07:37:02.122731Z", - "url": "./pyodide_kernel-0.2.3-py3-none-any.whl", - "yanked": false, - "yanked_reason": null - } - ] - } - }, - "widgetsnbextension": { - "releases": { - "3.6.6": [ - { - "comment_text": "", - "digests": { - "md5": "bf31ae77affa0ded09d057bcd7513609", - "sha256": "31a1d4a900178d14de10ebb6f352275e31c23910da24b7102970e3323fba1fba" - }, - "downloads": -1, - "filename": "widgetsnbextension-3.6.6-py3-none-any.whl", - "has_sig": false, - "md5_digest": "bf31ae77affa0ded09d057bcd7513609", - "packagetype": "bdist_wheel", - "python_version": "py3", - "requires_python": "<3.12,>=3.11", - "size": 2333, - "upload_time": "2024-02-12T07:37:02.122731Z", - "upload_time_iso_8601": "2024-02-12T07:37:02.122731Z", - "url": "./widgetsnbextension-3.6.6-py3-none-any.whl", - "yanked": false, - "yanked_reason": null - } - ], - "4.0.10": [ - { - "comment_text": "", - "digests": { - "md5": "d1e589ec381fd5719e3c15a382d230ca", - "sha256": "fb75b104e76c052e567d75523a55d7b1da05a017cd03f6bce6cc1c0bba9c1e9b" - }, - "downloads": -1, - "filename": "widgetsnbextension-4.0.10-py3-none-any.whl", - "has_sig": false, - "md5_digest": "d1e589ec381fd5719e3c15a382d230ca", - "packagetype": "bdist_wheel", - "python_version": "py3", - "requires_python": "<3.12,>=3.11", - "size": 2344, - "upload_time": "2024-02-12T07:37:02.122731Z", - "upload_time_iso_8601": "2024-02-12T07:37:02.122731Z", - "url": "./widgetsnbextension-4.0.10-py3-none-any.whl", - "yanked": false, - "yanked_reason": null - } - ] - } - } -} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js deleted file mode 100644 index c594c4bcb20..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js +++ /dev/null @@ -1,531 +0,0 @@ -var _JUPYTERLAB; -(() => { - 'use strict'; - var e, - r, - t, - n, - o, - i, - a, - l, - u, - f, - c, - d, - s, - p, - h, - b, - v, - y, - m, - g, - j, - w, - k = { - 624: (e, r, t) => { - var n = { - './index': () => - Promise.all([t.e(756), t.e(154)]).then(() => () => - t(260) - ), - './extension': () => - Promise.all([t.e(756), t.e(154)]).then(() => () => - t(260) - ), - }, - o = (e, r) => ( - (t.R = r), - (r = t.o(n, e) - ? n[e]() - : Promise.resolve().then(() => { - throw new Error( - 'Module "' + - e + - '" does not exist in container.' - ); - })), - (t.R = void 0), - r - ), - i = (e, r) => { - if (t.S) { - var n = 'default', - o = t.S[n]; - if (o && o !== e) - throw new Error( - 'Container initialization failed as it has already been initialized with a different share scope' - ); - return (t.S[n] = e), t.I(n, r); - } - }; - t.d(r, { get: () => o, init: () => i }); - }, - }, - P = {}; - function _(e) { - var r = P[e]; - if (void 0 !== r) return r.exports; - var t = (P[e] = { exports: {} }); - return k[e](t, t.exports, _), t.exports; - } - (_.m = k), - (_.c = P), - (_.amdO = {}), - (r = Object.getPrototypeOf - ? e => Object.getPrototypeOf(e) - : e => e.__proto__), - (_.t = function(t, n) { - if ((1 & n && (t = this(t)), 8 & n)) return t; - if ('object' == typeof t && t) { - if (4 & n && t.__esModule) return t; - if (16 & n && 'function' == typeof t.then) return t; - } - var o = Object.create(null); - _.r(o); - var i = {}; - e = e || [null, r({}), r([]), r(r)]; - for ( - var a = 2 & n && t; - 'object' == typeof a && !~e.indexOf(a); - a = r(a) - ) - Object.getOwnPropertyNames(a).forEach(e => (i[e] = () => t[e])); - return (i.default = () => t), _.d(o, i), o; - }), - (_.d = (e, r) => { - for (var t in r) - _.o(r, t) && - !_.o(e, t) && - Object.defineProperty(e, t, { enumerable: !0, get: r[t] }); - }), - (_.f = {}), - (_.e = e => - Promise.all( - Object.keys(_.f).reduce((r, t) => (_.f[t](e, r), r), []) - )), - (_.u = e => - e + - '.' + - { - 128: 'fd6a7bd994d997285906', - 154: '44c9e2db1c8a2cc6b5da', - 576: 'ee3d77f00b3c07797681', - 600: '0dd7986d3894bd09e26d', - 728: '6b8799045b98075c7a8f', - 756: 'c5b140c3c030cc345b8b', - }[e] + - '.js?v=' + - { - 128: 'fd6a7bd994d997285906', - 154: '44c9e2db1c8a2cc6b5da', - 576: 'ee3d77f00b3c07797681', - 600: '0dd7986d3894bd09e26d', - 728: '6b8799045b98075c7a8f', - 756: 'c5b140c3c030cc345b8b', - }[e]), - (_.g = (function() { - if ('object' == typeof globalThis) return globalThis; - try { - return this || new Function('return this')(); - } catch (e) { - if ('object' == typeof window) return window; - } - })()), - (_.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r)), - (t = {}), - (n = '@jupyterlite/pyodide-kernel-extension:'), - (_.l = (e, r, o, i) => { - if (t[e]) t[e].push(r); - else { - var a, l; - if (void 0 !== o) - for ( - var u = document.getElementsByTagName('script'), f = 0; - f < u.length; - f++ - ) { - var c = u[f]; - if ( - c.getAttribute('src') == e || - c.getAttribute('data-webpack') == n + o - ) { - a = c; - break; - } - } - a || - ((l = !0), - ((a = document.createElement('script')).charset = 'utf-8'), - (a.timeout = 120), - _.nc && a.setAttribute('nonce', _.nc), - a.setAttribute('data-webpack', n + o), - (a.src = e)), - (t[e] = [r]); - var d = (r, n) => { - (a.onerror = a.onload = null), clearTimeout(s); - var o = t[e]; - if ( - (delete t[e], - a.parentNode && a.parentNode.removeChild(a), - o && o.forEach(e => e(n)), - r) - ) - return r(n); - }, - s = setTimeout( - d.bind(null, void 0, { type: 'timeout', target: a }), - 12e4 - ); - (a.onerror = d.bind(null, a.onerror)), - (a.onload = d.bind(null, a.onload)), - l && document.head.appendChild(a); - } - }), - (_.r = e => { - 'undefined' != typeof Symbol && - Symbol.toStringTag && - Object.defineProperty(e, Symbol.toStringTag, { - value: 'Module', - }), - Object.defineProperty(e, '__esModule', { value: !0 }); - }), - (() => { - _.S = {}; - var e = {}, - r = {}; - _.I = (t, n) => { - n || (n = []); - var o = r[t]; - if ((o || (o = r[t] = {}), !(n.indexOf(o) >= 0))) { - if ((n.push(o), e[t])) return e[t]; - _.o(_.S, t) || (_.S[t] = {}); - var i = _.S[t], - a = '@jupyterlite/pyodide-kernel-extension', - l = (e, r, t, n) => { - var o = (i[e] = i[e] || {}), - l = o[r]; - (!l || - (!l.loaded && - (!n != !l.eager ? n : a > l.from))) && - (o[r] = { get: t, from: a, eager: !!n }); - }, - u = []; - return ( - 'default' === t && - (l( - '@jupyterlite/pyodide-kernel-extension', - '0.2.3', - () => - Promise.all([ - _.e(756), - _.e(154), - ]).then(() => () => _(260)) - ), - l('@jupyterlite/pyodide-kernel', '0.2.3', () => - Promise.all([ - _.e(128), - _.e(600), - _.e(756), - ]).then(() => () => _(952)) - )), - (e[t] = u.length - ? Promise.all(u).then(() => (e[t] = 1)) - : 1) - ); - } - }; - })(), - (() => { - var e; - _.g.importScripts && (e = _.g.location + ''); - var r = _.g.document; - if (!e && r && (r.currentScript && (e = r.currentScript.src), !e)) { - var t = r.getElementsByTagName('script'); - if (t.length) - for (var n = t.length - 1; n > -1 && !e; ) e = t[n--].src; - } - if (!e) - throw new Error( - 'Automatic publicPath is not supported in this browser' - ); - (e = e - .replace(/#.*$/, '') - .replace(/\?.*$/, '') - .replace(/\/[^\/]+$/, '/')), - (_.p = e); - })(), - (o = e => { - var r = e => e.split('.').map(e => (+e == e ? +e : e)), - t = /^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e), - n = t[1] ? r(t[1]) : []; - return ( - t[2] && (n.length++, n.push.apply(n, r(t[2]))), - t[3] && (n.push([]), n.push.apply(n, r(t[3]))), - n - ); - }), - (i = (e, r) => { - (e = o(e)), (r = o(r)); - for (var t = 0; ; ) { - if (t >= e.length) - return t < r.length && 'u' != (typeof r[t])[0]; - var n = e[t], - i = (typeof n)[0]; - if (t >= r.length) return 'u' == i; - var a = r[t], - l = (typeof a)[0]; - if (i != l) - return ('o' == i && 'n' == l) || 's' == l || 'u' == i; - if ('o' != i && 'u' != i && n != a) return n < a; - t++; - } - }), - (a = e => { - var r = e[0], - t = ''; - if (1 === e.length) return '*'; - if (r + 0.5) { - t += - 0 == r - ? '>=' - : -1 == r - ? '<' - : 1 == r - ? '^' - : 2 == r - ? '~' - : r > 0 - ? '=' - : '!='; - for (var n = 1, o = 1; o < e.length; o++) - n--, - (t += - 'u' == (typeof (l = e[o]))[0] - ? '-' - : (n > 0 ? '.' : '') + ((n = 2), l)); - return t; - } - var i = []; - for (o = 1; o < e.length; o++) { - var l = e[o]; - i.push( - 0 === l - ? 'not(' + u() + ')' - : 1 === l - ? '(' + u() + ' || ' + u() + ')' - : 2 === l - ? i.pop() + ' ' + i.pop() - : a(l) - ); - } - return u(); - function u() { - return i.pop().replace(/^\((.+)\)$/, '$1'); - } - }), - (l = (e, r) => { - if (0 in e) { - r = o(r); - var t = e[0], - n = t < 0; - n && (t = -t - 1); - for (var i = 0, a = 1, u = !0; ; a++, i++) { - var f, - c, - d = a < e.length ? (typeof e[a])[0] : ''; - if (i >= r.length || 'o' == (c = (typeof (f = r[i]))[0])) - return !u || ('u' == d ? a > t && !n : ('' == d) != n); - if ('u' == c) { - if (!u || 'u' != d) return !1; - } else if (u) - if (d == c) - if (a <= t) { - if (f != e[a]) return !1; - } else { - if (n ? f > e[a] : f < e[a]) return !1; - f != e[a] && (u = !1); - } - else if ('s' != d && 'n' != d) { - if (n || a <= t) return !1; - (u = !1), a--; - } else { - if (a <= t || c < d != n) return !1; - u = !1; - } - else 's' != d && 'n' != d && ((u = !1), a--); - } - } - var s = [], - p = s.pop.bind(s); - for (i = 1; i < e.length; i++) { - var h = e[i]; - s.push( - 1 == h ? p() | p() : 2 == h ? p() & p() : h ? l(h, r) : !p() - ); - } - return !!p(); - }), - (u = (e, r) => { - var t = _.S[e]; - if (!t || !_.o(t, r)) - throw new Error( - 'Shared module ' + r + " doesn't exist in shared scope " + e - ); - return t; - }), - (f = (e, r) => { - var t = e[r]; - return Object.keys(t).reduce( - (e, r) => (!e || (!t[e].loaded && i(e, r)) ? r : e), - 0 - ); - }), - (c = (e, r, t, n) => - 'Unsatisfied version ' + - t + - ' from ' + - (t && e[r][t].from) + - ' of shared singleton module ' + - r + - ' (required ' + - a(n) + - ')'), - (d = (e, r, t, n) => { - var o = f(e, t); - return l(n, o) || p(c(e, t, o, n)), h(e[t][o]); - }), - (s = (e, r, t) => { - var n = e[r]; - return ( - (r = Object.keys(n).reduce( - (e, r) => (!l(t, r) || (e && !i(e, r)) ? e : r), - 0 - )) && n[r] - ); - }), - (p = e => { - 'undefined' != typeof console && console.warn && console.warn(e); - }), - (h = e => ((e.loaded = 1), e.get())), - (v = (b = e => - function(r, t, n, o) { - var i = _.I(r); - return i && i.then - ? i.then(e.bind(e, r, _.S[r], t, n, o)) - : e(r, _.S[r], t, n, o); - })((e, r, t, n) => (u(e, t), d(r, 0, t, n)))), - (y = b((e, r, t, n, o) => { - var i = r && _.o(r, t) && s(r, t, n); - return i ? h(i) : o(); - })), - (m = {}), - (g = { - 240: () => v('default', '@jupyterlite/kernel', [2, 0, 2, 0]), - 281: () => v('default', '@jupyterlab/coreutils', [1, 6, 0, 12]), - 540: () => v('default', '@jupyterlite/contents', [2, 0, 2, 0]), - 976: () => v('default', '@jupyterlite/server', [2, 0, 2, 0]), - 464: () => v('default', '@lumino/coreutils', [1, 2, 0, 0]), - 728: () => - y('default', '@jupyterlite/pyodide-kernel', [2, 0, 2, 3], () => - Promise.all([_.e(128), _.e(600)]).then(() => () => _(952)) - ), - }), - (j = { 154: [540, 976], 600: [464], 728: [728], 756: [240, 281] }), - (w = {}), - (_.f.consumes = (e, r) => { - _.o(j, e) && - j[e].forEach(e => { - if (_.o(m, e)) return r.push(m[e]); - if (!w[e]) { - var t = r => { - (m[e] = 0), - (_.m[e] = t => { - delete _.c[e], (t.exports = r()); - }); - }; - w[e] = !0; - var n = r => { - delete m[e], - (_.m[e] = t => { - throw (delete _.c[e], r); - }); - }; - try { - var o = g[e](); - o.then ? r.push((m[e] = o.then(t).catch(n))) : t(o); - } catch (e) { - n(e); - } - } - }); - }), - (() => { - _.b = document.baseURI || self.location.href; - var e = { 480: 0 }; - _.f.j = (r, t) => { - var n = _.o(e, r) ? e[r] : void 0; - if (0 !== n) - if (n) t.push(n[2]); - else if (/^7(28|56)$/.test(r)) e[r] = 0; - else { - var o = new Promise((t, o) => (n = e[r] = [t, o])); - t.push((n[2] = o)); - var i = _.p + _.u(r), - a = new Error(); - _.l( - i, - t => { - if ( - _.o(e, r) && - (0 !== (n = e[r]) && (e[r] = void 0), n) - ) { - var o = - t && - ('load' === t.type - ? 'missing' - : t.type), - i = t && t.target && t.target.src; - (a.message = - 'Loading chunk ' + - r + - ' failed.\n(' + - o + - ': ' + - i + - ')'), - (a.name = 'ChunkLoadError'), - (a.type = o), - (a.request = i), - n[1](a); - } - }, - 'chunk-' + r, - r - ); - } - }; - var r = (r, t) => { - var n, - o, - [i, a, l] = t, - u = 0; - if (i.some(r => 0 !== e[r])) { - for (n in a) _.o(a, n) && (_.m[n] = a[n]); - l && l(_); - } - for (r && r(t); u < i.length; u++) - (o = i[u]), _.o(e, o) && e[o] && e[o][0](), (e[o] = 0); - }, - t = (self.webpackChunk_jupyterlite_pyodide_kernel_extension = - self.webpackChunk_jupyterlite_pyodide_kernel_extension || - []); - t.forEach(r.bind(null, 0)), (t.push = r.bind(null, t.push.bind(t))); - })(); - var S = _(624); - (_JUPYTERLAB = void 0 === _JUPYTERLAB ? {} : _JUPYTERLAB)[ - '@jupyterlite/pyodide-kernel-extension' - ] = S; -})(); -//# sourceMappingURL=remoteEntry.badedd5607b5d4e57583.js.map diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js.map b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js.map deleted file mode 100644 index 14e43b0d54a..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.badedd5607b5d4e57583.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"remoteEntry.badedd5607b5d4e57583.js","mappings":"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","sources":["webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/create fake namespace object","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/load script","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/consumes","webpack://@jupyterlite/pyodide-kernel-extension/webpack/container-entry","webpack://@jupyterlite/pyodide-kernel-extension/webpack/bootstrap","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/amd options","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/define property getters","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/ensure chunk","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/get javascript chunk filename","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/global","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/hasOwnProperty shorthand","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/make namespace object","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/sharing","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/publicPath","webpack://@jupyterlite/pyodide-kernel-extension/webpack/runtime/jsonp chunk loading","webpack://@jupyterlite/pyodide-kernel-extension/webpack/startup"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"@jupyterlite/pyodide-kernel-extension:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warn = (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t240: () => (loadSingletonVersionCheck(\"default\", \"@jupyterlite/kernel\", [2,0,2,0])),\n\t281: () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/coreutils\", [1,6,0,12])),\n\t540: () => (loadSingletonVersionCheck(\"default\", \"@jupyterlite/contents\", [2,0,2,0])),\n\t976: () => (loadSingletonVersionCheck(\"default\", \"@jupyterlite/server\", [2,0,2,0])),\n\t464: () => (loadSingletonVersionCheck(\"default\", \"@lumino/coreutils\", [1,2,0,0])),\n\t728: () => (loadStrictVersionCheckFallback(\"default\", \"@jupyterlite/pyodide-kernel\", [2,0,2,3], () => (Promise.all([__webpack_require__.e(128), __webpack_require__.e(600)]).then(() => (() => (__webpack_require__(952)))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"154\": [\n\t\t540,\n\t\t976\n\t],\n\t\"600\": [\n\t\t464\n\t],\n\t\"728\": [\n\t\t728\n\t],\n\t\"756\": [\n\t\t240,\n\t\t281\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","var moduleMap = {\n\t\"./index\": () => {\n\t\treturn Promise.all([__webpack_require__.e(756), __webpack_require__.e(154)]).then(() => (() => ((__webpack_require__(260)))));\n\t},\n\t\"./extension\": () => {\n\t\treturn Promise.all([__webpack_require__.e(756), __webpack_require__.e(154)]).then(() => (() => ((__webpack_require__(260)))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","__webpack_require__.amdO = {};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"128\":\"fd6a7bd994d997285906\",\"154\":\"44c9e2db1c8a2cc6b5da\",\"576\":\"ee3d77f00b3c07797681\",\"600\":\"0dd7986d3894bd09e26d\",\"728\":\"6b8799045b98075c7a8f\",\"756\":\"c5b140c3c030cc345b8b\"}[chunkId] + \".js?v=\" + {\"128\":\"fd6a7bd994d997285906\",\"154\":\"44c9e2db1c8a2cc6b5da\",\"576\":\"ee3d77f00b3c07797681\",\"600\":\"0dd7986d3894bd09e26d\",\"728\":\"6b8799045b98075c7a8f\",\"756\":\"c5b140c3c030cc345b8b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"@jupyterlite/pyodide-kernel-extension\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@jupyterlite/pyodide-kernel-extension\", \"0.2.3\", () => (Promise.all([__webpack_require__.e(756), __webpack_require__.e(154)]).then(() => (() => (__webpack_require__(260))))));\n\t\t\tregister(\"@jupyterlite/pyodide-kernel\", \"0.2.3\", () => (Promise.all([__webpack_require__.e(128), __webpack_require__.e(600), __webpack_require__.e(756)]).then(() => (() => (__webpack_require__(952))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t480: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^7(28|56)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_jupyterlite_pyodide_kernel_extension\"] = self[\"webpackChunk_jupyterlite_pyodide_kernel_extension\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(624);\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","ensureExistence","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","findValidVersion","warn","get","init","loadSingletonVersionCheck","loadStrictVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","c","amdO","Object","getPrototypeOf","obj","t","value","mode","this","__esModule","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","replace","p","str","split","map","n","exec","apply","a","b","range","pop","scopeName","requiredVersion","msg","console","entry","promise","fallback","consumes","id","onFactory","onError","error","baseURI","self","href","installedChunks","j","installedChunkData","test","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json deleted file mode 100644 index 52c03cf77e0..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://jupyterlite-pyodide-kernel.readthedocs.org/en/latest/reference/schema/settings-v0.html#", - "title": "Pyodide Kernel Settings Schema v0", - "description": "Pyodide-specific configuration values. Will be defined in another location in the future.", - "type": "object", - "properties": { - "pyodideUrl": { - "description": "The path to the main pyodide.js entry point", - "type": "string", - "default": "https://cdn.jsdelivr.net/pyodide/v0.25.0/full/pyodide.js", - "format": "uri" - }, - "disablePyPIFallback": { - "description": "Disable the piplite behavior of falling back to https://pypi.org/pypi/", - "default": false, - "type": "boolean" - }, - "pipliteUrls": { - "description": "Paths to PyPI-compatible API endpoints for wheels. If ending in ``all.json``, assumed to be an aggregate, keyed by package name, with relative paths", - "type": "array", - "items": { - "type": "string" - }, - "default": [], - "format": "uri" - } - } -} diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json deleted file mode 100644 index 757ae8fca14..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://jupyterlite-pyodide-kernel.readthedocs.org/en/latest/reference/schema/piplite-v0.html#", - "title": "PipLite Schema v0", - "description": "a schema for the warehouse-like API index", - "$ref": "#/definitions/top", - "definitions": { - "top": { - "type": "object", - "patternProperties": { - ".*": { - "$ref": "#/definitions/a-piplite-project" - } - } - }, - "a-piplite-project": { - "type": "object", - "description": "a piplite-installable project, with one or more historical releases", - "properties": { - "releases": { - "patternProperties": { - ".*": { - "type": "array", - "items": { - "$ref": "#/definitions/a-piplite-distribution" - } - } - } - } - } - }, - "a-piplite-distribution": { - "type": "object", - "properties": { - "comment_text": { - "type": "string" - }, - "digests": { - "type": "object", - "properties": { - "md5": { - "$ref": "#/definitions/an-md5-digest" - }, - "sha256": { - "$ref": "#/definitions/a-sha256-digest" - } - } - }, - "downloads": { - "type": "number" - }, - "filename": { - "type": "string" - }, - "has_sig": { - "type": "boolean" - }, - "md5_digest": { - "$ref": "#/definitions/an-md5-digest" - }, - "packagetype": { - "type": "string", - "enum": ["bdist_wheel"] - }, - "python_version": { - "type": "string" - }, - "requires_python": { - "$ref": "#/definitions/string-or-null" - }, - "size": { - "type": "number" - }, - "upload_time": { - "type": "string", - "format": "date-time" - }, - "upload_time_iso_8601": { - "type": "string", - "format": "date-time" - }, - "url": { - "type": "string", - "format": "uri" - }, - "yanked": { - "type": "boolean" - }, - "yanked_reason": { - "$ref": "#/definitions/string-or-null" - } - } - }, - "string-or-null": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "an-md5-digest": { - "type": "string", - "pattern": "[a-f0-9]{32}" - }, - "a-sha256-digest": { - "type": "string", - "pattern": "[a-f0-9]{64}" - } - } -} diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js deleted file mode 100644 index f41781c1b22..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js +++ /dev/null @@ -1,2 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ diff --git a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json b/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json deleted file mode 100644 index ac76f28a4b8..00000000000 --- a/notebook/lite/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "packages": [ - { - "name": "@jupyterlite/pyodide-kernel", - "versionInfo": "0.2.3", - "licenseId": "BSD-3-Clause", - "extractedText": "BSD 3-Clause License\n\nCopyright (c), JupyterLite Contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" - }, - { - "name": "comlink", - "versionInfo": "4.4.1", - "licenseId": "Apache-2.0", - "extractedText": "\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright 2017 Google Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." - }, - { - "name": "process", - "versionInfo": "0.11.10", - "licenseId": "MIT", - "extractedText": "(The MIT License)\n\nCopyright (c) 2013 Roman Shtylman \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" - } - ] -} \ No newline at end of file diff --git a/notebook/lite/extensions/communication_extension/build_log.json b/notebook/lite/extensions/communication_extension/build_log.json deleted file mode 100644 index e943dd786a1..00000000000 --- a/notebook/lite/extensions/communication_extension/build_log.json +++ /dev/null @@ -1,665 +0,0 @@ -[ - { - "bail": true, - "module": { - "rules": [ - { - "test": "/\\.raw\\.css$/", - "type": "asset/source" - }, - { - "test": "/(? { - __webpack_require__.r(__webpack_exports__); - /* harmony export */ __webpack_require__.d(__webpack_exports__, { - /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__ - /* harmony export */ - }); - /* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( - /*! @jupyterlab/apputils */ 'webpack/sharing/consume/default/@jupyterlab/apputils' - ); - /* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n( - _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ - ); - - /** - * Initialization data for the jupyterlab-iframe-bridge-example extension. - */ - const plugin = { - id: 'jupyterlab-iframe-bridge-example:plugin', - autoStart: true, - requires: [ - _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.IThemeManager - ], - activate: (app, themeManager) => { - console.log( - 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' - ); - /* Incoming messages management */ - window.addEventListener( - 'message', - event => { - if (event.data.type === 'from-host-to-iframe') { - console.log('Message received in the iframe:', event.data); - if (themeManager.theme === 'JupyterLab Dark') { - themeManager.setTheme('JupyterLab Light'); - } else { - themeManager.setTheme('JupyterLab Dark'); - } - } - }, - false - ); - /* Outgoing messages management */ - const notifyThemeChanged = () => { - const message = { - type: 'from-iframe-to-host', - theme: themeManager.theme - }; - window.parent.postMessage(message, '*'); - console.log('Message sent to the host:', message); - }; - themeManager.themeChanged.connect(notifyThemeChanged); - } - }; - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = plugin; - - /***/ - } - } -]); -//# sourceMappingURL=lib_index_js.a55949f4c762e13d1865.js.map diff --git a/notebook/lite/extensions/communication_extension/static/lib_index_js.a55949f4c762e13d1865.js.map b/notebook/lite/extensions/communication_extension/static/lib_index_js.a55949f4c762e13d1865.js.map deleted file mode 100644 index f14890fab55..00000000000 --- a/notebook/lite/extensions/communication_extension/static/lib_index_js.a55949f4c762e13d1865.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lib_index_js.a55949f4c762e13d1865.js","mappings":";;;;;;;;;;;;;;;AAEqD;AAErD;;GAEG;AACH,MAAM,MAAM,GAAgC;IAC1C,EAAE,EAAE,yCAAyC;IAC7C,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,CAAC,+DAAa,CAAC;IACzB,QAAQ,EAAE,CAAC,GAAoB,EAAE,YAA2B,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QAEnF,kCAAkC;QAClC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBAC7C,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE3D,IAAI,YAAY,CAAC,KAAK,KAAK,iBAAiB,EAAE;oBAC5C,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBAC3C;qBAAM;oBACL,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;iBAC1C;aACF;QACH,CAAC,EAAC,KAAK,CAAC,CAAC;QAET,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,GAAS,EAAE;YACpC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,iEAAe,MAAM,EAAC","sources":["webpack://communication_extension/./src/index.ts"],"sourcesContent":["import { JupyterFrontEnd, JupyterFrontEndPlugin } from '@jupyterlab/application';\n\nimport { IThemeManager } from '@jupyterlab/apputils';\n\n/**\n * Initialization data for the jupyterlab-iframe-bridge-example extension.\n */\nconst plugin: JupyterFrontEndPlugin = {\n id: 'jupyterlab-iframe-bridge-example:plugin',\n autoStart: true,\n requires: [IThemeManager],\n activate: (app: JupyterFrontEnd, themeManager: IThemeManager) => {\n console.log('JupyterLab extension jupyterlab-iframe-bridge-example is activated!');\n\n /* Incoming messages management */\n window.addEventListener('message', (event) => {\n if (event.data.type === 'from-host-to-iframe') {\n console.log('Message received in the iframe:', event.data);\n\n if (themeManager.theme === 'JupyterLab Dark') {\n themeManager.setTheme('JupyterLab Light');\n } else {\n themeManager.setTheme('JupyterLab Dark');\n }\n }\n },false);\n\n /* Outgoing messages management */\n const notifyThemeChanged = (): void => {\n const message = { type: 'from-iframe-to-host', theme: themeManager.theme };\n window.parent.postMessage(message, '*');\n console.log('Message sent to the host:', message);\n };\n themeManager.themeChanged.connect(notifyThemeChanged);\n },\n};\n\nexport default plugin;"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js b/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js deleted file mode 100644 index df204e08acb..00000000000 --- a/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js +++ /dev/null @@ -1,1038 +0,0 @@ -var _JUPYTERLAB; -/******/ (() => { - // webpackBootstrap - /******/ 'use strict'; - /******/ var __webpack_modules__ = { - /***/ 'webpack/container/entry/communication_extension': - /*!***********************!*\ - !*** container entry ***! - \***********************/ - /***/ (__unused_webpack_module, exports, __webpack_require__) => { - var moduleMap = { - './index': () => { - return __webpack_require__ - .e('lib_index_js') - .then(() => () => - __webpack_require__(/*! ./lib/index.js */ './lib/index.js') - ); - }, - './extension': () => { - return __webpack_require__ - .e('lib_index_js') - .then(() => () => - __webpack_require__(/*! ./lib/index.js */ './lib/index.js') - ); - }, - './style': () => { - return __webpack_require__ - .e('style_index_js') - .then(() => () => - __webpack_require__(/*! ./style/index.js */ './style/index.js') - ); - } - }; - var get = (module, getScope) => { - __webpack_require__.R = getScope; - getScope = __webpack_require__.o(moduleMap, module) - ? moduleMap[module]() - : Promise.resolve().then(() => { - throw new Error( - 'Module "' + module + '" does not exist in container.' - ); - }); - __webpack_require__.R = undefined; - return getScope; - }; - var init = (shareScope, initScope) => { - if (!__webpack_require__.S) return; - var name = 'default'; - var oldScope = __webpack_require__.S[name]; - if (oldScope && oldScope !== shareScope) - throw new Error( - 'Container initialization failed as it has already been initialized with a different share scope' - ); - __webpack_require__.S[name] = shareScope; - return __webpack_require__.I(name, initScope); - }; - - // This exports getters to disallow modifications - __webpack_require__.d(exports, { - get: () => get, - init: () => init - }); - - /***/ - } - - /******/ - }; // The module cache - /************************************************************************/ - /******/ /******/ var __webpack_module_cache__ = {}; // The require function - /******/ - - /******/ /******/ function __webpack_require__(moduleId) { - /******/ // Check if module is in cache - /******/ var cachedModule = __webpack_module_cache__[moduleId]; - /******/ if (cachedModule !== undefined) { - /******/ return cachedModule.exports; - /******/ - } // Create a new module (and put it into the cache) - /******/ /******/ var module = (__webpack_module_cache__[moduleId] = { - /******/ id: moduleId, // no module.loaded needed - /******/ /******/ exports: {} - /******/ - }); // Execute the module function - /******/ - - /******/ /******/ __webpack_modules__[moduleId]( - module, - module.exports, - __webpack_require__ - ); // Return the exports of the module - /******/ - - /******/ /******/ return module.exports; - /******/ - } // expose the modules object (__webpack_modules__) - /******/ - - /******/ /******/ __webpack_require__.m = __webpack_modules__; // expose the module cache - /******/ - - /******/ /******/ __webpack_require__.c = __webpack_module_cache__; /* webpack/runtime/compat get default export */ - /******/ - - /************************************************************************/ - /******/ /******/ (() => { - /******/ // getDefaultExport function for compatibility with non-harmony modules - /******/ __webpack_require__.n = module => { - /******/ var getter = - module && module.__esModule - ? /******/ () => module['default'] - : /******/ () => module; - /******/ __webpack_require__.d(getter, { a: getter }); - /******/ return getter; - /******/ - }; - /******/ - })(); /* webpack/runtime/define property getters */ - /******/ - - /******/ /******/ (() => { - /******/ // define getter functions for harmony exports - /******/ __webpack_require__.d = (exports, definition) => { - /******/ for (var key in definition) { - /******/ if ( - __webpack_require__.o(definition, key) && - !__webpack_require__.o(exports, key) - ) { - /******/ Object.defineProperty(exports, key, { - enumerable: true, - get: definition[key] - }); - /******/ - } - /******/ - } - /******/ - }; - /******/ - })(); /* webpack/runtime/ensure chunk */ - /******/ - - /******/ /******/ (() => { - /******/ __webpack_require__.f = {}; // This file contains only the entry chunk. // The chunk loading function for additional chunks - /******/ /******/ /******/ __webpack_require__.e = chunkId => { - /******/ return Promise.all( - Object.keys(__webpack_require__.f).reduce((promises, key) => { - /******/ __webpack_require__.f[key](chunkId, promises); - /******/ return promises; - /******/ - }, []) - ); - /******/ - }; - /******/ - })(); /* webpack/runtime/get javascript chunk filename */ - /******/ - - /******/ /******/ (() => { - /******/ // This function allow to reference async chunks - /******/ __webpack_require__.u = chunkId => { - /******/ // return url for filenames based on template - /******/ return ( - '' + - chunkId + - '.' + - { - lib_index_js: 'a55949f4c762e13d1865', - style_index_js: '0ad2e2f818efbe18dc2b' - }[chunkId] + - '.js' - ); - /******/ - }; - /******/ - })(); /* webpack/runtime/global */ - /******/ - - /******/ /******/ (() => { - /******/ __webpack_require__.g = (function() { - /******/ if (typeof globalThis === 'object') return globalThis; - /******/ try { - /******/ return this || new Function('return this')(); - /******/ - } catch (e) { - /******/ if (typeof window === 'object') return window; - /******/ - } - /******/ - })(); - /******/ - })(); /* webpack/runtime/hasOwnProperty shorthand */ - /******/ - - /******/ /******/ (() => { - /******/ __webpack_require__.o = (obj, prop) => - Object.prototype.hasOwnProperty.call(obj, prop); - /******/ - })(); /* webpack/runtime/load script */ - /******/ - - /******/ /******/ (() => { - /******/ var inProgress = {}; - /******/ var dataWebpackPrefix = 'communication_extension:'; // loadScript function to load a script via script tag - /******/ /******/ __webpack_require__.l = (url, done, key, chunkId) => { - /******/ if (inProgress[url]) { - inProgress[url].push(done); - return; - } - /******/ var script, needAttach; - /******/ if (key !== undefined) { - /******/ var scripts = document.getElementsByTagName('script'); - /******/ for (var i = 0; i < scripts.length; i++) { - /******/ var s = scripts[i]; - /******/ if ( - s.getAttribute('src') == url || - s.getAttribute('data-webpack') == dataWebpackPrefix + key - ) { - script = s; - break; - } - /******/ - } - /******/ - } - /******/ if (!script) { - /******/ needAttach = true; - /******/ script = document.createElement('script'); - /******/ - - /******/ script.charset = 'utf-8'; - /******/ script.timeout = 120; - /******/ if (__webpack_require__.nc) { - /******/ script.setAttribute('nonce', __webpack_require__.nc); - /******/ - } - /******/ script.setAttribute('data-webpack', dataWebpackPrefix + key); - /******/ - - /******/ script.src = url; - /******/ - } - /******/ inProgress[url] = [done]; - /******/ var onScriptComplete = (prev, event) => { - /******/ // avoid mem leaks in IE. - /******/ script.onerror = script.onload = null; - /******/ clearTimeout(timeout); - /******/ var doneFns = inProgress[url]; - /******/ delete inProgress[url]; - /******/ script.parentNode && script.parentNode.removeChild(script); - /******/ doneFns && doneFns.forEach(fn => fn(event)); - /******/ if (prev) return prev(event); - /******/ - }; - /******/ var timeout = setTimeout( - onScriptComplete.bind(null, undefined, { - type: 'timeout', - target: script - }), - 120000 - ); - /******/ script.onerror = onScriptComplete.bind(null, script.onerror); - /******/ script.onload = onScriptComplete.bind(null, script.onload); - /******/ needAttach && document.head.appendChild(script); - /******/ - }; - /******/ - })(); /* webpack/runtime/make namespace object */ - /******/ - - /******/ /******/ (() => { - /******/ // define __esModule on exports - /******/ __webpack_require__.r = exports => { - /******/ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - /******/ Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - /******/ - } - /******/ Object.defineProperty(exports, '__esModule', { value: true }); - /******/ - }; - /******/ - })(); /* webpack/runtime/sharing */ - /******/ - - /******/ /******/ (() => { - /******/ __webpack_require__.S = {}; - /******/ var initPromises = {}; - /******/ var initTokens = {}; - /******/ __webpack_require__.I = (name, initScope) => { - /******/ if (!initScope) initScope = []; // handling circular init calls - /******/ /******/ var initToken = initTokens[name]; - /******/ if (!initToken) initToken = initTokens[name] = {}; - /******/ if (initScope.indexOf(initToken) >= 0) return; - /******/ initScope.push(initToken); // only runs once - /******/ /******/ if (initPromises[name]) return initPromises[name]; // creates a new share scope if needed - /******/ /******/ if (!__webpack_require__.o(__webpack_require__.S, name)) - __webpack_require__.S[name] = {}; // runs all init snippets from all modules reachable - /******/ /******/ var scope = __webpack_require__.S[name]; - /******/ var warn = msg => { - /******/ if (typeof console !== 'undefined' && console.warn) - console.warn(msg); - /******/ - }; - /******/ var uniqueName = 'communication_extension'; - /******/ var register = (name, version, factory, eager) => { - /******/ var versions = (scope[name] = scope[name] || {}); - /******/ var activeVersion = versions[version]; - /******/ if ( - !activeVersion || - (!activeVersion.loaded && - (!eager != !activeVersion.eager - ? eager - : uniqueName > activeVersion.from)) - ) - versions[version] = { - get: factory, - from: uniqueName, - eager: !!eager - }; - /******/ - }; - /******/ var initExternal = id => { - /******/ var handleError = err => - warn('Initialization of sharing external failed: ' + err); - /******/ try { - /******/ var module = __webpack_require__(id); - /******/ if (!module) return; - /******/ var initFn = module => - module && - module.init && - module.init(__webpack_require__.S[name], initScope); - /******/ if (module.then) - return promises.push(module.then(initFn, handleError)); - /******/ var initResult = initFn(module); - /******/ if (initResult && initResult.then) - return promises.push(initResult['catch'](handleError)); - /******/ - } catch (err) { - handleError(err); - } - /******/ - }; - /******/ var promises = []; - /******/ switch (name) { - /******/ case 'default': - { - /******/ register('communication_extension', '0.1.0', () => - __webpack_require__ - .e('lib_index_js') - .then(() => () => - __webpack_require__(/*! ./lib/index.js */ './lib/index.js') - ) - ); - /******/ - } - /******/ break; - /******/ - } - /******/ if (!promises.length) return (initPromises[name] = 1); - /******/ return (initPromises[name] = Promise.all(promises).then( - () => (initPromises[name] = 1) - )); - /******/ - }; - /******/ - })(); /* webpack/runtime/publicPath */ - /******/ - - /******/ /******/ (() => { - /******/ var scriptUrl; - /******/ if (__webpack_require__.g.importScripts) - scriptUrl = __webpack_require__.g.location + ''; - /******/ var document = __webpack_require__.g.document; - /******/ if (!scriptUrl && document) { - /******/ if (document.currentScript) - /******/ scriptUrl = document.currentScript.src; - /******/ if (!scriptUrl) { - /******/ var scripts = document.getElementsByTagName('script'); - /******/ if (scripts.length) { - /******/ var i = scripts.length - 1; - /******/ while ( - i > -1 && - (!scriptUrl || !/^http(s?):/.test(scriptUrl)) - ) - scriptUrl = scripts[i--].src; - /******/ - } - /******/ - } - /******/ - } // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic. - /******/ /******/ /******/ if (!scriptUrl) - throw new Error('Automatic publicPath is not supported in this browser'); - /******/ scriptUrl = scriptUrl - .replace(/#.*$/, '') - .replace(/\?.*$/, '') - .replace(/\/[^\/]+$/, '/'); - /******/ __webpack_require__.p = scriptUrl; - /******/ - })(); /* webpack/runtime/consumes */ - /******/ - - /******/ /******/ (() => { - /******/ var parseVersion = str => { - /******/ // see webpack/lib/util/semver.js for original code - /******/ var p = p => { - return p.split('.').map(p => { - return +p == p ? +p : p; - }); - }, - n = /^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(str), - r = n[1] ? p(n[1]) : []; - return ( - n[2] && (r.length++, r.push.apply(r, p(n[2]))), - n[3] && (r.push([]), r.push.apply(r, p(n[3]))), - r - ); - /******/ - }; - /******/ var versionLt = (a, b) => { - /******/ // see webpack/lib/util/semver.js for original code - /******/ (a = parseVersion(a)), (b = parseVersion(b)); - for (var r = 0; ; ) { - if (r >= a.length) return r < b.length && 'u' != (typeof b[r])[0]; - var e = a[r], - n = (typeof e)[0]; - if (r >= b.length) return 'u' == n; - var t = b[r], - f = (typeof t)[0]; - if (n != f) return ('o' == n && 'n' == f) || 's' == f || 'u' == n; - if ('o' != n && 'u' != n && e != t) return e < t; - r++; - } - /******/ - }; - /******/ var rangeToString = range => { - /******/ // see webpack/lib/util/semver.js for original code - /******/ var r = range[0], - n = ''; - if (1 === range.length) return '*'; - if (r + 0.5) { - n += - 0 == r - ? '>=' - : -1 == r - ? '<' - : 1 == r - ? '^' - : 2 == r - ? '~' - : r > 0 - ? '=' - : '!='; - for (var e = 1, a = 1; a < range.length; a++) { - e--, - (n += - 'u' == (typeof (t = range[a]))[0] - ? '-' - : (e > 0 ? '.' : '') + ((e = 2), t)); - } - return n; - } - var g = []; - for (a = 1; a < range.length; a++) { - var t = range[a]; - g.push( - 0 === t - ? 'not(' + o() + ')' - : 1 === t - ? '(' + o() + ' || ' + o() + ')' - : 2 === t - ? g.pop() + ' ' + g.pop() - : rangeToString(t) - ); - } - return o(); - function o() { - return g.pop().replace(/^\((.+)\)$/, '$1'); - } - /******/ - }; - /******/ var satisfy = (range, version) => { - /******/ // see webpack/lib/util/semver.js for original code - /******/ if (0 in range) { - version = parseVersion(version); - var e = range[0], - r = e < 0; - r && (e = -e - 1); - for (var n = 0, i = 1, a = !0; ; i++, n++) { - var f, - s, - g = i < range.length ? (typeof range[i])[0] : ''; - if (n >= version.length || 'o' == (s = (typeof (f = version[n]))[0])) - return !a || ('u' == g ? i > e && !r : ('' == g) != r); - if ('u' == s) { - if (!a || 'u' != g) return !1; - } else if (a) - if (g == s) - if (i <= e) { - if (f != range[i]) return !1; - } else { - if (r ? f > range[i] : f < range[i]) return !1; - f != range[i] && (a = !1); - } - else if ('s' != g && 'n' != g) { - if (r || i <= e) return !1; - (a = !1), i--; - } else { - if (i <= e || s < g != r) return !1; - a = !1; - } - else 's' != g && 'n' != g && ((a = !1), i--); - } - } - var t = [], - o = t.pop.bind(t); - for (n = 1; n < range.length; n++) { - var u = range[n]; - t.push( - 1 == u - ? o() | o() - : 2 == u - ? o() & o() - : u - ? satisfy(u, version) - : !o() - ); - } - return !!o(); - /******/ - }; - /******/ var ensureExistence = (scopeName, key) => { - /******/ var scope = __webpack_require__.S[scopeName]; - /******/ if (!scope || !__webpack_require__.o(scope, key)) - throw new Error( - 'Shared module ' + key + " doesn't exist in shared scope " + scopeName - ); - /******/ return scope; - /******/ - }; - /******/ var findVersion = (scope, key) => { - /******/ var versions = scope[key]; - /******/ var key = Object.keys(versions).reduce((a, b) => { - /******/ return !a || versionLt(a, b) ? b : a; - /******/ - }, 0); - /******/ return key && versions[key]; - /******/ - }; - /******/ var findSingletonVersionKey = (scope, key) => { - /******/ var versions = scope[key]; - /******/ return Object.keys(versions).reduce((a, b) => { - /******/ return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a; - /******/ - }, 0); - /******/ - }; - /******/ var getInvalidSingletonVersionMessage = ( - scope, - key, - version, - requiredVersion - ) => { - /******/ return ( - 'Unsatisfied version ' + - version + - ' from ' + - (version && scope[key][version].from) + - ' of shared singleton module ' + - key + - ' (required ' + - rangeToString(requiredVersion) + - ')' - ); - /******/ - }; - /******/ var getSingleton = (scope, scopeName, key, requiredVersion) => { - /******/ var version = findSingletonVersionKey(scope, key); - /******/ return get(scope[key][version]); - /******/ - }; - /******/ var getSingletonVersion = ( - scope, - scopeName, - key, - requiredVersion - ) => { - /******/ var version = findSingletonVersionKey(scope, key); - /******/ if (!satisfy(requiredVersion, version)) - warn( - getInvalidSingletonVersionMessage( - scope, - key, - version, - requiredVersion - ) - ); - /******/ return get(scope[key][version]); - /******/ - }; - /******/ var getStrictSingletonVersion = ( - scope, - scopeName, - key, - requiredVersion - ) => { - /******/ var version = findSingletonVersionKey(scope, key); - /******/ if (!satisfy(requiredVersion, version)) - throw new Error( - getInvalidSingletonVersionMessage( - scope, - key, - version, - requiredVersion - ) - ); - /******/ return get(scope[key][version]); - /******/ - }; - /******/ var findValidVersion = (scope, key, requiredVersion) => { - /******/ var versions = scope[key]; - /******/ var key = Object.keys(versions).reduce((a, b) => { - /******/ if (!satisfy(requiredVersion, b)) return a; - /******/ return !a || versionLt(a, b) ? b : a; - /******/ - }, 0); - /******/ return key && versions[key]; - /******/ - }; - /******/ var getInvalidVersionMessage = ( - scope, - scopeName, - key, - requiredVersion - ) => { - /******/ var versions = scope[key]; - /******/ return ( - 'No satisfying version (' + - rangeToString(requiredVersion) + - ') of shared module ' + - key + - ' found in shared scope ' + - scopeName + - '.\n' + - /******/ 'Available versions: ' + - Object.keys(versions) - .map(key => { - /******/ return key + ' from ' + versions[key].from; - /******/ - }) - .join(', ') - ); - /******/ - }; - /******/ var getValidVersion = (scope, scopeName, key, requiredVersion) => { - /******/ var entry = findValidVersion(scope, key, requiredVersion); - /******/ if (entry) return get(entry); - /******/ throw new Error( - getInvalidVersionMessage(scope, scopeName, key, requiredVersion) - ); - /******/ - }; - /******/ var warn = msg => { - /******/ if (typeof console !== 'undefined' && console.warn) - console.warn(msg); - /******/ - }; - /******/ var warnInvalidVersion = ( - scope, - scopeName, - key, - requiredVersion - ) => { - /******/ warn( - getInvalidVersionMessage(scope, scopeName, key, requiredVersion) - ); - /******/ - }; - /******/ var get = entry => { - /******/ entry.loaded = 1; - /******/ return entry.get(); - /******/ - }; - /******/ var init = fn => - function(scopeName, a, b, c) { - /******/ var promise = __webpack_require__.I(scopeName); - /******/ if (promise && promise.then) - return promise.then( - fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c) - ); - /******/ return fn( - scopeName, - __webpack_require__.S[scopeName], - a, - b, - c - ); - /******/ - }; - /******/ - - /******/ var load = /*#__PURE__*/ init((scopeName, scope, key) => { - /******/ ensureExistence(scopeName, key); - /******/ return get(findVersion(scope, key)); - /******/ - }); - /******/ var loadFallback = /*#__PURE__*/ init( - (scopeName, scope, key, fallback) => { - /******/ return scope && __webpack_require__.o(scope, key) - ? get(findVersion(scope, key)) - : fallback(); - /******/ - } - ); - /******/ var loadVersionCheck = /*#__PURE__*/ init( - (scopeName, scope, key, version) => { - /******/ ensureExistence(scopeName, key); - /******/ return get( - findValidVersion(scope, key, version) || - warnInvalidVersion(scope, scopeName, key, version) || - findVersion(scope, key) - ); - /******/ - } - ); - /******/ var loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => { - /******/ ensureExistence(scopeName, key); - /******/ return getSingleton(scope, scopeName, key); - /******/ - }); - /******/ var loadSingletonVersionCheck = /*#__PURE__*/ init( - (scopeName, scope, key, version) => { - /******/ ensureExistence(scopeName, key); - /******/ return getSingletonVersion(scope, scopeName, key, version); - /******/ - } - ); - /******/ var loadStrictVersionCheck = /*#__PURE__*/ init( - (scopeName, scope, key, version) => { - /******/ ensureExistence(scopeName, key); - /******/ return getValidVersion(scope, scopeName, key, version); - /******/ - } - ); - /******/ var loadStrictSingletonVersionCheck = /*#__PURE__*/ init( - (scopeName, scope, key, version) => { - /******/ ensureExistence(scopeName, key); - /******/ return getStrictSingletonVersion( - scope, - scopeName, - key, - version - ); - /******/ - } - ); - /******/ var loadVersionCheckFallback = /*#__PURE__*/ init( - (scopeName, scope, key, version, fallback) => { - /******/ if (!scope || !__webpack_require__.o(scope, key)) - return fallback(); - /******/ return get( - findValidVersion(scope, key, version) || - warnInvalidVersion(scope, scopeName, key, version) || - findVersion(scope, key) - ); - /******/ - } - ); - /******/ var loadSingletonFallback = /*#__PURE__*/ init( - (scopeName, scope, key, fallback) => { - /******/ if (!scope || !__webpack_require__.o(scope, key)) - return fallback(); - /******/ return getSingleton(scope, scopeName, key); - /******/ - } - ); - /******/ var loadSingletonVersionCheckFallback = /*#__PURE__*/ init( - (scopeName, scope, key, version, fallback) => { - /******/ if (!scope || !__webpack_require__.o(scope, key)) - return fallback(); - /******/ return getSingletonVersion(scope, scopeName, key, version); - /******/ - } - ); - /******/ var loadStrictVersionCheckFallback = /*#__PURE__*/ init( - (scopeName, scope, key, version, fallback) => { - /******/ var entry = - scope && - __webpack_require__.o(scope, key) && - findValidVersion(scope, key, version); - /******/ return entry ? get(entry) : fallback(); - /******/ - } - ); - /******/ var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init( - (scopeName, scope, key, version, fallback) => { - /******/ if (!scope || !__webpack_require__.o(scope, key)) - return fallback(); - /******/ return getStrictSingletonVersion( - scope, - scopeName, - key, - version - ); - /******/ - } - ); - /******/ var installedModules = {}; - /******/ var moduleToHandlerMapping = { - /******/ 'webpack/sharing/consume/default/@jupyterlab/apputils': () => - loadSingletonVersionCheck('default', '@jupyterlab/apputils', [ - 1, - 4, - 1, - 11 - ]) - /******/ - }; // no consumes in initial chunks - /******/ /******/ var chunkMapping = { - /******/ lib_index_js: [ - /******/ 'webpack/sharing/consume/default/@jupyterlab/apputils' - /******/ - ] - /******/ - }; - /******/ var startedInstallModules = {}; - /******/ __webpack_require__.f.consumes = (chunkId, promises) => { - /******/ if (__webpack_require__.o(chunkMapping, chunkId)) { - /******/ chunkMapping[chunkId].forEach(id => { - /******/ if (__webpack_require__.o(installedModules, id)) - return promises.push(installedModules[id]); - /******/ if (!startedInstallModules[id]) { - /******/ var onFactory = factory => { - /******/ installedModules[id] = 0; - /******/ __webpack_require__.m[id] = module => { - /******/ delete __webpack_require__.c[id]; - /******/ module.exports = factory(); - /******/ - }; - /******/ - }; - /******/ startedInstallModules[id] = true; - /******/ var onError = error => { - /******/ delete installedModules[id]; - /******/ __webpack_require__.m[id] = module => { - /******/ delete __webpack_require__.c[id]; - /******/ throw error; - /******/ - }; - /******/ - }; - /******/ try { - /******/ var promise = moduleToHandlerMapping[id](); - /******/ if (promise.then) { - /******/ promises.push( - (installedModules[id] = promise - .then(onFactory) - ['catch'](onError)) - ); - /******/ - } else onFactory(promise); - /******/ - } catch (e) { - onError(e); - } - /******/ - } - /******/ - }); - /******/ - } - /******/ - }; - /******/ - })(); /* webpack/runtime/jsonp chunk loading */ - /******/ - - /******/ /******/ (() => { - /******/ // no baseURI - /******/ - - /******/ // object to store loaded and loading chunks - /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched - /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded - /******/ var installedChunks = { - /******/ communication_extension: 0 - /******/ - }; - /******/ - - /******/ __webpack_require__.f.j = (chunkId, promises) => { - /******/ // JSONP chunk loading for javascript - /******/ var installedChunkData = __webpack_require__.o( - installedChunks, - chunkId - ) - ? installedChunks[chunkId] - : undefined; - /******/ if (installedChunkData !== 0) { - // 0 means "already installed". - /******/ - - /******/ // a Promise means "currently loading". - /******/ if (installedChunkData) { - /******/ promises.push(installedChunkData[2]); - /******/ - } else { - /******/ if (true) { - // all chunks have JS - /******/ // setup Promise in chunk cache - /******/ var promise = new Promise( - (resolve, reject) => - (installedChunkData = installedChunks[chunkId] = [ - resolve, - reject - ]) - ); - /******/ promises.push((installedChunkData[2] = promise)); // start chunk loading - /******/ - - /******/ /******/ var url = - __webpack_require__.p + __webpack_require__.u(chunkId); // create error before stack unwound to get useful stacktrace later - /******/ /******/ var error = new Error(); - /******/ var loadingEnded = event => { - /******/ if (__webpack_require__.o(installedChunks, chunkId)) { - /******/ installedChunkData = installedChunks[chunkId]; - /******/ if (installedChunkData !== 0) - installedChunks[chunkId] = undefined; - /******/ if (installedChunkData) { - /******/ var errorType = - event && (event.type === 'load' ? 'missing' : event.type); - /******/ var realSrc = - event && event.target && event.target.src; - /******/ error.message = - 'Loading chunk ' + - chunkId + - ' failed.\n(' + - errorType + - ': ' + - realSrc + - ')'; - /******/ error.name = 'ChunkLoadError'; - /******/ error.type = errorType; - /******/ error.request = realSrc; - /******/ installedChunkData[1](error); - /******/ - } - /******/ - } - /******/ - }; - /******/ __webpack_require__.l( - url, - loadingEnded, - 'chunk-' + chunkId, - chunkId - ); - /******/ - } - /******/ - } - /******/ - } - /******/ - }; /******/ /******/ /******/ /******/ /******/ // no prefetching // no preloaded // no HMR // no HMR manifest // no on chunks loaded // install a JSONP callback for chunk loading - /******/ - - /******/ /******/ /******/ /******/ /******/ /******/ /******/ var webpackJsonpCallback = ( - parentChunkLoadingFunction, - data - ) => { - /******/ var [chunkIds, moreModules, runtime] = data; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback - /******/ /******/ /******/ var moduleId, - chunkId, - i = 0; - /******/ if (chunkIds.some(id => installedChunks[id] !== 0)) { - /******/ for (moduleId in moreModules) { - /******/ if (__webpack_require__.o(moreModules, moduleId)) { - /******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; - /******/ - } - /******/ - } - /******/ if (runtime) var result = runtime(__webpack_require__); - /******/ - } - /******/ if (parentChunkLoadingFunction) parentChunkLoadingFunction(data); - /******/ for (; i < chunkIds.length; i++) { - /******/ chunkId = chunkIds[i]; - /******/ if ( - __webpack_require__.o(installedChunks, chunkId) && - installedChunks[chunkId] - ) { - /******/ installedChunks[chunkId][0](); - /******/ - } - /******/ installedChunks[chunkId] = 0; - /******/ - } - /******/ - /******/ - }; - /******/ - - /******/ var chunkLoadingGlobal = (self[ - 'webpackChunkcommunication_extension' - ] = self['webpackChunkcommunication_extension'] || []); - /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); - /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind( - null, - chunkLoadingGlobal.push.bind(chunkLoadingGlobal) - ); - /******/ - })(); /* webpack/runtime/nonce */ - /******/ - - /******/ /******/ (() => { - /******/ __webpack_require__.nc = undefined; - /******/ - })(); // module cache are used so entry inlining is disabled // startup // Load entry module and return exports - /******/ - - /************************************************************************/ - /******/ - - /******/ /******/ /******/ /******/ var __webpack_exports__ = __webpack_require__( - 'webpack/container/entry/communication_extension' - ); - /******/ (_JUPYTERLAB = - typeof _JUPYTERLAB === 'undefined' - ? {} - : _JUPYTERLAB).communication_extension = __webpack_exports__; - /******/ - /******/ -})(); -//# sourceMappingURL=remoteEntry.2c16c2805511d8774341.js.map diff --git a/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js.map b/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js.map deleted file mode 100644 index e3873b1ea6c..00000000000 --- a/notebook/lite/extensions/communication_extension/static/remoteEntry.2c16c2805511d8774341.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"remoteEntry.2c16c2805511d8774341.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;UCpCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,8BAA8B,8EAA8E;WAC5G;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,oJAAoJ;WACpJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI,aAAa;WACjB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7CA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WClBA;WACA;WACA,WAAW,6BAA6B,iBAAiB,GAAG,qEAAqE;WACjI;WACA;WACA;WACA,qCAAqC,aAAa,EAAE,wDAAwD,2BAA2B,4BAA4B,2BAA2B,+CAA+C,mCAAmC;WAChR;WACA;WACA;WACA,qBAAqB,8BAA8B,SAAS,sDAAsD,gBAAgB,eAAe,KAAK,6DAA6D,SAAS,SAAS,QAAQ,eAAe,KAAK,eAAe,qGAAqG,WAAW,aAAa;WAC7Y;WACA;WACA;WACA,gBAAgB,8BAA8B,qBAAqB,YAAY,sBAAsB,SAAS,iDAAiD,6FAA6F,WAAW,uBAAuB,2BAA2B,wBAAwB,KAAK,oCAAoC,oBAAoB,wBAAwB,oBAAoB,SAAS,KAAK,yBAAyB,KAAK,gCAAgC,yBAAyB,QAAQ,eAAe,KAAK,eAAe,4DAA4D;WACtoB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;;WAED;WACA;WACA;WACA,CAAC;WACD;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN,KAAK,WAAW;WAChB;WACA,GAAG;WACH;WACA;;;;;WC9KA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL,eAAe;WACf;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;WCrFA;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://communication_extension/webpack/container-entry","webpack://communication_extension/webpack/bootstrap","webpack://communication_extension/webpack/runtime/compat get default export","webpack://communication_extension/webpack/runtime/define property getters","webpack://communication_extension/webpack/runtime/ensure chunk","webpack://communication_extension/webpack/runtime/get javascript chunk filename","webpack://communication_extension/webpack/runtime/global","webpack://communication_extension/webpack/runtime/hasOwnProperty shorthand","webpack://communication_extension/webpack/runtime/load script","webpack://communication_extension/webpack/runtime/make namespace object","webpack://communication_extension/webpack/runtime/sharing","webpack://communication_extension/webpack/runtime/publicPath","webpack://communication_extension/webpack/runtime/consumes","webpack://communication_extension/webpack/runtime/jsonp chunk loading","webpack://communication_extension/webpack/runtime/nonce","webpack://communication_extension/webpack/before-startup","webpack://communication_extension/webpack/startup","webpack://communication_extension/webpack/after-startup"],"sourcesContent":["var moduleMap = {\n\t\"./index\": () => {\n\t\treturn __webpack_require__.e(\"lib_index_js\").then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./extension\": () => {\n\t\treturn __webpack_require__.e(\"lib_index_js\").then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./style\": () => {\n\t\treturn __webpack_require__.e(\"style_index_js\").then(() => (() => ((__webpack_require__(/*! ./style/index.js */ \"./style/index.js\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"lib_index_js\":\"a55949f4c762e13d1865\",\"style_index_js\":\"0ad2e2f818efbe18dc2b\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"communication_extension:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"communication_extension\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"communication_extension\", \"0.1.0\", () => (__webpack_require__.e(\"lib_index_js\").then(() => (() => (__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\"))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warn = (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t\"webpack/sharing/consume/default/@jupyterlab/apputils\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/apputils\", [1,4,1,11]))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"lib_index_js\": [\n\t\t\"webpack/sharing/consume/default/@jupyterlab/apputils\"\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"communication_extension\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcommunication_extension\"] = self[\"webpackChunkcommunication_extension\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(\"webpack/container/entry/communication_extension\");\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/communication_extension/static/style.js b/notebook/lite/extensions/communication_extension/static/style.js deleted file mode 100644 index 21bbe3380f7..00000000000 --- a/notebook/lite/extensions/communication_extension/static/style.js +++ /dev/null @@ -1,4 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import 'communication_extension/style/index.js'; diff --git a/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js b/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js deleted file mode 100644 index 681d10e0416..00000000000 --- a/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js +++ /dev/null @@ -1,567 +0,0 @@ -'use strict'; -(self['webpackChunkcommunication_extension'] = - self['webpackChunkcommunication_extension'] || []).push([ - ['style_index_js'], - { - /***/ './node_modules/css-loader/dist/runtime/api.js': - /*!*****************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/api.js ***! - \*****************************************************/ - /***/ module => { - /* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - module.exports = function(cssWithMappingToString) { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - return this.map(function(item) { - var content = ''; - var needLayer = typeof item[5] !== 'undefined'; - if (item[4]) { - content += '@supports ('.concat(item[4], ') {'); - } - if (item[2]) { - content += '@media '.concat(item[2], ' {'); - } - if (needLayer) { - content += '@layer'.concat( - item[5].length > 0 ? ' '.concat(item[5]) : '', - ' {' - ); - } - content += cssWithMappingToString(item); - if (needLayer) { - content += '}'; - } - if (item[2]) { - content += '}'; - } - if (item[4]) { - content += '}'; - } - return content; - }).join(''); - }; - - // import a list of modules into the list - list.i = function i(modules, media, dedupe, supports, layer) { - if (typeof modules === 'string') { - modules = [[null, modules, undefined]]; - } - var alreadyImportedModules = {}; - if (dedupe) { - for (var k = 0; k < this.length; k++) { - var id = this[k][0]; - if (id != null) { - alreadyImportedModules[id] = true; - } - } - } - for (var _k = 0; _k < modules.length; _k++) { - var item = [].concat(modules[_k]); - if (dedupe && alreadyImportedModules[item[0]]) { - continue; - } - if (typeof layer !== 'undefined') { - if (typeof item[5] === 'undefined') { - item[5] = layer; - } else { - item[1] = '@layer' - .concat(item[5].length > 0 ? ' '.concat(item[5]) : '', ' {') - .concat(item[1], '}'); - item[5] = layer; - } - } - if (media) { - if (!item[2]) { - item[2] = media; - } else { - item[1] = '@media ' - .concat(item[2], ' {') - .concat(item[1], '}'); - item[2] = media; - } - } - if (supports) { - if (!item[4]) { - item[4] = ''.concat(supports); - } else { - item[1] = '@supports (' - .concat(item[4], ') {') - .concat(item[1], '}'); - item[4] = supports; - } - } - list.push(item); - } - }; - return list; - }; - - /***/ - }, - - /***/ './node_modules/css-loader/dist/runtime/sourceMaps.js': - /*!************************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! - \************************************************************/ - /***/ module => { - module.exports = function(item) { - var content = item[1]; - var cssMapping = item[3]; - if (!cssMapping) { - return content; - } - if (typeof btoa === 'function') { - var base64 = btoa( - unescape(encodeURIComponent(JSON.stringify(cssMapping))) - ); - var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat( - base64 - ); - var sourceMapping = '/*# '.concat(data, ' */'); - return [content].concat([sourceMapping]).join('\n'); - } - return [content].join('\n'); - }; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js': - /*!****************************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! - \****************************************************************************/ - /***/ module => { - var stylesInDOM = []; - function getIndexByIdentifier(identifier) { - var result = -1; - for (var i = 0; i < stylesInDOM.length; i++) { - if (stylesInDOM[i].identifier === identifier) { - result = i; - break; - } - } - return result; - } - function modulesToDom(list, options) { - var idCountMap = {}; - var identifiers = []; - for (var i = 0; i < list.length; i++) { - var item = list[i]; - var id = options.base ? item[0] + options.base : item[0]; - var count = idCountMap[id] || 0; - var identifier = ''.concat(id, ' ').concat(count); - idCountMap[id] = count + 1; - var indexByIdentifier = getIndexByIdentifier(identifier); - var obj = { - css: item[1], - media: item[2], - sourceMap: item[3], - supports: item[4], - layer: item[5] - }; - if (indexByIdentifier !== -1) { - stylesInDOM[indexByIdentifier].references++; - stylesInDOM[indexByIdentifier].updater(obj); - } else { - var updater = addElementStyle(obj, options); - options.byIndex = i; - stylesInDOM.splice(i, 0, { - identifier: identifier, - updater: updater, - references: 1 - }); - } - identifiers.push(identifier); - } - return identifiers; - } - function addElementStyle(obj, options) { - var api = options.domAPI(options); - api.update(obj); - var updater = function updater(newObj) { - if (newObj) { - if ( - newObj.css === obj.css && - newObj.media === obj.media && - newObj.sourceMap === obj.sourceMap && - newObj.supports === obj.supports && - newObj.layer === obj.layer - ) { - return; - } - api.update((obj = newObj)); - } else { - api.remove(); - } - }; - return updater; - } - module.exports = function(list, options) { - options = options || {}; - list = list || []; - var lastIdentifiers = modulesToDom(list, options); - return function update(newList) { - newList = newList || []; - for (var i = 0; i < lastIdentifiers.length; i++) { - var identifier = lastIdentifiers[i]; - var index = getIndexByIdentifier(identifier); - stylesInDOM[index].references--; - } - var newLastIdentifiers = modulesToDom(newList, options); - for (var _i = 0; _i < lastIdentifiers.length; _i++) { - var _identifier = lastIdentifiers[_i]; - var _index = getIndexByIdentifier(_identifier); - if (stylesInDOM[_index].references === 0) { - stylesInDOM[_index].updater(); - stylesInDOM.splice(_index, 1); - } - } - lastIdentifiers = newLastIdentifiers; - }; - }; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/insertBySelector.js': - /*!********************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! - \********************************************************************/ - /***/ module => { - var memo = {}; - - /* istanbul ignore next */ - function getTarget(target) { - if (typeof memo[target] === 'undefined') { - var styleTarget = document.querySelector(target); - - // Special case to return head of iframe instead of iframe itself - if ( - window.HTMLIFrameElement && - styleTarget instanceof window.HTMLIFrameElement - ) { - try { - // This will throw an exception if access to iframe is blocked - // due to cross-origin restrictions - styleTarget = styleTarget.contentDocument.head; - } catch (e) { - // istanbul ignore next - styleTarget = null; - } - } - memo[target] = styleTarget; - } - return memo[target]; - } - - /* istanbul ignore next */ - function insertBySelector(insert, style) { - var target = getTarget(insert); - if (!target) { - throw new Error( - "Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid." - ); - } - target.appendChild(style); - } - module.exports = insertBySelector; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/insertStyleElement.js': - /*!**********************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! - \**********************************************************************/ - /***/ module => { - /* istanbul ignore next */ - function insertStyleElement(options) { - var element = document.createElement('style'); - options.setAttributes(element, options.attributes); - options.insert(element, options.options); - return element; - } - module.exports = insertStyleElement; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js': - /*!**********************************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! - \**********************************************************************************/ - /***/ (module, __unused_webpack_exports, __webpack_require__) => { - /* istanbul ignore next */ - function setAttributesWithoutAttributes(styleElement) { - var nonce = true ? __webpack_require__.nc : 0; - if (nonce) { - styleElement.setAttribute('nonce', nonce); - } - } - module.exports = setAttributesWithoutAttributes; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/styleDomAPI.js': - /*!***************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! - \***************************************************************/ - /***/ module => { - /* istanbul ignore next */ - function apply(styleElement, options, obj) { - var css = ''; - if (obj.supports) { - css += '@supports ('.concat(obj.supports, ') {'); - } - if (obj.media) { - css += '@media '.concat(obj.media, ' {'); - } - var needLayer = typeof obj.layer !== 'undefined'; - if (needLayer) { - css += '@layer'.concat( - obj.layer.length > 0 ? ' '.concat(obj.layer) : '', - ' {' - ); - } - css += obj.css; - if (needLayer) { - css += '}'; - } - if (obj.media) { - css += '}'; - } - if (obj.supports) { - css += '}'; - } - var sourceMap = obj.sourceMap; - if (sourceMap && typeof btoa !== 'undefined') { - css += '\n/*# sourceMappingURL=data:application/json;base64,'.concat( - btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), - ' */' - ); - } - - // For old IE - /* istanbul ignore if */ - options.styleTagTransform(css, styleElement, options.options); - } - function removeStyleElement(styleElement) { - // istanbul ignore if - if (styleElement.parentNode === null) { - return false; - } - styleElement.parentNode.removeChild(styleElement); - } - - /* istanbul ignore next */ - function domAPI(options) { - if (typeof document === 'undefined') { - return { - update: function update() {}, - remove: function remove() {} - }; - } - var styleElement = options.insertStyleElement(options); - return { - update: function update(obj) { - apply(styleElement, options, obj); - }, - remove: function remove() { - removeStyleElement(styleElement); - } - }; - } - module.exports = domAPI; - - /***/ - }, - - /***/ './node_modules/style-loader/dist/runtime/styleTagTransform.js': - /*!*********************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! - \*********************************************************************/ - /***/ module => { - /* istanbul ignore next */ - function styleTagTransform(css, styleElement) { - if (styleElement.styleSheet) { - styleElement.styleSheet.cssText = css; - } else { - while (styleElement.firstChild) { - styleElement.removeChild(styleElement.firstChild); - } - styleElement.appendChild(document.createTextNode(css)); - } - } - module.exports = styleTagTransform; - - /***/ - }, - - /***/ './style/index.js': - /*!************************!*\ - !*** ./style/index.js ***! - \************************/ - /***/ ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) => { - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( - /*! ./base.css */ './style/base.css' - ); - - /***/ - }, - - /***/ './node_modules/css-loader/dist/cjs.js!./style/base.css': - /*!**************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./style/base.css ***! - \**************************************************************/ - /***/ (module, __webpack_exports__, __webpack_require__) => { - __webpack_require__.r(__webpack_exports__); - /* harmony export */ __webpack_require__.d(__webpack_exports__, { - /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__ - /* harmony export */ - }); - /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( - /*! ../node_modules/css-loader/dist/runtime/sourceMaps.js */ './node_modules/css-loader/dist/runtime/sourceMaps.js' - ); - /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ - ); - /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( - /*! ../node_modules/css-loader/dist/runtime/api.js */ './node_modules/css-loader/dist/runtime/api.js' - ); - /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ - ); - // Imports - - var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()( - _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default() - ); - // Module - ___CSS_LOADER_EXPORT___.push([ - module.id, - `/* - See the JupyterLab Developer Guide for useful CSS Patterns: - - https://jupyterlab.readthedocs.io/en/stable/developer/css.html -*/ -`, - '', - { - version: 3, - sources: ['webpack://./style/base.css'], - names: [], - mappings: 'AAAA;;;;CAIC', - sourcesContent: [ - '/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n' - ], - sourceRoot: '' - } - ]); - // Exports - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ___CSS_LOADER_EXPORT___; - - /***/ - }, - - /***/ './style/base.css': - /*!************************!*\ - !*** ./style/base.css ***! - \************************/ - /***/ ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) => { - __webpack_require__.r(__webpack_exports__); - /* harmony export */ __webpack_require__.d(__webpack_exports__, { - /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__ - /* harmony export */ - }); - /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ './node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ './node_modules/style-loader/dist/runtime/styleDomAPI.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ './node_modules/style-loader/dist/runtime/insertBySelector.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ './node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ './node_modules/style-loader/dist/runtime/insertStyleElement.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( - /*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ './node_modules/style-loader/dist/runtime/styleTagTransform.js' - ); - /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/ __webpack_require__.n( - _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ - ); - /* harmony import */ var _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( - /*! !!../node_modules/css-loader/dist/cjs.js!./base.css */ './node_modules/css-loader/dist/cjs.js!./style/base.css' - ); - - var options = {}; - - options.styleTagTransform = _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(); - options.setAttributes = _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(); - - options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind( - null, - 'head' - ); - - options.domAPI = _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(); - options.insertStyleElement = _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default(); - - var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()( - _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[ - 'default' - ], - options - ); - - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = - _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[ - 'default' - ] && - _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[ - 'default' - ].locals - ? _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[ - 'default' - ].locals - : undefined; - - /***/ - } - } -]); -//# sourceMappingURL=style_index_js.0ad2e2f818efbe18dc2b.js.map diff --git a/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js.map b/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js.map deleted file mode 100644 index 671cf2d009d..00000000000 --- a/notebook/lite/extensions/communication_extension/static/style_index_js.0ad2e2f818efbe18dc2b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"style_index_js.0ad2e2f818efbe18dc2b.js","mappings":";;;;;;;;;AAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;ACfa;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA;;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACboB;;;;;;;;;;;;;;;;;;;ACApB;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;;AAEA;AACA;AACA,OAAO,oFAAoF,2LAA2L;AACtR;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXvC,MAA+F;AAC/F,MAAqF;AACrF,MAA4F;AAC5F,MAA+G;AAC/G,MAAwG;AACxG,MAAwG;AACxG,MAAkG;AAClG;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,qFAAO;;;;AAI4C;AACpE,OAAO,iEAAe,qFAAO,IAAI,qFAAO,UAAU,qFAAO,mBAAmB,EAAC","sources":["webpack://communication_extension/./node_modules/css-loader/dist/runtime/api.js","webpack://communication_extension/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://communication_extension/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://communication_extension/./style/index.js","webpack://communication_extension/./style/base.css","webpack://communication_extension/./style/base.css?1944"],"sourcesContent":["\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import './base.css';\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./style/base.css\"],\"names\":[],\"mappings\":\"AAAA;;;;CAIC\",\"sourcesContent\":[\"/*\\n See the JupyterLab Developer Guide for useful CSS Patterns:\\n\\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\\n*/\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./base.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!./base.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/notebook/lite/extensions/jupyterlab_pygments/install.json b/notebook/lite/extensions/jupyterlab_pygments/install.json deleted file mode 100644 index ee3b3e2228a..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/install.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "packageManager": "python", - "packageName": "jupyterlab_pygments", - "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package jupyterlab_pygments" -} diff --git a/notebook/lite/extensions/jupyterlab_pygments/package.json b/notebook/lite/extensions/jupyterlab_pygments/package.json deleted file mode 100644 index c0e0876713c..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/package.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "name": "jupyterlab_pygments", - "version": "0.3.0", - "description": "Pygments theme using JupyterLab CSS variables", - "keywords": [ - "jupyter", - "jupyterlab", - "jupyterlab-extension" - ], - "homepage": "https://github.com/jupyterlab/jupyterlab_pygments", - "bugs": { - "url": "https://github.com/jupyterlab/jupyterlab_pygments/issues" - }, - "license": "BSD-3-Clause", - "author": { - "name": "Jupyter Development Team", - "email": "jupyter@googlegroups.com" - }, - "files": [ - "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}", - "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}", - "style/index.js" - ], - "main": "lib/index.js", - "types": "lib/index.d.ts", - "style": "style/index.css", - "repository": { - "type": "git", - "url": "https://github.com/jupyterlab/jupyterlab_pygments.git" - }, - "scripts": { - "build": "jlpm build:css && jlpm build:lib && jlpm build:labextension:dev", - "build:css": "python generate_css.py", - "build:labextension": "jupyter labextension build .", - "build:labextension:dev": "jupyter labextension build --development True .", - "build:lib": "tsc", - "build:prod": "jlpm clean && jlpm build:css && jlpm build:lib && jlpm build:labextension", - "clean": "jlpm clean:lib", - "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", - "clean:labextension": "rimraf jupyterlab_pygments/labextension", - "clean:lib": "rimraf lib tsconfig.tsbuildinfo style/base.css", - "clean:lintcache": "rimraf .eslintcache .stylelintcache", - "eslint": "jlpm eslint:check --fix", - "eslint:check": "eslint . --cache --ext .ts,.tsx", - "install:extension": "jlpm build", - "lint": "jlpm stylelint && jlpm prettier && jlpm eslint", - "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check", - "prettier": "jlpm prettier:base --write --list-different", - "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"", - "prettier:check": "jlpm prettier:base --check", - "stylelint": "jlpm stylelint:check --fix", - "stylelint:check": "stylelint --cache \"style/**/*.css\"", - "watch": "run-p watch:src watch:labextension", - "watch:labextension": "jupyter labextension watch .", - "watch:src": "tsc -w" - }, - "dependencies": { - "@jupyterlab/application": "^4.0.8", - "@types/node": "^20.9.0" - }, - "devDependencies": { - "@jupyterlab/builder": "^4.0.0", - "@types/json-schema": "^7.0.11", - "@types/react": "^18.0.26", - "@types/react-addons-linked-state-mixin": "^0.14.22", - "@typescript-eslint/eslint-plugin": "^6.1.0", - "@typescript-eslint/parser": "^6.1.0", - "css-loader": "^6.7.1", - "eslint": "^8.36.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-prettier": "^5.0.0", - "npm-run-all": "^4.1.5", - "prettier": "3.0.3", - "rimraf": "^5.0.5", - "source-map-loader": "^1.0.2", - "style-loader": "^3.3.1", - "stylelint": "^15.10.1", - "stylelint-config-prettier": "^9.0.3", - "stylelint-config-recommended": "^13.0.0", - "stylelint-config-standard": "^34.0.0", - "stylelint-csstree-validator": "^3.0.0", - "stylelint-prettier": "^4.0.0", - "typescript": "~5.0.2", - "yjs": "^13.5.40" - }, - "sideEffects": [ - "style/*.css", - "style/index.js" - ], - "styleModule": "style/index.js", - "publishConfig": { - "access": "public" - }, - "jupyterlab": { - "extension": true, - "outputDir": "jupyterlab_pygments/labextension", - "_build": { - "load": "static/remoteEntry.5cbb9d2323598fbda535.js", - "extension": "./extension", - "style": "./style" - } - }, - "jupyter-releaser": { - "hooks": { - "before-build-npm": [ - "python -m pip install jupyterlab~=3.1", - "jlpm" - ], - "before-build-python": [ - "jlpm clean:all" - ] - } - }, - "eslintConfig": { - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:prettier/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "interface", - "format": [ - "PascalCase" - ], - "custom": { - "regex": "^I[A-Z]", - "match": true - } - } - ], - "@typescript-eslint/no-unused-vars": [ - "warn", - { - "args": "none" - } - ], - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-namespace": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/quotes": [ - "error", - "single", - { - "avoidEscape": true, - "allowTemplateLiterals": false - } - ], - "curly": [ - "error", - "all" - ], - "eqeqeq": "error", - "prefer-arrow-callback": "error" - } - }, - "eslintIgnore": [ - "node_modules", - "dist", - "coverage", - "**/*.d.ts" - ], - "prettier": { - "singleQuote": true, - "trailingComma": "none", - "arrowParens": "avoid", - "endOfLine": "auto", - "overrides": [ - { - "files": "package.json", - "options": { - "tabWidth": 4 - } - } - ] - }, - "stylelint": { - "extends": [ - "stylelint-config-recommended", - "stylelint-config-standard", - "stylelint-prettier/recommended" - ], - "plugins": [ - "stylelint-csstree-validator" - ], - "rules": { - "csstree/validator": true, - "property-no-vendor-prefix": null, - "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$", - "selector-no-vendor-prefix": null, - "value-no-vendor-prefix": null - } - } -} diff --git a/notebook/lite/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js b/notebook/lite/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js deleted file mode 100644 index 95d8c56f2ad..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; -(self.webpackChunkjupyterlab_pygments = - self.webpackChunkjupyterlab_pygments || []).push([ - [568], - { - 568: (t, e, a) => { - a.r(e), a.d(e, { default: () => p }); - const p = { - id: 'jupyterlab_pygments:plugin', - autoStart: !0, - activate: t => {} - }; - } - } -]); diff --git a/notebook/lite/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js b/notebook/lite/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js deleted file mode 100644 index d016a8b40bd..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js +++ /dev/null @@ -1,266 +0,0 @@ -'use strict'; -(self.webpackChunkjupyterlab_pygments = - self.webpackChunkjupyterlab_pygments || []).push([ - [747], - { - 150: (r, o, t) => { - t.d(o, { Z: () => c }); - var e = t(81), - i = t.n(e), - n = t(645), - l = t.n(n)()(i()); - l.push([ - r.id, - '\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/* This file was auto-generated by generate_css.py in jupyterlab_pygments */\n\n.highlight .hll { background-color: var(--jp-cell-editor-active-background) }\n.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }\n.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */\n.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */\n.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */\n.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */\n.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */\n.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */\n.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */\n.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */\n.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */\n.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */\n.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */\n.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */\n.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */\n.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */\n.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */\n.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */\n.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */\n.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */\n.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */\n.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */\n.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */\n.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */\n.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */\n.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */\n.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */\n.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */\n.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */\n.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */\n.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */\n.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */\n.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */\n.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */\n.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */\n.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */\n.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */\n.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */', - '' - ]); - const c = l; - }, - 645: r => { - r.exports = function(r) { - var o = []; - return ( - (o.toString = function() { - return this.map(function(o) { - var t = '', - e = void 0 !== o[5]; - return ( - o[4] && (t += '@supports ('.concat(o[4], ') {')), - o[2] && (t += '@media '.concat(o[2], ' {')), - e && - (t += '@layer'.concat( - o[5].length > 0 ? ' '.concat(o[5]) : '', - ' {' - )), - (t += r(o)), - e && (t += '}'), - o[2] && (t += '}'), - o[4] && (t += '}'), - t - ); - }).join(''); - }), - (o.i = function(r, t, e, i, n) { - 'string' == typeof r && (r = [[null, r, void 0]]); - var l = {}; - if (e) - for (var c = 0; c < this.length; c++) { - var a = this[c][0]; - null != a && (l[a] = !0); - } - for (var h = 0; h < r.length; h++) { - var g = [].concat(r[h]); - (e && l[g[0]]) || - (void 0 !== n && - (void 0 === g[5] || - (g[1] = '@layer' - .concat(g[5].length > 0 ? ' '.concat(g[5]) : '', ' {') - .concat(g[1], '}')), - (g[5] = n)), - t && - (g[2] - ? ((g[1] = '@media '.concat(g[2], ' {').concat(g[1], '}')), - (g[2] = t)) - : (g[2] = t)), - i && - (g[4] - ? ((g[1] = '@supports (' - .concat(g[4], ') {') - .concat(g[1], '}')), - (g[4] = i)) - : (g[4] = ''.concat(i))), - o.push(g)); - } - }), - o - ); - }; - }, - 81: r => { - r.exports = function(r) { - return r[1]; - }; - }, - 379: r => { - var o = []; - function t(r) { - for (var t = -1, e = 0; e < o.length; e++) - if (o[e].identifier === r) { - t = e; - break; - } - return t; - } - function e(r, e) { - for (var n = {}, l = [], c = 0; c < r.length; c++) { - var a = r[c], - h = e.base ? a[0] + e.base : a[0], - g = n[h] || 0, - s = ''.concat(h, ' ').concat(g); - n[h] = g + 1; - var d = t(s), - p = { - css: a[1], - media: a[2], - sourceMap: a[3], - supports: a[4], - layer: a[5] - }; - if (-1 !== d) o[d].references++, o[d].updater(p); - else { - var m = i(p, e); - (e.byIndex = c), - o.splice(c, 0, { identifier: s, updater: m, references: 1 }); - } - l.push(s); - } - return l; - } - function i(r, o) { - var t = o.domAPI(o); - return ( - t.update(r), - function(o) { - if (o) { - if ( - o.css === r.css && - o.media === r.media && - o.sourceMap === r.sourceMap && - o.supports === r.supports && - o.layer === r.layer - ) - return; - t.update((r = o)); - } else t.remove(); - } - ); - } - r.exports = function(r, i) { - var n = e((r = r || []), (i = i || {})); - return function(r) { - r = r || []; - for (var l = 0; l < n.length; l++) { - var c = t(n[l]); - o[c].references--; - } - for (var a = e(r, i), h = 0; h < n.length; h++) { - var g = t(n[h]); - 0 === o[g].references && (o[g].updater(), o.splice(g, 1)); - } - n = a; - }; - }; - }, - 569: r => { - var o = {}; - r.exports = function(r, t) { - var e = (function(r) { - if (void 0 === o[r]) { - var t = document.querySelector(r); - if ( - window.HTMLIFrameElement && - t instanceof window.HTMLIFrameElement - ) - try { - t = t.contentDocument.head; - } catch (r) { - t = null; - } - o[r] = t; - } - return o[r]; - })(r); - if (!e) - throw new Error( - "Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid." - ); - e.appendChild(t); - }; - }, - 216: r => { - r.exports = function(r) { - var o = document.createElement('style'); - return r.setAttributes(o, r.attributes), r.insert(o, r.options), o; - }; - }, - 565: (r, o, t) => { - r.exports = function(r) { - var o = t.nc; - o && r.setAttribute('nonce', o); - }; - }, - 795: r => { - r.exports = function(r) { - if ('undefined' == typeof document) - return { update: function() {}, remove: function() {} }; - var o = r.insertStyleElement(r); - return { - update: function(t) { - !(function(r, o, t) { - var e = ''; - t.supports && (e += '@supports ('.concat(t.supports, ') {')), - t.media && (e += '@media '.concat(t.media, ' {')); - var i = void 0 !== t.layer; - i && - (e += '@layer'.concat( - t.layer.length > 0 ? ' '.concat(t.layer) : '', - ' {' - )), - (e += t.css), - i && (e += '}'), - t.media && (e += '}'), - t.supports && (e += '}'); - var n = t.sourceMap; - n && - 'undefined' != typeof btoa && - (e += '\n/*# sourceMappingURL=data:application/json;base64,'.concat( - btoa(unescape(encodeURIComponent(JSON.stringify(n)))), - ' */' - )), - o.styleTagTransform(e, r, o.options); - })(o, r, t); - }, - remove: function() { - !(function(r) { - if (null === r.parentNode) return !1; - r.parentNode.removeChild(r); - })(o); - } - }; - }; - }, - 589: r => { - r.exports = function(r, o) { - if (o.styleSheet) o.styleSheet.cssText = r; - else { - for (; o.firstChild; ) o.removeChild(o.firstChild); - o.appendChild(document.createTextNode(r)); - } - }; - }, - 747: (r, o, t) => { - t.r(o); - var e = t(379), - i = t.n(e), - n = t(795), - l = t.n(n), - c = t(569), - a = t.n(c), - h = t(565), - g = t.n(h), - s = t(216), - d = t.n(s), - p = t(589), - m = t.n(p), - u = t(150), - v = {}; - (v.styleTagTransform = m()), - (v.setAttributes = g()), - (v.insert = a().bind(null, 'head')), - (v.domAPI = l()), - (v.insertStyleElement = d()), - i()(u.Z, v), - u.Z && u.Z.locals && u.Z.locals; - } - } -]); diff --git a/notebook/lite/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js b/notebook/lite/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js deleted file mode 100644 index 22f946cf798..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js +++ /dev/null @@ -1,229 +0,0 @@ -var _JUPYTERLAB; -(() => { - 'use strict'; - var e, - r, - t = { - 741: (e, r, t) => { - var n = { - './index': () => t.e(568).then(() => () => t(568)), - './extension': () => t.e(568).then(() => () => t(568)), - './style': () => t.e(747).then(() => () => t(747)) - }, - a = (e, r) => ( - (t.R = r), - (r = t.o(n, e) - ? n[e]() - : Promise.resolve().then(() => { - throw new Error( - 'Module "' + e + '" does not exist in container.' - ); - })), - (t.R = void 0), - r - ), - o = (e, r) => { - if (t.S) { - var n = 'default', - a = t.S[n]; - if (a && a !== e) - throw new Error( - 'Container initialization failed as it has already been initialized with a different share scope' - ); - return (t.S[n] = e), t.I(n, r); - } - }; - t.d(r, { get: () => a, init: () => o }); - } - }, - n = {}; - function a(e) { - var r = n[e]; - if (void 0 !== r) return r.exports; - var o = (n[e] = { id: e, exports: {} }); - return t[e](o, o.exports, a), o.exports; - } - (a.m = t), - (a.c = n), - (a.n = e => { - var r = e && e.__esModule ? () => e.default : () => e; - return a.d(r, { a: r }), r; - }), - (a.d = (e, r) => { - for (var t in r) - a.o(r, t) && - !a.o(e, t) && - Object.defineProperty(e, t, { enumerable: !0, get: r[t] }); - }), - (a.f = {}), - (a.e = e => - Promise.all(Object.keys(a.f).reduce((r, t) => (a.f[t](e, r), r), []))), - (a.u = e => - e + - '.' + - { 568: '1e2faa2ba0bbe59c4780', 747: '67662283a5707eeb4d4c' }[e] + - '.js?v=' + - { 568: '1e2faa2ba0bbe59c4780', 747: '67662283a5707eeb4d4c' }[e]), - (a.g = (function() { - if ('object' == typeof globalThis) return globalThis; - try { - return this || new Function('return this')(); - } catch (e) { - if ('object' == typeof window) return window; - } - })()), - (a.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r)), - (e = {}), - (r = 'jupyterlab_pygments:'), - (a.l = (t, n, o, i) => { - if (e[t]) e[t].push(n); - else { - var l, u; - if (void 0 !== o) - for ( - var s = document.getElementsByTagName('script'), d = 0; - d < s.length; - d++ - ) { - var c = s[d]; - if ( - c.getAttribute('src') == t || - c.getAttribute('data-webpack') == r + o - ) { - l = c; - break; - } - } - l || - ((u = !0), - ((l = document.createElement('script')).charset = 'utf-8'), - (l.timeout = 120), - a.nc && l.setAttribute('nonce', a.nc), - l.setAttribute('data-webpack', r + o), - (l.src = t)), - (e[t] = [n]); - var p = (r, n) => { - (l.onerror = l.onload = null), clearTimeout(f); - var a = e[t]; - if ( - (delete e[t], - l.parentNode && l.parentNode.removeChild(l), - a && a.forEach(e => e(n)), - r) - ) - return r(n); - }, - f = setTimeout( - p.bind(null, void 0, { type: 'timeout', target: l }), - 12e4 - ); - (l.onerror = p.bind(null, l.onerror)), - (l.onload = p.bind(null, l.onload)), - u && document.head.appendChild(l); - } - }), - (a.r = e => { - 'undefined' != typeof Symbol && - Symbol.toStringTag && - Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), - Object.defineProperty(e, '__esModule', { value: !0 }); - }), - (() => { - a.S = {}; - var e = {}, - r = {}; - a.I = (t, n) => { - n || (n = []); - var o = r[t]; - if ((o || (o = r[t] = {}), !(n.indexOf(o) >= 0))) { - if ((n.push(o), e[t])) return e[t]; - a.o(a.S, t) || (a.S[t] = {}); - var i = a.S[t], - l = 'jupyterlab_pygments', - u = []; - return ( - 'default' === t && - ((e, r, t, n) => { - var o = (i[e] = i[e] || {}), - u = o[r]; - (!u || (!u.loaded && (1 != !u.eager ? n : l > u.from))) && - (o[r] = { - get: () => a.e(568).then(() => () => a(568)), - from: l, - eager: !1 - }); - })('jupyterlab_pygments', '0.3.0'), - (e[t] = u.length ? Promise.all(u).then(() => (e[t] = 1)) : 1) - ); - } - }; - })(), - (() => { - var e; - a.g.importScripts && (e = a.g.location + ''); - var r = a.g.document; - if (!e && r && (r.currentScript && (e = r.currentScript.src), !e)) { - var t = r.getElementsByTagName('script'); - if (t.length) for (var n = t.length - 1; n > -1 && !e; ) e = t[n--].src; - } - if (!e) - throw new Error( - 'Automatic publicPath is not supported in this browser' - ); - (e = e - .replace(/#.*$/, '') - .replace(/\?.*$/, '') - .replace(/\/[^\/]+$/, '/')), - (a.p = e); - })(), - (() => { - var e = { 761: 0 }; - a.f.j = (r, t) => { - var n = a.o(e, r) ? e[r] : void 0; - if (0 !== n) - if (n) t.push(n[2]); - else { - var o = new Promise((t, a) => (n = e[r] = [t, a])); - t.push((n[2] = o)); - var i = a.p + a.u(r), - l = new Error(); - a.l( - i, - t => { - if (a.o(e, r) && (0 !== (n = e[r]) && (e[r] = void 0), n)) { - var o = t && ('load' === t.type ? 'missing' : t.type), - i = t && t.target && t.target.src; - (l.message = - 'Loading chunk ' + r + ' failed.\n(' + o + ': ' + i + ')'), - (l.name = 'ChunkLoadError'), - (l.type = o), - (l.request = i), - n[1](l); - } - }, - 'chunk-' + r, - r - ); - } - }; - var r = (r, t) => { - var n, - o, - [i, l, u] = t, - s = 0; - if (i.some(r => 0 !== e[r])) { - for (n in l) a.o(l, n) && (a.m[n] = l[n]); - u && u(a); - } - for (r && r(t); s < i.length; s++) - (o = i[s]), a.o(e, o) && e[o] && e[o][0](), (e[o] = 0); - }, - t = (self.webpackChunkjupyterlab_pygments = - self.webpackChunkjupyterlab_pygments || []); - t.forEach(r.bind(null, 0)), (t.push = r.bind(null, t.push.bind(t))); - })(), - (a.nc = void 0); - var o = a(741); - (_JUPYTERLAB = - void 0 === _JUPYTERLAB ? {} : _JUPYTERLAB).jupyterlab_pygments = o; -})(); diff --git a/notebook/lite/extensions/jupyterlab_pygments/static/style.js b/notebook/lite/extensions/jupyterlab_pygments/static/style.js deleted file mode 100644 index fdfcdb34ec9..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/static/style.js +++ /dev/null @@ -1,4 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import 'jupyterlab_pygments/style/index.js'; diff --git a/notebook/lite/extensions/jupyterlab_pygments/static/third-party-licenses.json b/notebook/lite/extensions/jupyterlab_pygments/static/third-party-licenses.json deleted file mode 100644 index 983ab159ff1..00000000000 --- a/notebook/lite/extensions/jupyterlab_pygments/static/third-party-licenses.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "packages": [ - { - "name": "css-loader", - "versionInfo": "6.8.1", - "licenseId": "MIT", - "extractedText": "Copyright JS Foundation and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" - }, - { - "name": "style-loader", - "versionInfo": "3.3.3", - "licenseId": "MIT", - "extractedText": "Copyright JS Foundation and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" - } - ] -} \ No newline at end of file diff --git a/notebook/lite/icon-120x120.png b/notebook/lite/icon-120x120.png deleted file mode 100644 index bf0b14dddff811bd1154d5ce06704561456f4f68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4609 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 CUfq=d diff --git a/notebook/lite/index.html b/notebook/lite/index.html deleted file mode 100644 index 3246cf4c658..00000000000 --- a/notebook/lite/index.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - diff --git a/notebook/lite/jupyter-lite.json b/notebook/lite/jupyter-lite.json deleted file mode 100644 index f38d1e6d531..00000000000 --- a/notebook/lite/jupyter-lite.json +++ /dev/null @@ -1,316 +0,0 @@ -{ - "jupyter-config-data": { - "appName": "JupyterLite", - "appUrl": "./lab", - "appVersion": "0.2.3", - "baseUrl": "./", - "defaultKernelName": "python", - "faviconUrl": "./lab/favicon.ico", - "federated_extensions": [ - { - "extension": "./extension", - "liteExtension": true, - "load": "static/remoteEntry.badedd5607b5d4e57583.js", - "name": "@jupyterlite/pyodide-kernel-extension" - }, - { - "extension": "./extension", - "liteExtension": false, - "load": "static/remoteEntry.2c16c2805511d8774341.js", - "name": "communication_extension", - "style": "./style" - }, - { - "extension": "./extension", - "liteExtension": false, - "load": "static/remoteEntry.5cbb9d2323598fbda535.js", - "name": "jupyterlab_pygments", - "style": "./style" - } - ], - "fileTypes": { - "css": { - "extensions": [ - ".css" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/css" - ], - "name": "css" - }, - "csv": { - "extensions": [ - ".csv" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/csv" - ], - "name": "csv" - }, - "fasta": { - "extensions": [ - ".fasta" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/plain" - ], - "name": "fasta" - }, - "geojson": { - "extensions": [ - ".geojson" - ], - "fileFormat": "json", - "mimeTypes": [ - "application/geo+json" - ], - "name": "geojson" - }, - "gzip": { - "extensions": [ - ".tgz", - ".gz", - ".gzip" - ], - "fileFormat": "base64", - "mimeTypes": [ - "application/gzip" - ], - "name": "gzip" - }, - "html": { - "extensions": [ - ".html" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/html" - ], - "name": "html" - }, - "ical": { - "extensions": [ - ".ical", - ".ics", - ".ifb", - ".icalendar" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/calendar" - ], - "name": "ical" - }, - "ico": { - "extensions": [ - ".ico" - ], - "fileFormat": "base64", - "mimeTypes": [ - "image/x-icon" - ], - "name": "ico" - }, - "ipynb": { - "extensions": [ - ".ipynb" - ], - "fileFormat": "json", - "mimeTypes": [ - "application/x-ipynb+json" - ], - "name": "ipynb" - }, - "jpeg": { - "extensions": [ - ".jpeg", - ".jpg" - ], - "fileFormat": "base64", - "mimeTypes": [ - "image/jpeg" - ], - "name": "jpeg" - }, - "js": { - "extensions": [ - ".js", - ".mjs" - ], - "fileFormat": "text", - "mimeTypes": [ - "application/javascript" - ], - "name": "js" - }, - "jsmap": { - "extensions": [ - ".map" - ], - "fileFormat": "json", - "mimeTypes": [ - "application/json" - ], - "name": "jsmap" - }, - "json": { - "extensions": [ - ".json" - ], - "fileFormat": "json", - "mimeTypes": [ - "application/json" - ], - "name": "json" - }, - "manifest": { - "extensions": [ - ".manifest" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/cache-manifest" - ], - "name": "manifest" - }, - "md": { - "extensions": [ - ".md", - ".markdown" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/markdown" - ], - "name": "md" - }, - "pdf": { - "extensions": [ - ".pdf" - ], - "fileFormat": "base64", - "mimeTypes": [ - "application/pdf" - ], - "name": "pdf" - }, - "plain": { - "extensions": [ - ".txt" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/plain" - ], - "name": "plain" - }, - "png": { - "extensions": [ - ".png" - ], - "fileFormat": "base64", - "mimeTypes": [ - "image/png" - ], - "name": "png" - }, - "py": { - "extensions": [ - ".py" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/x-python", - "application/x-python-code" - ], - "name": "py" - }, - "svg": { - "extensions": [ - ".svg" - ], - "fileFormat": "text", - "mimeTypes": [ - "image/svg+xml" - ], - "name": "svg" - }, - "toml": { - "extensions": [ - ".toml" - ], - "fileFormat": "text", - "mimeTypes": [ - "application/toml" - ], - "name": "toml" - }, - "vue": { - "extensions": [ - ".vue" - ], - "fileFormat": "text", - "mimeTypes": [ - "text/plain" - ], - "name": "vue" - }, - "wasm": { - "extensions": [ - ".wasm" - ], - "fileFormat": "base64", - "mimeTypes": [ - "application/wasm" - ], - "name": "wasm" - }, - "wheel": { - "extensions": [ - ".whl" - ], - "fileFormat": "base64", - "mimeTypes": [ - "octet/stream", - "application/x-wheel+zip" - ], - "name": "wheel" - }, - "xml": { - "extensions": [ - ".xml" - ], - "fileFormat": "text", - "mimeTypes": [ - "application/xml" - ], - "name": "xml" - }, - "yaml": { - "extensions": [ - ".yaml", - ".yml" - ], - "fileFormat": "text", - "mimeTypes": [ - "application/x-yaml" - ], - "name": "yaml" - } - }, - "fullLabextensionsUrl": "./extensions", - "fullStaticUrl": "./build", - "licensesUrl": "./lab/api/licenses", - "litePluginSettings": { - "@jupyterlite/pyodide-kernel-extension:kernel": { - "pipliteUrls": [ - "./extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json?sha256=347ef7784cbabf42964174d3d5cca9b4a4fa94ee59bab5975edc948f4c7ea7cf" - ] - } - } - }, - "jupyter-lite-schema-version": 0 -} \ No newline at end of file diff --git a/notebook/lite/jupyterlite.schema.v0.json b/notebook/lite/jupyterlite.schema.v0.json deleted file mode 100644 index 6d46f74f48b..00000000000 --- a/notebook/lite/jupyterlite.schema.v0.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://jupyterlite.readthedocs.org/en/latest/reference/schema-v0.html#", - "title": "JupyterLite Schema v0", - "description": "a schema for user-serviceable customizaton of a JupyterLite", - "$ref": "#/definitions/top", - "definitions": { - "top": { - "title": "JupyterLite Configuration", - "description": "a user-serviceable file for customizing a JupyterLite site", - "properties": { - "jupyter-lite-schema-version": { - "type": "integer", - "description": "version of the schema to which the instance conforms", - "enum": [0] - }, - "jupyter-config-data": { - "$ref": "#/definitions/jupyter-config-data" - } - } - }, - "jupyterlab-settings-overrides": { - "title": "JupyterLab Settings Overrides", - "description": "A map of config objects keyed by `@org/pkg:plugin` which override the default settings. See https://jupyterlab.readthedocs.io/en/stable/user/directories.html#overridesjson", - "type": "object", - "patternProperties": { - "^(@[a-z0-9-~][a-z0-9-._~]*/)?[a-z0-9-~][a-z0-9-._~]*:(.*)$": { - "description": "A valid configuration which must conform to the plugin's defined schema", - "type": "object" - } - } - }, - "jupyter-config-data": { - "title": "Jupyter Config Data", - "description": "contents of a jupyter-config-data ` - - - - diff --git a/notebook/lite/lab/jupyter-lite.json b/notebook/lite/lab/jupyter-lite.json deleted file mode 100644 index ecec4d4a1b3..00000000000 --- a/notebook/lite/lab/jupyter-lite.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appUrl": "/lab", - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/lab/package.json b/notebook/lite/lab/package.json deleted file mode 100644 index 2ce56f4da28..00000000000 --- a/notebook/lite/lab/package.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "name": "@jupyterlite/app-lab", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/celltags-extension": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingeditor": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc": "~6.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/licenses": "~0.2.3", - "@jupyterlite/localforage": "~0.2.3", - "@jupyterlite/notebook-application-extension": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/types": "~0.2.3", - "@jupyterlite/ui-components": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/datagrid": "~2.2.0", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/polling": "~2.1.2", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/celltags-extension": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/licenses": "^0.2.3", - "@jupyterlite/localforage": "^0.2.3", - "@jupyterlite/notebook-application-extension": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/types": "^0.2.3", - "@jupyterlite/ui-components": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.5.40" - }, - "jupyterlab": { - "title": "JupyterLite", - "appClassName": "JupyterLab", - "appModuleName": "@jupyterlab/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/celltags-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/csvviewer-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/documentsearch-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/help-extension", - "@jupyterlab/htmlviewer-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/inspector-extension", - "@jupyterlab/json-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/launcher-extension", - "@jupyterlab/logconsole-extension", - "@jupyterlab/lsp-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/markdownviewer-extension", - "@jupyterlab/markedparser-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/metadataform-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/pdf-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/running-extension", - "@jupyterlab/settingeditor-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/statusbar-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/toc-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/notebook-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/documentsearch", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/lsp", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/metadataform", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/toc", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/licenses", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/datagrid", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/polling", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/filebrowser-extension:download", - "@jupyterlab/filebrowser-extension:share-file", - "@jupyterlab/help-extension:about", - "@jupyterlite/notebook-application-extension:logo", - "@jupyterlite/notebook-application-extension:notify-commands" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - } -} diff --git a/notebook/lite/lab/tree/index.html b/notebook/lite/lab/tree/index.html deleted file mode 100644 index 961e460b82b..00000000000 --- a/notebook/lite/lab/tree/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/notebook/lite/lab/workspaces/index.html b/notebook/lite/lab/workspaces/index.html deleted file mode 100644 index 1358c211973..00000000000 --- a/notebook/lite/lab/workspaces/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/notebook/lite/manifest.webmanifest b/notebook/lite/manifest.webmanifest deleted file mode 100644 index b4eeeaaaac6..00000000000 --- a/notebook/lite/manifest.webmanifest +++ /dev/null @@ -1,33 +0,0 @@ -{ - "short_name": "JupyterLite", - "name": "JupyterLite", - "description": "WASM powered JupyterLite app", - "icons": [ - { - "src": "./icon-120x120.png", - "type": "image/png", - "sizes": "120x120" - }, - { - "src": "./icon-512x512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": "./", - "background_color": "#fff", - "display": "standalone", - "scope": "./", - "shortcuts": [ - { - "name": "JupyterLite", - "url": "/lab", - "description": "The main JupyterLite application" - }, - { - "name": "Replite", - "url": "/repl?toolbar=1", - "description": "A single-cell interface for JupyterLite" - } - ] -} diff --git a/notebook/lite/notebooks/build/bootstrap.js b/notebook/lite/notebooks/build/bootstrap.js deleted file mode 100644 index 16300d5bc1f..00000000000 --- a/notebook/lite/notebooks/build/bootstrap.js +++ /dev/null @@ -1,96 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent( - `${labExtensionUrl}/${data.name}/${data.load}`, - data.name - ); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/notebook/lite/notebooks/build/index.js b/notebook/lite/notebooks/build/index.js deleted file mode 100644 index e0798d8894e..00000000000 --- a/notebook/lite/notebooks/build/index.js +++ /dev/null @@ -1,598 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -import { NotebookApp } from '@jupyter-notebook/application'; - -import { JupyterLiteServer } from '@jupyterlite/server'; - -// The webpack public path needs to be set before loading the CSS assets. -import { PageConfig } from '@jupyterlab/coreutils'; - -import './style.js'; - -const serverExtensions = [import('@jupyterlite/server-extension')]; - -// custom list of disabled plugins -const disabled = [ - '@jupyterlab/application-extension:dirty', - '@jupyterlab/application-extension:info', - '@jupyterlab/application-extension:layout', - '@jupyterlab/application-extension:logo', - '@jupyterlab/application-extension:main', - '@jupyterlab/application-extension:mode-switch', - '@jupyterlab/application-extension:notfound', - '@jupyterlab/application-extension:paths', - '@jupyterlab/application-extension:property-inspector', - '@jupyterlab/application-extension:shell', - '@jupyterlab/application-extension:status', - '@jupyterlab/application-extension:tree-resolver', - '@jupyterlab/apputils-extension:announcements', - '@jupyterlab/apputils-extension:kernel-status', - '@jupyterlab/apputils-extension:notification', - '@jupyterlab/apputils-extension:palette-restorer', - '@jupyterlab/apputils-extension:print', - '@jupyterlab/apputils-extension:resolver', - '@jupyterlab/apputils-extension:running-sessions-status', - '@jupyterlab/apputils-extension:splash', - '@jupyterlab/apputils-extension:workspaces', - '@jupyterlab/console-extension:kernel-status', - '@jupyterlab/docmanager-extension:download', - '@jupyterlab/docmanager-extension:opener', - '@jupyterlab/docmanager-extension:path-status', - '@jupyterlab/docmanager-extension:saving-status', - '@jupyterlab/documentsearch-extension:labShellWidgetListener', - '@jupyterlab/filebrowser-extension:browser', - '@jupyterlab/filebrowser-extension:download', - '@jupyterlab/filebrowser-extension:file-upload-status', - '@jupyterlab/filebrowser-extension:open-with', - '@jupyterlab/filebrowser-extension:share-file', - '@jupyterlab/filebrowser-extension:widget', - '@jupyterlab/fileeditor-extension:editor-syntax-status', - '@jupyterlab/fileeditor-extension:language-server', - '@jupyterlab/fileeditor-extension:search', - '@jupyterlab/notebook-extension:execution-indicator', - '@jupyterlab/notebook-extension:kernel-status', - '@jupyter-notebook/application-extension:logo', - '@jupyter-notebook/application-extension:opener', - '@jupyter-notebook/application-extension:path-opener', -]; - -async function createModule(scope, module) { - try { - const factory = await window._JUPYTERLAB[scope].get(module); - return factory(); - } catch (e) { - console.warn( - `Failed to create module: package: ${scope}; module: ${module}` - ); - throw e; - } -} - -/** - * The main entry point for the application. - */ -export async function main() { - const pluginsToRegister = []; - const federatedExtensionPromises = []; - const federatedMimeExtensionPromises = []; - const federatedStylePromises = []; - const litePluginsToRegister = []; - const liteExtensionPromises = []; - - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extensions = JSON.parse(PageConfig.getOption('federated_extensions')); - - // The set of federated extension names. - const federatedExtensionNames = new Set(); - - extensions.forEach(data => { - if (data.liteExtension) { - liteExtensionPromises.push(createModule(data.name, data.extension)); - return; - } - if (data.extension) { - federatedExtensionNames.add(data.name); - federatedExtensionPromises.push( - createModule(data.name, data.extension) - ); - } - if (data.mimeExtension) { - federatedExtensionNames.add(data.name); - federatedMimeExtensionPromises.push( - createModule(data.name, data.mimeExtension) - ); - } - if (data.style) { - federatedStylePromises.push(createModule(data.name, data.style)); - } - }); - - /** - * Iterate over active plugins in an extension. - */ - function* activePlugins(extension) { - // Handle commonjs or es2015 modules - let exports; - if (extension.hasOwnProperty('__esModule')) { - exports = extension.default; - } else { - // CommonJS exports. - exports = extension; - } - - let plugins = Array.isArray(exports) ? exports : [exports]; - for (let plugin of plugins) { - if ( - PageConfig.Extension.isDisabled(plugin.id) || - disabled.includes(plugin.id) || - disabled.includes(plugin.id.split(':')[0]) - ) { - continue; - } - yield plugin; - } - } - - // Handle the mime extensions. - const mimeExtensions = []; - if (!federatedExtensionNames.has('@jupyterlab/javascript-extension')) { - try { - let ext = require('@jupyterlab/javascript-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/json-extension')) { - try { - let ext = require('@jupyterlab/json-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/vega5-extension')) { - try { - let ext = require('@jupyterlab/vega5-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/iframe-extension')) { - try { - let ext = require('@jupyterlite/iframe-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated mime extensions. - const federatedMimeExtensions = await Promise.allSettled( - federatedMimeExtensionPromises - ); - federatedMimeExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - mimeExtensions.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Handle the standard extensions. - if (!federatedExtensionNames.has('@jupyterlab/application-extension')) { - try { - let ext = require('@jupyterlab/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/apputils-extension')) { - try { - let ext = require('@jupyterlab/apputils-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/cell-toolbar-extension')) { - try { - let ext = require('@jupyterlab/cell-toolbar-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/celltags-extension')) { - try { - let ext = require('@jupyterlab/celltags-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/codemirror-extension')) { - try { - let ext = require('@jupyterlab/codemirror-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/completer-extension')) { - try { - let ext = require('@jupyterlab/completer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/console-extension')) { - try { - let ext = require('@jupyterlab/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/docmanager-extension')) { - try { - let ext = require('@jupyterlab/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/documentsearch-extension')) { - try { - let ext = require('@jupyterlab/documentsearch-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/filebrowser-extension')) { - try { - let ext = require('@jupyterlab/filebrowser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/fileeditor-extension')) { - try { - let ext = require('@jupyterlab/fileeditor-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/lsp-extension')) { - try { - let ext = require('@jupyterlab/lsp-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mainmenu-extension')) { - try { - let ext = require('@jupyterlab/mainmenu-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/markedparser-extension')) { - try { - let ext = require('@jupyterlab/markedparser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mathjax-extension')) { - try { - let ext = require('@jupyterlab/mathjax-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/metadataform-extension')) { - try { - let ext = require('@jupyterlab/metadataform-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/notebook-extension')) { - try { - let ext = require('@jupyterlab/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/rendermime-extension')) { - try { - let ext = require('@jupyterlab/rendermime-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/shortcuts-extension')) { - try { - let ext = require('@jupyterlab/shortcuts-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-dark-extension')) { - try { - let ext = require('@jupyterlab/theme-dark-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-light-extension')) { - try { - let ext = require('@jupyterlab/theme-light-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/toc-extension')) { - try { - let ext = require('@jupyterlab/toc-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/tooltip-extension')) { - try { - let ext = require('@jupyterlab/tooltip-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/translation-extension')) { - try { - let ext = require('@jupyterlab/translation-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/ui-components-extension')) { - try { - let ext = require('@jupyterlab/ui-components-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/application-extension') - ) { - try { - let ext = require('@jupyter-notebook/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/console-extension')) { - try { - let ext = require('@jupyter-notebook/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/docmanager-extension') - ) { - try { - let ext = require('@jupyter-notebook/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/help-extension')) { - try { - let ext = require('@jupyter-notebook/help-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/notebook-extension')) { - try { - let ext = require('@jupyter-notebook/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/application-extension')) { - try { - let ext = require('@jupyterlite/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has( - '@jupyterlite/notebook-application-extension' - ) - ) { - try { - let ext = require('@jupyterlite/notebook-application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated extensions. - const federatedExtensions = await Promise.allSettled( - federatedExtensionPromises - ); - federatedExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - pluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Add the base serverlite extensions - const baseServerExtensions = await Promise.all(serverExtensions); - baseServerExtensions.forEach(p => { - for (let plugin of activePlugins(p)) { - litePluginsToRegister.push(plugin); - } - }); - - // Add the serverlite federated extensions. - const federatedLiteExtensions = await Promise.allSettled( - liteExtensionPromises - ); - federatedLiteExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - litePluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Load all federated component styles and log errors for any that do not - (await Promise.allSettled(federatedStylePromises)) - .filter(({ status }) => status === 'rejected') - .forEach(({ reason }) => { - console.error(reason); - }); - - // create the in-browser JupyterLite Server - const jupyterLiteServer = new JupyterLiteServer({}); - jupyterLiteServer.registerPluginModules(litePluginsToRegister); - // start the server - await jupyterLiteServer.start(); - - // retrieve the custom service manager from the server app - const { serviceManager } = jupyterLiteServer; - - // create a full-blown JupyterLab frontend - const app = new NotebookApp({ - mimeExtensions, - serviceManager, - }); - app.name = PageConfig.getOption('appName') || 'JupyterLite'; - - app.registerPluginModules(pluginsToRegister); - - // Expose global app instance when in dev mode or when toggled explicitly. - const exposeAppInBrowser = - (PageConfig.getOption('exposeAppInBrowser') || '').toLowerCase() === - 'true'; - - if (exposeAppInBrowser) { - window.jupyterapp = app; - } - - /* eslint-disable no-console */ - await app.start(); - await app.restored; -} diff --git a/notebook/lite/notebooks/build/style.js b/notebook/lite/notebooks/build/style.js deleted file mode 100644 index fd5518e9e08..00000000000 --- a/notebook/lite/notebooks/build/style.js +++ /dev/null @@ -1,38 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import '@jupyter-notebook/application-extension/style/index.js'; -import '@jupyter-notebook/console-extension/style/index.js'; -import '@jupyter-notebook/docmanager-extension/style/index.js'; -import '@jupyter-notebook/help-extension/style/index.js'; -import '@jupyter-notebook/notebook-extension/style/index.js'; -import '@jupyterlab/application-extension/style/index.js'; -import '@jupyterlab/apputils-extension/style/index.js'; -import '@jupyterlab/cell-toolbar-extension/style/index.js'; -import '@jupyterlab/celltags-extension/style/index.js'; -import '@jupyterlab/codemirror-extension/style/index.js'; -import '@jupyterlab/completer-extension/style/index.js'; -import '@jupyterlab/console-extension/style/index.js'; -import '@jupyterlab/docmanager-extension/style/index.js'; -import '@jupyterlab/documentsearch-extension/style/index.js'; -import '@jupyterlab/filebrowser-extension/style/index.js'; -import '@jupyterlab/fileeditor-extension/style/index.js'; -import '@jupyterlab/javascript-extension/style/index.js'; -import '@jupyterlab/json-extension/style/index.js'; -import '@jupyterlab/lsp-extension/style/index.js'; -import '@jupyterlab/mainmenu-extension/style/index.js'; -import '@jupyterlab/markedparser-extension/style/index.js'; -import '@jupyterlab/mathjax-extension/style/index.js'; -import '@jupyterlab/metadataform-extension/style/index.js'; -import '@jupyterlab/notebook-extension/style/index.js'; -import '@jupyterlab/rendermime-extension/style/index.js'; -import '@jupyterlab/shortcuts-extension/style/index.js'; -import '@jupyterlab/toc-extension/style/index.js'; -import '@jupyterlab/tooltip-extension/style/index.js'; -import '@jupyterlab/translation-extension/style/index.js'; -import '@jupyterlab/ui-components-extension/style/index.js'; -import '@jupyterlab/vega5-extension/style/index.js'; -import '@jupyterlite/application-extension/style/index.js'; -import '@jupyterlite/iframe-extension/style/index.js'; -import '@jupyterlite/notebook-application-extension/style/index.js'; -import '@jupyterlite/server-extension/style/index.js'; diff --git a/notebook/lite/notebooks/index.html b/notebook/lite/notebooks/index.html deleted file mode 100644 index 84258fd0fc5..00000000000 --- a/notebook/lite/notebooks/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - Jupyter Notebook - Notebooks - - - - - - - - - - diff --git a/notebook/lite/notebooks/jupyter-lite.json b/notebook/lite/notebooks/jupyter-lite.json deleted file mode 100644 index 01e91723cbc..00000000000 --- a/notebook/lite/notebooks/jupyter-lite.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appUrl": "/notebooks", - "notebookPage": "notebooks", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../build", - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/notebooks/package.json b/notebook/lite/notebooks/package.json deleted file mode 100644 index e76010bc089..00000000000 --- a/notebook/lite/notebooks/package.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "name": "@jupyterlite/app-notebooks", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/notebook-extension": "~7.0.7", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/celltags-extension": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingeditor": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc": "~6.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/licenses": "~0.2.3", - "@jupyterlite/localforage": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/types": "~0.2.3", - "@jupyterlite/ui-components": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/notebook-extension": "~7.0.7", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/celltags-extension": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/csvviewer-extension": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch-extension": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/help-extension": "~4.0.11", - "@jupyterlab/htmlviewer-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher-extension": "~4.0.11", - "@jupyterlab/logconsole-extension": "~4.0.11", - "@jupyterlab/lsp-extension": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/running-extension": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statusbar-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/toc-extension": "~6.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/licenses": "^0.2.3", - "@jupyterlite/localforage": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/types": "^0.2.3", - "@jupyterlite/ui-components": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.5.40" - }, - "jupyterlab": { - "title": "Jupyter Notebook - Notebooks", - "appClassName": "NotebookApp", - "appModuleName": "@jupyter-notebook/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/celltags-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/documentsearch-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/json-extension", - "@jupyterlab/lsp-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/markedparser-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/metadataform-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/toc-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyter-notebook/application-extension", - "@jupyter-notebook/console-extension", - "@jupyter-notebook/docmanager-extension", - "@jupyter-notebook/help-extension", - "@jupyter-notebook/notebook-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/notebook-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/lsp", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/metadataform", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/toc", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyter-notebook/application", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/application-extension:dirty", - "@jupyterlab/application-extension:info", - "@jupyterlab/application-extension:layout", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:mode-switch", - "@jupyterlab/application-extension:notfound", - "@jupyterlab/application-extension:paths", - "@jupyterlab/application-extension:property-inspector", - "@jupyterlab/application-extension:shell", - "@jupyterlab/application-extension:status", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:kernel-status", - "@jupyterlab/apputils-extension:notification", - "@jupyterlab/apputils-extension:palette-restorer", - "@jupyterlab/apputils-extension:print", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/apputils-extension:running-sessions-status", - "@jupyterlab/apputils-extension:splash", - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/console-extension:kernel-status", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/docmanager-extension:opener", - "@jupyterlab/docmanager-extension:path-status", - "@jupyterlab/docmanager-extension:saving-status", - "@jupyterlab/documentsearch-extension:labShellWidgetListener", - "@jupyterlab/filebrowser-extension:browser", - "@jupyterlab/filebrowser-extension:download", - "@jupyterlab/filebrowser-extension:file-upload-status", - "@jupyterlab/filebrowser-extension:open-with", - "@jupyterlab/filebrowser-extension:share-file", - "@jupyterlab/filebrowser-extension:widget", - "@jupyterlab/fileeditor-extension:editor-syntax-status", - "@jupyterlab/fileeditor-extension:language-server", - "@jupyterlab/fileeditor-extension:search", - "@jupyterlab/notebook-extension:execution-indicator", - "@jupyterlab/notebook-extension:kernel-status", - "@jupyter-notebook/application-extension:logo", - "@jupyter-notebook/application-extension:opener", - "@jupyter-notebook/application-extension:path-opener" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - } -} diff --git a/notebook/lite/package.json b/notebook/lite/package.json deleted file mode 100644 index c5c5f403e30..00000000000 --- a/notebook/lite/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "@jupyterlite/app", - "version": "0.2.3", - "private": true, - "homepage": "https://github.com/jupyterlite/jupyterlite", - "bugs": { - "url": "https://github.com/jupyterlite/jupyterlite/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/jupyterlite/jupyterlite" - }, - "license": "BSD-3-Clause", - "author": "JupyterLite Contributors", - "scripts": { - "build": "webpack", - "build:prod": "jlpm clean && jlpm build --mode=production", - "clean": "rimraf -g build \"**/build\"", - "watch": "webpack --config webpack.config.watch.js" - }, - "devDependencies": { - "@jupyterlab/builder": "~4.0.11", - "fs-extra": "^9.0.1", - "glob": "^7.2.0", - "handlebars": "^4.7.8", - "html-webpack-plugin": "^5.5.3", - "rimraf": "^5.0.1", - "source-map-loader": "^4.0.1", - "webpack": "^5.88.2", - "webpack-bundle-analyzer": "^4.9.0", - "webpack-cli": "^5.1.4", - "webpack-merge": "^5.9.0" - }, - "jupyterlite": { - "apps": [ - "lab", - "repl", - "tree", - "edit", - "notebooks", - "consoles" - ] - } -} diff --git a/notebook/lite/repl/index.html b/notebook/lite/repl/index.html deleted file mode 100644 index 24dbbde052c..00000000000 --- a/notebook/lite/repl/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - REPLite - - - - - - - - - - diff --git a/notebook/lite/repl/jupyter-lite.json b/notebook/lite/repl/jupyter-lite.json deleted file mode 100644 index 222730a3512..00000000000 --- a/notebook/lite/repl/jupyter-lite.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/repl/package.json b/notebook/lite/repl/package.json deleted file mode 100644 index 48dab6824dc..00000000000 --- a/notebook/lite/repl/package.json +++ /dev/null @@ -1,248 +0,0 @@ -{ - "name": "@jupyterlite/app-repl", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/documentsearch": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application": "~0.2.3", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/ui-components": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/markdownviewer-extension": "~4.0.11", - "@jupyterlab/markedparser-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/pdf-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/vega5-extension": "~4.0.11", - "@jupyterlite/application": "^0.2.3", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/ui-components": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.5.40" - }, - "jupyterlab": { - "title": "REPLite", - "appClassName": "SingleWidgetApp", - "appModuleName": "@jupyterlite/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/json-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/markedparser-extension", - "@jupyterlab/markdownviewer-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/pdf-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/vega5-extension", - "@jupyterlite/application-extension", - "@jupyterlite/repl-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/documentsearch", - "@jupyterlab/filebrowser", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/application-extension:dirty", - "@jupyterlab/application-extension:info", - "@jupyterlab/application-extension:layout", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:mode-switch", - "@jupyterlab/application-extension:notfound", - "@jupyterlab/application-extension:paths", - "@jupyterlab/application-extension:property-inspector", - "@jupyterlab/application-extension:router", - "@jupyterlab/application-extension:shell", - "@jupyterlab/application-extension:status", - "@jupyterlab/application-extension:top-bar", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/application:mimedocument", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:kernel-status", - "@jupyterlab/apputils-extension:notification", - "@jupyterlab/apputils-extension:palette-restorer", - "@jupyterlab/apputils-extension:print", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/apputils-extension:running-sessions-status", - "@jupyterlab/apputils-extension:sanitizer", - "@jupyterlab/apputils-extension:sessionDialogs", - "@jupyterlab/apputils-extension:splash", - "@jupyterlab/apputils-extension:toggle-header", - "@jupyterlab/apputils-extension:toolbar-registry", - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/console-extension:kernel-status", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/docmanager-extension:open-browser-tab", - "@jupyterlab/docmanager-extension:path-status", - "@jupyterlab/docmanager-extension:saving-status", - "@jupyterlab/tooltip-extension:files", - "@jupyterlab/tooltip-extension:notebooks", - "@jupyterlite/application-extension:share-file" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - } -} diff --git a/notebook/lite/service-worker.js b/notebook/lite/service-worker.js deleted file mode 100644 index ae13b7b811f..00000000000 --- a/notebook/lite/service-worker.js +++ /dev/null @@ -1,69 +0,0 @@ -'use strict'; -const CACHE = 'precache', - broadcast = new BroadcastChannel('/api/drive.v1'); -function onInstall(t) { - self.skipWaiting(), t.waitUntil(cacheAll()); -} -function onActivate(t) { - t.waitUntil(self.clients.claim()); -} -async function onFetch(t) { - const { request: a } = t, - n = new URL(t.request.url); - let e = null; - shouldBroadcast(n) - ? (e = broadcastOne(a)) - : shouldDrop(a, n) || (e = maybeFromCache(t)), - e && t.respondWith(e); -} -async function maybeFromCache(t) { - const { request: a } = t; - let n = await fromCache(a); - return ( - n - ? t.waitUntil(refetch(a)) - : ((n = await fetch(a)), t.waitUntil(updateCache(a, n.clone()))), - n - ); -} -async function fromCache(t) { - const a = await openCache(), - n = await a.match(t); - return n && 404 !== n.status ? n : null; -} -async function refetch(t) { - const a = await fetch(t); - return await updateCache(t, a), a; -} -function shouldBroadcast(t) { - return t.origin === location.origin && t.pathname.includes('/api/drive'); -} -function shouldDrop(t, a) { - return ( - 'GET' !== t.method || - null === a.origin.match(/^http/) || - a.pathname.includes('/api/') - ); -} -async function broadcastOne(t) { - const a = new Promise(t => { - broadcast.onmessage = a => { - t(new Response(JSON.stringify(a.data))); - }; - }), - n = await t.json(); - return (n.receiver = 'broadcast.ts'), broadcast.postMessage(n), await a; -} -async function openCache() { - return await caches.open(CACHE); -} -async function updateCache(t, a) { - return (await openCache()).put(t, a); -} -async function cacheAll() { - const t = await openCache(); - return await t.addAll([]); -} -self.addEventListener('install', onInstall), - self.addEventListener('activate', onActivate), - self.addEventListener('fetch', onFetch); diff --git a/notebook/lite/tree/build/bootstrap.js b/notebook/lite/tree/build/bootstrap.js deleted file mode 100644 index 16300d5bc1f..00000000000 --- a/notebook/lite/tree/build/bootstrap.js +++ /dev/null @@ -1,96 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent( - `${labExtensionUrl}/${data.name}/${data.load}`, - data.name - ); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/notebook/lite/tree/build/index.js b/notebook/lite/tree/build/index.js deleted file mode 100644 index ff610a6f249..00000000000 --- a/notebook/lite/tree/build/index.js +++ /dev/null @@ -1,578 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -import { NotebookApp } from '@jupyter-notebook/application'; - -import { JupyterLiteServer } from '@jupyterlite/server'; - -// The webpack public path needs to be set before loading the CSS assets. -import { PageConfig } from '@jupyterlab/coreutils'; - -import './style.js'; - -const serverExtensions = [import('@jupyterlite/server-extension')]; - -// custom list of disabled plugins -const disabled = [ - '@jupyterlab/application-extension:dirty', - '@jupyterlab/application-extension:info', - '@jupyterlab/application-extension:layout', - '@jupyterlab/application-extension:logo', - '@jupyterlab/application-extension:main', - '@jupyterlab/application-extension:mode-switch', - '@jupyterlab/application-extension:notfound', - '@jupyterlab/application-extension:paths', - '@jupyterlab/application-extension:property-inspector', - '@jupyterlab/application-extension:shell', - '@jupyterlab/application-extension:status', - '@jupyterlab/application-extension:top-bar', - '@jupyterlab/application-extension:tree-resolver', - '@jupyterlab/apputils-extension:announcements', - '@jupyterlab/apputils-extension:kernel-status', - '@jupyterlab/apputils-extension:notification', - '@jupyterlab/apputils-extension:palette-restorer', - '@jupyterlab/apputils-extension:print', - '@jupyterlab/apputils-extension:resolver', - '@jupyterlab/apputils-extension:running-sessions-status', - '@jupyterlab/apputils-extension:splash', - '@jupyterlab/apputils-extension:workspaces', - '@jupyterlab/console-extension:kernel-status', - '@jupyterlab/docmanager-extension:download', - '@jupyterlab/docmanager-extension:path-status', - '@jupyterlab/docmanager-extension:saving-status', - '@jupyterlab/filebrowser-extension:download', - '@jupyterlab/filebrowser-extension:share-file', - '@jupyterlab/filebrowser-extension:widget', - '@jupyterlab/fileeditor-extension:editor-syntax-status', - '@jupyterlab/fileeditor-extension:language-server', - '@jupyterlab/fileeditor-extension:search', - '@jupyterlab/notebook-extension:execution-indicator', - '@jupyterlab/notebook-extension:kernel-status', - '@jupyterlab/notebook-extension:language-server', - '@jupyterlab/notebook-extension:search', - '@jupyterlab/notebook-extension:toc', - '@jupyterlab/notebook-extension:update-raw-mimetype', - '@jupyter-notebook/application-extension:logo', - '@jupyter-notebook/application-extension:opener', - '@jupyter-notebook/application-extension:path-opener', -]; - -async function createModule(scope, module) { - try { - const factory = await window._JUPYTERLAB[scope].get(module); - return factory(); - } catch (e) { - console.warn( - `Failed to create module: package: ${scope}; module: ${module}` - ); - throw e; - } -} - -/** - * The main entry point for the application. - */ -export async function main() { - const pluginsToRegister = []; - const federatedExtensionPromises = []; - const federatedMimeExtensionPromises = []; - const federatedStylePromises = []; - const litePluginsToRegister = []; - const liteExtensionPromises = []; - - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extensions = JSON.parse(PageConfig.getOption('federated_extensions')); - - // The set of federated extension names. - const federatedExtensionNames = new Set(); - - extensions.forEach(data => { - if (data.liteExtension) { - liteExtensionPromises.push(createModule(data.name, data.extension)); - return; - } - if (data.extension) { - federatedExtensionNames.add(data.name); - federatedExtensionPromises.push( - createModule(data.name, data.extension) - ); - } - if (data.mimeExtension) { - federatedExtensionNames.add(data.name); - federatedMimeExtensionPromises.push( - createModule(data.name, data.mimeExtension) - ); - } - if (data.style) { - federatedStylePromises.push(createModule(data.name, data.style)); - } - }); - - /** - * Iterate over active plugins in an extension. - */ - function* activePlugins(extension) { - // Handle commonjs or es2015 modules - let exports; - if (extension.hasOwnProperty('__esModule')) { - exports = extension.default; - } else { - // CommonJS exports. - exports = extension; - } - - let plugins = Array.isArray(exports) ? exports : [exports]; - for (let plugin of plugins) { - if ( - PageConfig.Extension.isDisabled(plugin.id) || - disabled.includes(plugin.id) || - disabled.includes(plugin.id.split(':')[0]) - ) { - continue; - } - yield plugin; - } - } - - // Handle the mime extensions. - const mimeExtensions = []; - if (!federatedExtensionNames.has('@jupyterlab/javascript-extension')) { - try { - let ext = require('@jupyterlab/javascript-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/json-extension')) { - try { - let ext = require('@jupyterlab/json-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/vega5-extension')) { - try { - let ext = require('@jupyterlab/vega5-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/iframe-extension')) { - try { - let ext = require('@jupyterlite/iframe-extension'); - for (let plugin of activePlugins(ext)) { - mimeExtensions.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated mime extensions. - const federatedMimeExtensions = await Promise.allSettled( - federatedMimeExtensionPromises - ); - federatedMimeExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - mimeExtensions.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Handle the standard extensions. - if (!federatedExtensionNames.has('@jupyterlab/application-extension')) { - try { - let ext = require('@jupyterlab/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/apputils-extension')) { - try { - let ext = require('@jupyterlab/apputils-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/cell-toolbar-extension')) { - try { - let ext = require('@jupyterlab/cell-toolbar-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/codemirror-extension')) { - try { - let ext = require('@jupyterlab/codemirror-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/completer-extension')) { - try { - let ext = require('@jupyterlab/completer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/console-extension')) { - try { - let ext = require('@jupyterlab/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/csvviewer-extension')) { - try { - let ext = require('@jupyterlab/csvviewer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/docmanager-extension')) { - try { - let ext = require('@jupyterlab/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/filebrowser-extension')) { - try { - let ext = require('@jupyterlab/filebrowser-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/fileeditor-extension')) { - try { - let ext = require('@jupyterlab/fileeditor-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/imageviewer-extension')) { - try { - let ext = require('@jupyterlab/imageviewer-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mainmenu-extension')) { - try { - let ext = require('@jupyterlab/mainmenu-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/mathjax-extension')) { - try { - let ext = require('@jupyterlab/mathjax-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/metadataform-extension')) { - try { - let ext = require('@jupyterlab/metadataform-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/notebook-extension')) { - try { - let ext = require('@jupyterlab/notebook-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/rendermime-extension')) { - try { - let ext = require('@jupyterlab/rendermime-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/settingeditor-extension')) { - try { - let ext = require('@jupyterlab/settingeditor-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/shortcuts-extension')) { - try { - let ext = require('@jupyterlab/shortcuts-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-dark-extension')) { - try { - let ext = require('@jupyterlab/theme-dark-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/theme-light-extension')) { - try { - let ext = require('@jupyterlab/theme-light-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/tooltip-extension')) { - try { - let ext = require('@jupyterlab/tooltip-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/translation-extension')) { - try { - let ext = require('@jupyterlab/translation-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlab/ui-components-extension')) { - try { - let ext = require('@jupyterlab/ui-components-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/application-extension') - ) { - try { - let ext = require('@jupyter-notebook/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/console-extension')) { - try { - let ext = require('@jupyter-notebook/console-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has('@jupyter-notebook/docmanager-extension') - ) { - try { - let ext = require('@jupyter-notebook/docmanager-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/help-extension')) { - try { - let ext = require('@jupyter-notebook/help-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyter-notebook/tree-extension')) { - try { - let ext = require('@jupyter-notebook/tree-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if (!federatedExtensionNames.has('@jupyterlite/application-extension')) { - try { - let ext = require('@jupyterlite/application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - if ( - !federatedExtensionNames.has( - '@jupyterlite/notebook-application-extension' - ) - ) { - try { - let ext = require('@jupyterlite/notebook-application-extension'); - for (let plugin of activePlugins(ext)) { - pluginsToRegister.push(plugin); - } - } catch (e) { - console.error(e); - } - } - - // Add the federated extensions. - const federatedExtensions = await Promise.allSettled( - federatedExtensionPromises - ); - federatedExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - pluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Add the base serverlite extensions - const baseServerExtensions = await Promise.all(serverExtensions); - baseServerExtensions.forEach(p => { - for (let plugin of activePlugins(p)) { - litePluginsToRegister.push(plugin); - } - }); - - // Add the serverlite federated extensions. - const federatedLiteExtensions = await Promise.allSettled( - liteExtensionPromises - ); - federatedLiteExtensions.forEach(p => { - if (p.status === 'fulfilled') { - for (let plugin of activePlugins(p.value)) { - litePluginsToRegister.push(plugin); - } - } else { - console.error(p.reason); - } - }); - - // Load all federated component styles and log errors for any that do not - (await Promise.allSettled(federatedStylePromises)) - .filter(({ status }) => status === 'rejected') - .forEach(({ reason }) => { - console.error(reason); - }); - - // create the in-browser JupyterLite Server - const jupyterLiteServer = new JupyterLiteServer({}); - jupyterLiteServer.registerPluginModules(litePluginsToRegister); - // start the server - await jupyterLiteServer.start(); - - // retrieve the custom service manager from the server app - const { serviceManager } = jupyterLiteServer; - - // create a full-blown JupyterLab frontend - const app = new NotebookApp({ - mimeExtensions, - serviceManager, - }); - app.name = PageConfig.getOption('appName') || 'JupyterLite'; - - app.registerPluginModules(pluginsToRegister); - - // Expose global app instance when in dev mode or when toggled explicitly. - const exposeAppInBrowser = - (PageConfig.getOption('exposeAppInBrowser') || '').toLowerCase() === - 'true'; - - if (exposeAppInBrowser) { - window.jupyterapp = app; - } - - /* eslint-disable no-console */ - await app.start(); - await app.restored; -} diff --git a/notebook/lite/tree/build/style.js b/notebook/lite/tree/build/style.js deleted file mode 100644 index 59801eacef4..00000000000 --- a/notebook/lite/tree/build/style.js +++ /dev/null @@ -1,36 +0,0 @@ -/* This is a generated file of CSS imports */ -/* It was generated by @jupyterlab/builder in Build.ensureAssets() */ - -import '@jupyter-notebook/application-extension/style/index.js'; -import '@jupyter-notebook/console-extension/style/index.js'; -import '@jupyter-notebook/docmanager-extension/style/index.js'; -import '@jupyter-notebook/help-extension/style/index.js'; -import '@jupyter-notebook/tree-extension/style/index.js'; -import '@jupyterlab/application-extension/style/index.js'; -import '@jupyterlab/apputils-extension/style/index.js'; -import '@jupyterlab/cell-toolbar-extension/style/index.js'; -import '@jupyterlab/codemirror-extension/style/index.js'; -import '@jupyterlab/completer-extension/style/index.js'; -import '@jupyterlab/console-extension/style/index.js'; -import '@jupyterlab/csvviewer-extension/style/index.js'; -import '@jupyterlab/docmanager-extension/style/index.js'; -import '@jupyterlab/filebrowser-extension/style/index.js'; -import '@jupyterlab/fileeditor-extension/style/index.js'; -import '@jupyterlab/imageviewer-extension/style/index.js'; -import '@jupyterlab/javascript-extension/style/index.js'; -import '@jupyterlab/json-extension/style/index.js'; -import '@jupyterlab/mainmenu-extension/style/index.js'; -import '@jupyterlab/mathjax-extension/style/index.js'; -import '@jupyterlab/metadataform-extension/style/index.js'; -import '@jupyterlab/notebook-extension/style/index.js'; -import '@jupyterlab/rendermime-extension/style/index.js'; -import '@jupyterlab/settingeditor-extension/style/index.js'; -import '@jupyterlab/shortcuts-extension/style/index.js'; -import '@jupyterlab/tooltip-extension/style/index.js'; -import '@jupyterlab/translation-extension/style/index.js'; -import '@jupyterlab/ui-components-extension/style/index.js'; -import '@jupyterlab/vega5-extension/style/index.js'; -import '@jupyterlite/application-extension/style/index.js'; -import '@jupyterlite/iframe-extension/style/index.js'; -import '@jupyterlite/notebook-application-extension/style/index.js'; -import '@jupyterlite/server-extension/style/index.js'; diff --git a/notebook/lite/tree/index.html b/notebook/lite/tree/index.html deleted file mode 100644 index 93f0043db7f..00000000000 --- a/notebook/lite/tree/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - Jupyter Notebook - Tree - - - - - - - - - diff --git a/notebook/lite/tree/jupyter-lite.json b/notebook/lite/tree/jupyter-lite.json deleted file mode 100644 index b3b519a0db9..00000000000 --- a/notebook/lite/tree/jupyter-lite.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appUrl": "/tree", - "notebookPage": "tree", - "fullStaticUrl": "../build", - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/notebook/lite/tree/package.json b/notebook/lite/tree/package.json deleted file mode 100644 index accedc1f916..00000000000 --- a/notebook/lite/tree/package.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "name": "@jupyterlite/app-tree", - "version": "0.2.3", - "private": true, - "resolutions": { - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.2.1", - "@codemirror/view": "^6.16.0", - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/tree-extension": "~7.0.7", - "@jupyter-notebook/ui-components": "~7.0.7", - "@jupyter/ydoc": "~1.1.1", - "@jupyterlab/application": "~4.0.11", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils": "~4.1.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codeeditor": "~4.0.11", - "@jupyterlab/codemirror": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/docmanager": "~4.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/filebrowser": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/imageviewer": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/inspector": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/launcher": "~4.0.11", - "@jupyterlab/logconsole": "~4.0.11", - "@jupyterlab/mainmenu": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/markdownviewer": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/outputarea": "~4.0.11", - "@jupyterlab/rendermime": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/rendermime-interfaces": "~3.8.11", - "@jupyterlab/services": "~7.0.11", - "@jupyterlab/settingeditor": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/settingregistry": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/statedb": "~4.0.11", - "@jupyterlab/statusbar": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/tooltip": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlite/application-extension": "~0.2.3", - "@jupyterlite/contents": "~0.2.3", - "@jupyterlite/iframe-extension": "~0.2.3", - "@jupyterlite/kernel": "~0.2.3", - "@jupyterlite/localforage": "~0.2.3", - "@jupyterlite/notebook-application-extension": "~0.2.3", - "@jupyterlite/server": "~0.2.3", - "@jupyterlite/server-extension": "~0.2.3", - "@jupyterlite/types": "~0.2.3", - "@lezer/common": "^1.0.3", - "@lezer/highlight": "^1.1.6", - "@lumino/algorithm": "~2.0.1", - "@lumino/application": "~2.3.0", - "@lumino/commands": "~2.2.0", - "@lumino/coreutils": "~2.1.2", - "@lumino/disposable": "~2.1.2", - "@lumino/domutils": "~2.0.1", - "@lumino/dragdrop": "~2.1.4", - "@lumino/messaging": "~2.0.1", - "@lumino/properties": "~2.0.1", - "@lumino/signaling": "~2.1.2", - "@lumino/virtualdom": "~2.0.1", - "@lumino/widgets": "~2.3.1", - "es6-promise": "^4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "yjs": "^13.6.7" - }, - "dependencies": { - "@jupyter-notebook/application": "~7.0.7", - "@jupyter-notebook/application-extension": "~7.0.7", - "@jupyter-notebook/console-extension": "~7.0.7", - "@jupyter-notebook/docmanager-extension": "~7.0.7", - "@jupyter-notebook/help-extension": "~7.0.7", - "@jupyter-notebook/tree-extension": "~7.0.7", - "@jupyter-notebook/ui-components": "~7.0.7", - "@jupyterlab/application-extension": "~4.0.11", - "@jupyterlab/apputils-extension": "~4.0.11", - "@jupyterlab/attachments": "~4.0.11", - "@jupyterlab/cell-toolbar-extension": "~4.0.11", - "@jupyterlab/codemirror-extension": "~4.0.11", - "@jupyterlab/completer-extension": "~4.0.11", - "@jupyterlab/console-extension": "~4.0.11", - "@jupyterlab/coreutils": "~6.0.11", - "@jupyterlab/docmanager-extension": "~4.0.11", - "@jupyterlab/filebrowser-extension": "~4.0.11", - "@jupyterlab/fileeditor-extension": "~4.0.11", - "@jupyterlab/imageviewer-extension": "~4.0.11", - "@jupyterlab/javascript-extension": "~4.0.11", - "@jupyterlab/json-extension": "~4.0.11", - "@jupyterlab/mainmenu-extension": "~4.0.11", - "@jupyterlab/mathjax-extension": "~4.0.11", - "@jupyterlab/metadataform-extension": "~4.0.11", - "@jupyterlab/notebook-extension": "~4.0.11", - "@jupyterlab/rendermime-extension": "~4.0.11", - "@jupyterlab/settingeditor-extension": "~4.0.11", - "@jupyterlab/shortcuts-extension": "~4.0.11", - "@jupyterlab/theme-dark-extension": "~4.0.11", - "@jupyterlab/theme-light-extension": "~4.0.11", - "@jupyterlab/tooltip-extension": "~4.0.11", - "@jupyterlab/translation-extension": "~4.0.11", - "@jupyterlab/ui-components-extension": "~4.0.11", - "@jupyterlite/application-extension": "^0.2.3", - "@jupyterlite/iframe-extension": "^0.2.3", - "@jupyterlite/localforage": "^0.2.3", - "@jupyterlite/notebook-application-extension": "^0.2.3", - "@jupyterlite/server": "^0.2.3", - "@jupyterlite/server-extension": "^0.2.3", - "@jupyterlite/types": "^0.2.3", - "es6-promise": "~4.2.8", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "jupyterlab": { - "title": "Jupyter Notebook - Tree", - "appClassName": "NotebookApp", - "appModuleName": "@jupyter-notebook/application", - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/csvviewer-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/json-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/mathjax-extension", - "@jupyterlab/metadataform-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/settingeditor-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyter-notebook/application-extension", - "@jupyter-notebook/console-extension", - "@jupyter-notebook/docmanager-extension", - "@jupyter-notebook/help-extension", - "@jupyter-notebook/tree-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/notebook-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@codemirror/language", - "@codemirror/state", - "@codemirror/view", - "@jupyter/ydoc", - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyter-notebook/application", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lezer/common", - "@lezer/highlight", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "disabledExtensions": [ - "@jupyterlab/application-extension:dirty", - "@jupyterlab/application-extension:info", - "@jupyterlab/application-extension:layout", - "@jupyterlab/application-extension:logo", - "@jupyterlab/application-extension:main", - "@jupyterlab/application-extension:mode-switch", - "@jupyterlab/application-extension:notfound", - "@jupyterlab/application-extension:paths", - "@jupyterlab/application-extension:property-inspector", - "@jupyterlab/application-extension:shell", - "@jupyterlab/application-extension:status", - "@jupyterlab/application-extension:top-bar", - "@jupyterlab/application-extension:tree-resolver", - "@jupyterlab/apputils-extension:announcements", - "@jupyterlab/apputils-extension:kernel-status", - "@jupyterlab/apputils-extension:notification", - "@jupyterlab/apputils-extension:palette-restorer", - "@jupyterlab/apputils-extension:print", - "@jupyterlab/apputils-extension:resolver", - "@jupyterlab/apputils-extension:running-sessions-status", - "@jupyterlab/apputils-extension:splash", - "@jupyterlab/apputils-extension:workspaces", - "@jupyterlab/console-extension:kernel-status", - "@jupyterlab/docmanager-extension:download", - "@jupyterlab/docmanager-extension:path-status", - "@jupyterlab/docmanager-extension:saving-status", - "@jupyterlab/filebrowser-extension:download", - "@jupyterlab/filebrowser-extension:share-file", - "@jupyterlab/filebrowser-extension:widget", - "@jupyterlab/fileeditor-extension:editor-syntax-status", - "@jupyterlab/fileeditor-extension:language-server", - "@jupyterlab/fileeditor-extension:search", - "@jupyterlab/notebook-extension:execution-indicator", - "@jupyterlab/notebook-extension:kernel-status", - "@jupyterlab/notebook-extension:language-server", - "@jupyterlab/notebook-extension:search", - "@jupyterlab/notebook-extension:toc", - "@jupyterlab/notebook-extension:update-raw-mimetype", - "@jupyter-notebook/application-extension:logo", - "@jupyter-notebook/application-extension:opener", - "@jupyter-notebook/application-extension:path-opener" - ], - "mimeExtensions": {}, - "linkedPackages": {} - } -} diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index a943f205ce7..a9bc95392b5 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -14,12 +14,7 @@ export default class JupyterNotebookTool extends React.Component< {} > { private store = new OncoprinterStore(); - - @observable geneticDataInput = ''; - @observable clinicalDataInput = ''; - @observable heatmapDataInput = ''; - @observable geneOrderInput = ''; - @observable sampleOrderInput = ''; + private jupyterIframe: Window | null = null; constructor(props: IOncoprinterToolProps) { super(props); @@ -28,28 +23,44 @@ export default class JupyterNotebookTool extends React.Component< } componentDidMount() { - const postData = getBrowserWindow().clientPostedData; - if (postData) { - this.geneticDataInput = postData.genetic; - this.clinicalDataInput = postData.clinical; - this.heatmapDataInput = postData.heatmap; - getBrowserWindow().clientPostedData = null; - } + const iframe = document.getElementById( + 'jupyterIframe' + ) as HTMLIFrameElement; + this.jupyterIframe = iframe.contentWindow; + window.addEventListener('message', this.handleMessageFromIframe); } - render() { - const code0 = `import pandas as pd\n`; - const code1 = `pd.read_csv('output.csv')\n`; + componentWillUnmount() { + window.removeEventListener('message', this.handleMessageFromIframe); + } - const final_code = [code0, code1].join('\n'); + sendFileToJupyter = () => { + const data = getBrowserWindow().clientPostedData; + if (data && data.data && this.jupyterIframe) { + this.jupyterIframe.postMessage( + { + type: 'from-host-to-iframe-for-file', + filePath: 'output.csv', + fileContent: data.data, + }, + '*' + ); + } + }; - function toggle() { - // Access the iframe using window.frames - const jupyterIframe = window.frames[0]; - if (jupyterIframe) { - jupyterIframe.postMessage({ type: 'from-host-to-iframe' }, '*'); + handleMessageFromIframe = (event: MessageEvent) => { + if (event.data.type === 'from-iframe-to-host-for-file') { + const messageElement = document.getElementById('message'); + if (messageElement) { + messageElement.innerText = event.data.message; } } + }; + + render() { + const code0 = `import pandas as pd\n`; + const code1 = `pd.read_csv('output.csv')\n`; + const final_code = [code0, code1].join('\n'); return ( @@ -62,15 +73,14 @@ export default class JupyterNotebookTool extends React.Component<

Oncoprinter

{' '} - Jupyter Notebook for visualization and advance works. - -
-
+ +
diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index b85fb6830f1..0f58b8b2bbd 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -57,7 +57,7 @@ import { getServerConfig } from 'config/config'; import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; import { OncoprintJS, RGBAColor, TrackGroupIndex, TrackId } from 'oncoprintjs'; import fileDownload from 'react-file-download'; -import tabularDownload from './tabularDownload'; +import tabularDownload, { getTabularDownloadData } from './tabularDownload'; import classNames from 'classnames'; import { clinicalAttributeIsLocallyComputed, @@ -1098,80 +1098,38 @@ export default class ResultsViewOncoprint extends React.Component< case 'jupyterNoteBook': onMobxPromise( [ - this.props.store.samples, - this.props.store.patients, - this.geneticTracks, - this.clinicalTracks, - this.heatmapTracks, - this.genesetHeatmapTracks, - this.props.store - .clinicalAttributeIdToClinicalAttribute, + this.props.store.sampleKeyToSample, + this.props.store.patientKeyToPatient, ], ( - samples: Sample[], - patients: Patient[], - geneticTracks: GeneticTrackSpec[], - clinicalTracks: ClinicalTrackSpec[], - heatmapTracks: IHeatmapTrackSpec[], - genesetHeatmapTracks: IGenesetHeatmapTrackSpec[], - attributeIdToAttribute: { - [attributeId: string]: ClinicalAttribute; - } + sampleKeyToSample: { + [sampleKey: string]: Sample; + }, + patientKeyToPatient: any ) => { - const caseIds = + const fileContent = getTabularDownloadData( + this.geneticTracks.result, + this.clinicalTracks.result, + this.heatmapTracks.result, + this.genericAssayHeatmapTracks.result, + this.genesetHeatmapTracks.result, + this.oncoprintJs.getIdOrder(), this.oncoprintAnalysisCaseType === - OncoprintAnalysisCaseType.SAMPLE - ? samples.map(s => s.sampleId) - : patients.map(p => p.patientId); - - let geneticInput = ''; - if (geneticTracks.length > 0) { - geneticInput = getOncoprinterGeneticInput( - geneticTracks, - caseIds, - this.oncoprintAnalysisCaseType - ); - } - - let clinicalInput = ''; - if (clinicalTracks.length > 0) { - const oncoprintClinicalData = _.flatMap( - clinicalTracks, - (track: ClinicalTrackSpec) => track.data - ); - clinicalInput = getOncoprinterClinicalInput( - oncoprintClinicalData, - caseIds, - clinicalTracks.map( - track => track.attributeId - ), - attributeIdToAttribute, - this.oncoprintAnalysisCaseType - ); - } - - let heatmapInput = ''; - if (heatmapTracks.length > 0) { - heatmapInput = getOncoprinterHeatmapInput( - heatmapTracks, - caseIds, - this.oncoprintAnalysisCaseType - ); - } - - if (genesetHeatmapTracks.length > 0) { - alert( - 'Oncoprinter does not support geneset heatmaps - all other tracks will still be exported.' - ); - } + OncoprintAnalysisCaseType.SAMPLE + ? (key: string) => + sampleKeyToSample[key].sampleId + : (key: string) => + patientKeyToPatient[key] + .patientId, + this.oncoprintAnalysisCaseType, + this.distinguishDrivers + ); const jupyterNotebookTool = window.open( buildCBioPortalPageUrl('/jupyternotebook') ) as any; jupyterNotebookTool.clientPostedData = { - genetic: geneticInput, - clinical: clinicalInput, - heatmap: heatmapInput, + data: fileContent, }; } ); From b8a40fbd05c865183796f24ce1f05eb2952cc854 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Fri, 22 Mar 2024 21:50:27 +0530 Subject: [PATCH 07/22] Files Saving Successful on page load --- .../tools/oncoprinter/JupyterNotebookTool.tsx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index a9bc95392b5..b6c7e52c9a5 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -27,7 +27,17 @@ export default class JupyterNotebookTool extends React.Component< 'jupyterIframe' ) as HTMLIFrameElement; this.jupyterIframe = iframe.contentWindow; + window.addEventListener('message', this.handleMessageFromIframe); + window.addEventListener('message', event => { + if ( + event.data.type === 'file-communication' && + event.data.message === + 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' + ) { + this.sendFileToJupyter(); + } + }); } componentWillUnmount() { @@ -40,7 +50,7 @@ export default class JupyterNotebookTool extends React.Component< this.jupyterIframe.postMessage( { type: 'from-host-to-iframe-for-file', - filePath: 'output.csv', + filePath: 'output.tsv', fileContent: data.data, }, '*' @@ -71,11 +81,9 @@ export default class JupyterNotebookTool extends React.Component<

- Oncoprinter + {' '} + Oncoprinter{' '}

{' '} -
diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index 4c774b0f6eb..0868159a35a 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -15,7 +15,7 @@ import { remoteData, svgToPdfDownload, } from 'cbioportal-frontend-commons'; -import { getRemoteDataGroupStatus } from 'cbioportal-utils'; +import { getRemoteDataGroupStatus, Mutation } from 'cbioportal-utils'; import Oncoprint, { ClinicalTrackSpec, ClinicalTrackConfig, @@ -1100,41 +1100,83 @@ export default class ResultsViewOncoprint extends React.Component< [ this.props.store.sampleKeyToSample, this.props.store.patientKeyToPatient, + this.props.store.mutationsByGene, + this.props.store.studyIds, ], ( sampleKeyToSample: { [sampleKey: string]: Sample; }, - patientKeyToPatient: any + patientKeyToPatient: any, + mutationsByGenes: { + [gene: string]: Mutation[]; + }, + studyIds: string[] ) => { - const fileContent = getTabularDownloadData( - this.geneticTracks.result, - this.clinicalTracks.result, - this.heatmapTracks.result, - this.genericAssayHeatmapTracks.result, - this.genesetHeatmapTracks.result, - this.oncoprintJs.getIdOrder(), - this.oncoprintAnalysisCaseType === - OncoprintAnalysisCaseType.SAMPLE - ? (key: string) => - sampleKeyToSample[key].sampleId - : (key: string) => - patientKeyToPatient[key] - .patientId, - this.oncoprintAnalysisCaseType, - this.distinguishDrivers + const allGenesMutations = Object.values( + mutationsByGenes + ).reduce( + (acc, geneArray) => [...acc, ...geneArray], + [] + ); + + console.log(allGenesMutations); + + function convertToCSV(jsonArray: Mutation[]) { + // Define the fields to keep + const fieldsToKeep = [ + 'hugoGeneSymbol', + 'alterationType', + 'chr', + 'startPosition', + 'endPosition', + 'referenceAllele', + 'variantAllele', + 'proteinChange', + 'proteinPosStart', + 'proteinPosEnd', + 'mutationType', + 'oncoKbOncogenic', + 'patientId', + 'sampleId', + 'isHotspot', + ]; + + // Create the header + const csvHeader = fieldsToKeep.join(','); + + // Create the rows + const csvRows = jsonArray + .map(item => { + return fieldsToKeep + .map(field => { + // Use bracket notation to access the field since it's dynamically referenced + return ( + item[ + field as keyof Mutation + ] || '' + ); + }) + .join(','); + }) + .join('\n'); + + const final_csv = [csvHeader, csvRows].join( + '\r\n' + ); + return final_csv; + } + + const allGenesMutationsCsv = convertToCSV( + allGenesMutations ); - const prefixName = - this.oncoprintAnalysisCaseType === 'sample' - ? 'SAMPLE_DATA_' - : 'PATIENT_DATA_'; const jupyterNotebookTool = window.open( buildCBioPortalPageUrl('/jupyternotebook') ) as any; jupyterNotebookTool.clientPostedData = { - fileContent: fileContent, - fileName: prefixName + 'oncoprint.tsv', + fileContent: [allGenesMutationsCsv], + fileName: studyIds.join('&') + '.csv', }; } ); From 980056ae1f025430efc206df41291575d1ca303f Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Mon, 15 Jul 2024 17:07:17 +0530 Subject: [PATCH 10/22] Session Modal Added --- .../oncoprinter/JupyterNotebookModal.tsx | 130 ++++++++++++++++++ .../tools/oncoprinter/JupyterNotebookTool.tsx | 64 ++++++--- .../oncoprint/ResultsViewOncoprint.tsx | 53 +++++-- 3 files changed, 211 insertions(+), 36 deletions(-) create mode 100644 src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx new file mode 100644 index 00000000000..b88ba24a20f --- /dev/null +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -0,0 +1,130 @@ +import { action, observable } from 'mobx'; +import React from 'react'; +import { + Modal, + Form, + FormControl, + FormGroup, + ControlLabel, + Button, +} from 'react-bootstrap'; +import { buildCBioPortalPageUrl } from 'shared/api/urls'; + +interface FilenameModalProps { + show: boolean; + fileContent: string; + fileName: string; + handleClose: () => void; +} + +interface FilenameModalState { + folderName: string; + validated: boolean; + errorMessage: string; +} + +class JupyterNoteBookModal extends React.Component< + FilenameModalProps, + FilenameModalState +> { + constructor(props: FilenameModalProps) { + super(props); + this.state = { + folderName: '', + validated: false, + errorMessage: '', + }; + } + + componentDidMount() { + this.setState({ folderName: '' }); + } + + handleChange = (event: React.ChangeEvent) => { + this.setState({ folderName: event.target.value, errorMessage: '' }); + }; + + @action + handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + + const { folderName } = this.state; + + if (folderName.trim() === '' || /\s/.test(folderName)) { + this.setState({ + validated: false, + errorMessage: 'Session name cannot be empty or contain spaces', + }); + return; + } + + const { fileContent, fileName } = this.props; + + const jupyterNotebookTool = window.open( + buildCBioPortalPageUrl('/jupyternotebook') + ) as any; + + jupyterNotebookTool.clientPostedData = { + fileContent: fileContent, + filename: `${fileName}.csv`, + folderName: folderName, + }; + + this.setState({ folderName: '', validated: false, errorMessage: '' }); + this.props.handleClose(); + }; + + render() { + const { show, handleClose } = this.props; + const { folderName, errorMessage } = this.state; + + return ( + + + Enter Folder Name + + +
+ this.handleSubmit( + (e as unknown) as React.FormEvent< + HTMLFormElement + > + ) + } + > + + + Session Name + + + this.handleChange( + (e as unknown) as React.ChangeEvent< + HTMLInputElement + > + ) + } + required + /> + {errorMessage && ( +
+ {errorMessage} +
+ )} +
+ + + + +
+
+
+ ); + } +} + +export default JupyterNoteBookModal; diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index 22a6f4a9dc7..2e9adea46e5 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -4,6 +4,7 @@ import { Helmet } from 'react-helmet'; import { PageLayout } from '../../../../shared/components/PageLayout/PageLayout'; import { observable, makeObservable, action } from 'mobx'; import { getBrowserWindow } from 'cbioportal-frontend-commons'; +import { folder } from 'jszip'; export interface IOncoprinterToolProps {} @@ -12,17 +13,21 @@ export default class JupyterNotebookTool extends React.Component< IOncoprinterToolProps, {} > { + private fileDetails = getBrowserWindow().clientPostedData; + private jupyterIframe: Window | null = null; @observable private isLoading: boolean = true; - @observable private main_data_file: string = - getBrowserWindow()?.clientPostedData?.fileName || ''; + + @observable private folder_used: string = + getBrowserWindow()?.clientPostedData?.folderName || ''; + @observable private file_to_execute: string = + getBrowserWindow()?.clientPostedData?.filename || ''; private notebookContentToExecute = { - metadata: { - nbformat: 4, - nbformat_minor: 4, - }, + nbformat: 4, + nbformat_minor: 4, + metadata: {}, cells: [ { cell_type: 'code', @@ -40,7 +45,7 @@ export default class JupyterNotebookTool extends React.Component< cell_type: 'code', execution_count: 2, source: [ - 'df = pd.read_csv("msk_impact_2017.csv")\n', + `df = pd.read_csv("${this.file_to_execute}")\n`, 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', 'X = df[numerical_columns]\n', 'X = X.fillna(X.mean())\n', @@ -107,26 +112,33 @@ export default class JupyterNotebookTool extends React.Component< @action sendFileToJupyter = () => { - const fileDetails = getBrowserWindow().clientPostedData; - if (fileDetails && fileDetails.fileContent && this.jupyterIframe) { + console.table('File Saved SuccessFully'); + if ( + this.fileDetails && + this.fileDetails.fileContent && + this.jupyterIframe + ) { this.jupyterIframe.postMessage( { type: 'from-host-to-iframe-for-file-saving', - filePath: fileDetails.fileName, - fileContent: fileDetails.fileContent, + filename: this.fileDetails.filename, + fileContent: this.fileDetails.fileContent, + folderName: this.fileDetails.folderName, }, '*' ); - this.main_data_file = fileDetails.fileName; + this.file_to_execute = this.fileDetails.filename; + this.folder_used = this.fileDetails.folderName; } }; openDemoExecution = () => { + console.log('Execution taking place'); this.jupyterIframe?.postMessage( { type: 'from-host-to-iframe-for-file-execution', - filePath: 'main.ipynb', - fileContent: JSON.stringify(this.notebookContentToExecute), + folderName: this.folder_used, + notebookContent: this.notebookContentToExecute, }, '*' ); @@ -149,7 +161,6 @@ export default class JupyterNotebookTool extends React.Component< }; render() { - console.log('main file: ', this.main_data_file); return ( @@ -158,19 +169,30 @@ export default class JupyterNotebookTool extends React.Component<
-

+ {/*

{' '} {this.isLoading ? 'Syncing the Contents....' : 'Contents Synced with the Latest Data'} -

{' '} -
+ {' '} */} +
diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index 9d487d62b27..8f1df82d081 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -99,6 +99,7 @@ import ClinicalTrackColorPicker from './ClinicalTrackColorPicker'; import { hexToRGBA, rgbaToHex } from 'shared/lib/Colors'; import classnames from 'classnames'; import { OncoprintColorModal } from './OncoprintColorModal'; +import JupyterNoteBookModal from 'pages/staticPages/tools/oncoprinter/JupyterNotebookModal'; interface IResultsViewOncoprintProps { divId: string; @@ -773,6 +774,22 @@ export default class ResultsViewOncoprint extends React.Component< this.mouseInsideBounds = false; } + // jupyternotebook modal handling: + + @observable public showJupyterNotebookModal = false; + @observable private jupyterFileContent = ''; + @observable private jupyterFileName = ''; + + @action + private openJupyterNotebookModal = () => { + this.showJupyterNotebookModal = true; + }; + + @action + private closeJupyterNotebookModal = () => { + this.showJupyterNotebookModal = false; + }; + private buildControlsHandlers() { return { onSelectColumnType: (type: OncoprintAnalysisCaseType) => { @@ -1148,8 +1165,6 @@ export default class ResultsViewOncoprint extends React.Component< [] ); - console.log(allGenesMutations); - function convertToCSV(jsonArray: Mutation[]) { // Define the fields to keep const fieldsToKeep = [ @@ -1178,7 +1193,6 @@ export default class ResultsViewOncoprint extends React.Component< .map(item => { return fieldsToKeep .map(field => { - // Use bracket notation to access the field since it's dynamically referenced return ( item[ field as keyof Mutation @@ -1188,24 +1202,26 @@ export default class ResultsViewOncoprint extends React.Component< .join(','); }) .join('\n'); - - const final_csv = [csvHeader, csvRows].join( - '\r\n' - ); - return final_csv; + return `${csvHeader}\r\n${csvRows}`; } const allGenesMutationsCsv = convertToCSV( allGenesMutations ); - const jupyterNotebookTool = window.open( - buildCBioPortalPageUrl('/jupyternotebook') - ) as any; - jupyterNotebookTool.clientPostedData = { - fileContent: [allGenesMutationsCsv], - fileName: studyIds.join('&') + '.csv', - }; + this.jupyterFileContent = allGenesMutationsCsv; + + this.jupyterFileName = studyIds.join('&'); + + // const jupyterNotebookTool = window.open( + // buildCBioPortalPageUrl('/jupyternotebook') + // ) as any; + // jupyterNotebookTool.clientPostedData = { + // fileContent: allGenesMutationsCsv, + // fileName: studyIds.join('&') + '.csv', + // }; + + this.openJupyterNotebookModal(); } ); break; @@ -2419,6 +2435,13 @@ export default class ResultsViewOncoprint extends React.Component<
+ + ); } From 1dae9c350b259ca760867c0f2ed7d906794f056c Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Thu, 25 Jul 2024 14:07:47 +0530 Subject: [PATCH 11/22] Added Loader and Changes in the Headers of the Host Page --- netlify.toml | 6 ++ .../oncoprinter/JupyterNotebookModal.tsx | 16 ++++ .../tools/oncoprinter/JupyterNotebookTool.tsx | 86 ++++++++++++++++--- 3 files changed, 94 insertions(+), 14 deletions(-) diff --git a/netlify.toml b/netlify.toml index f64591afe47..dce9bfd6aaf 100644 --- a/netlify.toml +++ b/netlify.toml @@ -48,6 +48,12 @@ for = "/*.eot" Access-Control-Allow-Origin = "*" Content-Type = "application/font-eot" +[[headers]] +for = "/*" + [headers.values] + Cross-Origin-Opener-Policy = "same-origin" + Cross-Origin-Embedder-Policy = "require-corp" + [[redirects]] from = "/*" to = "/index.html" diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index b88ba24a20f..7b63211704f 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -27,6 +27,8 @@ class JupyterNoteBookModal extends React.Component< FilenameModalProps, FilenameModalState > { + public channel: BroadcastChannel; + constructor(props: FilenameModalProps) { super(props); this.state = { @@ -34,6 +36,7 @@ class JupyterNoteBookModal extends React.Component< validated: false, errorMessage: '', }; + this.channel = new BroadcastChannel('jupyter_channel'); } componentDidMount() { @@ -70,6 +73,19 @@ class JupyterNoteBookModal extends React.Component< folderName: folderName, }; + // this.channel.postMessage({ + // fileContent: fileContent, + // filename: `${fileName}.csv`, + // folderName: folderName, + // },); + + // const data = { + // message: 'Hello, world!', + // number: 42, + // }; + + // this.channel.postMessage(data) + this.setState({ folderName: '', validated: false, errorMessage: '' }); this.props.handleClose(); }; diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index 2e9adea46e5..de54efe9b93 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -2,9 +2,12 @@ import * as React from 'react'; import { observer } from 'mobx-react'; import { Helmet } from 'react-helmet'; import { PageLayout } from '../../../../shared/components/PageLayout/PageLayout'; -import { observable, makeObservable, action } from 'mobx'; +import { observable, makeObservable, action, computed } from 'mobx'; import { getBrowserWindow } from 'cbioportal-frontend-commons'; -import { folder } from 'jszip'; +import ProgressIndicator, { + IProgressIndicatorItem, +} from 'shared/components/progressIndicator/ProgressIndicator'; +import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; export interface IOncoprinterToolProps {} @@ -17,12 +20,14 @@ export default class JupyterNotebookTool extends React.Component< private jupyterIframe: Window | null = null; - @observable private isLoading: boolean = true; + private timeShownInterval: ReturnType | undefined; @observable private folder_used: string = getBrowserWindow()?.clientPostedData?.folderName || ''; @observable private file_to_execute: string = getBrowserWindow()?.clientPostedData?.filename || ''; + @observable private isActivated: boolean = false; + @observable private timeShown: number = 0; private notebookContentToExecute = { nbformat: 4, @@ -101,13 +106,23 @@ export default class JupyterNotebookTool extends React.Component< event.data.message === 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' ) { + this.isActivated = true; this.sendFileToJupyter(); } }); + + this.timeShownInterval = setInterval(() => { + if (!this.isActivated) { + this.timeShown += 1; + } + }, 1000); } componentWillUnmount() { window.removeEventListener('message', this.handleMessageFromIframe); + if (this.timeShownInterval) { + clearInterval(this.timeShownInterval); + } } @action @@ -149,17 +164,47 @@ export default class JupyterNotebookTool extends React.Component< if (event.data.type === 'from-iframe-to-host-about-file-status') { if (event.data.message === 'File saved successfully') { this.openDemoExecution(); - setTimeout(() => { - this.isLoading = false; - }, 10000); } } if (event.data.type === 'from-iframe-to-host-about-file-execution') { - console.log('Id for the execution : ', event.data.message); + console.log('Execution Message : ', event.data.message); } }; + @computed get progressItems(): IProgressIndicatorItem[] { + const ret: IProgressIndicatorItem[] = []; + + if (!this.isActivated) { + ret.push({ + label: 'Initializing JupyterLab extension...', + promises: [], + hideIcon: true, + style: { fontWeight: 'bold' }, + }); + + if (this.timeShown > 2) { + ret.push({ + label: ' - this can take several seconds', + promises: [], + hideIcon: true, + }); + } + } else { + ret.push({ + label: 'JupyterLab extension is activated', + promises: [], + style: { fontWeight: 'bold' }, + }); + } + + ret.push({ + label: 'Rendering', + }); + + return ret as IProgressIndicatorItem[]; + } + render() { return ( @@ -169,12 +214,21 @@ export default class JupyterNotebookTool extends React.Component<
- {/*

- {' '} - {this.isLoading - ? 'Syncing the Contents....' - : 'Contents Synced with the Latest Data'} -

{' '} */} + + this.progressItems} + show={!this.isActivated} + sequential={true} + /> + +
From 0ac925f97e78f3f8b5583f25422fc3963735500e Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Mon, 29 Jul 2024 23:47:00 +0530 Subject: [PATCH 13/22] Code Refactor and Monitoring the Extension --- .../oncoprinter/JupyterNotebookModal.tsx | 22 +-- .../tools/oncoprinter/JupyterNotebookTool.tsx | 141 ++++++------------ .../tools/oncoprinter/notebookContent.ts | 66 ++++++++ 3 files changed, 118 insertions(+), 111 deletions(-) create mode 100644 src/pages/staticPages/tools/oncoprinter/notebookContent.ts diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index 7b63211704f..8671624afc7 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -64,27 +64,17 @@ class JupyterNoteBookModal extends React.Component< const { fileContent, fileName } = this.props; const jupyterNotebookTool = window.open( - buildCBioPortalPageUrl('/jupyternotebook') - ) as any; + buildCBioPortalPageUrl('/jupyternotebook'), + '_blank' + ); - jupyterNotebookTool.clientPostedData = { + const data = JSON.stringify({ fileContent: fileContent, filename: `${fileName}.csv`, folderName: folderName, - }; - - // this.channel.postMessage({ - // fileContent: fileContent, - // filename: `${fileName}.csv`, - // folderName: folderName, - // },); - - // const data = { - // message: 'Hello, world!', - // number: 42, - // }; + }); - // this.channel.postMessage(data) + (jupyterNotebookTool as any).jupyterData = data; this.setState({ folderName: '', validated: false, errorMessage: '' }); this.props.handleClose(); diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index f25085923c3..fc0d6fc177c 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -8,90 +8,42 @@ import ProgressIndicator, { IProgressIndicatorItem, } from 'shared/components/progressIndicator/ProgressIndicator'; import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; +import { partial } from 'lodash'; +import { parse } from 'query-string'; +import { types } from '@babel/core'; +import { createNotebookContent } from './notebookContent'; export interface IOncoprinterToolProps {} +type FileDetailProps = { + fileContent: string; + filename: string; + folderName: string; +}; + @observer export default class JupyterNotebookTool extends React.Component< IOncoprinterToolProps, {} > { - private fileDetails = getBrowserWindow().clientPostedData; - + private fileDetails: FileDetailProps | null = null; private jupyterIframe: Window | null = null; - private timeShownInterval: ReturnType | undefined; - @observable private folder_used: string = - getBrowserWindow()?.clientPostedData?.folderName || ''; - @observable private file_to_execute: string = - getBrowserWindow()?.clientPostedData?.filename || ''; @observable private isActivated: boolean = false; @observable private timeShown: number = 0; - private notebookContentToExecute = { - nbformat: 4, - nbformat_minor: 4, - metadata: {}, - cells: [ - { - cell_type: 'code', - execution_count: 1, - source: [ - 'import pandas as pd\n', - 'import numpy as np\n', - 'from sklearn.cluster import KMeans\n', - 'from sklearn.preprocessing import MinMaxScaler\n', - 'import matplotlib.pyplot as plt\n', - 'from mpl_toolkits.mplot3d import Axes3D\n', - ], - }, - { - cell_type: 'code', - execution_count: 2, - source: [ - `df = pd.read_csv("${this.file_to_execute}")\n`, - 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', - 'X = df[numerical_columns]\n', - 'X = X.fillna(X.mean())\n', - ], - }, - { - cell_type: 'code', - execution_count: 3, - source: [ - 'scaler = MinMaxScaler()\n', - 'X_normalized = scaler.fit_transform(X)\n', - 'n_clusters = 3 # You can adjust this number\n', - 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', - 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', - ], - }, - { - cell_type: 'code', - execution_count: 4, - source: [ - 'fig = plt.figure(figsize=(12, 10))\n', - 'ax = fig.add_subplot(111, projection="3d")\n', - 'colors = ["r", "g", "b"]\n', - 'for i in range(n_clusters):\n', - ' cluster_points = X_normalized[df["Cluster"] == i]\n', - ' ax.scatter(cluster_points[:, 0], cluster_points[:, 1], cluster_points[:, 2],\n', - ' c=colors[i], label=f"Cluster {i}", alpha=0.7)\n', - 'ax.set_xlabel(f"{numerical_columns[0]} (normalized)")\n', - 'ax.set_ylabel(f"{numerical_columns[1]} (normalized)")\n', - 'ax.set_zlabel(f"{numerical_columns[2]} (normalized)")\n', - 'ax.legend()\n', - 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', - ], - }, - ], - }; - constructor(props: IOncoprinterToolProps) { super(props); makeObservable(this); (window as any).oncoprinterTool = this; + + let incomingData: string = getBrowserWindow().jupyterData; + delete (window as any).jupyterData; + + if (incomingData) { + this.fileDetails = JSON.parse(incomingData); + } } componentDidMount() { @@ -100,16 +52,6 @@ export default class JupyterNotebookTool extends React.Component< ) as HTMLIFrameElement; this.jupyterIframe = iframe.contentWindow; window.addEventListener('message', this.handleMessageFromIframe); - window.addEventListener('message', event => { - if ( - event.data.type === 'file-communication' && - event.data.message === - 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' - ) { - this.isActivated = true; - this.sendFileToJupyter(); - } - }); this.timeShownInterval = setInterval(() => { if (!this.isActivated) { @@ -127,12 +69,8 @@ export default class JupyterNotebookTool extends React.Component< @action sendFileToJupyter = () => { - console.table('File Saved SuccessFully'); - if ( - this.fileDetails && - this.fileDetails.fileContent && - this.jupyterIframe - ) { + console.log('checking it while sending the file', this.fileDetails); + if (this.fileDetails && this.jupyterIframe) { this.jupyterIframe.postMessage( { type: 'from-host-to-iframe-for-file-saving', @@ -142,18 +80,18 @@ export default class JupyterNotebookTool extends React.Component< }, '*' ); - this.file_to_execute = this.fileDetails.filename; - this.folder_used = this.fileDetails.folderName; } }; openDemoExecution = () => { - console.log('Execution taking place'); + const notebookContent = createNotebookContent({ + filename: this.fileDetails?.filename, + }); this.jupyterIframe?.postMessage( { type: 'from-host-to-iframe-for-file-execution', - folderName: this.folder_used, - notebookContent: this.notebookContentToExecute, + folderName: this.fileDetails?.folderName, + notebookContent: notebookContent, }, '*' ); @@ -161,14 +99,27 @@ export default class JupyterNotebookTool extends React.Component< @action handleMessageFromIframe = (event: MessageEvent) => { - if (event.data.type === 'from-iframe-to-host-about-file-status') { - if (event.data.message === 'File saved successfully') { - this.openDemoExecution(); - } - } - - if (event.data.type === 'from-iframe-to-host-about-file-execution') { - console.log('Execution Message : ', event.data.message); + switch (event.data.type) { + case 'file-communication': + if ( + event.data.message === + 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' + ) { + this.isActivated = true; + this.sendFileToJupyter(); + } + break; + case 'from-iframe-to-host-about-file-status': + if (event.data.message === 'File saved successfully') { + this.openDemoExecution(); + } + break; + + case 'from-iframe-to-host-about-file-execution': + console.log('Final Execution Message : ', event.data.message); + break; + default: + console.warn('Unhandled message type:', event.data.type); } }; diff --git a/src/pages/staticPages/tools/oncoprinter/notebookContent.ts b/src/pages/staticPages/tools/oncoprinter/notebookContent.ts new file mode 100644 index 00000000000..e242dbc441f --- /dev/null +++ b/src/pages/staticPages/tools/oncoprinter/notebookContent.ts @@ -0,0 +1,66 @@ +type NotebookContentParams = { + filename: string | undefined; +}; + +export const createNotebookContent = ({ filename }: NotebookContentParams) => ({ + nbformat: 4, + nbformat_minor: 4, + metadata: {}, + cells: [ + { + id: 'code_1', + cell_type: 'code', + execution_count: 1, + source: [ + 'import pandas as pd\n', + 'import numpy as np\n', + 'from sklearn.cluster import KMeans\n', + 'from sklearn.preprocessing import MinMaxScaler\n', + 'import matplotlib.pyplot as plt\n', + 'from mpl_toolkits.mplot3d import Axes3D\n', + ], + }, + { + id: 'code_2', + cell_type: 'code', + execution_count: 2, + source: [ + `df = pd.read_csv("${filename}")\n`, + 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', + 'X = df[numerical_columns]\n', + 'X = X.fillna(X.mean())\n', + ], + }, + { + id: 'code_3', + cell_type: 'code', + execution_count: 3, + source: [ + 'scaler = MinMaxScaler()\n', + 'X_normalized = scaler.fit_transform(X)\n', + 'n_clusters = 3 # You can adjust this number\n', + 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', + 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', + ], + }, + { + id: 'code_4', + cell_type: 'code', + execution_count: 4, + source: [ + 'fig = plt.figure(figsize=(12, 10))\n', + 'ax = fig.add_subplot(111, projection="3d")\n', + 'colors = ["r", "g", "b"]\n', + 'for i in range(n_clusters):\n', + ' cluster_points = X_normalized[df["Cluster"] == i]\n', + ' ax.scatter(cluster_points[:, 0], cluster_points[:, 1], cluster_points[:, 2],\n', + ' c=colors[i], label=f"Cluster {i}", alpha=0.7)\n', + 'ax.set_xlabel(f"{numerical_columns[0]} (normalized)")\n', + 'ax.set_ylabel(f"{numerical_columns[1]} (normalized)")\n', + 'ax.set_zlabel(f"{numerical_columns[2]} (normalized)")\n', + 'ax.legend()\n', + 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', + ], + }, + ], +}); From 76c6bcb547aa16dc1c1595144dd653f48b1c3653 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Tue, 30 Jul 2024 00:27:32 +0530 Subject: [PATCH 14/22] Updating headers --- netlify.toml | 8 ++++++++ .../staticPages/tools/oncoprinter/JupyterNotebookTool.tsx | 5 ++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/netlify.toml b/netlify.toml index 045a95bf61d..c77e5afe8dd 100644 --- a/netlify.toml +++ b/netlify.toml @@ -56,6 +56,14 @@ for = "/jupyternotebook/*" Cross-Origin-Embedder-Policy = "require-corp" Cross-Origin-Resource-Policy = "cross-origin" +[[headers]] +for = "/results/oncoprint*" + [headers.values] + Access-Control-Allow-Origin = "*" + Cross-Origin-Opener-Policy = "same-origin" + Cross-Origin-Embedder-Policy = "require-corp" + Cross-Origin-Resource-Policy = "cross-origin" + [[redirects]] from = "/*" to = "/index.html" diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index fc0d6fc177c..bc19f87ea76 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -8,9 +8,6 @@ import ProgressIndicator, { IProgressIndicatorItem, } from 'shared/components/progressIndicator/ProgressIndicator'; import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; -import { partial } from 'lodash'; -import { parse } from 'query-string'; -import { types } from '@babel/core'; import { createNotebookContent } from './notebookContent'; export interface IOncoprinterToolProps {} @@ -41,6 +38,8 @@ export default class JupyterNotebookTool extends React.Component< let incomingData: string = getBrowserWindow().jupyterData; delete (window as any).jupyterData; + console.log({ incomingData }); + if (incomingData) { this.fileDetails = JSON.parse(incomingData); } From d1e047720bfef712cc33ec5b6b178cb5e2fea89b Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Wed, 31 Jul 2024 01:40:43 +0530 Subject: [PATCH 15/22] Using LocalStorage Instead of Directly Sending --- .../tools/oncoprinter/JupyterNotebookModal.tsx | 14 ++++++++------ .../tools/oncoprinter/JupyterNotebookTool.tsx | 8 ++++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index 8671624afc7..566ac70b91e 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -63,18 +63,20 @@ class JupyterNoteBookModal extends React.Component< const { fileContent, fileName } = this.props; - const jupyterNotebookTool = window.open( - buildCBioPortalPageUrl('/jupyternotebook'), - '_blank' - ); - const data = JSON.stringify({ fileContent: fileContent, filename: `${fileName}.csv`, folderName: folderName, }); - (jupyterNotebookTool as any).jupyterData = data; + localStorage.setItem('jupyterData', data); + + const jupyterNotebookTool = window.open( + buildCBioPortalPageUrl('/jupyternotebook'), + '_blank' + ); + + // (jupyterNotebookTool as any).jupyterData = data; this.setState({ folderName: '', validated: false, errorMessage: '' }); this.props.handleClose(); diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx index bc19f87ea76..555924a6c0f 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx @@ -34,18 +34,18 @@ export default class JupyterNotebookTool extends React.Component< super(props); makeObservable(this); (window as any).oncoprinterTool = this; + } - let incomingData: string = getBrowserWindow().jupyterData; - delete (window as any).jupyterData; + componentDidMount() { + const incomingData = localStorage.getItem('jupyterData'); console.log({ incomingData }); + localStorage.removeItem('jupyterData'); if (incomingData) { this.fileDetails = JSON.parse(incomingData); } - } - componentDidMount() { const iframe = document.getElementById( 'jupyterIframe' ) as HTMLIFrameElement; From eb9a094305aedc8d278ba29f737cd6b8c83dbf06 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Thu, 1 Aug 2024 16:20:43 +0530 Subject: [PATCH 16/22] Updated Notebook Content --- .../tools/oncoprinter/notebookContent.ts | 63 ++++++++++++------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/src/pages/staticPages/tools/oncoprinter/notebookContent.ts b/src/pages/staticPages/tools/oncoprinter/notebookContent.ts index e242dbc441f..0430826256a 100644 --- a/src/pages/staticPages/tools/oncoprinter/notebookContent.ts +++ b/src/pages/staticPages/tools/oncoprinter/notebookContent.ts @@ -18,36 +18,15 @@ export const createNotebookContent = ({ filename }: NotebookContentParams) => ({ 'from sklearn.preprocessing import MinMaxScaler\n', 'import matplotlib.pyplot as plt\n', 'from mpl_toolkits.mplot3d import Axes3D\n', - ], - }, - { - id: 'code_2', - cell_type: 'code', - execution_count: 2, - source: [ `df = pd.read_csv("${filename}")\n`, 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', 'X = df[numerical_columns]\n', 'X = X.fillna(X.mean())\n', - ], - }, - { - id: 'code_3', - cell_type: 'code', - execution_count: 3, - source: [ 'scaler = MinMaxScaler()\n', 'X_normalized = scaler.fit_transform(X)\n', 'n_clusters = 3 # You can adjust this number\n', 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', - ], - }, - { - id: 'code_4', - cell_type: 'code', - execution_count: 4, - source: [ 'fig = plt.figure(figsize=(12, 10))\n', 'ax = fig.add_subplot(111, projection="3d")\n', 'colors = ["r", "g", "b"]\n', @@ -62,5 +41,47 @@ export const createNotebookContent = ({ filename }: NotebookContentParams) => ({ 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', ], }, + // { + // id: 'code_2', + // cell_type: 'code', + // execution_count: 2, + // source: [ + // `df = pd.read_csv("${filename}")\n`, + // 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', + // 'X = df[numerical_columns]\n', + // 'X = X.fillna(X.mean())\n', + // ], + // }, + // { + // id: 'code_3', + // cell_type: 'code', + // execution_count: 3, + // source: [ + // 'scaler = MinMaxScaler()\n', + // 'X_normalized = scaler.fit_transform(X)\n', + // 'n_clusters = 3 # You can adjust this number\n', + // 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', + // 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', + // ], + // }, + // { + // id: 'code_4', + // cell_type: 'code', + // execution_count: 4, + // source: [ + // 'fig = plt.figure(figsize=(12, 10))\n', + // 'ax = fig.add_subplot(111, projection="3d")\n', + // 'colors = ["r", "g", "b"]\n', + // 'for i in range(n_clusters):\n', + // ' cluster_points = X_normalized[df["Cluster"] == i]\n', + // ' ax.scatter(cluster_points[:, 0], cluster_points[:, 1], cluster_points[:, 2],\n', + // ' c=colors[i], label=f"Cluster {i}", alpha=0.7)\n', + // 'ax.set_xlabel(f"{numerical_columns[0]} (normalized)")\n', + // 'ax.set_ylabel(f"{numerical_columns[1]} (normalized)")\n', + // 'ax.set_zlabel(f"{numerical_columns[2]} (normalized)")\n', + // 'ax.legend()\n', + // 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', + // ], + // }, ], }); From 740f5984e196f9c017007337dedade99c2ad7042 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Thu, 8 Aug 2024 01:18:45 +0530 Subject: [PATCH 17/22] Removed Iframe Changes --- netlify.toml | 16 -- .../oncoprinter/JupyterNotebookModal.tsx | 24 +- .../tools/oncoprinter/JupyterNotebookTool.tsx | 211 ------------------ .../tools/oncoprinter/notebookContent.ts | 87 -------- src/routes.tsx | 11 - .../oncoprint/ResultsViewOncoprint.tsx | 9 +- 6 files changed, 18 insertions(+), 340 deletions(-) delete mode 100644 src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx delete mode 100644 src/pages/staticPages/tools/oncoprinter/notebookContent.ts diff --git a/netlify.toml b/netlify.toml index c77e5afe8dd..f64591afe47 100644 --- a/netlify.toml +++ b/netlify.toml @@ -48,22 +48,6 @@ for = "/*.eot" Access-Control-Allow-Origin = "*" Content-Type = "application/font-eot" -[[headers]] -for = "/jupyternotebook/*" - [headers.values] - Access-Control-Allow-Origin = "*" - Cross-Origin-Opener-Policy = "same-origin" - Cross-Origin-Embedder-Policy = "require-corp" - Cross-Origin-Resource-Policy = "cross-origin" - -[[headers]] -for = "/results/oncoprint*" - [headers.values] - Access-Control-Allow-Origin = "*" - Cross-Origin-Opener-Policy = "same-origin" - Cross-Origin-Embedder-Policy = "require-corp" - Cross-Origin-Resource-Policy = "cross-origin" - [[redirects]] from = "/*" to = "/index.html" diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index 566ac70b91e..9fc8b69e833 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -63,23 +63,33 @@ class JupyterNoteBookModal extends React.Component< const { fileContent, fileName } = this.props; - const data = JSON.stringify({ + const data = { + type: 'from-cbioportal-to-jupyterlite', fileContent: fileContent, filename: `${fileName}.csv`, folderName: folderName, - }); - - localStorage.setItem('jupyterData', data); + }; const jupyterNotebookTool = window.open( - buildCBioPortalPageUrl('/jupyternotebook'), + 'https://silver-granita-b9be62.netlify.app/lite/lab/index.html', '_blank' ); - // (jupyterNotebookTool as any).jupyterData = data; + if (jupyterNotebookTool) { + const receiveMessage = (event: MessageEvent) => { + if (event.data.type === 'jupyterlite-ready') { + console.log('Now sending the data...'); + jupyterNotebookTool.postMessage(data, '*'); + window.removeEventListener('message', receiveMessage); + this.props.handleClose(); + } + }; + + window.addEventListener('message', receiveMessage); + } this.setState({ folderName: '', validated: false, errorMessage: '' }); - this.props.handleClose(); + // this.props.handleClose(); }; render() { diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx deleted file mode 100644 index 555924a6c0f..00000000000 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookTool.tsx +++ /dev/null @@ -1,211 +0,0 @@ -import * as React from 'react'; -import { observer } from 'mobx-react'; -import { Helmet } from 'react-helmet'; -import { PageLayout } from '../../../../shared/components/PageLayout/PageLayout'; -import { observable, makeObservable, action, computed } from 'mobx'; -import { getBrowserWindow } from 'cbioportal-frontend-commons'; -import ProgressIndicator, { - IProgressIndicatorItem, -} from 'shared/components/progressIndicator/ProgressIndicator'; -import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; -import { createNotebookContent } from './notebookContent'; - -export interface IOncoprinterToolProps {} - -type FileDetailProps = { - fileContent: string; - filename: string; - folderName: string; -}; - -@observer -export default class JupyterNotebookTool extends React.Component< - IOncoprinterToolProps, - {} -> { - private fileDetails: FileDetailProps | null = null; - private jupyterIframe: Window | null = null; - private timeShownInterval: ReturnType | undefined; - - @observable private isActivated: boolean = false; - @observable private timeShown: number = 0; - - constructor(props: IOncoprinterToolProps) { - super(props); - makeObservable(this); - (window as any).oncoprinterTool = this; - } - - componentDidMount() { - const incomingData = localStorage.getItem('jupyterData'); - - console.log({ incomingData }); - - localStorage.removeItem('jupyterData'); - if (incomingData) { - this.fileDetails = JSON.parse(incomingData); - } - - const iframe = document.getElementById( - 'jupyterIframe' - ) as HTMLIFrameElement; - this.jupyterIframe = iframe.contentWindow; - window.addEventListener('message', this.handleMessageFromIframe); - - this.timeShownInterval = setInterval(() => { - if (!this.isActivated) { - this.timeShown += 1; - } - }, 1000); - } - - componentWillUnmount() { - window.removeEventListener('message', this.handleMessageFromIframe); - if (this.timeShownInterval) { - clearInterval(this.timeShownInterval); - } - } - - @action - sendFileToJupyter = () => { - console.log('checking it while sending the file', this.fileDetails); - if (this.fileDetails && this.jupyterIframe) { - this.jupyterIframe.postMessage( - { - type: 'from-host-to-iframe-for-file-saving', - filename: this.fileDetails.filename, - fileContent: this.fileDetails.fileContent, - folderName: this.fileDetails.folderName, - }, - '*' - ); - } - }; - - openDemoExecution = () => { - const notebookContent = createNotebookContent({ - filename: this.fileDetails?.filename, - }); - this.jupyterIframe?.postMessage( - { - type: 'from-host-to-iframe-for-file-execution', - folderName: this.fileDetails?.folderName, - notebookContent: notebookContent, - }, - '*' - ); - }; - - @action - handleMessageFromIframe = (event: MessageEvent) => { - switch (event.data.type) { - case 'file-communication': - if ( - event.data.message === - 'JupyterLab extension jupyterlab-iframe-bridge-example is activated!' - ) { - this.isActivated = true; - this.sendFileToJupyter(); - } - break; - case 'from-iframe-to-host-about-file-status': - if (event.data.message === 'File saved successfully') { - this.openDemoExecution(); - } - break; - - case 'from-iframe-to-host-about-file-execution': - console.log('Final Execution Message : ', event.data.message); - break; - default: - console.warn('Unhandled message type:', event.data.type); - } - }; - - @computed get progressItems(): IProgressIndicatorItem[] { - const ret: IProgressIndicatorItem[] = []; - - if (!this.isActivated) { - ret.push({ - label: 'Initializing JupyterLab extension...', - promises: [], - hideIcon: true, - style: { fontWeight: 'bold' }, - }); - - if (this.timeShown > 2) { - ret.push({ - label: ' - this can take several seconds', - promises: [], - hideIcon: true, - }); - } - } else { - ret.push({ - label: 'JupyterLab extension is activated', - promises: [], - style: { fontWeight: 'bold' }, - }); - } - - ret.push({ - label: 'Rendering', - }); - - return ret as IProgressIndicatorItem[]; - } - - render() { - return ( - - - - {'cBioPortal for Cancer Genomics::JupyterNotebook'} - - -
- - this.progressItems} - show={!this.isActivated} - sequential={true} - /> - - -
- -
-
-
- ); - } -} diff --git a/src/pages/staticPages/tools/oncoprinter/notebookContent.ts b/src/pages/staticPages/tools/oncoprinter/notebookContent.ts deleted file mode 100644 index 0430826256a..00000000000 --- a/src/pages/staticPages/tools/oncoprinter/notebookContent.ts +++ /dev/null @@ -1,87 +0,0 @@ -type NotebookContentParams = { - filename: string | undefined; -}; - -export const createNotebookContent = ({ filename }: NotebookContentParams) => ({ - nbformat: 4, - nbformat_minor: 4, - metadata: {}, - cells: [ - { - id: 'code_1', - cell_type: 'code', - execution_count: 1, - source: [ - 'import pandas as pd\n', - 'import numpy as np\n', - 'from sklearn.cluster import KMeans\n', - 'from sklearn.preprocessing import MinMaxScaler\n', - 'import matplotlib.pyplot as plt\n', - 'from mpl_toolkits.mplot3d import Axes3D\n', - `df = pd.read_csv("${filename}")\n`, - 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', - 'X = df[numerical_columns]\n', - 'X = X.fillna(X.mean())\n', - 'scaler = MinMaxScaler()\n', - 'X_normalized = scaler.fit_transform(X)\n', - 'n_clusters = 3 # You can adjust this number\n', - 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', - 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', - 'fig = plt.figure(figsize=(12, 10))\n', - 'ax = fig.add_subplot(111, projection="3d")\n', - 'colors = ["r", "g", "b"]\n', - 'for i in range(n_clusters):\n', - ' cluster_points = X_normalized[df["Cluster"] == i]\n', - ' ax.scatter(cluster_points[:, 0], cluster_points[:, 1], cluster_points[:, 2],\n', - ' c=colors[i], label=f"Cluster {i}", alpha=0.7)\n', - 'ax.set_xlabel(f"{numerical_columns[0]} (normalized)")\n', - 'ax.set_ylabel(f"{numerical_columns[1]} (normalized)")\n', - 'ax.set_zlabel(f"{numerical_columns[2]} (normalized)")\n', - 'ax.legend()\n', - 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', - ], - }, - // { - // id: 'code_2', - // cell_type: 'code', - // execution_count: 2, - // source: [ - // `df = pd.read_csv("${filename}")\n`, - // 'numerical_columns = ["startPosition", "endPosition", "proteinPosStart", "proteinPosEnd"]\n', - // 'X = df[numerical_columns]\n', - // 'X = X.fillna(X.mean())\n', - // ], - // }, - // { - // id: 'code_3', - // cell_type: 'code', - // execution_count: 3, - // source: [ - // 'scaler = MinMaxScaler()\n', - // 'X_normalized = scaler.fit_transform(X)\n', - // 'n_clusters = 3 # You can adjust this number\n', - // 'kmeans = KMeans(n_clusters=n_clusters, n_init="auto", random_state=42)\n', - // 'df["Cluster"] = kmeans.fit_predict(X_normalized)\n', - // ], - // }, - // { - // id: 'code_4', - // cell_type: 'code', - // execution_count: 4, - // source: [ - // 'fig = plt.figure(figsize=(12, 10))\n', - // 'ax = fig.add_subplot(111, projection="3d")\n', - // 'colors = ["r", "g", "b"]\n', - // 'for i in range(n_clusters):\n', - // ' cluster_points = X_normalized[df["Cluster"] == i]\n', - // ' ax.scatter(cluster_points[:, 0], cluster_points[:, 1], cluster_points[:, 2],\n', - // ' c=colors[i], label=f"Cluster {i}", alpha=0.7)\n', - // 'ax.set_xlabel(f"{numerical_columns[0]} (normalized)")\n', - // 'ax.set_ylabel(f"{numerical_columns[1]} (normalized)")\n', - // 'ax.set_zlabel(f"{numerical_columns[2]} (normalized)")\n', - // 'ax.legend()\n', - // 'plt.title("3D Scatter Plot of Normalized Mutation Data")\n', - // ], - // }, - ], -}); diff --git a/src/routes.tsx b/src/routes.tsx index ad736b74f40..5f508279c2e 100755 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -62,13 +62,6 @@ const OncoprinterTool = SuspenseWrapper( ) ); -const JupyterNotebookTool = SuspenseWrapper( - React.lazy(() => - // @ts-ignore - import('./pages/staticPages/tools/oncoprinter/JupyterNotebookTool') - ) -); - const Visualize = SuspenseWrapper( // @ts-ignore React.lazy(() => import('./pages/staticPages/visualize/Visualize')) @@ -423,10 +416,6 @@ export const makeRoutes = () => { - diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index 8f1df82d081..94bc5653602 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -1213,14 +1213,7 @@ export default class ResultsViewOncoprint extends React.Component< this.jupyterFileName = studyIds.join('&'); - // const jupyterNotebookTool = window.open( - // buildCBioPortalPageUrl('/jupyternotebook') - // ) as any; - // jupyterNotebookTool.clientPostedData = { - // fileContent: allGenesMutationsCsv, - // fileName: studyIds.join('&') + '.csv', - // }; - + // sending content to the modal this.openJupyterNotebookModal(); } ); From cdeda8fb3f7a13f3e272d6ab0938d17d4fbc34dc Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Sat, 10 Aug 2024 03:17:53 +0530 Subject: [PATCH 18/22] Updated Url and Oncoprinter fixes for Jupyter --- .../oncoprinter/JupyterNotebookModal.tsx | 2 +- .../tools/oncoprinter/Oncoprinter.tsx | 60 ++++++++++++++ .../tools/oncoprinter/OncoprinterStore.ts | 16 ++++ .../tools/oncoprinter/OncoprinterTool.tsx | 14 ++++ .../oncoprint/ResultsViewOncoprint.tsx | 79 +++++++++---------- src/shared/lib/calculation/JSONtoCSV.ts | 21 +++++ 6 files changed, 150 insertions(+), 42 deletions(-) create mode 100644 src/shared/lib/calculation/JSONtoCSV.ts diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index 9fc8b69e833..88596183024 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -71,7 +71,7 @@ class JupyterNoteBookModal extends React.Component< }; const jupyterNotebookTool = window.open( - 'https://silver-granita-b9be62.netlify.app/lite/lab/index.html', + 'https://cbio-jupyter.netlify.app/lite/lab/index.html', '_blank' ); diff --git a/src/pages/staticPages/tools/oncoprinter/Oncoprinter.tsx b/src/pages/staticPages/tools/oncoprinter/Oncoprinter.tsx index eaa6db3ca3a..6372aedef8a 100644 --- a/src/pages/staticPages/tools/oncoprinter/Oncoprinter.tsx +++ b/src/pages/staticPages/tools/oncoprinter/Oncoprinter.tsx @@ -38,6 +38,8 @@ import ClinicalTrackColorPicker from 'shared/components/oncoprint/ClinicalTrackC import classnames from 'classnames'; import { getDefaultClinicalAttributeColoringForStringDatatype } from './OncoprinterToolUtils'; import { OncoprintColorModal } from 'shared/components/oncoprint/OncoprintColorModal'; +import JupyterNoteBookModal from './JupyterNotebookModal'; +import { convertToCSV } from 'shared/lib/calculation/JSONtoCSV'; interface IOncoprinterProps { divId: string; @@ -73,6 +75,20 @@ export default class Oncoprinter extends React.Component< @observable.ref public oncoprint: OncoprintJS | undefined = undefined; + @observable public showJupyterNotebookModal = false; + @observable private jupyterFileContent = ''; + @observable private jupyterFileName = ''; + + @action + private openJupyterNotebookModal = () => { + this.showJupyterNotebookModal = true; + }; + + @action + private closeJupyterNotebookModal = () => { + this.showJupyterNotebookModal = false; + }; + constructor(props: IOncoprinterProps) { super(props); @@ -280,6 +296,44 @@ export default class Oncoprinter extends React.Component< file += `${caseId}\n`; } fileDownload(file, `OncoPrintSamples.txt`); + break; + case 'jupyterNoteBook': + const fieldsToKeep = [ + 'hugoGeneSymbol', + 'alterationType', + 'chr', + 'startPosition', + 'endPosition', + 'referenceAllele', + 'variantAllele', + 'proteinChange', + 'proteinPosStart', + 'proteinPosEnd', + 'mutationType', + 'oncoKbOncogenic', + 'patientId', + 'sampleId', + 'isHotspot', + ]; + + if ( + this.props.store._mutations && + this.props.store._studyIds + ) { + const allGenesMutationsCsv = convertToCSV( + this.props.store.mutationsDataProps, + fieldsToKeep + ); + + this.jupyterFileContent = allGenesMutationsCsv; + + this.jupyterFileName = this.props.store.studyIdProps.join( + '&' + ); + + this.openJupyterNotebookModal(); + } + break; } }, @@ -569,6 +623,12 @@ export default class Oncoprinter extends React.Component< + ); } diff --git a/src/pages/staticPages/tools/oncoprinter/OncoprinterStore.ts b/src/pages/staticPages/tools/oncoprinter/OncoprinterStore.ts index 81de7451567..e5215251b53 100644 --- a/src/pages/staticPages/tools/oncoprinter/OncoprinterStore.ts +++ b/src/pages/staticPages/tools/oncoprinter/OncoprinterStore.ts @@ -73,6 +73,9 @@ export default class OncoprinterStore { @observable hideGermlineMutations = false; @observable customDriverWarningHidden: boolean; + @observable _mutations: string | undefined = undefined; + @observable _studyIds: string | undefined = undefined; + @observable _userSelectedClinicalTracksColors: { [trackLabel: string]: { [attributeValue: string]: RGBAColor; @@ -205,6 +208,19 @@ export default class OncoprinterStore { this.initialize(); } + @action public setJupyterInput(mutations: string, studyIds: string) { + this._mutations = mutations; + this._studyIds = studyIds; + } + + @computed get mutationsDataProps() { + if (this._mutations) return JSON.parse(this._mutations); + } + + @computed get studyIdProps() { + if (this._studyIds) return JSON.parse(this._studyIds); + } + @computed get parsedGeneticInputLines() { if (!this._geneticDataInput) { return { diff --git a/src/pages/staticPages/tools/oncoprinter/OncoprinterTool.tsx b/src/pages/staticPages/tools/oncoprinter/OncoprinterTool.tsx index 15c53c7c490..fbb3142ad79 100644 --- a/src/pages/staticPages/tools/oncoprinter/OncoprinterTool.tsx +++ b/src/pages/staticPages/tools/oncoprinter/OncoprinterTool.tsx @@ -63,6 +63,10 @@ export default class OncoprinterTool extends React.Component< @observable geneOrderInput = ''; @observable sampleOrderInput = ''; + // jupyter incoming data + @observable mutations = ''; + @observable studyIds = ''; + constructor(props: IOncoprinterToolProps) { super(props); makeObservable(this); @@ -76,11 +80,17 @@ export default class OncoprinterTool extends React.Component< this.geneticDataInput = postData.genetic; this.clinicalDataInput = postData.clinical; this.heatmapDataInput = postData.heatmap; + this.studyIds = postData.studyIds; + this.mutations = postData.mutations; + this.doSubmit( this.geneticDataInput, this.clinicalDataInput, this.heatmapDataInput ); + + this.handleJupyterData(this.mutations, this.studyIds); + getBrowserWindow().clientPostedData = null; } } @@ -163,6 +173,10 @@ export default class OncoprinterTool extends React.Component< } } + @action private handleJupyterData(mutations: string, studyIds: string) { + this.store.setJupyterInput(mutations, studyIds); + } + @autobind private geneticFileInputRef(input: HTMLInputElement | null) { this.geneticFileInput = input; } diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index 94bc5653602..a47900d1768 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -100,6 +100,7 @@ import { hexToRGBA, rgbaToHex } from 'shared/lib/Colors'; import classnames from 'classnames'; import { OncoprintColorModal } from './OncoprintColorModal'; import JupyterNoteBookModal from 'pages/staticPages/tools/oncoprinter/JupyterNotebookModal'; +import { convertToCSV } from 'shared/lib/calculation/JSONtoCSV'; interface IResultsViewOncoprintProps { divId: string; @@ -1070,6 +1071,8 @@ export default class ResultsViewOncoprint extends React.Component< this.genesetHeatmapTracks, this.props.store .clinicalAttributeIdToClinicalAttribute, + this.props.store.mutationsByGene, + this.props.store.studyIds, ], ( samples: Sample[], @@ -1080,7 +1083,11 @@ export default class ResultsViewOncoprint extends React.Component< genesetHeatmapTracks: IGenesetHeatmapTrackSpec[], attributeIdToAttribute: { [attributeId: string]: ClinicalAttribute; - } + }, + mutationsByGenes: { + [gene: string]: Mutation[]; + }, + studyIds: string[] ) => { const caseIds = this.oncoprintAnalysisCaseType === @@ -1132,10 +1139,21 @@ export default class ResultsViewOncoprint extends React.Component< const oncoprinterWindow = window.open( buildCBioPortalPageUrl('/oncoprinter') ) as any; + + // extra data that needs to be send for jupyter-notebook + const allMutations = Object.values( + mutationsByGenes + ).reduce( + (acc, geneArray) => [...acc, ...geneArray], + [] + ); + oncoprinterWindow.clientPostedData = { genetic: geneticInput, clinical: clinicalInput, heatmap: heatmapInput, + mutations: JSON.stringify(allMutations), + studyIds: JSON.stringify(studyIds), }; } ); @@ -1165,48 +1183,27 @@ export default class ResultsViewOncoprint extends React.Component< [] ); - function convertToCSV(jsonArray: Mutation[]) { - // Define the fields to keep - const fieldsToKeep = [ - 'hugoGeneSymbol', - 'alterationType', - 'chr', - 'startPosition', - 'endPosition', - 'referenceAllele', - 'variantAllele', - 'proteinChange', - 'proteinPosStart', - 'proteinPosEnd', - 'mutationType', - 'oncoKbOncogenic', - 'patientId', - 'sampleId', - 'isHotspot', - ]; - - // Create the header - const csvHeader = fieldsToKeep.join(','); - - // Create the rows - const csvRows = jsonArray - .map(item => { - return fieldsToKeep - .map(field => { - return ( - item[ - field as keyof Mutation - ] || '' - ); - }) - .join(','); - }) - .join('\n'); - return `${csvHeader}\r\n${csvRows}`; - } + const fieldsToKeep = [ + 'hugoGeneSymbol', + 'alterationType', + 'chr', + 'startPosition', + 'endPosition', + 'referenceAllele', + 'variantAllele', + 'proteinChange', + 'proteinPosStart', + 'proteinPosEnd', + 'mutationType', + 'oncoKbOncogenic', + 'patientId', + 'sampleId', + 'isHotspot', + ]; const allGenesMutationsCsv = convertToCSV( - allGenesMutations + allGenesMutations, + fieldsToKeep ); this.jupyterFileContent = allGenesMutationsCsv; diff --git a/src/shared/lib/calculation/JSONtoCSV.ts b/src/shared/lib/calculation/JSONtoCSV.ts new file mode 100644 index 00000000000..54529c0f8b9 --- /dev/null +++ b/src/shared/lib/calculation/JSONtoCSV.ts @@ -0,0 +1,21 @@ +type T = any; + +export function convertToCSV(jsonArray: Array, fieldsToKeep?: string[]) { + if (!jsonArray.length) { + return ''; + } + // Create the header + const csvHeader = fieldsToKeep?.join(','); + + // Create the rows + const csvRows = jsonArray + .map(item => { + return fieldsToKeep + ?.map(field => { + return item[field as keyof T] || ''; + }) + .join(','); + }) + .join('\n'); + return `${csvHeader}\r\n${csvRows}`; +} From 8d55ec80f8abd20ad16c5f2a005e575f40e70b06 Mon Sep 17 00:00:00 2001 From: alisman Date: Mon, 12 Aug 2024 11:04:34 -0400 Subject: [PATCH 19/22] Update READEME.md --- notebook/READEME.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebook/READEME.md b/notebook/READEME.md index 49af2f6dffa..3afad121bc1 100644 --- a/notebook/READEME.md +++ b/notebook/READEME.md @@ -1,6 +1,6 @@ ## For using the notebook and its features: -1. Naviagte to the `notebook` directory. +1. Navigate to the `notebook` directory. 2. Create a **conda** environement with this code: `conda create -n jupyterlab-iframe-ext --override-channels --strict-channel-priority -c conda-forge -c nodefaults jupyterlab=4 nodejs=20 git copier=7 jinja2-time jupyterlite-core`. 3. Activate it using the command: `conda activate jupyterlab-iframe-ext` 4. Then, install all the dependencies of the `**kernel**` and others using the command: `jupyter lite build --output-dir lite`. From 52db8a0e08b026468b10a4898adb392c1a3041de Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Mon, 12 Aug 2024 21:54:00 +0530 Subject: [PATCH 20/22] Deleting notebookContent on modal close and updated notebook readme --- notebook/READEME.md | 10 ++++------ .../oncoprint/ResultsViewOncoprint.tsx | 20 +++++++++++-------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/notebook/READEME.md b/notebook/READEME.md index 3afad121bc1..f84df0b2e68 100644 --- a/notebook/READEME.md +++ b/notebook/READEME.md @@ -1,7 +1,5 @@ -## For using the notebook and its features: -1. Navigate to the `notebook` directory. -2. Create a **conda** environement with this code: `conda create -n jupyterlab-iframe-ext --override-channels --strict-channel-priority -c conda-forge -c nodefaults jupyterlab=4 nodejs=20 git copier=7 jinja2-time jupyterlite-core`. -3. Activate it using the command: `conda activate jupyterlab-iframe-ext` -4. Then, install all the dependencies of the `**kernel**` and others using the command: `jupyter lite build --output-dir lite`. -5. Then try to run the command to check the notebook : `python -m http.server -b 127.0.0.1` +## For using the notebook and its contents: + +1. The code for the Jupyterlite extension and the environment can be accessed from [here](https://github.com/cBioPortal/cbio-jupyter). +2. The instructions to use it present in this [file](https://github.com/cBioPortal/cbio-jupyter/blob/main/README.md) diff --git a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx index a47900d1768..89772ce219d 100644 --- a/src/shared/components/oncoprint/ResultsViewOncoprint.tsx +++ b/src/shared/components/oncoprint/ResultsViewOncoprint.tsx @@ -778,8 +778,8 @@ export default class ResultsViewOncoprint extends React.Component< // jupyternotebook modal handling: @observable public showJupyterNotebookModal = false; - @observable private jupyterFileContent = ''; - @observable private jupyterFileName = ''; + @observable private jupyterFileContent: string | undefined = ''; + @observable private jupyterFileName: string | undefined = ''; @action private openJupyterNotebookModal = () => { @@ -789,6 +789,8 @@ export default class ResultsViewOncoprint extends React.Component< @action private closeJupyterNotebookModal = () => { this.showJupyterNotebookModal = false; + this.jupyterFileContent = undefined; + this.jupyterFileName = undefined; }; private buildControlsHandlers() { @@ -2426,12 +2428,14 @@ export default class ResultsViewOncoprint extends React.Component< - + {this.jupyterFileContent && this.jupyterFileName && ( + + )} ); } From 95027943e8788a686a6d9916e8a154e3bae25aaf Mon Sep 17 00:00:00 2001 From: Gautam Sarawagi <101802666+gautamsarawagi@users.noreply.github.com> Date: Tue, 13 Aug 2024 01:08:58 +0530 Subject: [PATCH 21/22] Update OncoprintControls.tsx --- src/shared/components/oncoprint/controls/OncoprintControls.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shared/components/oncoprint/controls/OncoprintControls.tsx b/src/shared/components/oncoprint/controls/OncoprintControls.tsx index 0494a0c749a..ef747b9d6b9 100644 --- a/src/shared/components/oncoprint/controls/OncoprintControls.tsx +++ b/src/shared/components/oncoprint/controls/OncoprintControls.tsx @@ -440,6 +440,7 @@ export default class OncoprintControls extends React.Component< case EVENT_KEY.openJupyterNotebook: this.props.handlers.onClickDownload && this.props.handlers.onClickDownload('jupyterNoteBook'); + break; case EVENT_KEY.viewNGCHM: if ( this.props.state.ngchmButtonActive && From 52c65d1931877e9cbc92c9bc81c0135e48852b87 Mon Sep 17 00:00:00 2001 From: gautamsarawagi Date: Mon, 19 Aug 2024 19:56:40 +0530 Subject: [PATCH 22/22] Correct the Filename and Added Beta! text in button --- notebook/{READEME.md => README.md} | 0 .../staticPages/tools/oncoprinter/JupyterNotebookModal.tsx | 2 +- src/shared/components/oncoprint/controls/OncoprintControls.tsx | 3 ++- 3 files changed, 3 insertions(+), 2 deletions(-) rename notebook/{READEME.md => README.md} (100%) diff --git a/notebook/READEME.md b/notebook/README.md similarity index 100% rename from notebook/READEME.md rename to notebook/README.md diff --git a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx index 88596183024..1ab32c45d5c 100644 --- a/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx +++ b/src/pages/staticPages/tools/oncoprinter/JupyterNotebookModal.tsx @@ -99,7 +99,7 @@ class JupyterNoteBookModal extends React.Component< return ( - Enter Folder Name + Enter Session Name
- Open in JupyterNoteBook + Open in JupyterNoteBook{' '} + Beta! )}