1e5c31af7Sopenharmony_ci(function webpackUniversalModuleDefinition(root, factory) { 2e5c31af7Sopenharmony_ci if(typeof exports === 'object' && typeof module === 'object') 3e5c31af7Sopenharmony_ci module.exports = factory(require("katex")); 4e5c31af7Sopenharmony_ci else if(typeof define === 'function' && define.amd) 5e5c31af7Sopenharmony_ci define(["katex"], factory); 6e5c31af7Sopenharmony_ci else if(typeof exports === 'object') 7e5c31af7Sopenharmony_ci exports["renderMathInElement"] = factory(require("katex")); 8e5c31af7Sopenharmony_ci else 9e5c31af7Sopenharmony_ci root["renderMathInElement"] = factory(root["katex"]); 10e5c31af7Sopenharmony_ci})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { 11e5c31af7Sopenharmony_cireturn /******/ (function(modules) { // webpackBootstrap 12e5c31af7Sopenharmony_ci/******/ // The module cache 13e5c31af7Sopenharmony_ci/******/ var installedModules = {}; 14e5c31af7Sopenharmony_ci/******/ 15e5c31af7Sopenharmony_ci/******/ // The require function 16e5c31af7Sopenharmony_ci/******/ function __webpack_require__(moduleId) { 17e5c31af7Sopenharmony_ci/******/ 18e5c31af7Sopenharmony_ci/******/ // Check if module is in cache 19e5c31af7Sopenharmony_ci/******/ if(installedModules[moduleId]) { 20e5c31af7Sopenharmony_ci/******/ return installedModules[moduleId].exports; 21e5c31af7Sopenharmony_ci/******/ } 22e5c31af7Sopenharmony_ci/******/ // Create a new module (and put it into the cache) 23e5c31af7Sopenharmony_ci/******/ var module = installedModules[moduleId] = { 24e5c31af7Sopenharmony_ci/******/ i: moduleId, 25e5c31af7Sopenharmony_ci/******/ l: false, 26e5c31af7Sopenharmony_ci/******/ exports: {} 27e5c31af7Sopenharmony_ci/******/ }; 28e5c31af7Sopenharmony_ci/******/ 29e5c31af7Sopenharmony_ci/******/ // Execute the module function 30e5c31af7Sopenharmony_ci/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 31e5c31af7Sopenharmony_ci/******/ 32e5c31af7Sopenharmony_ci/******/ // Flag the module as loaded 33e5c31af7Sopenharmony_ci/******/ module.l = true; 34e5c31af7Sopenharmony_ci/******/ 35e5c31af7Sopenharmony_ci/******/ // Return the exports of the module 36e5c31af7Sopenharmony_ci/******/ return module.exports; 37e5c31af7Sopenharmony_ci/******/ } 38e5c31af7Sopenharmony_ci/******/ 39e5c31af7Sopenharmony_ci/******/ 40e5c31af7Sopenharmony_ci/******/ // expose the modules object (__webpack_modules__) 41e5c31af7Sopenharmony_ci/******/ __webpack_require__.m = modules; 42e5c31af7Sopenharmony_ci/******/ 43e5c31af7Sopenharmony_ci/******/ // expose the module cache 44e5c31af7Sopenharmony_ci/******/ __webpack_require__.c = installedModules; 45e5c31af7Sopenharmony_ci/******/ 46e5c31af7Sopenharmony_ci/******/ // define getter function for harmony exports 47e5c31af7Sopenharmony_ci/******/ __webpack_require__.d = function(exports, name, getter) { 48e5c31af7Sopenharmony_ci/******/ if(!__webpack_require__.o(exports, name)) { 49e5c31af7Sopenharmony_ci/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 50e5c31af7Sopenharmony_ci/******/ } 51e5c31af7Sopenharmony_ci/******/ }; 52e5c31af7Sopenharmony_ci/******/ 53e5c31af7Sopenharmony_ci/******/ // define __esModule on exports 54e5c31af7Sopenharmony_ci/******/ __webpack_require__.r = function(exports) { 55e5c31af7Sopenharmony_ci/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 56e5c31af7Sopenharmony_ci/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 57e5c31af7Sopenharmony_ci/******/ } 58e5c31af7Sopenharmony_ci/******/ Object.defineProperty(exports, '__esModule', { value: true }); 59e5c31af7Sopenharmony_ci/******/ }; 60e5c31af7Sopenharmony_ci/******/ 61e5c31af7Sopenharmony_ci/******/ // create a fake namespace object 62e5c31af7Sopenharmony_ci/******/ // mode & 1: value is a module id, require it 63e5c31af7Sopenharmony_ci/******/ // mode & 2: merge all properties of value into the ns 64e5c31af7Sopenharmony_ci/******/ // mode & 4: return value when already ns object 65e5c31af7Sopenharmony_ci/******/ // mode & 8|1: behave like require 66e5c31af7Sopenharmony_ci/******/ __webpack_require__.t = function(value, mode) { 67e5c31af7Sopenharmony_ci/******/ if(mode & 1) value = __webpack_require__(value); 68e5c31af7Sopenharmony_ci/******/ if(mode & 8) return value; 69e5c31af7Sopenharmony_ci/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 70e5c31af7Sopenharmony_ci/******/ var ns = Object.create(null); 71e5c31af7Sopenharmony_ci/******/ __webpack_require__.r(ns); 72e5c31af7Sopenharmony_ci/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 73e5c31af7Sopenharmony_ci/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 74e5c31af7Sopenharmony_ci/******/ return ns; 75e5c31af7Sopenharmony_ci/******/ }; 76e5c31af7Sopenharmony_ci/******/ 77e5c31af7Sopenharmony_ci/******/ // getDefaultExport function for compatibility with non-harmony modules 78e5c31af7Sopenharmony_ci/******/ __webpack_require__.n = function(module) { 79e5c31af7Sopenharmony_ci/******/ var getter = module && module.__esModule ? 80e5c31af7Sopenharmony_ci/******/ function getDefault() { return module['default']; } : 81e5c31af7Sopenharmony_ci/******/ function getModuleExports() { return module; }; 82e5c31af7Sopenharmony_ci/******/ __webpack_require__.d(getter, 'a', getter); 83e5c31af7Sopenharmony_ci/******/ return getter; 84e5c31af7Sopenharmony_ci/******/ }; 85e5c31af7Sopenharmony_ci/******/ 86e5c31af7Sopenharmony_ci/******/ // Object.prototype.hasOwnProperty.call 87e5c31af7Sopenharmony_ci/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 88e5c31af7Sopenharmony_ci/******/ 89e5c31af7Sopenharmony_ci/******/ // __webpack_public_path__ 90e5c31af7Sopenharmony_ci/******/ __webpack_require__.p = ""; 91e5c31af7Sopenharmony_ci/******/ 92e5c31af7Sopenharmony_ci/******/ 93e5c31af7Sopenharmony_ci/******/ // Load entry module and return exports 94e5c31af7Sopenharmony_ci/******/ return __webpack_require__(__webpack_require__.s = 1); 95e5c31af7Sopenharmony_ci/******/ }) 96e5c31af7Sopenharmony_ci/************************************************************************/ 97e5c31af7Sopenharmony_ci/******/ ([ 98e5c31af7Sopenharmony_ci/* 0 */ 99e5c31af7Sopenharmony_ci/***/ (function(module, exports) { 100e5c31af7Sopenharmony_ci 101e5c31af7Sopenharmony_cimodule.exports = __WEBPACK_EXTERNAL_MODULE__0__; 102e5c31af7Sopenharmony_ci 103e5c31af7Sopenharmony_ci/***/ }), 104e5c31af7Sopenharmony_ci/* 1 */ 105e5c31af7Sopenharmony_ci/***/ (function(module, __webpack_exports__, __webpack_require__) { 106e5c31af7Sopenharmony_ci 107e5c31af7Sopenharmony_ci"use strict"; 108e5c31af7Sopenharmony_ci__webpack_require__.r(__webpack_exports__); 109e5c31af7Sopenharmony_ci 110e5c31af7Sopenharmony_ci// EXTERNAL MODULE: external "katex" 111e5c31af7Sopenharmony_civar external_katex_ = __webpack_require__(0); 112e5c31af7Sopenharmony_civar external_katex_default = /*#__PURE__*/__webpack_require__.n(external_katex_); 113e5c31af7Sopenharmony_ci 114e5c31af7Sopenharmony_ci// CONCATENATED MODULE: ./contrib/auto-render/splitAtDelimiters.js 115e5c31af7Sopenharmony_ci/* eslint no-constant-condition:0 */ 116e5c31af7Sopenharmony_civar findEndOfMath = function findEndOfMath(delimiter, text, startIndex) { 117e5c31af7Sopenharmony_ci // Adapted from 118e5c31af7Sopenharmony_ci // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx 119e5c31af7Sopenharmony_ci var index = startIndex; 120e5c31af7Sopenharmony_ci var braceLevel = 0; 121e5c31af7Sopenharmony_ci var delimLength = delimiter.length; 122e5c31af7Sopenharmony_ci 123e5c31af7Sopenharmony_ci while (index < text.length) { 124e5c31af7Sopenharmony_ci var character = text[index]; 125e5c31af7Sopenharmony_ci 126e5c31af7Sopenharmony_ci if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { 127e5c31af7Sopenharmony_ci return index; 128e5c31af7Sopenharmony_ci } else if (character === "\\") { 129e5c31af7Sopenharmony_ci index++; 130e5c31af7Sopenharmony_ci } else if (character === "{") { 131e5c31af7Sopenharmony_ci braceLevel++; 132e5c31af7Sopenharmony_ci } else if (character === "}") { 133e5c31af7Sopenharmony_ci braceLevel--; 134e5c31af7Sopenharmony_ci } 135e5c31af7Sopenharmony_ci 136e5c31af7Sopenharmony_ci index++; 137e5c31af7Sopenharmony_ci } 138e5c31af7Sopenharmony_ci 139e5c31af7Sopenharmony_ci return -1; 140e5c31af7Sopenharmony_ci}; 141e5c31af7Sopenharmony_ci 142e5c31af7Sopenharmony_civar splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) { 143e5c31af7Sopenharmony_ci var finalData = []; 144e5c31af7Sopenharmony_ci 145e5c31af7Sopenharmony_ci for (var i = 0; i < startData.length; i++) { 146e5c31af7Sopenharmony_ci if (startData[i].type === "text") { 147e5c31af7Sopenharmony_ci var text = startData[i].data; 148e5c31af7Sopenharmony_ci var lookingForLeft = true; 149e5c31af7Sopenharmony_ci var currIndex = 0; 150e5c31af7Sopenharmony_ci var nextIndex = void 0; 151e5c31af7Sopenharmony_ci nextIndex = text.indexOf(leftDelim); 152e5c31af7Sopenharmony_ci 153e5c31af7Sopenharmony_ci if (nextIndex !== -1) { 154e5c31af7Sopenharmony_ci currIndex = nextIndex; 155e5c31af7Sopenharmony_ci finalData.push({ 156e5c31af7Sopenharmony_ci type: "text", 157e5c31af7Sopenharmony_ci data: text.slice(0, currIndex) 158e5c31af7Sopenharmony_ci }); 159e5c31af7Sopenharmony_ci lookingForLeft = false; 160e5c31af7Sopenharmony_ci } 161e5c31af7Sopenharmony_ci 162e5c31af7Sopenharmony_ci while (true) { 163e5c31af7Sopenharmony_ci if (lookingForLeft) { 164e5c31af7Sopenharmony_ci nextIndex = text.indexOf(leftDelim, currIndex); 165e5c31af7Sopenharmony_ci 166e5c31af7Sopenharmony_ci if (nextIndex === -1) { 167e5c31af7Sopenharmony_ci break; 168e5c31af7Sopenharmony_ci } 169e5c31af7Sopenharmony_ci 170e5c31af7Sopenharmony_ci finalData.push({ 171e5c31af7Sopenharmony_ci type: "text", 172e5c31af7Sopenharmony_ci data: text.slice(currIndex, nextIndex) 173e5c31af7Sopenharmony_ci }); 174e5c31af7Sopenharmony_ci currIndex = nextIndex; 175e5c31af7Sopenharmony_ci } else { 176e5c31af7Sopenharmony_ci nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length); 177e5c31af7Sopenharmony_ci 178e5c31af7Sopenharmony_ci if (nextIndex === -1) { 179e5c31af7Sopenharmony_ci break; 180e5c31af7Sopenharmony_ci } 181e5c31af7Sopenharmony_ci 182e5c31af7Sopenharmony_ci finalData.push({ 183e5c31af7Sopenharmony_ci type: "math", 184e5c31af7Sopenharmony_ci data: text.slice(currIndex + leftDelim.length, nextIndex), 185e5c31af7Sopenharmony_ci rawData: text.slice(currIndex, nextIndex + rightDelim.length), 186e5c31af7Sopenharmony_ci display: display 187e5c31af7Sopenharmony_ci }); 188e5c31af7Sopenharmony_ci currIndex = nextIndex + rightDelim.length; 189e5c31af7Sopenharmony_ci } 190e5c31af7Sopenharmony_ci 191e5c31af7Sopenharmony_ci lookingForLeft = !lookingForLeft; 192e5c31af7Sopenharmony_ci } 193e5c31af7Sopenharmony_ci 194e5c31af7Sopenharmony_ci finalData.push({ 195e5c31af7Sopenharmony_ci type: "text", 196e5c31af7Sopenharmony_ci data: text.slice(currIndex) 197e5c31af7Sopenharmony_ci }); 198e5c31af7Sopenharmony_ci } else { 199e5c31af7Sopenharmony_ci finalData.push(startData[i]); 200e5c31af7Sopenharmony_ci } 201e5c31af7Sopenharmony_ci } 202e5c31af7Sopenharmony_ci 203e5c31af7Sopenharmony_ci return finalData; 204e5c31af7Sopenharmony_ci}; 205e5c31af7Sopenharmony_ci 206e5c31af7Sopenharmony_ci/* harmony default export */ var auto_render_splitAtDelimiters = (splitAtDelimiters); 207e5c31af7Sopenharmony_ci// CONCATENATED MODULE: ./contrib/auto-render/auto-render.js 208e5c31af7Sopenharmony_ci/* eslint no-console:0 */ 209e5c31af7Sopenharmony_ci 210e5c31af7Sopenharmony_ci 211e5c31af7Sopenharmony_ci 212e5c31af7Sopenharmony_civar auto_render_splitWithDelimiters = function splitWithDelimiters(text, delimiters) { 213e5c31af7Sopenharmony_ci var data = [{ 214e5c31af7Sopenharmony_ci type: "text", 215e5c31af7Sopenharmony_ci data: text 216e5c31af7Sopenharmony_ci }]; 217e5c31af7Sopenharmony_ci 218e5c31af7Sopenharmony_ci for (var i = 0; i < delimiters.length; i++) { 219e5c31af7Sopenharmony_ci var delimiter = delimiters[i]; 220e5c31af7Sopenharmony_ci data = auto_render_splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false); 221e5c31af7Sopenharmony_ci } 222e5c31af7Sopenharmony_ci 223e5c31af7Sopenharmony_ci return data; 224e5c31af7Sopenharmony_ci}; 225e5c31af7Sopenharmony_ci/* Note: optionsCopy is mutated by this method. If it is ever exposed in the 226e5c31af7Sopenharmony_ci * API, we should copy it before mutating. 227e5c31af7Sopenharmony_ci */ 228e5c31af7Sopenharmony_ci 229e5c31af7Sopenharmony_ci 230e5c31af7Sopenharmony_civar auto_render_renderMathInText = function renderMathInText(text, optionsCopy) { 231e5c31af7Sopenharmony_ci var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters); 232e5c31af7Sopenharmony_ci var fragment = document.createDocumentFragment(); 233e5c31af7Sopenharmony_ci 234e5c31af7Sopenharmony_ci for (var i = 0; i < data.length; i++) { 235e5c31af7Sopenharmony_ci if (data[i].type === "text") { 236e5c31af7Sopenharmony_ci fragment.appendChild(document.createTextNode(data[i].data)); 237e5c31af7Sopenharmony_ci } else { 238e5c31af7Sopenharmony_ci var span = document.createElement("span"); 239e5c31af7Sopenharmony_ci var math = data[i].data; // Override any display mode defined in the settings with that 240e5c31af7Sopenharmony_ci // defined by the text itself 241e5c31af7Sopenharmony_ci 242e5c31af7Sopenharmony_ci optionsCopy.displayMode = data[i].display; 243e5c31af7Sopenharmony_ci 244e5c31af7Sopenharmony_ci try { 245e5c31af7Sopenharmony_ci if (optionsCopy.preProcess) { 246e5c31af7Sopenharmony_ci math = optionsCopy.preProcess(math); 247e5c31af7Sopenharmony_ci } 248e5c31af7Sopenharmony_ci 249e5c31af7Sopenharmony_ci external_katex_default.a.render(math, span, optionsCopy); 250e5c31af7Sopenharmony_ci } catch (e) { 251e5c31af7Sopenharmony_ci if (!(e instanceof external_katex_default.a.ParseError)) { 252e5c31af7Sopenharmony_ci throw e; 253e5c31af7Sopenharmony_ci } 254e5c31af7Sopenharmony_ci 255e5c31af7Sopenharmony_ci optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e); 256e5c31af7Sopenharmony_ci fragment.appendChild(document.createTextNode(data[i].rawData)); 257e5c31af7Sopenharmony_ci continue; 258e5c31af7Sopenharmony_ci } 259e5c31af7Sopenharmony_ci 260e5c31af7Sopenharmony_ci fragment.appendChild(span); 261e5c31af7Sopenharmony_ci } 262e5c31af7Sopenharmony_ci } 263e5c31af7Sopenharmony_ci 264e5c31af7Sopenharmony_ci return fragment; 265e5c31af7Sopenharmony_ci}; 266e5c31af7Sopenharmony_ci 267e5c31af7Sopenharmony_civar renderElem = function renderElem(elem, optionsCopy) { 268e5c31af7Sopenharmony_ci for (var i = 0; i < elem.childNodes.length; i++) { 269e5c31af7Sopenharmony_ci var childNode = elem.childNodes[i]; 270e5c31af7Sopenharmony_ci 271e5c31af7Sopenharmony_ci if (childNode.nodeType === 3) { 272e5c31af7Sopenharmony_ci // Text node 273e5c31af7Sopenharmony_ci var frag = auto_render_renderMathInText(childNode.textContent, optionsCopy); 274e5c31af7Sopenharmony_ci i += frag.childNodes.length - 1; 275e5c31af7Sopenharmony_ci elem.replaceChild(frag, childNode); 276e5c31af7Sopenharmony_ci } else if (childNode.nodeType === 1) { 277e5c31af7Sopenharmony_ci (function () { 278e5c31af7Sopenharmony_ci // Element node 279e5c31af7Sopenharmony_ci var className = ' ' + childNode.className + ' '; 280e5c31af7Sopenharmony_ci var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) { 281e5c31af7Sopenharmony_ci return className.indexOf(' ' + x + ' ') === -1; 282e5c31af7Sopenharmony_ci }); 283e5c31af7Sopenharmony_ci 284e5c31af7Sopenharmony_ci if (shouldRender) { 285e5c31af7Sopenharmony_ci renderElem(childNode, optionsCopy); 286e5c31af7Sopenharmony_ci } 287e5c31af7Sopenharmony_ci })(); 288e5c31af7Sopenharmony_ci } // Otherwise, it's something else, and ignore it. 289e5c31af7Sopenharmony_ci 290e5c31af7Sopenharmony_ci } 291e5c31af7Sopenharmony_ci}; 292e5c31af7Sopenharmony_ci 293e5c31af7Sopenharmony_civar renderMathInElement = function renderMathInElement(elem, options) { 294e5c31af7Sopenharmony_ci if (!elem) { 295e5c31af7Sopenharmony_ci throw new Error("No element provided to render"); 296e5c31af7Sopenharmony_ci } 297e5c31af7Sopenharmony_ci 298e5c31af7Sopenharmony_ci var optionsCopy = {}; // Object.assign(optionsCopy, option) 299e5c31af7Sopenharmony_ci 300e5c31af7Sopenharmony_ci for (var option in options) { 301e5c31af7Sopenharmony_ci if (options.hasOwnProperty(option)) { 302e5c31af7Sopenharmony_ci optionsCopy[option] = options[option]; 303e5c31af7Sopenharmony_ci } 304e5c31af7Sopenharmony_ci } // default options 305e5c31af7Sopenharmony_ci 306e5c31af7Sopenharmony_ci 307e5c31af7Sopenharmony_ci optionsCopy.delimiters = optionsCopy.delimiters || [{ 308e5c31af7Sopenharmony_ci left: "$$", 309e5c31af7Sopenharmony_ci right: "$$", 310e5c31af7Sopenharmony_ci display: true 311e5c31af7Sopenharmony_ci }, { 312e5c31af7Sopenharmony_ci left: "\\(", 313e5c31af7Sopenharmony_ci right: "\\)", 314e5c31af7Sopenharmony_ci display: false 315e5c31af7Sopenharmony_ci }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: 316e5c31af7Sopenharmony_ci // {left: "$", right: "$", display: false}, 317e5c31af7Sopenharmony_ci // \[…\] must come last in this array. Otherwise, renderMathInElement 318e5c31af7Sopenharmony_ci // will search for \[ before it searches for $$ or \( 319e5c31af7Sopenharmony_ci // That makes it susceptible to finding a \\[0.3em] row delimiter and 320e5c31af7Sopenharmony_ci // treating it as if it were the start of a KaTeX math zone. 321e5c31af7Sopenharmony_ci { 322e5c31af7Sopenharmony_ci left: "\\[", 323e5c31af7Sopenharmony_ci right: "\\]", 324e5c31af7Sopenharmony_ci display: true 325e5c31af7Sopenharmony_ci }]; 326e5c31af7Sopenharmony_ci optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code"]; 327e5c31af7Sopenharmony_ci optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; 328e5c31af7Sopenharmony_ci optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different 329e5c31af7Sopenharmony_ci // math elements within a single call to `renderMathInElement`. 330e5c31af7Sopenharmony_ci 331e5c31af7Sopenharmony_ci optionsCopy.macros = optionsCopy.macros || {}; 332e5c31af7Sopenharmony_ci renderElem(elem, optionsCopy); 333e5c31af7Sopenharmony_ci}; 334e5c31af7Sopenharmony_ci 335e5c31af7Sopenharmony_ci/* harmony default export */ var auto_render = __webpack_exports__["default"] = (renderMathInElement); 336e5c31af7Sopenharmony_ci 337e5c31af7Sopenharmony_ci/***/ }) 338e5c31af7Sopenharmony_ci/******/ ])["default"]; 339e5c31af7Sopenharmony_ci});