"use strict";
/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([["node_modules_jupyterlab_mathjax-extension_lib_index_js-_05840"],{

/***/ "../node_modules/@jupyterlab/mathjax-extension/lib/index.js":
/*!******************************************************************!*\
  !*** ../node_modules/@jupyterlab/mathjax-extension/lib/index.js ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MathJaxTypesetter: () => (/* binding */ MathJaxTypesetter),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module mathjax-extension\n */\n\n\nvar CommandIDs;\n(function (CommandIDs) {\n    /**\n     * Copy raw LaTeX to clipboard.\n     */\n    CommandIDs.copy = 'mathjax:clipboard';\n    /**\n     * Scale MathJax elements.\n     */\n    CommandIDs.scale = 'mathjax:scale';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The MathJax Typesetter.\n */\nclass MathJaxTypesetter {\n    constructor() {\n        this._initialized = false;\n    }\n    async _ensureInitialized() {\n        if (!this._initialized) {\n            this._mathDocument = await Private.ensureMathDocument();\n            this._initialized = true;\n        }\n    }\n    /**\n     * Get an instance of the MathDocument object.\n     */\n    async mathDocument() {\n        await this._ensureInitialized();\n        return this._mathDocument;\n    }\n    /**\n     * Typeset the math in a node.\n     */\n    async typeset(node) {\n        try {\n            await this._ensureInitialized();\n        }\n        catch (e) {\n            console.error(e);\n            return;\n        }\n        this._mathDocument.options.elements = [node];\n        this._mathDocument.clear().render();\n        delete this._mathDocument.options.elements;\n        Private.hardenAnchorLinks(node);\n    }\n}\n/**\n * The MathJax extension.\n */\nconst mathJaxPlugin = {\n    id: '@jupyterlab/mathjax-extension:plugin',\n    description: 'Provides the LaTeX mathematical expression interpreter.',\n    provides: _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__.ILatexTypesetter,\n    activate: (app) => {\n        const typesetter = new MathJaxTypesetter();\n        app.commands.addCommand(CommandIDs.copy, {\n            execute: async () => {\n                const md = await typesetter.mathDocument();\n                const oJax = md.outputJax;\n                await navigator.clipboard.writeText(oJax.math.math);\n            },\n            label: 'MathJax Copy Latex'\n        });\n        app.commands.addCommand(CommandIDs.scale, {\n            execute: async (args) => {\n                const md = await typesetter.mathDocument();\n                const scale = args['scale'] || 1.0;\n                md.outputJax.options.scale = scale;\n                md.rerender();\n                // Harden only the re-rendered anchors\n                for (const math of md.math) {\n                    const root = math.typesetRoot;\n                    if (root) {\n                        Private.hardenAnchorLinks(root);\n                    }\n                }\n            },\n            label: args => 'Mathjax Scale ' + (args['scale'] ? `x${args['scale']}` : 'Reset')\n        });\n        return typesetter;\n    },\n    autoStart: true\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mathJaxPlugin);\n/**\n * A namespace for module-private functionality.\n */\nvar Private;\n(function (Private) {\n    let _loading = null;\n    async function ensureMathDocument() {\n        if (!_loading) {\n            _loading = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();\n            void Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_Configuration_js-node_modules_mathjax-full_js_-8c4c26\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_require_RequireConfiguration_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/input/tex/require/RequireConfiguration */ \"../node_modules/mathjax-full/js/input/tex/require/RequireConfiguration.js\", 23));\n            const [{ mathjax }, { CHTML }, { TeX }, { TeXFont }, { AllPackages }, { SafeHandler }, { HTMLHandler }, { browserAdaptor }, { AssistiveMmlHandler }] = await Promise.all([\n                __webpack_require__.e(/*! import() */ \"node_modules_mathjax-full_js_mathjax_js\").then(__webpack_require__.bind(__webpack_require__, /*! mathjax-full/js/mathjax */ \"../node_modules/mathjax-full/js/mathjax.js\")),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MathItem_js-node_modules_mathjax-full_js_core_MmlTr-144bb4\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_output_chtml_fonts_tex_js\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_output_chtml_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/output/chtml */ \"../node_modules/mathjax-full/js/output/chtml.js\", 23)),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_Configuration_js-node_modules_mathjax-full_js_-8c4c26\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_ParseOptions_js-node_modules_mathjax-full_js_i-0c5d92\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/input/tex */ \"../node_modules/mathjax-full/js/input/tex.js\", 23)),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_output_chtml_fonts_tex_js\"), __webpack_require__.e(\"node_modules_mathjax-full_js_util_Options_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/output/chtml/fonts/tex */ \"../node_modules/mathjax-full/js/output/chtml/fonts/tex.js\", 23)),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_Configuration_js-node_modules_mathjax-full_js_-8c4c26\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_ParseOptions_js-node_modules_mathjax-full_js_i-0c5d92\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_input_tex_AllPackages_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! mathjax-full/js/input/tex/AllPackages */ \"../node_modules/mathjax-full/js/input/tex/AllPackages.js\")),\n                __webpack_require__.e(/*! import() */ \"vendors-node_modules_mathjax-full_js_ui_safe_SafeHandler_js\").then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/ui/safe/SafeHandler */ \"../node_modules/mathjax-full/js/ui/safe/SafeHandler.js\", 23)),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MathItem_js-node_modules_mathjax-full_js_core_MmlTr-144bb4\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlFactory_js\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_handlers_html_HTMLHandler_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/handlers/html/HTMLHandler */ \"../node_modules/mathjax-full/js/handlers/html/HTMLHandler.js\", 23)),\n                __webpack_require__.e(/*! import() */ \"vendors-node_modules_mathjax-full_js_adaptors_browserAdaptor_js\").then(__webpack_require__.bind(__webpack_require__, /*! mathjax-full/js/adaptors/browserAdaptor */ \"../node_modules/mathjax-full/js/adaptors/browserAdaptor.js\")),\n                Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlNodes_mo_js-node_modules_mathjax-full_js-e92534\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MathItem_js-node_modules_mathjax-full_js_core_MmlTr-144bb4\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_core_MmlTree_MmlFactory_js\"), __webpack_require__.e(\"vendors-node_modules_mathjax-full_js_a11y_assistive-mml_js\")]).then(__webpack_require__.t.bind(__webpack_require__, /*! mathjax-full/js/a11y/assistive-mml */ \"../node_modules/mathjax-full/js/a11y/assistive-mml.js\", 23))\n            ]);\n            mathjax.handlers.register(AssistiveMmlHandler(SafeHandler(new HTMLHandler(browserAdaptor()))));\n            class EmptyFont extends TeXFont {\n            }\n            EmptyFont.defaultFonts = {};\n            const chtml = new CHTML({\n                // Override dynamically generated fonts in favor of our font css\n                font: new EmptyFont()\n            });\n            const tex = new TeX({\n                packages: AllPackages.concat('require'),\n                inlineMath: [\n                    ['$', '$'],\n                    ['\\\\(', '\\\\)']\n                ],\n                displayMath: [\n                    ['$$', '$$'],\n                    ['\\\\[', '\\\\]']\n                ],\n                processEscapes: true,\n                processEnvironments: true\n            });\n            const mathDocument = mathjax.document(window.document, {\n                InputJax: tex,\n                OutputJax: chtml\n            });\n            _loading.resolve(mathDocument);\n        }\n        return _loading.promise;\n    }\n    Private.ensureMathDocument = ensureMathDocument;\n    /**\n     * Utility function to harden anchor links in a given element\n     */\n    function hardenAnchorLinks(element) {\n        const anchors = element.querySelectorAll('.MathJax a');\n        anchors.forEach(anchor => {\n            // Add rel=\"noopener\" if not already present\n            const existingRel = anchor.rel || '';\n            const relValues = existingRel.split(/\\s+/).filter(v => v.length > 0);\n            if (!relValues.includes('noopener')) {\n                relValues.push('noopener');\n            }\n            anchor.rel = relValues.join(' ');\n            // Add target=\"_blank\" if not already present\n            if (anchor.target !== '_blank') {\n                anchor.target = '_blank';\n            }\n        });\n    }\n    Private.hardenAnchorLinks = hardenAnchorLinks;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/mathjax-extension/lib/index.js?");

/***/ })

}]);