@pie-element/venn-classification 0.1.4-next.20261007075859 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12484,14 +12484,14 @@ var agent = nav && nav.userAgent || "";
12484
12484
  var ie_edge = /Edge\/(\d+)/.exec(agent);
12485
12485
  var ie_upto10 = /MSIE \d/.exec(agent);
12486
12486
  var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(agent);
12487
- var ie$2 = !!(ie_upto10 || ie_11up || ie_edge);
12487
+ var ie$3 = !!(ie_upto10 || ie_11up || ie_edge);
12488
12488
  var ie_version = ie_upto10 ? document.documentMode : ie_11up ? +ie_11up[1] : ie_edge ? +ie_edge[1] : 0;
12489
- var gecko = !ie$2 && /gecko\/(\d+)/i.test(agent);
12489
+ var gecko = !ie$3 && /gecko\/(\d+)/i.test(agent);
12490
12490
  gecko && +(/Firefox\/(\d+)/.exec(agent) || [0, 0])[1];
12491
- var _chrome = !ie$2 && /Chrome\/(\d+)/.exec(agent);
12491
+ var _chrome = !ie$3 && /Chrome\/(\d+)/.exec(agent);
12492
12492
  var chrome = !!_chrome;
12493
12493
  var chrome_version = _chrome ? +_chrome[1] : 0;
12494
- var safari = !ie$2 && !!nav && /Apple Computer/.test(nav.vendor);
12494
+ var safari = !ie$3 && !!nav && /Apple Computer/.test(nav.vendor);
12495
12495
  var ios = safari && (/Mobile\/\w+/.test(agent) || !!nav && nav.maxTouchPoints > 2);
12496
12496
  var mac$2 = ios || (nav ? /Mac/.test(nav.platform) : false);
12497
12497
  var windows$1 = nav ? /Win/.test(nav.platform) : false;
@@ -14201,7 +14201,7 @@ function selectCursorWrapper(view) {
14201
14201
  let node = view.cursorWrapper.dom, img = node.nodeName == "IMG";
14202
14202
  if (img) domSel.collapse(node.parentNode, domIndex(node) + 1);
14203
14203
  else domSel.collapse(node, 0);
14204
- if (!img && !view.state.selection.visible && ie$2 && ie_version <= 11) {
14204
+ if (!img && !view.state.selection.visible && ie$3 && ie_version <= 11) {
14205
14205
  node.disabled = true;
14206
14206
  node.disabled = false;
14207
14207
  }
@@ -15203,7 +15203,7 @@ function captureCopy(view, dom) {
15203
15203
  view.focus();
15204
15204
  }, 50);
15205
15205
  }
15206
- var brokenClipboardAPI = ie$2 && ie_version < 15 || ios && webkit_version < 604;
15206
+ var brokenClipboardAPI = ie$3 && ie_version < 15 || ios && webkit_version < 604;
15207
15207
  handlers.copy = editHandlers.cut = (view, _event) => {
15208
15208
  let event = _event;
15209
15209
  let sel = view.state.selection, cut = event.type == "cut";
@@ -15941,7 +15941,7 @@ var observeOptions = {
15941
15941
  attributeOldValue: true,
15942
15942
  subtree: true
15943
15943
  };
15944
- var useCharData = ie$2 && ie_version <= 11;
15944
+ var useCharData = ie$3 && ie_version <= 11;
15945
15945
  var SelectionState = class {
15946
15946
  constructor() {
15947
15947
  this.anchorNode = null;
@@ -15975,7 +15975,7 @@ var DOMObserver = class {
15975
15975
  this.lastChangedTextNode = null;
15976
15976
  this.observer = window.MutationObserver && new window.MutationObserver((mutations) => {
15977
15977
  for (let i = 0; i < mutations.length; i++) this.queue.push(mutations[i]);
15978
- if (ie$2 && ie_version <= 11 && mutations.some((m) => m.type == "childList" && m.removedNodes.length || m.type == "characterData" && m.oldValue.length > m.target.nodeValue.length)) this.flushSoon();
15978
+ if (ie$3 && ie_version <= 11 && mutations.some((m) => m.type == "childList" && m.removedNodes.length || m.type == "characterData" && m.oldValue.length > m.target.nodeValue.length)) this.flushSoon();
15979
15979
  else if (safari && view.composing && mutations.some((m) => m.type == "childList" && m.target.nodeName == "TR")) {
15980
15980
  view.input.badSafariComposition = true;
15981
15981
  this.flushSoon();
@@ -16037,7 +16037,7 @@ var DOMObserver = class {
16037
16037
  onSelectionChange() {
16038
16038
  if (!hasFocusAndSelection(this.view)) return;
16039
16039
  if (this.suppressingSelectionUpdates) return selectionToDOM(this.view);
16040
- if (ie$2 && ie_version <= 11 && !this.view.state.selection.empty) {
16040
+ if (ie$3 && ie_version <= 11 && !this.view.state.selection.empty) {
16041
16041
  let sel = this.view.domSelectionRange();
16042
16042
  if (sel.focusNode && isEquivalentPosition(sel.focusNode, sel.focusOffset, sel.anchorNode, sel.anchorOffset)) return this.flushSoon();
16043
16043
  }
@@ -16145,7 +16145,7 @@ var DOMObserver = class {
16145
16145
  to: desc.posAfter
16146
16146
  };
16147
16147
  let prev = mut.previousSibling, next = mut.nextSibling;
16148
- if (ie$2 && ie_version <= 11 && mut.addedNodes.length) for (let i = 0; i < mut.addedNodes.length; i++) {
16148
+ if (ie$3 && ie_version <= 11 && mut.addedNodes.length) for (let i = 0; i < mut.addedNodes.length; i++) {
16149
16149
  let { previousSibling, nextSibling } = mut.addedNodes[i];
16150
16150
  if (!previousSibling || Array.prototype.indexOf.call(mut.addedNodes, previousSibling) < 0) prev = previousSibling;
16151
16151
  if (!nextSibling || Array.prototype.indexOf.call(mut.addedNodes, nextSibling) < 0) next = nextSibling;
@@ -16371,7 +16371,7 @@ function readDOMChange(view, from, to, typeOver, addedNodes) {
16371
16371
  change.endA = view.state.selection.to;
16372
16372
  }
16373
16373
  }
16374
- if (ie$2 && ie_version <= 11 && change.endB == change.start + 1 && change.endA == change.start && change.start > parse.from && parse.doc.textBetween(change.start - parse.from - 1, change.start - parse.from + 1) == " \xA0") {
16374
+ if (ie$3 && ie_version <= 11 && change.endB == change.start + 1 && change.endA == change.start && change.start > parse.from && parse.doc.textBetween(change.start - parse.from - 1, change.start - parse.from + 1) == " \xA0") {
16375
16375
  change.start--;
16376
16376
  change.endA--;
16377
16377
  change.endB--;
@@ -16403,14 +16403,14 @@ function readDOMChange(view, from, to, typeOver, addedNodes) {
16403
16403
  let tr = base || view.state.tr.replace(chFrom, chTo, parse.doc.slice(change.start - parse.from, change.endB - parse.from));
16404
16404
  if (parse.sel) {
16405
16405
  let sel = resolveSelection(view, tr.doc, parse.sel);
16406
- if (sel && !(chrome && view.composing && sel.empty && (change.start != change.endB || view.input.lastChromeDelete < Date.now() - 100) && (sel.head == chFrom || sel.head == tr.mapping.map(chTo) - 1) || ie$2 && sel.empty && sel.head == chFrom)) tr.setSelection(sel);
16406
+ if (sel && !(chrome && view.composing && sel.empty && (change.start != change.endB || view.input.lastChromeDelete < Date.now() - 100) && (sel.head == chFrom || sel.head == tr.mapping.map(chTo) - 1) || ie$3 && sel.empty && sel.head == chFrom)) tr.setSelection(sel);
16407
16407
  }
16408
16408
  if (compositionID) tr.setMeta("composition", compositionID);
16409
16409
  return tr.scrollIntoView();
16410
16410
  };
16411
16411
  let markChange;
16412
16412
  if (inlineChange) if ($from.pos == $to.pos) {
16413
- if (ie$2 && ie_version <= 11 && $from.parentOffset == 0) {
16413
+ if (ie$3 && ie_version <= 11 && $from.parentOffset == 0) {
16414
16414
  view.domObserver.suppressSelectionUpdates();
16415
16415
  setTimeout(() => selectionToDOM(view), 20);
16416
16416
  }
@@ -16669,7 +16669,7 @@ var EditorView = class {
16669
16669
  let oldScrollPos = scroll == "preserve" && updateSel && this.dom.style.overflowAnchor == null && storeScrollPos(this);
16670
16670
  if (updateSel) {
16671
16671
  this.domObserver.stop();
16672
- let forceSelUpdate = updateDoc && (ie$2 || chrome) && !this.composing && !prev.selection.empty && !state.selection.empty && selectionContextChanged(prev.selection, state.selection);
16672
+ let forceSelUpdate = updateDoc && (ie$3 || chrome) && !this.composing && !prev.selection.empty && !state.selection.empty && selectionContextChanged(prev.selection, state.selection);
16673
16673
  if (updateDoc) {
16674
16674
  let chromeKludge = chrome ? this.trackWrites = this.domSelectionRange().focusNode : null;
16675
16675
  if (this.composing) this.input.compositionNode = findCompositionNode(this);
@@ -16753,7 +16753,7 @@ var EditorView = class {
16753
16753
  Query whether the view has focus.
16754
16754
  */
16755
16755
  hasFocus() {
16756
- if (ie$2) {
16756
+ if (ie$3) {
16757
16757
  let node = this.root.activeElement;
16758
16758
  if (node == this.dom) return true;
16759
16759
  if (!node || !this.dom.contains(node)) return false;
@@ -17094,7 +17094,7 @@ var shift = {
17094
17094
  222: "\""
17095
17095
  };
17096
17096
  var mac$1 = typeof navigator != "undefined" && /Mac/.test(navigator.platform);
17097
- var ie$1 = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
17097
+ var ie$2 = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
17098
17098
  for (var i$1 = 0; i$1 < 10; i$1++) base[48 + i$1] = base[96 + i$1] = String(i$1);
17099
17099
  for (var i$1 = 1; i$1 <= 24; i$1++) base[i$1 + 111] = "F" + i$1;
17100
17100
  for (var i$1 = 65; i$1 <= 90; i$1++) {
@@ -17103,7 +17103,7 @@ for (var i$1 = 65; i$1 <= 90; i$1++) {
17103
17103
  }
17104
17104
  for (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code];
17105
17105
  function keyName(event) {
17106
- var name = !(mac$1 && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey || ie$1 && event.shiftKey && event.key && event.key.length == 1 || event.key == "Unidentified") && event.key || (event.shiftKey ? shift : base)[event.keyCode] || event.key || "Unidentified";
17106
+ var name = !(mac$1 && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey || ie$2 && event.shiftKey && event.key && event.key.length == 1 || event.key == "Unidentified") && event.key || (event.shiftKey ? shift : base)[event.keyCode] || event.key || "Unidentified";
17107
17107
  if (name == "Esc") name = "Escape";
17108
17108
  if (name == "Del") name = "Delete";
17109
17109
  if (name == "Left") name = "ArrowLeft";
@@ -23629,13 +23629,26 @@ var PASTED_FORMATTING = [
23629
23629
  "subscript",
23630
23630
  "bulletList",
23631
23631
  "orderedList",
23632
- "table"
23632
+ "table",
23633
+ "image"
23633
23634
  ];
23634
23635
  var hasImageFile = (data) => Array.from(data.items ?? []).some((item) => item.kind === "file" && item.type.startsWith("image/"));
23635
23636
  var hasElement = (html, selector) => new DOMParser().parseFromString(html, "text/html").querySelector(selector) !== null;
23636
23637
  var isProseMirrorSlice = (html) => html.includes("data-pm-slice") && hasElement(html, "[data-pm-slice]");
23637
23638
  var hasMath = (html) => /data-latex|data-type="?mathml/.test(html) && hasElement(html, "[data-latex], [data-type=\"mathml\"]");
23638
23639
  var filtering = null;
23640
+ var PICTURE = /^data:image\/(?:png|jpeg|gif|webp);base64,/i;
23641
+ var imageKey = () => `img-${Date.now()}-${Math.random().toString(36).slice(2)}`;
23642
+ /**
23643
+ * `html` with its pictures marked as image upload nodes, which parse from that mark alone. The
23644
+ * Image extension leaves out a data URL.
23645
+ */
23646
+ function markPictures(html) {
23647
+ if (!html.includes("data:image/")) return html;
23648
+ const doc = new DOMParser().parseFromString(html, "text/html");
23649
+ for (const img of Array.from(doc.body.querySelectorAll("img"))) if (PICTURE.test(img.getAttribute("src") ?? "")) img.setAttribute("data-type", "image-upload-node");
23650
+ return doc.body.innerHTML;
23651
+ }
23639
23652
  var escapeHtml = (text) => text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
23640
23653
  var lines = (text) => text.replace(/\r*\n|\r/g, "\n").replace(/\n+$/, "");
23641
23654
  var childrenOf = (node) => {
@@ -23703,13 +23716,14 @@ function externalContentOf(data) {
23703
23716
  }
23704
23717
  /**
23705
23718
  * A parsed slice cut down to paragraphs, line breaks and math, plus the marks, lists and tables in
23706
- * `kept`. Attributes go, except an ordered list's numbering, a cell's spans, a header cell's scope
23707
- * and a table's caption. A list or table not kept becomes paragraphs, as a plain-text copy of it
23708
- * reads: an item behind its bullet or number, a row with tabs between its cells.
23719
+ * `kept` and, with `pictures`, the pictures markPictures marked. Attributes go, except an ordered
23720
+ * list's numbering, a cell's spans, a header cell's scope, a table's caption and a picture's size
23721
+ * and alt text. A list or table not kept becomes paragraphs, as a plain-text copy of it reads: an
23722
+ * item behind its bullet or number, a row with tabs between its cells.
23709
23723
  */
23710
- var keepFormatting = (kept) => (slice, state) => {
23724
+ var keepFormatting = (kept, pictures = null) => (slice, state) => {
23711
23725
  const { schema } = state;
23712
- const { paragraph, hardBreak, math } = schema.nodes;
23726
+ const { paragraph, hardBreak, math, imageUploadNode } = schema.nodes;
23713
23727
  const line = (content) => paragraph.create(null, content);
23714
23728
  const keptMarks = (marks) => marks.filter((mark) => kept.has(mark.type.name)).map((mark) => mark.type.create());
23715
23729
  const inline = (node) => childrenOf(node).flatMap((child) => {
@@ -23720,6 +23734,20 @@ var keepFormatting = (kept) => (slice, state) => {
23720
23734
  if (child.type === hardBreak || math && child.type === math) return [child.mark(keptMarks(child.marks))];
23721
23735
  return child.isLeaf ? [] : inline(child);
23722
23736
  });
23737
+ const picture = (node) => {
23738
+ const { src, width, height, alt } = node.attrs;
23739
+ if (!pictures || !PICTURE.test(src ?? "")) return [];
23740
+ const nodeKey = imageKey();
23741
+ pictures.keys.push(nodeKey);
23742
+ return [node.type.create({
23743
+ src,
23744
+ width,
23745
+ height,
23746
+ alt,
23747
+ nodeKey,
23748
+ loaded: !pictures.upload
23749
+ })];
23750
+ };
23723
23751
  const cellText = (cell) => {
23724
23752
  const content = [];
23725
23753
  cell.descendants((child) => {
@@ -23769,10 +23797,15 @@ var keepFormatting = (kept) => (slice, state) => {
23769
23797
  }
23770
23798
  return [...caption ? [line([schema.text(caption)])] : [], ...childrenOf(node).map((row) => line(childrenOf(row).flatMap((cell, i) => i ? [schema.text(" "), ...cellText(cell)] : cellText(cell))))];
23771
23799
  };
23772
- const blocks = (node) => childrenOf(node).flatMap((child) => {
23800
+ const blank = (node) => /^\s+$/.test(node.textContent) && childrenOf(node).every((child) => child.isText);
23801
+ const isPicture = (node) => !!pictures && !!node && node.type === imageUploadNode;
23802
+ const blocks = (node) => childrenOf(node).flatMap((child, i, children) => {
23803
+ if (child.isTextblock && !child.content.size && (isPicture(children[i - 1]) || isPicture(children[i + 1]))) return [];
23804
+ if (child.isTextblock && blank(child)) return [line([schema.text(child.textContent)])];
23773
23805
  if (child.isTextblock) return [line(inline(child))];
23774
23806
  if (child.type.spec.tableRole === "table") return table(child);
23775
23807
  if (child.type.name === "bulletList" || child.type.name === "orderedList") return list(child);
23808
+ if (isPicture(child)) return picture(child);
23776
23809
  return child.isLeaf ? [] : blocks(child);
23777
23810
  });
23778
23811
  return openSlice(schema, slice.content.firstChild?.isInline ? [line(inline(slice.content))] : blocks(slice.content));
@@ -23821,7 +23854,7 @@ function pasteFiltered(view, html, filter) {
23821
23854
  filtering = null;
23822
23855
  }
23823
23856
  }
23824
- function insertExternal(view, { text, html }, settings) {
23857
+ function insertExternal(view, { text, html }, settings, uploadImage) {
23825
23858
  const { selection, schema } = view.state;
23826
23859
  const kept = new Set(settings.plainText ? [] : settings.formatting);
23827
23860
  if ("$anchorCell" in selection && !(kept.has("table") && hasElement(html, "table"))) {
@@ -23830,7 +23863,13 @@ function insertExternal(view, { text, html }, settings) {
23830
23863
  return;
23831
23864
  }
23832
23865
  if (!settings.plainText) {
23833
- pasteFiltered(view, rebuildWordLists(html), keepFormatting(kept));
23866
+ const pictures = kept.has("image") && schema.nodes.imageUploadNode ? {
23867
+ keys: [],
23868
+ upload: !!uploadImage
23869
+ } : null;
23870
+ pasteFiltered(view, rebuildWordLists(pictures ? markPictures(html) : html), keepFormatting(kept, pictures));
23871
+ let uploads = Promise.resolve();
23872
+ for (const nodeKey of pictures?.keys ?? []) uploads = uploads.then(() => uploadImage?.(nodeKey));
23834
23873
  return;
23835
23874
  }
23836
23875
  if (schema.nodes.math && hasMath(html)) {
@@ -23845,9 +23884,10 @@ function insertExternal(view, { text, html }, settings) {
23845
23884
  * superscript, subscript, lists and tables in `formatting`. Its fonts, sizes, colours, alignment,
23846
23885
  * headings, links and class names go, which TextStyleKit, TextAlign and CSSMark would otherwise keep
23847
23886
  * (PIE-1145). Word for Windows and Mac copies lists as styled paragraphs, which are rebuilt as
23848
- * lists first. With `plainText` set it pastes plain text. Copies from a PIE editor and pasted
23849
- * images are left to ProseMirror and the image upload handler. This editor has no math node, so
23850
- * the React editor's math handling never runs here.
23887
+ * lists first. Word's pictures paste as image upload nodes when `formatting` has `image`, and
23888
+ * upload through `uploadImage`. With `plainText` set it pastes plain text. Copies from a PIE editor
23889
+ * and pasted image files are left to ProseMirror and the image upload handler. This editor has no
23890
+ * math node or image upload node, so the React editor's math and picture handling never runs here.
23851
23891
  *
23852
23892
  * Mirrors `packages/lib-react/editable-html-tip-tap/src/external-paste.ts`.
23853
23893
  */
@@ -23855,13 +23895,18 @@ var ExternalPaste = Extension.create({
23855
23895
  name: "externalPaste",
23856
23896
  priority: 1e3,
23857
23897
  addOptions() {
23858
- return { settings: () => ({
23859
- plainText: false,
23860
- formatting: PASTED_FORMATTING
23861
- }) };
23898
+ return {
23899
+ settings: () => ({
23900
+ plainText: false,
23901
+ formatting: PASTED_FORMATTING
23902
+ }),
23903
+ uploadImage: void 0
23904
+ };
23862
23905
  },
23863
23906
  addProseMirrorPlugins() {
23864
- const { settings } = this.options;
23907
+ const { settings, uploadImage } = this.options;
23908
+ const { editor } = this;
23909
+ const upload = uploadImage ? (nodeKey) => uploadImage(editor, nodeKey) : null;
23865
23910
  return [new Plugin({
23866
23911
  key: new PluginKey("externalPaste"),
23867
23912
  props: {
@@ -23871,7 +23916,7 @@ var ExternalPaste = Extension.create({
23871
23916
  handlePaste(view, event) {
23872
23917
  const content = externalContentOf(event.clipboardData);
23873
23918
  if (content === null) return false;
23874
- insertExternal(view, content, settings());
23919
+ insertExternal(view, content, settings(), upload);
23875
23920
  return true;
23876
23921
  },
23877
23922
  handleDrop(view, event) {
@@ -23882,7 +23927,7 @@ var ExternalPaste = Extension.create({
23882
23927
  });
23883
23928
  if (content === null || !target) return false;
23884
23929
  view.dispatch(view.state.tr.setSelection(TextSelection.near(view.state.doc.resolve(target.pos))));
23885
- insertExternal(view, content, settings());
23930
+ insertExternal(view, content, settings(), upload);
23886
23931
  view.focus();
23887
23932
  return true;
23888
23933
  }
@@ -38633,7 +38678,247 @@ function createDOMPurify() {
38633
38678
  var purify_default = createDOMPurify();
38634
38679
  //#endregion
38635
38680
  //#region ../../shared/utils/dist/index.js
38636
- var f$1 = [
38681
+ var f$1 = "data-pie-authored-ink";
38682
+ var p$1 = "data-pie-authored-fill";
38683
+ var m$1 = "data-pie-authored-border";
38684
+ var h$1 = [
38685
+ "border-top-color",
38686
+ "border-right-color",
38687
+ "border-bottom-color",
38688
+ "border-left-color"
38689
+ ];
38690
+ var g$1 = /* @__PURE__ */ new Set([
38691
+ "currentcolor",
38692
+ "inherit",
38693
+ "initial",
38694
+ "unset",
38695
+ "revert",
38696
+ "revert-layer",
38697
+ "transparent"
38698
+ ]);
38699
+ function _$1(e) {
38700
+ let t = e?.trim().toLowerCase();
38701
+ return !t || g$1.has(t) || t.includes("var(") ? !1 : b$1(t)?.a !== 0;
38702
+ }
38703
+ function ee$1(e) {
38704
+ let t = b$1(e);
38705
+ if (!t) return "shade";
38706
+ let n = (e) => (e * t.a + 255 * (1 - t.a)) / 255, [r, i, a] = [
38707
+ n(t.r),
38708
+ n(t.g),
38709
+ n(t.b)
38710
+ ], o = .2126 * B$1(r) + .7152 * B$1(i) + .0722 * B$1(a), s = Math.max(r, i, a) - Math.min(r, i, a);
38711
+ return o >= .85 && s <= .08 ? "light" : "shade";
38712
+ }
38713
+ function v$1(e) {
38714
+ e.removeAttribute(f$1), e.removeAttribute(p$1), e.removeAttribute(m$1);
38715
+ let t = e.hasAttribute("style") ? e.style : void 0, n = (e) => t?.getPropertyValue(e).trim() ?? "", r = [], i = n("color"), a = e.localName === "font" ? e.getAttribute("color") : null;
38716
+ _$1(i || a) && (e.setAttribute("data-pie-authored-ink", ""), i && r.push("color"));
38717
+ let o = n("background-color"), s = o || y$1(e.getAttribute("bgcolor"));
38718
+ _$1(s) && (e.setAttribute("data-pie-authored-fill", ee$1(s)), o && r.push("background-color"));
38719
+ let c = h$1.filter((e) => _$1(n(e)));
38720
+ c.length && (e.setAttribute("data-pie-authored-border", ""), r.push(...c));
38721
+ for (let e of r) t?.getPropertyPriority(e) === "important" && t.setProperty(e, t.getPropertyValue(e));
38722
+ }
38723
+ function y$1(e) {
38724
+ let t = e?.trim() ?? "";
38725
+ return /^(?:[\da-f]{3}|[\da-f]{6})$/i.test(t) ? `#${t}` : t;
38726
+ }
38727
+ function b$1(e) {
38728
+ let t = e.trim().toLowerCase();
38729
+ if (t === "transparent") return {
38730
+ r: 0,
38731
+ g: 0,
38732
+ b: 0,
38733
+ a: 0
38734
+ };
38735
+ let n = S$1().get(t);
38736
+ if (n) return C$1(n);
38737
+ if (t.startsWith("#")) return C$1(t.slice(1));
38738
+ let r = /^([a-z]+)\(([^()]*)\)$/.exec(t);
38739
+ if (!r) return null;
38740
+ let i = r[2].trim().split(/\s*[\s,/]\s*/);
38741
+ if (i.length !== 3 && i.length !== 4) return null;
38742
+ let [a, o, s, c] = i, l = D$1(c), u;
38743
+ switch (r[1]) {
38744
+ case "rgb":
38745
+ case "rgba":
38746
+ u = [
38747
+ a,
38748
+ o,
38749
+ s
38750
+ ].map((e) => T$1(e, 255) / 255);
38751
+ break;
38752
+ case "hsl":
38753
+ case "hsla":
38754
+ u = k$1(E$1(a), T$1(o, 100) / 100, T$1(s, 100) / 100);
38755
+ break;
38756
+ case "hwb":
38757
+ u = A$1(E$1(a), T$1(o, 100) / 100, T$1(s, 100) / 100);
38758
+ break;
38759
+ case "lab":
38760
+ u = I$1(T$1(a, 100), T$1(o, 125), T$1(s, 125));
38761
+ break;
38762
+ case "lch":
38763
+ u = I$1(T$1(a, 100), ...O$1(T$1(o, 150), E$1(s)));
38764
+ break;
38765
+ case "oklab":
38766
+ u = L$1(T$1(a, 1), T$1(o, .4), T$1(s, .4));
38767
+ break;
38768
+ case "oklch":
38769
+ u = L$1(T$1(a, 1), ...O$1(T$1(o, .4), E$1(s)));
38770
+ break;
38771
+ default: return null;
38772
+ }
38773
+ if (Number.isNaN(l) || u.some(Number.isNaN)) return null;
38774
+ let [d, f, p] = u.map((e) => V$1(e, 0, 1) * 255);
38775
+ return {
38776
+ r: d,
38777
+ g: f,
38778
+ b: p,
38779
+ a: l
38780
+ };
38781
+ }
38782
+ var x$1;
38783
+ function S$1() {
38784
+ return x$1 ?? (x$1 = new Map("aliceblue:f0f8ff antiquewhite:faebd7 aqua:00ffff aquamarine:7fffd4 azure:f0ffff beige:f5f5dc bisque:ffe4c4 black:000000 blanchedalmond:ffebcd blue:0000ff blueviolet:8a2be2 brown:a52a2a burlywood:deb887 cadetblue:5f9ea0 chartreuse:7fff00 chocolate:d2691e coral:ff7f50 cornflowerblue:6495ed cornsilk:fff8dc crimson:dc143c cyan:00ffff darkblue:00008b darkcyan:008b8b darkgoldenrod:b8860b darkgray:a9a9a9 darkgreen:006400 darkgrey:a9a9a9 darkkhaki:bdb76b darkmagenta:8b008b darkolivegreen:556b2f darkorange:ff8c00 darkorchid:9932cc darkred:8b0000 darksalmon:e9967a darkseagreen:8fbc8f darkslateblue:483d8b darkslategray:2f4f4f darkslategrey:2f4f4f darkturquoise:00ced1 darkviolet:9400d3 deeppink:ff1493 deepskyblue:00bfff dimgray:696969 dimgrey:696969 dodgerblue:1e90ff firebrick:b22222 floralwhite:fffaf0 forestgreen:228b22 fuchsia:ff00ff gainsboro:dcdcdc ghostwhite:f8f8ff gold:ffd700 goldenrod:daa520 gray:808080 green:008000 greenyellow:adff2f grey:808080 honeydew:f0fff0 hotpink:ff69b4 indianred:cd5c5c indigo:4b0082 ivory:fffff0 khaki:f0e68c lavender:e6e6fa lavenderblush:fff0f5 lawngreen:7cfc00 lemonchiffon:fffacd lightblue:add8e6 lightcoral:f08080 lightcyan:e0ffff lightgoldenrodyellow:fafad2 lightgray:d3d3d3 lightgreen:90ee90 lightgrey:d3d3d3 lightpink:ffb6c1 lightsalmon:ffa07a lightseagreen:20b2aa lightskyblue:87cefa lightslategray:778899 lightslategrey:778899 lightsteelblue:b0c4de lightyellow:ffffe0 lime:00ff00 limegreen:32cd32 linen:faf0e6 magenta:ff00ff maroon:800000 mediumaquamarine:66cdaa mediumblue:0000cd mediumorchid:ba55d3 mediumpurple:9370db mediumseagreen:3cb371 mediumslateblue:7b68ee mediumspringgreen:00fa9a mediumturquoise:48d1cc mediumvioletred:c71585 midnightblue:191970 mintcream:f5fffa mistyrose:ffe4e1 moccasin:ffe4b5 navajowhite:ffdead navy:000080 oldlace:fdf5e6 olive:808000 olivedrab:6b8e23 orange:ffa500 orangered:ff4500 orchid:da70d6 palegoldenrod:eee8aa palegreen:98fb98 paleturquoise:afeeee palevioletred:db7093 papayawhip:ffefd5 peachpuff:ffdab9 peru:cd853f pink:ffc0cb plum:dda0dd powderblue:b0e0e6 purple:800080 rebeccapurple:663399 red:ff0000 rosybrown:bc8f8f royalblue:4169e1 saddlebrown:8b4513 salmon:fa8072 sandybrown:f4a460 seagreen:2e8b57 seashell:fff5ee sienna:a0522d silver:c0c0c0 skyblue:87ceeb slateblue:6a5acd slategray:708090 slategrey:708090 snow:fffafa springgreen:00ff7f steelblue:4682b4 tan:d2b48c teal:008080 thistle:d8bfd8 tomato:ff6347 turquoise:40e0d0 violet:ee82ee wheat:f5deb3 white:ffffff whitesmoke:f5f5f5 yellow:ffff00 yellowgreen:9acd32".split(" ").map((e) => e.split(":")))), x$1;
38785
+ }
38786
+ function C$1(e) {
38787
+ if (!/^(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/.test(e)) return null;
38788
+ let [t, n, r, i = 255] = (e.length <= 4 ? [...e].map((e) => e + e) : e.match(/../g) ?? []).map((e) => Number.parseInt(e, 16));
38789
+ return {
38790
+ r: t,
38791
+ g: n,
38792
+ b: r,
38793
+ a: i / 255
38794
+ };
38795
+ }
38796
+ var w$1 = /^([+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)(%|deg|rad|grad|turn)?$/;
38797
+ function T$1(e, t) {
38798
+ if (e === "none") return 0;
38799
+ let n = w$1.exec(e);
38800
+ return !n || n[2] && n[2] !== "%" ? NaN : n[2] ? Number(n[1]) / 100 * t : Number(n[1]);
38801
+ }
38802
+ function E$1(e) {
38803
+ if (e === "none") return 0;
38804
+ let t = w$1.exec(e);
38805
+ if (!t || t[2] === "%") return NaN;
38806
+ let n = Number(t[1]);
38807
+ return ((t[2] === "rad" ? n * 180 / Math.PI : t[2] === "grad" ? n * .9 : t[2] === "turn" ? n * 360 : n) % 360 + 360) % 360;
38808
+ }
38809
+ function D$1(e) {
38810
+ return e === void 0 ? 1 : V$1(T$1(e, 1), 0, 1);
38811
+ }
38812
+ function O$1(e, t) {
38813
+ let n = Math.max(0, e), r = t * Math.PI / 180;
38814
+ return [n * Math.cos(r), n * Math.sin(r)];
38815
+ }
38816
+ function k$1(e, t, n) {
38817
+ let r = V$1(t, 0, 1), i = V$1(n, 0, 1), a = (t) => {
38818
+ let n = (t + e / 30) % 12, a = r * Math.min(i, 1 - i);
38819
+ return i - a * Math.max(-1, Math.min(n - 3, 9 - n, 1));
38820
+ };
38821
+ return [
38822
+ a(0),
38823
+ a(8),
38824
+ a(4)
38825
+ ];
38826
+ }
38827
+ function A$1(e, t, n) {
38828
+ let r = V$1(t, 0, 1), i = V$1(n, 0, 1);
38829
+ return r + i >= 1 ? [
38830
+ ,
38831
+ ,
38832
+ ,
38833
+ ].fill(r / (r + i)) : k$1(e, 1, .5).map((e) => e * (1 - r - i) + r);
38834
+ }
38835
+ var j$1 = 24389 / 27;
38836
+ var M$1 = 216 / 24389;
38837
+ var N$1 = [
38838
+ .3457 / .3585,
38839
+ 1,
38840
+ .2958 / .3585
38841
+ ];
38842
+ var P$1 = [
38843
+ [
38844
+ .955473421488075,
38845
+ -.02309845494876471,
38846
+ .06325924320057072
38847
+ ],
38848
+ [
38849
+ -.0283697093338637,
38850
+ 1.0099953980813041,
38851
+ .021041441191917323
38852
+ ],
38853
+ [
38854
+ .012314014864481998,
38855
+ -.020507649298898964,
38856
+ 1.330365926242124
38857
+ ]
38858
+ ];
38859
+ var F$1 = [
38860
+ [
38861
+ 12831 / 3959,
38862
+ -329 / 214,
38863
+ -1974 / 3959
38864
+ ],
38865
+ [
38866
+ -851781 / 878810,
38867
+ 1648619 / 878810,
38868
+ 36519 / 878810
38869
+ ],
38870
+ [
38871
+ 705 / 12673,
38872
+ -2585 / 12673,
38873
+ 705 / 667
38874
+ ]
38875
+ ];
38876
+ function I$1(e, t, n) {
38877
+ let r = V$1(e, 0, 100), i = (r + 16) / 116, a = t / 500 + i, o = i - n / 200;
38878
+ return R$1(F$1, R$1(P$1, [
38879
+ a ** 3 > M$1 ? a ** 3 : (116 * a - 16) / j$1,
38880
+ r > j$1 * M$1 ? i ** 3 : r / j$1,
38881
+ o ** 3 > M$1 ? o ** 3 : (116 * o - 16) / j$1
38882
+ ].map((e, t) => e * N$1[t]))).map(z$1);
38883
+ }
38884
+ function L$1(e, t, n) {
38885
+ let r = V$1(e, 0, 1);
38886
+ return R$1([
38887
+ [
38888
+ 4.0767416621,
38889
+ -3.3077115913,
38890
+ .2309699292
38891
+ ],
38892
+ [
38893
+ -1.2684380046,
38894
+ 2.6097574011,
38895
+ -.3413193965
38896
+ ],
38897
+ [
38898
+ -.0041960863,
38899
+ -.7034186147,
38900
+ 1.707614701
38901
+ ]
38902
+ ], [
38903
+ r + .3963377774 * t + .2158037573 * n,
38904
+ r - .1055613458 * t - .0638541728 * n,
38905
+ r - .0894841775 * t - 1.291485548 * n
38906
+ ].map((e) => e ** 3)).map(z$1);
38907
+ }
38908
+ function R$1(e, t) {
38909
+ return e.map((e) => e[0] * t[0] + e[1] * t[1] + e[2] * t[2]);
38910
+ }
38911
+ function z$1(e) {
38912
+ let t = V$1(e, 0, 1);
38913
+ return t <= .0031308 ? 12.92 * t : 1.055 * t ** (1 / 2.4) - .055;
38914
+ }
38915
+ function B$1(e) {
38916
+ return e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4;
38917
+ }
38918
+ function V$1(e, t, n) {
38919
+ return Math.min(n, Math.max(t, e));
38920
+ }
38921
+ var H$1 = [
38637
38922
  "script",
38638
38923
  "embed",
38639
38924
  "base",
@@ -38643,7 +38928,7 @@ var f$1 = [
38643
38928
  "style",
38644
38929
  "foreignobject"
38645
38930
  ];
38646
- var p$1 = [
38931
+ var U$1 = [
38647
38932
  "onerror",
38648
38933
  "onload",
38649
38934
  "onclick",
@@ -38662,7 +38947,7 @@ var p$1 = [
38662
38947
  "formaction",
38663
38948
  "xlink:href"
38664
38949
  ];
38665
- var m$1 = /* @__PURE__ */ new Set([
38950
+ var W$1 = /* @__PURE__ */ new Set([
38666
38951
  "iframe",
38667
38952
  "object",
38668
38953
  "mstack",
@@ -38676,8 +38961,8 @@ var m$1 = /* @__PURE__ */ new Set([
38676
38961
  "annotation",
38677
38962
  "none"
38678
38963
  ]);
38679
- var h$1 = /^[a-z_][\w.-]*:[a-z][\w.-]*$/;
38680
- var g$1 = [
38964
+ var G$1 = /^[a-z_][\w.-]*:[a-z][\w.-]*$/;
38965
+ var K$1 = [
38681
38966
  "alignment",
38682
38967
  "target",
38683
38968
  "allow",
@@ -38698,21 +38983,21 @@ var g$1 = [
38698
38983
  "mslinethickness",
38699
38984
  "linebreak"
38700
38985
  ];
38701
- var _$1 = /^\s*document\.getElementById\((['"])([^'"]+)\1\)\.play\(\)\s*;?\s*(?:return\s+false\s*;?\s*)?$/;
38702
- var v$1 = "data-pie-play-audio";
38703
- var y$1 = {
38704
- ADD_TAGS: (e) => m$1.has(e) || h$1.test(e),
38705
- ADD_ATTR: g$1,
38706
- FORBID_TAGS: f$1,
38707
- FORBID_ATTR: p$1,
38986
+ var q$1 = /^\s*document\.getElementById\((['"])([^'"]+)\1\)\.play\(\)\s*;?\s*(?:return\s+false\s*;?\s*)?$/;
38987
+ var J$1 = "data-pie-play-audio";
38988
+ var Y$1 = {
38989
+ ADD_TAGS: (e) => W$1.has(e) || G$1.test(e),
38990
+ ADD_ATTR: K$1,
38991
+ FORBID_TAGS: H$1,
38992
+ FORBID_ATTR: U$1,
38708
38993
  ALLOW_UNKNOWN_PROTOCOLS: !1,
38709
38994
  RETURN_TRUSTED_TYPE: !1
38710
38995
  };
38711
- var b$1 = !1;
38712
- function x$1(e) {
38996
+ var te$1 = !1;
38997
+ function ne$1(e) {
38713
38998
  for (let t of e.composedPath()) {
38714
38999
  if (!(t instanceof Element)) continue;
38715
- let n = t.getAttribute(v$1);
39000
+ let n = t.getAttribute(J$1);
38716
39001
  if (n === null) continue;
38717
39002
  e.preventDefault();
38718
39003
  let r = t.getRootNode().getElementById?.(n) ?? document.getElementById(n);
@@ -38720,28 +39005,28 @@ function x$1(e) {
38720
39005
  return;
38721
39006
  }
38722
39007
  }
38723
- var S$1 = null;
38724
- function C$1() {
38725
- return S$1 || (S$1 = purify_default(window), S$1.addHook("beforeSanitizeAttributes", (e) => {
39008
+ var X$1 = null;
39009
+ function re$1() {
39010
+ return X$1 || (X$1 = purify_default(window), X$1.addHook("beforeSanitizeAttributes", (e) => {
38726
39011
  if (e.nodeName !== "A") return;
38727
- let t = _$1.exec(e.getAttribute("onclick") ?? "")?.[2];
38728
- t !== void 0 && (e.removeAttribute("onclick"), e.setAttribute("data-pie-play-audio", t), b$1 || (b$1 = (document.addEventListener("click", x$1), !0)));
38729
- }), S$1);
38730
- }
38731
- var w$1 = 1e6;
38732
- var T$1 = /* @__PURE__ */ new Map();
38733
- var E$1 = 0;
38734
- function D$1(t) {
39012
+ let t = q$1.exec(e.getAttribute("onclick") ?? "")?.[2];
39013
+ t !== void 0 && (e.removeAttribute("onclick"), e.setAttribute("data-pie-play-audio", t), te$1 || (te$1 = (document.addEventListener("click", ne$1), !0)));
39014
+ }), X$1.addHook("afterSanitizeAttributes", v$1), X$1);
39015
+ }
39016
+ var Z$1 = 1e6;
39017
+ var Q$1 = /* @__PURE__ */ new Map();
39018
+ var $$1 = 0;
39019
+ function ie$1(t) {
38735
39020
  if (t == null || t === "" || !purify_default.isSupported) return "";
38736
- let n = typeof t == "string" ? t : String(t), r = T$1.get(n);
39021
+ let n = typeof t == "string" ? t : String(t), r = Q$1.get(n);
38737
39022
  if (r !== void 0) return r;
38738
- let i = String(C$1().sanitize(n, y$1)), a = n.length + i.length;
38739
- if (a > w$1) return i;
38740
- for (let [e, t] of T$1) {
38741
- if (E$1 + a <= w$1) break;
38742
- T$1.delete(e), E$1 -= e.length + t.length;
39023
+ let i = String(re$1().sanitize(n, Y$1)), a = n.length + i.length;
39024
+ if (a > Z$1) return i;
39025
+ for (let [e, t] of Q$1) {
39026
+ if ($$1 + a <= Z$1) break;
39027
+ Q$1.delete(e), $$1 -= e.length + t.length;
38743
39028
  }
38744
- return T$1.set(n, i), E$1 += a, i;
39029
+ return Q$1.set(n, i), $$1 += a, i;
38745
39030
  }
38746
39031
  //#endregion
38747
39032
  //#region ../../shared/math-rendering-mathjax/dist/index.js
@@ -38833,33 +39118,33 @@ function _(e) {
38833
39118
  } }));
38834
39119
  }
38835
39120
  var v = "https://github.com/pie-framework/pie-players/blob/develop/docs/item-player/loading-strategies.md#one-mathjax-version-per-page";
38836
- var y = "pie-mathjax-version-conflict";
38837
- var b = Symbol.for("@pie-element/shared-math-rendering-mathjax/unsupported-page");
38838
- function x(e, t) {
39121
+ var ee = "pie-mathjax-version-conflict";
39122
+ var te = Symbol.for("@pie-element/shared-math-rendering-mathjax/unsupported-page");
39123
+ function ne(e, t) {
38839
39124
  if (typeof window > "u") return;
38840
39125
  let n = globalThis;
38841
- n[b] ?? (n[b] = {
39126
+ n[te] ?? (n[te] = {
38842
39127
  logged: !1,
38843
39128
  conditions: []
38844
39129
  });
38845
- let r = n[b];
39130
+ let r = n[te];
38846
39131
  if (r.conditions.includes(e)) return;
38847
39132
  r.conditions.push(e);
38848
39133
  let i = `[math-rendering] Unsupported page (${e}): ${t}. PIE supports one MathJax major version per page; with MathJax 3 and 4 on one page, math rendering is best effort and may break. See ${v}`;
38849
- r.logged || (r.logged = !0, console.error(i)), window.dispatchEvent(new CustomEvent(y, { detail: {
39134
+ r.logged || (r.logged = !0, console.error(i)), window.dispatchEvent(new CustomEvent(ee, { detail: {
38850
39135
  condition: e,
38851
39136
  message: i,
38852
39137
  docsUrl: v
38853
39138
  } }));
38854
39139
  }
38855
- function ee() {
39140
+ function re() {
38856
39141
  let e = window.MathJax?.version;
38857
39142
  return typeof e == "string" && e.startsWith("3.") ? e : void 0;
38858
39143
  }
38859
- function S() {
39144
+ function y() {
38860
39145
  return window.MathJax;
38861
39146
  }
38862
- function te(t, { root: n, speechPath: r }) {
39147
+ function ie(t, { root: n, speechPath: r }) {
38863
39148
  n && (t.loader = {
38864
39149
  ...t.loader,
38865
39150
  paths: {
@@ -38875,94 +39160,94 @@ function te(t, { root: n, speechPath: r }) {
38875
39160
  }
38876
39161
  });
38877
39162
  }
38878
- function ne(e, t) {
39163
+ function ae(e, t) {
38879
39164
  let n = t.srcUrl || (t.root ? `${t.root}/mathjax@4.1.3/tex-mml-chtml.js` : void 0);
38880
- return n ? (te(e, t), new Promise((t, r) => {
39165
+ return n ? (ie(e, t), new Promise((t, r) => {
38881
39166
  window.MathJax = e;
38882
39167
  let i = document.createElement("script");
38883
39168
  i.src = n, i.async = !0, i.onload = () => t(!0), i.onerror = () => r(/* @__PURE__ */ Error("Failed to load MathJax")), document.head.appendChild(i);
38884
39169
  })) : (_("untypeset"), Promise.resolve(!1));
38885
39170
  }
38886
- var re = globalThis;
38887
- var C = "PIE-MJX-CHTML-styles";
38888
- var ie = ["MJX-CHTML-styles", "MJX-SVG-styles"];
38889
- var ae = ee;
38890
- var w = "http://www.w3.org/1998/Math/MathML";
38891
- var oe = /^([a-z_][\w.-]*):math$/;
38892
- var se = /^[a-z][a-z0-9-]*$/;
38893
- function ce(e) {
39171
+ var oe = globalThis;
39172
+ var b = "PIE-MJX-CHTML-styles";
39173
+ var se = ["MJX-CHTML-styles", "MJX-SVG-styles"];
39174
+ var ce = re;
39175
+ var le = "http://www.w3.org/1998/Math/MathML";
39176
+ var ue = /^([a-z_][\w.-]*):math$/;
39177
+ var de = /^[a-z][a-z0-9-]*$/;
39178
+ function fe(e) {
38894
39179
  for (let t of e.querySelectorAll("*")) {
38895
- let n = oe.exec(t.tagName.toLowerCase())?.[1];
38896
- !n || !e.contains(t) || t.closest("mjx-container") || t.replaceWith(T(t, `${n}:`));
39180
+ let n = ue.exec(t.tagName.toLowerCase())?.[1];
39181
+ !n || !e.contains(t) || t.closest("mjx-container") || t.replaceWith(pe(t, `${n}:`));
38897
39182
  }
38898
39183
  }
38899
- function T(e, t) {
39184
+ function pe(e, t) {
38900
39185
  let n = e.tagName.toLowerCase().slice(t.length);
38901
- if (!se.test(n)) return e;
38902
- let r = e.ownerDocument.createElementNS(w, n);
39186
+ if (!de.test(n)) return e;
39187
+ let r = e.ownerDocument.createElementNS(le, n);
38903
39188
  for (let t of e.attributes) r.setAttribute(t.name, t.value);
38904
39189
  for (let n of [...e.childNodes]) {
38905
39190
  let e = n instanceof Element && n.tagName.toLowerCase().startsWith(t);
38906
- r.appendChild(e ? T(n, t) : n);
39191
+ r.appendChild(e ? pe(n, t) : n);
38907
39192
  }
38908
39193
  return r;
38909
39194
  }
38910
- var le = /* @__PURE__ */ new Set([
39195
+ var me = /* @__PURE__ */ new Set([
38911
39196
  "updiagonalstrike",
38912
39197
  "downdiagonalstrike",
38913
39198
  "verticalstrike",
38914
39199
  "horizontalstrike"
38915
39200
  ]);
38916
- var ue = {
39201
+ var he = {
38917
39202
  thin: "0.035em",
38918
39203
  medium: "0.07em",
38919
39204
  thick: "0.14em"
38920
39205
  };
38921
- var de = {
39206
+ var ge = {
38922
39207
  tight: "0em",
38923
39208
  medium: "0.1em",
38924
39209
  loose: "0.2em"
38925
39210
  };
38926
- var fe = /^(\d+(\.\d*)?|\.\d+)(em|ex|px|pt|pc|in|cm|mm)$/;
38927
- var pe = /^(#[0-9a-f]{3,8}|[a-z]+)$/i;
38928
- var me = /^(\d+(\.\d*)?|\.\d+)$/;
38929
- var he = /* @__PURE__ */ new Set([
39211
+ var _e = /^(\d+(\.\d*)?|\.\d+)(em|ex|px|pt|pc|in|cm|mm)$/;
39212
+ var ve = /^(#[0-9a-f]{3,8}|[a-z]+)$/i;
39213
+ var ye = /^(\d+(\.\d*)?|\.\d+)$/;
39214
+ var be = /* @__PURE__ */ new Set([
38930
39215
  "mn",
38931
39216
  "mo",
38932
39217
  "mi",
38933
39218
  "mtext"
38934
39219
  ]);
38935
- var ge = /* @__PURE__ */ new Set([
39220
+ var xe = /* @__PURE__ */ new Set([
38936
39221
  "stackalign",
38937
39222
  "charalign",
38938
39223
  "charspacing",
38939
39224
  "longdivstyle"
38940
39225
  ]);
38941
- function E(e, t, n = [], r = {}) {
38942
- let i = e.createElementNS(w, t);
39226
+ function x(e, t, n = [], r = {}) {
39227
+ let i = e.createElementNS(le, t);
38943
39228
  for (let [e, t] of Object.entries(r)) i.setAttribute(e, t);
38944
39229
  for (let e of n) e && i.appendChild(e);
38945
39230
  return i;
38946
39231
  }
38947
- function D(e, t) {
38948
- let n = E(e.document, "mo");
39232
+ function S(e, t) {
39233
+ let n = x(e.document, "mo");
38949
39234
  return n.textContent = t, n;
38950
39235
  }
38951
- function O(e) {
38952
- let t = E(e.document, "mn");
38953
- return t.textContent = "0", E(e.document, "mphantom", [t]);
39236
+ function Se(e) {
39237
+ let t = x(e.document, "mn");
39238
+ return t.textContent = "0", x(e.document, "mphantom", [t]);
38954
39239
  }
38955
- function k(e, t) {
39240
+ function C(e, t) {
38956
39241
  return e.getAttribute(t)?.trim().toLowerCase() || void 0;
38957
39242
  }
38958
- function A(e, t) {
39243
+ function w(e, t) {
38959
39244
  let n = Number.parseInt(e.getAttribute(t) ?? "", 10);
38960
39245
  return Number.isFinite(n) ? n : 0;
38961
39246
  }
38962
- function j(e) {
39247
+ function T(e) {
38963
39248
  return e.localName === "none" || e.localName === "mrow" && e.children.length === 0 && !e.textContent?.trim();
38964
39249
  }
38965
- function M(e, t, n = e) {
39250
+ function E(e, t, n = e) {
38966
39251
  switch (t) {
38967
39252
  case "left": return 0;
38968
39253
  case "center": return Math.floor(e / 2);
@@ -38970,14 +39255,14 @@ function M(e, t, n = e) {
38970
39255
  default: return n;
38971
39256
  }
38972
39257
  }
38973
- function N(e, t, n) {
39258
+ function D(e, t, n) {
38974
39259
  let r = [], i, a, o = (e, t) => {
38975
39260
  let s = (e) => t.reduceRight((e, t) => {
38976
39261
  let n = t.cloneNode(!1);
38977
39262
  return n.appendChild(e), n;
38978
39263
  }, e);
38979
39264
  if (e.localName === "mstyle") for (let n of [...e.children]) o(n, [...t, e]);
38980
- else if (j(e)) r.push(null);
39265
+ else if (T(e)) r.push(null);
38981
39266
  else if (e.localName === "mn" && e.children.length === 0) {
38982
39267
  let t = [...(e.textContent ?? "").trim()];
38983
39268
  for (let a of t) {
@@ -38986,28 +39271,28 @@ function N(e, t, n) {
38986
39271
  t.textContent = a, r.push(s(t));
38987
39272
  }
38988
39273
  t.length && (a ?? (a = r.length));
38989
- } else he.has(e.localName) && e.textContent?.trim() === n.decimalPoint && (i ?? (i = r.length)), r.push(s(e));
39274
+ } else be.has(e.localName) && e.textContent?.trim() === n.decimalPoint && (i ?? (i = r.length)), r.push(s(e));
38990
39275
  };
38991
39276
  for (let t of e) o(t, []);
38992
39277
  return {
38993
39278
  kind: "digits",
38994
39279
  cells: r,
38995
- anchor: M(r.length, n.stackAlign, i ?? a),
39280
+ anchor: E(r.length, n.stackAlign, i ?? a),
38996
39281
  position: t
38997
39282
  };
38998
39283
  }
38999
- function _e(e) {
39000
- return (e ?? "").toLowerCase().split(/\s+/).filter((e) => le.has(e));
39284
+ function O(e) {
39285
+ return (e ?? "").toLowerCase().split(/\s+/).filter((e) => me.has(e));
39001
39286
  }
39002
- function ve(e, t) {
39003
- let n = [...e.children].filter((e) => !j(e));
39004
- return n.length <= 1 ? n[0] ?? null : E(t.document, "mrow", n);
39287
+ function Ce(e, t) {
39288
+ let n = [...e.children].filter((e) => !T(e));
39289
+ return n.length <= 1 ? n[0] ?? null : x(t.document, "mrow", n);
39005
39290
  }
39006
- function ye(e, t, n) {
39007
- let r = k(e, "location") ?? "n", i = _e(e.getAttribute("crossout")), a = [...e.children].map((e) => j(e) ? null : e.localName === "mscarry" ? {
39008
- content: ve(e, n),
39009
- location: k(e, "location") ?? r,
39010
- crossout: e.hasAttribute("crossout") ? _e(e.getAttribute("crossout")) : i
39291
+ function we(e, t, n) {
39292
+ let r = C(e, "location") ?? "n", i = O(e.getAttribute("crossout")), a = [...e.children].map((e) => T(e) ? null : e.localName === "mscarry" ? {
39293
+ content: Ce(e, n),
39294
+ location: C(e, "location") ?? r,
39295
+ crossout: e.hasAttribute("crossout") ? O(e.getAttribute("crossout")) : i
39011
39296
  } : {
39012
39297
  content: e,
39013
39298
  location: r,
@@ -39016,60 +39301,60 @@ function ye(e, t, n) {
39016
39301
  return {
39017
39302
  kind: "carries",
39018
39303
  carries: a,
39019
- anchor: M(a.length, n.stackAlign),
39304
+ anchor: E(a.length, n.stackAlign),
39020
39305
  position: t,
39021
- scale: me.test(o) ? o : "0.6"
39306
+ scale: ye.test(o) ? o : "0.6"
39022
39307
  };
39023
39308
  }
39024
- function be(e) {
39025
- let t = k(e, "mslinethickness") ?? "medium", n = ue[t] ?? (fe.test(t) ? t : "0.07em"), r = e.getAttribute("mathcolor")?.trim() ?? "";
39026
- return `${n} solid ${pe.test(r) ? r : "currentColor"}`;
39309
+ function k(e) {
39310
+ let t = C(e, "mslinethickness") ?? "medium", n = he[t] ?? (_e.test(t) ? t : "0.07em"), r = e.getAttribute("mathcolor")?.trim() ?? "";
39311
+ return `${n} solid ${ve.test(r) ? r : "currentColor"}`;
39027
39312
  }
39028
- function xe(e, t, n) {
39029
- let r = Math.max(0, A(e, "length"));
39313
+ function Te(e, t, n) {
39314
+ let r = Math.max(0, w(e, "length"));
39030
39315
  return {
39031
39316
  kind: "line",
39032
39317
  length: r,
39033
- anchor: M(r, n.stackAlign),
39318
+ anchor: E(r, n.stackAlign),
39034
39319
  position: t,
39035
- border: be(e)
39320
+ border: k(e)
39036
39321
  };
39037
39322
  }
39038
- function P(e, t, n, r, i) {
39323
+ function A(e, t, n, r, i) {
39039
39324
  e.forEach((e, a) => {
39040
- let o = t + a * n + A(e, "position");
39325
+ let o = t + a * n + w(e, "position");
39041
39326
  switch (e.localName) {
39042
39327
  case "msgroup":
39043
- P([...e.children], o, A(e, "shift"), r, i);
39328
+ A([...e.children], o, w(e, "shift"), r, i);
39044
39329
  break;
39045
39330
  case "msline":
39046
- i.push(xe(e, o, r));
39331
+ i.push(Te(e, o, r));
39047
39332
  break;
39048
39333
  case "mscarries":
39049
- i.push(ye(e, o, r));
39334
+ i.push(we(e, o, r));
39050
39335
  break;
39051
39336
  case "msrow":
39052
39337
  case "mrow":
39053
- i.push(N([...e.children], o, r));
39338
+ i.push(D([...e.children], o, r));
39054
39339
  break;
39055
- default: i.push(N([e], o, r));
39340
+ default: i.push(D([e], o, r));
39056
39341
  }
39057
39342
  });
39058
39343
  }
39059
- function F(e) {
39344
+ function j(e) {
39060
39345
  return -e.anchor - e.position;
39061
39346
  }
39062
- function I(e) {
39347
+ function M(e) {
39063
39348
  return e.kind === "digits" ? e.cells.length : e.kind === "carries" ? e.carries.length : e.length;
39064
39349
  }
39065
- function L(e) {
39066
- return F(e) + I(e) - 1;
39350
+ function N(e) {
39351
+ return j(e) + M(e) - 1;
39067
39352
  }
39068
- function Se(e, t, n, r) {
39069
- let i = (e) => E(r.document, "mpadded", [t], {
39353
+ function Ee(e, t, n, r) {
39354
+ let i = (e) => x(r.document, "mpadded", [t], {
39070
39355
  width: "0",
39071
39356
  ...e ? { lspace: e } : {}
39072
- }), a = (e, t) => E(r.document, e, t);
39357
+ }), a = (e, t) => x(r.document, e, t);
39073
39358
  switch (n) {
39074
39359
  case "s": return a("munder", [e, i("-0.5width")]);
39075
39360
  case "ne": return a("msup", [e, i()]);
@@ -39091,49 +39376,49 @@ function Se(e, t, n, r) {
39091
39376
  default: return a("mover", [e, i("-0.5width")]);
39092
39377
  }
39093
39378
  }
39094
- function Ce(e, t, n) {
39095
- let r = E(n.document, "menclose", [e], {
39379
+ function De(e, t, n) {
39380
+ let r = x(n.document, "menclose", [e], {
39096
39381
  notation: t.join(" "),
39097
39382
  "data-padding": "0.1em",
39098
39383
  "data-thickness": "0.067em"
39099
39384
  }), i = t.some((e) => e.endsWith("diagonalstrike")) ? .167 : t.includes("horizontalstrike") ? .1 : 0;
39100
- return i ? E(n.document, "mpadded", [r], {
39385
+ return i ? x(n.document, "mpadded", [r], {
39101
39386
  lspace: `-${i}em`,
39102
39387
  width: `-${2 * i}em`
39103
39388
  }) : r;
39104
39389
  }
39105
- function we(e, t, n, r, i) {
39106
- let a = e && t.crossout.length ? Ce(e, t.crossout, i) : e;
39390
+ function Oe(e, t, n, r, i) {
39391
+ let a = e && t.crossout.length ? De(e, t.crossout, i) : e;
39107
39392
  if (!t.content) return a;
39108
- let o = E(i.document, "mstyle", [t.content], { scriptsizemultiplier: r });
39109
- return Se(a ?? O(i), o, n, i);
39393
+ let o = x(i.document, "mstyle", [t.content], { scriptsizemultiplier: r });
39394
+ return Ee(a ?? Se(i), o, n, i);
39110
39395
  }
39111
- function R(e, t) {
39112
- return e.carries[t - F(e)] ?? null;
39396
+ function P(e, t) {
39397
+ return e.carries[t - j(e)] ?? null;
39113
39398
  }
39114
- function Te(e, t, n, r) {
39399
+ function ke(e, t, n, r) {
39115
39400
  let i = e.content;
39116
39401
  n.forEach((e, a) => {
39117
- let o = n.length - 1 - a, s = n[o], c = R(s, t), l = n.slice(0, o).some((e) => R(e, t));
39402
+ let o = n.length - 1 - a, s = n[o], c = P(s, t), l = n.slice(0, o).some((e) => P(e, t));
39118
39403
  if (!c && !l) return;
39119
39404
  let u = c ?? {
39120
- content: O(r),
39405
+ content: Se(r),
39121
39406
  location: "n",
39122
39407
  crossout: []
39123
39408
  }, d = a === 0 ? u.location : "n";
39124
- i = we(i, u, d, s.scale, r);
39409
+ i = Oe(i, u, d, s.scale, r);
39125
39410
  }), e.content = i;
39126
39411
  }
39127
- function z(e, t) {
39128
- let n = e.filter((e) => I(e) > 0), r = Math.min(0, ...n.map(F)), i = Math.max(r, ...n.map(L)) - r + 1, a = -r, o = [], s = /* @__PURE__ */ new Map(), c = () => Array.from({ length: i }, () => ({
39412
+ function F(e, t) {
39413
+ let n = e.filter((e) => M(e) > 0), r = Math.min(0, ...n.map(j)), i = Math.max(r, ...n.map(N)) - r + 1, a = -r, o = [], s = /* @__PURE__ */ new Map(), c = () => Array.from({ length: i }, () => ({
39129
39414
  content: null,
39130
39415
  borders: {}
39131
- })), l = (e) => e.length === 0 ? Array.from({ length: i }, (e, t) => t) : Array.from({ length: e.length }, (t, n) => a + F(e) + n), u = [], d = [], f = (e) => {
39416
+ })), l = (e) => e.length === 0 ? Array.from({ length: i }, (e, t) => t) : Array.from({ length: e.length }, (t, n) => a + j(e) + n), u = [], d = [], f = (e) => {
39132
39417
  let n = c();
39133
39418
  e.cells.forEach((t, r) => {
39134
- n[a + F(e) + r].content = t;
39419
+ n[a + j(e) + r].content = t;
39135
39420
  }), u.length && n.forEach((e, n) => {
39136
- Te(e, n - a, u, t);
39421
+ ke(e, n - a, u, t);
39137
39422
  });
39138
39423
  for (let e of d) for (let t of l(e)) n[t].borders.top = e.border;
39139
39424
  u = [], d = [], s.set(e, o.length), o.push(n);
@@ -39153,44 +39438,44 @@ function z(e, t) {
39153
39438
  origin: a
39154
39439
  };
39155
39440
  }
39156
- function B(e, { rows: t }, n) {
39157
- let r = E(n.document, "mtable", t.map((e) => E(n.document, "mtr", e.map((e) => {
39441
+ function Ae(e, { rows: t }, n) {
39442
+ let r = x(n.document, "mtable", t.map((e) => x(n.document, "mtr", e.map((e) => {
39158
39443
  let t = Object.entries(e.borders).map(([e, t]) => `border-${e}:${t}`).join(";");
39159
- return E(n.document, "mtd", [e.content], {
39444
+ return x(n.document, "mtd", [e.content], {
39160
39445
  ...t ? { style: t } : {},
39161
39446
  ...e.align ? { columnalign: e.align } : {}
39162
39447
  });
39163
39448
  }))));
39164
- for (let { name: t, value: n } of [...e.attributes]) ge.has(t) || r.setAttribute(t, n);
39165
- let i = k(e, "charspacing") ?? "medium", a = k(e, "charalign");
39166
- return r.setAttribute("columnspacing", de[i] ?? (fe.test(i) ? i : de.medium)), r.setAttribute("columnalign", a === "left" || a === "center" ? a : "right"), r.setAttribute("rowspacing", "0"), r.setAttribute("align", e.getAttribute("align") ?? "baseline"), r;
39449
+ for (let { name: t, value: n } of [...e.attributes]) xe.has(t) || r.setAttribute(t, n);
39450
+ let i = C(e, "charspacing") ?? "medium", a = C(e, "charalign");
39451
+ return r.setAttribute("columnspacing", ge[i] ?? (_e.test(i) ? i : ge.medium)), r.setAttribute("columnalign", a === "left" || a === "center" ? a : "right"), r.setAttribute("rowspacing", "0"), r.setAttribute("align", e.getAttribute("align") ?? "baseline"), r;
39167
39452
  }
39168
- function V(e) {
39453
+ function je(e) {
39169
39454
  return {
39170
39455
  document: e.ownerDocument,
39171
- stackAlign: k(e, "stackalign") ?? "decimalpoint",
39456
+ stackAlign: C(e, "stackalign") ?? "decimalpoint",
39172
39457
  decimalPoint: e.closest("[decimalpoint]")?.getAttribute("decimalpoint")?.trim().charAt(0) || "."
39173
39458
  };
39174
39459
  }
39175
- function Ee(e) {
39176
- let t = V(e), n = [];
39177
- return P([...e.children], 0, 0, t, n), B(e, z(n, t), t);
39460
+ function Me(e) {
39461
+ let t = je(e), n = [];
39462
+ return A([...e.children], 0, 0, t, n), Ae(e, F(n, t), t);
39178
39463
  }
39179
- function H(e, t, n, r, i, a) {
39464
+ function I(e, t, n, r, i, a) {
39180
39465
  for (let o = n; o <= r; o++) e[t][o].borders[i] = a;
39181
39466
  }
39182
- function De(e, t) {
39183
- let n = D(t, ")");
39184
- return n.setAttribute("minsize", "1.2em"), [E(t.document, "mrow", [e, E(t.document, "mspace", [], { width: "0.2em" })]), E(t.document, "mpadded", [n], {
39467
+ function Ne(e, t) {
39468
+ let n = S(t, ")");
39469
+ return n.setAttribute("minsize", "1.2em"), [x(t.document, "mrow", [e, x(t.document, "mspace", [], { width: "0.2em" })]), x(t.document, "mpadded", [n], {
39185
39470
  voffset: "0.1em",
39186
39471
  lspace: "-0.15em",
39187
39472
  depth: "-0.2em",
39188
39473
  height: "-0.2em"
39189
39474
  })];
39190
39475
  }
39191
- function Oe(e) {
39192
- let t = V(e), [n, r, ...i] = [...e.children], a = n && !j(n) ? n : null, o = r && !j(r) ? r : null, s = k(e, "longdivstyle") ?? "lefttop", c = be(e), l = [];
39193
- P(i, 0, 0, t, l);
39476
+ function Pe(e) {
39477
+ let t = je(e), [n, r, ...i] = [...e.children], a = n && !T(n) ? n : null, o = r && !T(r) ? r : null, s = C(e, "longdivstyle") ?? "lefttop", c = k(e), l = [];
39478
+ A(i, 0, 0, t, l);
39194
39479
  let u = l.find((e) => e.kind === "digits");
39195
39480
  u || (u = {
39196
39481
  kind: "digits",
@@ -39202,51 +39487,51 @@ function Oe(e) {
39202
39487
  u.cells.unshift(...e), u.anchor += e.length;
39203
39488
  }, p = (...e) => {
39204
39489
  let n = e.flatMap((e) => e ? e.localName === "mrow" ? [...e.children] : [e] : []);
39205
- u.cells.push(...N(n, 0, t).cells);
39490
+ u.cells.push(...D(n, 0, t).cells);
39206
39491
  };
39207
39492
  switch (s) {
39208
39493
  case "left/\\right":
39209
- f(a, D(t, "/")), p(D(t, "\\"), o);
39494
+ f(a, S(t, "/")), p(S(t, "\\"), o);
39210
39495
  break;
39211
39496
  case "left)(right":
39212
- f(a, D(t, ")")), p(D(t, "("), o);
39497
+ f(a, S(t, ")")), p(S(t, "("), o);
39213
39498
  break;
39214
39499
  case ":right=right":
39215
- p(D(t, ":"), a, D(t, "="), o);
39500
+ p(S(t, ":"), a, S(t, "="), o);
39216
39501
  break;
39217
39502
  case "righttop":
39218
39503
  case "stackedleftlinetop":
39219
39504
  case "lefttop":
39220
- o && P([o], 0, 0, t, d), l.splice(l.indexOf(u), 0, ...d), s === "righttop" ? p(a) : s === "stackedleftlinetop" ? f(a) : f(...De(a, t));
39505
+ o && A([o], 0, 0, t, d), l.splice(l.indexOf(u), 0, ...d), s === "righttop" ? p(a) : s === "stackedleftlinetop" ? f(a) : f(...Ne(a, t));
39221
39506
  break;
39222
39507
  }
39223
- let m = z(l, t), h = m.rows, g = m.rowOf.get(u) ?? 0, _ = (e) => m.origin + F(u) + e, v = Math.max(_(u.cells.length - 1), ...d.map((e) => m.origin + L(e)));
39508
+ let m = F(l, t), h = m.rows, g = m.rowOf.get(u) ?? 0, _ = (e) => m.origin + j(u) + e, v = Math.max(_(u.cells.length - 1), ...d.map((e) => m.origin + N(e)));
39224
39509
  switch (s) {
39225
39510
  case "left/\\right":
39226
39511
  case "left)(right":
39227
39512
  case ":right=right": break;
39228
39513
  case "righttop": {
39229
39514
  let e = h[g][_(u.cells.length - 1)];
39230
- e.borders.left = c, e.borders.bottom = c, H(h, g, _(0), _(u.cells.length - 1), "top", c);
39515
+ e.borders.left = c, e.borders.bottom = c, I(h, g, _(0), _(u.cells.length - 1), "top", c);
39231
39516
  break;
39232
39517
  }
39233
39518
  case "stackedleftlinetop": {
39234
39519
  let e = h[g][_(0)];
39235
- e.borders.right = c, e.borders.bottom = c, H(h, g, _(1), v, "top", c);
39520
+ e.borders.right = c, e.borders.bottom = c, I(h, g, _(1), v, "top", c);
39236
39521
  break;
39237
39522
  }
39238
39523
  case "stackedrightright":
39239
39524
  case "mediumstackedrightright":
39240
39525
  case "shortstackedrightright":
39241
39526
  case "stackedleftleft":
39242
- ke(h, g, s, a, o, c, t);
39527
+ Fe(h, g, s, a, o, c, t);
39243
39528
  break;
39244
- default: H(h, g, _(1), v, "top", c);
39529
+ default: I(h, g, _(1), v, "top", c);
39245
39530
  }
39246
- return B(e, m, t);
39531
+ return Ae(e, m, t);
39247
39532
  }
39248
- function ke(e, t, n, r, i, a, o) {
39249
- let s = n === "stackedleftleft", c = s ? "right" : "left", l = (e) => e && E(o.document, "mpadded", [e], {
39533
+ function Fe(e, t, n, r, i, a, o) {
39534
+ let s = n === "stackedleftleft", c = s ? "right" : "left", l = (e) => e && x(o.document, "mpadded", [e], {
39250
39535
  lspace: "0.2em",
39251
39536
  width: "+0.4em"
39252
39537
  });
@@ -39265,153 +39550,441 @@ function ke(e, t, n, r, i, a, o) {
39265
39550
  }) : o === t + 1 ? (u.content = l(i), n !== "shortstackedrightright" && (u.borders[c] = a)) : o > t + 1 && (n === "stackedrightright" || s) && (u.borders[c] = a), s ? e.unshift(u) : e.push(u);
39266
39551
  });
39267
39552
  }
39268
- function Ae(e) {
39269
- for (let t of [...e.querySelectorAll("mstack, mlongdiv")]) !t.closest("math") || t.closest("mjx-container") || t.replaceWith(t.localName === "mstack" ? Ee(t) : Oe(t));
39553
+ function Ie(e) {
39554
+ for (let t of [...e.querySelectorAll("mstack, mlongdiv")]) !t.closest("math") || t.closest("mjx-container") || t.replaceWith(t.localName === "mstack" ? Me(t) : Pe(t));
39270
39555
  }
39271
- var je = "PIE-MJX-explorer-styles";
39272
- var U = "var(--pie-text, black)";
39273
- var Me = "var(--pie-background, #ffffff)";
39274
- var Ne = "var(--pie-border-dark, #66686A)";
39275
- var W = "var(--pie-focus-outline, var(--pie-button-focus-outline, var(--pie-focus-checked-border, #1565C0)))";
39276
- var G = `color-mix(in srgb, ${W} 15%, transparent)`;
39277
- var Pe = `
39556
+ var Le = "PIE-MJX-explorer-styles";
39557
+ var L = "var(--pie-text, black)";
39558
+ var Re = "var(--pie-background, #ffffff)";
39559
+ var ze = "var(--pie-border-dark, #66686A)";
39560
+ var R = "var(--pie-focus-outline, var(--pie-button-focus-outline, var(--pie-focus-checked-border, #1565C0)))";
39561
+ var z = `color-mix(in srgb, ${R} 15%, transparent)`;
39562
+ var Be = `
39278
39563
  :root mjx-container [data-sre-highlight-1]:not([data-mjx-collapsed], rect) {
39279
- color: ${U} !important;
39280
- fill: ${U} !important;
39564
+ color: ${L} !important;
39565
+ fill: ${L} !important;
39281
39566
  }
39282
39567
  :root mjx-container:not([data-mjx-clone-container]) [data-sre-highlight-1]:not([data-sre-enclosed], rect) {
39283
- background-color: ${G} !important;
39568
+ background-color: ${z} !important;
39284
39569
  }
39285
39570
  :root mjx-container rect[data-sre-highlight-1]:not([data-sre-enclosed]) {
39286
- fill: ${G} !important;
39571
+ fill: ${z} !important;
39287
39572
  }
39288
39573
  :root mjx-container .mjx-selected {
39289
- outline: 2px solid ${W} !important;
39574
+ outline: 2px solid ${R} !important;
39290
39575
  }
39291
39576
  :root mjx-container [data-sre-highlight-2] {
39292
- color: ${U} !important;
39577
+ color: ${L} !important;
39293
39578
  background-color: transparent !important;
39294
- fill: ${U} !important;
39295
- outline: 2px dashed ${W} !important;
39579
+ fill: ${L} !important;
39580
+ outline: 2px dashed ${R} !important;
39296
39581
  }
39297
39582
  :root mjx-container rect[data-sre-highlight-2] {
39298
39583
  fill: transparent !important;
39299
- stroke: ${W} !important;
39584
+ stroke: ${R} !important;
39300
39585
  stroke-width: 2px !important;
39301
39586
  vector-effect: non-scaling-stroke;
39302
39587
  }
39303
39588
  :root .MJX_LiveRegion, :root .MJX_HoverRegion, :root .MJX_ToolTip {
39304
- color: ${U} !important;
39305
- background-color: ${Me} !important;
39306
- border-color: ${Ne} !important;
39589
+ color: ${L} !important;
39590
+ background-color: ${Re} !important;
39591
+ border-color: ${ze} !important;
39307
39592
  }
39308
39593
  :root .MJX_LiveRegion > div, :root .MJX_HoverRegion > div {
39309
- color: ${U} !important;
39310
- background-color: ${G} !important;
39594
+ color: ${L} !important;
39595
+ background-color: ${z} !important;
39311
39596
  }
39312
39597
  `;
39313
- function Fe(e = document) {
39598
+ function Ve(e = document) {
39314
39599
  if (e.getElementById("PIE-MJX-explorer-styles")) return;
39315
39600
  let t = e.createElement("style");
39316
- t.id = je, t.textContent = Pe, e.head.appendChild(t);
39601
+ t.id = Le, t.textContent = Be, e.head.appendChild(t);
39602
+ }
39603
+ var He = /[⁡-⁤]/g;
39604
+ var Ue = {
39605
+ "+": "positive",
39606
+ "-": "negative",
39607
+ "−": "negative",
39608
+ "±": "plus or minus",
39609
+ "∓": "minus or plus"
39610
+ };
39611
+ var We = {
39612
+ "(": "open parenthesis",
39613
+ "[": "open bracket",
39614
+ "{": "open brace",
39615
+ "⟨": "open angle bracket",
39616
+ "⌊": "open floor",
39617
+ "⌈": "open ceiling"
39618
+ };
39619
+ var Ge = {
39620
+ ")": "close parenthesis",
39621
+ "]": "close bracket",
39622
+ "}": "close brace",
39623
+ "⟩": "close angle bracket",
39624
+ "⌋": "close floor",
39625
+ "⌉": "close ceiling"
39626
+ };
39627
+ var B = {
39628
+ "!": "factorial",
39629
+ "%": "percent",
39630
+ "°": "degrees",
39631
+ "′": "prime",
39632
+ "″": "double prime"
39633
+ };
39634
+ var Ke = {
39635
+ "+": "plus",
39636
+ "-": "minus",
39637
+ "−": "minus",
39638
+ "±": "plus or minus",
39639
+ "∓": "minus or plus",
39640
+ "×": "times",
39641
+ "⋅": "times",
39642
+ "·": "times",
39643
+ "*": "times",
39644
+ "÷": "divided by",
39645
+ "/": "divided by",
39646
+ "=": "equals",
39647
+ "≠": "does not equal",
39648
+ "<": "is less than",
39649
+ ">": "is greater than",
39650
+ "≤": "is less than or equal to",
39651
+ "≥": "is greater than or equal to",
39652
+ "≈": "is approximately equal to",
39653
+ "≡": "is equivalent to",
39654
+ "∝": "is proportional to",
39655
+ "∈": "is an element of",
39656
+ "∉": "is not an element of",
39657
+ "⊂": "is a subset of",
39658
+ "⊆": "is a subset of or equal to",
39659
+ "∪": "union",
39660
+ "∩": "intersection",
39661
+ "→": "right arrow",
39662
+ "←": "left arrow",
39663
+ "⇒": "implies",
39664
+ "⇔": "if and only if",
39665
+ "∑": "sum",
39666
+ "∏": "product",
39667
+ "∫": "integral",
39668
+ "∞": "infinity",
39669
+ "∠": "angle",
39670
+ "⊥": "is perpendicular to",
39671
+ "∥": "is parallel to",
39672
+ "∴": "therefore",
39673
+ ",": "comma",
39674
+ ";": "semicolon",
39675
+ ":": "colon",
39676
+ "|": "vertical bar",
39677
+ "‖": "double vertical bar",
39678
+ ...We,
39679
+ ...Ge,
39680
+ ...B
39681
+ };
39682
+ var qe = /* @__PURE__ */ new Set(["|", "‖"]);
39683
+ var Je = /* @__PURE__ */ new Set([
39684
+ "∑",
39685
+ "∏",
39686
+ "∫",
39687
+ "∪",
39688
+ "∩"
39689
+ ]);
39690
+ var Ye = {
39691
+ α: "alpha",
39692
+ β: "beta",
39693
+ γ: "gamma",
39694
+ δ: "delta",
39695
+ ε: "epsilon",
39696
+ θ: "theta",
39697
+ λ: "lambda",
39698
+ μ: "mu",
39699
+ π: "pi",
39700
+ ρ: "rho",
39701
+ σ: "sigma",
39702
+ τ: "tau",
39703
+ φ: "phi",
39704
+ ω: "omega",
39705
+ Δ: "capital delta",
39706
+ Σ: "capital sigma",
39707
+ Ω: "capital omega",
39708
+ "∞": "infinity",
39709
+ sin: "sine",
39710
+ cos: "cosine",
39711
+ tan: "tangent",
39712
+ sec: "secant",
39713
+ csc: "cosecant",
39714
+ cot: "cotangent",
39715
+ ln: "natural log",
39716
+ lim: "limit"
39717
+ };
39718
+ var Xe = {
39719
+ "¯": "bar",
39720
+ "‾": "bar",
39721
+ "―": "bar",
39722
+ "^": "hat",
39723
+ ˆ: "hat",
39724
+ "~": "tilde",
39725
+ "˜": "tilde",
39726
+ "→": "vector",
39727
+ "⃗": "vector",
39728
+ "˙": "dot"
39729
+ };
39730
+ var V = (e) => (e.textContent ?? "").replace(He, "").replace(/\s+/g, " ").trim();
39731
+ var H = (e) => e.replace(/\s+/g, " ").trim();
39732
+ var U = (e) => [...e.children];
39733
+ function W(e) {
39734
+ return !e || [
39735
+ "mn",
39736
+ "mi",
39737
+ "mtext",
39738
+ "mo"
39739
+ ].includes(e.localName) ? !0 : ["mrow", "mstyle"].includes(e.localName) && e.children.length === 1 ? W(e.children[0]) : !1;
39740
+ }
39741
+ function Ze(e) {
39742
+ let t = e ? V(e) : "";
39743
+ return /^\d{1,3}$/.test(t) ? Number(t) : void 0;
39744
+ }
39745
+ function Qe(e) {
39746
+ return `${e}${e % 100 >= 11 && e % 100 <= 13 ? "th" : {
39747
+ 1: "st",
39748
+ 2: "nd",
39749
+ 3: "rd"
39750
+ }[e % 10] ?? "th"}`;
39751
+ }
39752
+ function $e(e) {
39753
+ return Ye[e] ?? e;
39754
+ }
39755
+ function G(e) {
39756
+ return Ke[e] ?? e;
39757
+ }
39758
+ function K(e) {
39759
+ let t = [], n = !1;
39760
+ for (let r of e) {
39761
+ if (r.localName !== "mo") {
39762
+ t.push(q(r)), n = !0;
39763
+ continue;
39764
+ }
39765
+ let e = V(r);
39766
+ e && (!n && Ue[e] ? t.push(Ue[e]) : e in B ? t.push(B[e]) : (t.push(G(e)), n = e in Ge || qe.has(e) && n));
39767
+ }
39768
+ return t.filter(Boolean).join(" ");
39769
+ }
39770
+ function et(e) {
39771
+ let [t, ...n] = e, r = n[n.length - 1], i = (e) => e?.localName === "mo" && ["|", "‖"].includes(V(e)), a = n.slice(0, -1);
39772
+ if (a.length && i(t) && i(r) && V(t) === V(r) && !a.some(i)) {
39773
+ let e = H(K(a));
39774
+ return V(t) === "|" ? `absolute value of ${e} end absolute value` : `norm of ${e} end norm`;
39775
+ }
39776
+ return K(e);
39777
+ }
39778
+ function tt(e, t) {
39779
+ let n = e ? q(e) : "", r = t ? q(t) : "";
39780
+ return W(e) && W(t) ? `${n} over ${r}` : `the fraction with numerator ${n} and denominator ${r}`;
39781
+ }
39782
+ function nt(e, t, n) {
39783
+ return n ? `${t} of ${e}` : `${t} of ${e} end root`;
39784
+ }
39785
+ function rt(e, t) {
39786
+ let n = t ? V(t) : "";
39787
+ if (t && W(t)) {
39788
+ if (n === "2") return `${e} squared`;
39789
+ if (n === "3") return `${e} cubed`;
39790
+ if (n in B) return `${e} ${B[n]}`;
39791
+ }
39792
+ let r = t ? q(t) : "";
39793
+ return W(t) ? `${e} to the power of ${r}` : `${e} to the power of ${r} end power`;
39794
+ }
39795
+ function it(e, t) {
39796
+ let n = t ? q(t) : "";
39797
+ return W(t) ? `${e} sub ${n}` : `${e} sub ${n} end sub`;
39798
+ }
39799
+ function at(e, t, n) {
39800
+ let r = V(e);
39801
+ if (r === "lim") return `limit as ${t ? q(t) : ""} of`;
39802
+ if (!Je.has(r)) return;
39803
+ let i = t ? `from ${q(t)}` : "", a = n ? `to ${q(n)}` : "";
39804
+ return `${G(r)} ${i} ${a} of`;
39317
39805
  }
39318
- var K = Symbol.for("@pie-element/shared-math-rendering-mathjax/speech-worker-failed");
39319
- function Ie() {
39806
+ function ot(e) {
39807
+ let t = U(e).filter((e) => ["mtr", "mlabeledtr"].includes(e.localName)), n = t.map((e) => U(e).filter((e) => e.localName === "mtd")), r = Math.max(0, ...n.map((e) => e.length)), i = n.map((e, t) => `row ${t + 1}: ${e.map((e) => H(K(U(e)))).join(", ")}`);
39808
+ return `table with ${t.length} ${t.length === 1 ? "row" : "rows"} and ${r} ${r === 1 ? "column" : "columns"}. ${i.join(". ")}`;
39809
+ }
39810
+ function st(e) {
39811
+ let t = e.getAttribute("open") ?? "(", n = e.getAttribute("close") ?? ")", r = (e.getAttribute("separators") ?? ",").replace(/\s+/g, "").split(""), i = U(e).map((e, t, n) => t < n.length - 1 ? `${q(e)} ${G(r[Math.min(t, r.length - 1)] ?? ",")}` : q(e));
39812
+ return [
39813
+ G(t),
39814
+ ...i,
39815
+ G(n)
39816
+ ].filter(Boolean).join(" ");
39817
+ }
39818
+ function q(e) {
39819
+ let t = U(e);
39820
+ switch (e.localName) {
39821
+ case "mi": return $e(V(e));
39822
+ case "mn":
39823
+ case "mtext":
39824
+ case "ms": return V(e);
39825
+ case "mo": return G(V(e));
39826
+ case "mspace":
39827
+ case "mphantom":
39828
+ case "annotation":
39829
+ case "annotation-xml": return "";
39830
+ case "semantics": return t[0] ? q(t[0]) : "";
39831
+ case "mfrac": return tt(t[0], t[1]);
39832
+ case "msqrt": return nt(H(K(t)), "square root", t.length === 1 && W(t[0]));
39833
+ case "mroot": {
39834
+ let e = Ze(t[1]), n = e === 2 ? "square root" : e === 3 ? "cube root" : e ? `${Qe(e)} root` : `root with index ${t[1] ? q(t[1]) : ""}`;
39835
+ return nt(t[0] ? q(t[0]) : "", n, W(t[0]));
39836
+ }
39837
+ case "msup": return rt(t[0] ? q(t[0]) : "", t[1]);
39838
+ case "msub": return it(t[0] ? q(t[0]) : "", t[1]);
39839
+ case "msubsup": return (t[0] ? at(t[0], t[1], t[2]) : void 0) || rt(it(t[0] ? q(t[0]) : "", t[1]), t[2]);
39840
+ case "munder":
39841
+ case "mover":
39842
+ case "munderover": {
39843
+ let [n, r, i] = t, a = e.localName === "mover" ? void 0 : r, o = e.localName === "munder" ? void 0 : e.localName === "mover" ? r : i, s = n ? at(n, a, o) : void 0;
39844
+ if (s) return s;
39845
+ let c = n ? q(n) : "", l = e.localName === "mover" && r ? Xe[V(r)] : void 0;
39846
+ return l ? l === "vector" ? `vector ${c}` : `${c} ${l}` : [
39847
+ c,
39848
+ a ? `with ${q(a)} below` : "",
39849
+ o ? `with ${q(o)} above` : ""
39850
+ ].filter(Boolean).join(" ");
39851
+ }
39852
+ case "mfenced": return st(e);
39853
+ case "mtable": return ot(e);
39854
+ case "mrow":
39855
+ case "math": return et(t);
39856
+ default: return t.length ? K(t) : V(e);
39857
+ }
39858
+ }
39859
+ function ct(e) {
39860
+ return H(q(e));
39861
+ }
39862
+ var lt = [
39863
+ "a[href]",
39864
+ "button",
39865
+ "label",
39866
+ "summary",
39867
+ ...[
39868
+ "button",
39869
+ "checkbox",
39870
+ "combobox",
39871
+ "link",
39872
+ "menuitem",
39873
+ "menuitemcheckbox",
39874
+ "menuitemradio",
39875
+ "option",
39876
+ "radio",
39877
+ "switch",
39878
+ "tab",
39879
+ "treeitem"
39880
+ ].map((e) => `[role="${e}"]`)
39881
+ ].join(", ");
39882
+ function ut(e) {
39883
+ if (e.hasAttribute("aria-label") || !e.closest(lt)) return;
39884
+ let t = e.querySelector("math"), n = t ? ct(t) : "";
39885
+ n && e.setAttribute("aria-label", n);
39886
+ }
39887
+ function J(e) {
39888
+ for (let t of e.querySelectorAll("mjx-container")) ut(t);
39889
+ }
39890
+ var dt = Symbol.for("@pie-element/shared-math-rendering-mathjax/speech-worker-failed");
39891
+ function ft() {
39320
39892
  let e = globalThis;
39321
- e[K] || (e[K] = !0, console.warn(`[math-rendering] MathJax's speech worker did not start, so speech, braille and the explorer are off. A content security policy must allow blob: workers, and scripts and fetches from the asset root. See ${t}`));
39893
+ e[dt] || (e[dt] = !0, console.warn(`[math-rendering] MathJax's speech worker did not start, so speech, braille and the explorer are off. A content security policy must allow blob: workers, and scripts and fetches from the asset root. See ${t}`));
39322
39894
  }
39323
- function Le(e) {
39895
+ function pt(e) {
39324
39896
  let t = e.webworker;
39325
39897
  if (!t || t.ready) return;
39326
39898
  e.options ?? (e.options = {});
39327
39899
  let n = e.options;
39328
- n.enableSpeech = !1, n.enableBraille = !1, n.speechError = () => {}, t.Post = () => Promise.reject(/* @__PURE__ */ Error("The speech worker did not start")), t.Terminate(), Ie();
39900
+ n.enableSpeech = !1, n.enableBraille = !1, n.speechError = () => {}, t.Post = () => Promise.reject(/* @__PURE__ */ Error("The speech worker did not start")), t.Terminate(), ft();
39329
39901
  }
39330
- function Re(e) {
39902
+ function mt(e) {
39331
39903
  let t = e?.adaptor, n = t?.createWorker;
39332
39904
  !e || !t || !n || (t.createWorker = async (r, i) => {
39333
39905
  let a = await n.call(t, r, i);
39334
- return a.addEventListener("error", () => Le(e), { once: !0 }), a;
39906
+ return a.addEventListener("error", () => pt(e), { once: !0 }), a;
39335
39907
  });
39336
39908
  }
39337
39909
  `${i}`;
39338
- var ze = {
39910
+ var ht = {
39339
39911
  parallelogram: "\\lower.2em{\\Huge\\unicode{x25B1}}",
39340
39912
  overarc: "\\overparen",
39341
39913
  napprox: "\\not\\approx",
39342
39914
  longdiv: "\\enclose{longdiv}",
39343
39915
  abs: ["\\left|#1\\right|", 1]
39344
39916
  };
39345
- var Be = "[math-rendering] using $ is not advisable, please use $$..$$ or \\(...\\)";
39346
- var Ve = /\\\(|\\\[|\$\$|\\\$|\\begin\{|\\(?:eq)?ref\{/;
39347
- var He = /\\\(|\\\[|\$|\\begin\{|\\(?:eq)?ref\{/;
39348
- var Ue = /\\embed\{newLine\}\[\]/g;
39349
- var We = [
39917
+ var gt = "[math-rendering] using $ is not advisable, please use $$..$$ or \\(...\\)";
39918
+ var _t = /\\\(|\\\[|\$\$|\\\$|\\begin\{|\\(?:eq)?ref\{/;
39919
+ var vt = /\\\(|\\\[|\$|\\begin\{|\\(?:eq)?ref\{/;
39920
+ var yt = /\\embed\{newLine\}\[\]/g;
39921
+ var bt = [
39350
39922
  ["$$", "$$"],
39351
39923
  ["$", "$"],
39352
39924
  ["\\[", "\\]"],
39353
39925
  ["\\(", "\\)"]
39354
39926
  ];
39355
- var q = Symbol.for("@pie-element/shared-math-rendering-mathjax/loading");
39356
- var Ge = "MJX-CHTML-styles";
39357
- var Ke = "PIE-MJX-SVG-styles";
39358
- var J = "PIE-MathJax-Menu-Settings";
39359
- var qe = { "mjx-container[overflow=\"linebreak\"][display]": {
39927
+ var xt = Symbol.for("@pie-element/shared-math-rendering-mathjax/loading");
39928
+ var St = "MJX-CHTML-styles";
39929
+ var Ct = "PIE-MJX-SVG-styles";
39930
+ var Y = "PIE-MathJax-Menu-Settings";
39931
+ var wt = { "mjx-container[overflow=\"linebreak\"][display]": {
39360
39932
  overflow: "auto clip",
39361
39933
  "min-width": "initial !important"
39362
39934
  } };
39363
- var Je = 200;
39364
- var Ye = 201;
39365
- function Y(e) {
39935
+ var Tt = 200;
39936
+ var Et = 201;
39937
+ var Dt = 202;
39938
+ function X(e) {
39366
39939
  let t = [...e.matches("mjx-container") ? [e] : [], ...e.querySelectorAll("mjx-container")];
39367
39940
  for (let e of t) for (let t of [e, ...e.querySelectorAll("[data-latex],[data-latex-item]")]) t.removeAttribute("data-latex"), t.removeAttribute("data-latex-item");
39368
39941
  }
39369
- function X(e) {
39370
- for (let [t, n] of We) if (e.startsWith(t) && e.endsWith(n)) return e.substring(t.length, e.length - n.length);
39942
+ function Ot(e) {
39943
+ for (let [t, n] of bt) if (e.startsWith(t) && e.endsWith(n)) return e.substring(t.length, e.length - n.length);
39371
39944
  return e;
39372
39945
  }
39373
- function Xe(e) {
39374
- return X(e.includes("\\displaystyle") ? e.replace("\\displaystyle", "").trim() : e);
39946
+ function kt(e) {
39947
+ return Ot(e.includes("\\displaystyle") ? e.replace("\\displaystyle", "").trim() : e);
39375
39948
  }
39376
- var Ze = "mathjax_ignore";
39377
- var Qe = "mathjax_process";
39378
- function $e(e, t) {
39379
- let n = e.closest(`.${Ze}, .${Qe}`);
39380
- return n !== null && t.contains(n) && !n.classList.contains(Qe);
39949
+ var At = "mathjax_ignore";
39950
+ var jt = "mathjax_process";
39951
+ function Mt(e, t) {
39952
+ let n = e.closest(`.${At}, .${jt}`);
39953
+ return n !== null && t.contains(n) && !n.classList.contains(jt);
39381
39954
  }
39382
- function et(e) {
39955
+ function Nt(e) {
39383
39956
  for (let t of e.querySelectorAll("[data-latex]")) {
39384
- if (t.dataset.mathHandled || t.closest("mjx-container") || $e(t, e)) continue;
39957
+ if (t.dataset.mathHandled || t.closest("mjx-container") || Mt(t, e)) continue;
39385
39958
  let n = t.textContent;
39386
- n && (t.textContent = `\\(${Xe(n)}\\)`.replace(Ue, "\\newline "), t.dataset.mathHandled = "true");
39959
+ n && (t.textContent = `\\(${kt(n)}\\)`.replace(yt, "\\newline "), t.dataset.mathHandled = "true");
39387
39960
  }
39388
39961
  }
39389
- function tt(e) {
39962
+ function Pt(e) {
39390
39963
  for (let t of e.querySelectorAll("math")) t.closest("mjx-container") || t.setAttribute("displaystyle", "true");
39391
39964
  }
39392
- function nt(e, t) {
39965
+ function Ft(e, t) {
39393
39966
  for (let t of e.querySelectorAll("math")) if (!t.closest("mjx-assistive-mml")) return !0;
39394
- return (t ? He : Ve).test(e.textContent ?? "");
39967
+ return (t ? vt : _t).test(e.textContent ?? "");
39395
39968
  }
39396
- function rt(e) {
39969
+ function It(e) {
39397
39970
  return new Promise((t, n) => {
39398
39971
  let { useSingleDollar: r = !1, accessibility: i = !0, loadFonts: a = !0, srcUrl: o } = e, s = d(e, import.meta.url), c = {
39399
39972
  loader: {
39400
39973
  load: i ? ["a11y/assistive-mml"] : [],
39401
39974
  failed: (e) => n(e),
39402
39975
  "output/svg": { ready: (e) => {
39403
- let t = S();
39404
- return it(t) && at(t), e;
39976
+ let t = y();
39977
+ return Lt(t) && Rt(t), e;
39405
39978
  } }
39406
39979
  },
39407
39980
  startup: {
39408
39981
  typeset: !1,
39409
39982
  ready: () => {
39410
- let e = S(), r = e?.startup, i = it(e);
39411
- i && (at(e), ot(e, s.speechLocales), f(e?._?.a11y?.sre_ts?.locales, s.speechLocales)), r?.defaultReady?.(), i && (st(r?.document), r?.document?.addStyles?.(qe), Re(r?.document)), Promise.resolve(r?.promise).then(() => t(), n);
39983
+ let e = y(), r = e?.startup, i = Lt(e);
39984
+ i && (Rt(e), zt(e, s.speechLocales), f(e?._?.a11y?.sre_ts?.locales, s.speechLocales)), r?.defaultReady?.(), i && (Bt(r?.document), Vt(r?.document), r?.document?.addStyles?.(wt), mt(r?.document)), Promise.resolve(r?.promise).then(() => t(), n);
39412
39985
  }
39413
39986
  },
39414
- tex: { macros: { ...ze } },
39987
+ tex: { macros: { ...ht } },
39415
39988
  output: { displayOverflow: "linebreak" },
39416
39989
  options: {
39417
39990
  enableMenu: i,
@@ -39423,9 +39996,9 @@ function rt(e) {
39423
39996
  a11y: { inTabOrder: !1 }
39424
39997
  }
39425
39998
  };
39426
- r && c.tex && (console.warn(Be), c.tex.inlineMath = [["$", "$"], ["\\(", "\\)"]], c.tex.processEscapes = !0), a || (c.chtml = { fontURL: "" });
39999
+ r && c.tex && (console.warn(gt), c.tex.inlineMath = [["$", "$"], ["\\(", "\\)"]], c.tex.processEscapes = !0), a || (c.chtml = { fontURL: "" });
39427
40000
  let l = p(s.speechLocales);
39428
- l && c.options && (c.options.sre = { locale: l }), ne(c, {
40001
+ l && c.options && (c.options.sre = { locale: l }), ae(c, {
39429
40002
  ...s,
39430
40003
  srcUrl: o
39431
40004
  }).then((e) => {
@@ -39433,163 +40006,172 @@ function rt(e) {
39433
40006
  }, n);
39434
40007
  });
39435
40008
  }
39436
- function it(e) {
40009
+ function Lt(e) {
39437
40010
  return !!e?.version?.startsWith("4.");
39438
40011
  }
39439
- function at(e) {
40012
+ function Rt(e) {
39440
40013
  let t = e?._?.output, n = t?.chtml_ts?.CHTML;
39441
- n && (n.STYLESHEETID = C);
40014
+ n && (n.STYLESHEETID = b);
39442
40015
  let r = t?.svg_ts?.SVG;
39443
- r && (r.STYLESHEETID = Ke);
40016
+ r && (r.STYLESHEETID = Ct);
39444
40017
  }
39445
- function ot(e, t) {
40018
+ function zt(e, t) {
39446
40019
  let n = e?._?.ui?.menu?.Menu?.Menu;
39447
40020
  if (n) {
39448
- n.MENU_STORAGE = J;
40021
+ n.MENU_STORAGE = Y;
39449
40022
  try {
39450
- let e = localStorage.getItem(J);
40023
+ let e = localStorage.getItem(Y);
39451
40024
  if (!e) return;
39452
40025
  let { assistiveMml: n, locale: r, ...i } = JSON.parse(e), a = r === void 0 || !t || t.has(r);
39453
40026
  if (n === void 0 && a) return;
39454
- a && r !== void 0 && (i.locale = r), Object.keys(i).length ? localStorage.setItem(J, JSON.stringify(i)) : localStorage.removeItem(J);
40027
+ a && r !== void 0 && (i.locale = r), Object.keys(i).length ? localStorage.setItem(Y, JSON.stringify(i)) : localStorage.removeItem(Y);
39455
40028
  } catch {}
39456
40029
  }
39457
40030
  }
39458
- function st(e) {
40031
+ function Bt(e) {
39459
40032
  if (!e) return;
39460
40033
  let t = /* @__PURE__ */ new WeakSet(), n = (e) => {
39461
40034
  let n = e.typesetRoot;
39462
- !n || t.has(n) || (Y(n), t.add(n));
40035
+ !n || t.has(n) || (X(n), t.add(n));
39463
40036
  };
39464
- e.addRenderAction?.("pie-strip-latex", Ye, (e) => {
40037
+ e.addRenderAction?.("pie-strip-latex", Et, (e) => {
39465
40038
  for (let t of e.math ?? []) n(t);
39466
40039
  return !1;
39467
40040
  }, (e) => {
39468
40041
  let t = e.typesetRoot;
39469
- return t && Y(t), !1;
40042
+ return t && X(t), !1;
39470
40043
  });
39471
40044
  let r = e.outputJax?.chtmlStyles;
39472
- r?.id === Ge && (r.id = C), ut();
40045
+ r?.id === St && (r.id = b), Ut();
39473
40046
  }
39474
- function ct(e) {
39475
- return e instanceof HTMLStyleElement && ie.includes(e.id);
40047
+ function Vt(e) {
40048
+ let t = (e) => {
40049
+ e.typesetRoot && ut(e.typesetRoot);
40050
+ };
40051
+ e?.addRenderAction?.("pie-name-math", Dt, (e) => {
40052
+ for (let n of e.math ?? []) t(n);
40053
+ return !1;
40054
+ }, (e) => (t(e), !1));
40055
+ }
40056
+ function Z(e) {
40057
+ return e instanceof HTMLStyleElement && se.includes(e.id);
39476
40058
  }
39477
- function lt(e) {
39478
- x("foreign-output-stylesheet", `another MathJax added <style id="${e.id}"> to <head>`);
40059
+ function Ht(e) {
40060
+ ne("foreign-output-stylesheet", `another MathJax added <style id="${e.id}"> to <head>`);
39479
40061
  }
39480
- function ut() {
39481
- let e = document.head, t = [...e.children].find(ct);
40062
+ function Ut() {
40063
+ let e = document.head, t = [...e.children].find(Z);
39482
40064
  if (t) {
39483
- lt(t);
40065
+ Ht(t);
39484
40066
  return;
39485
40067
  }
39486
40068
  let n = new MutationObserver((e) => {
39487
40069
  for (let t of e) {
39488
- let e = [...t.addedNodes].find(ct);
40070
+ let e = [...t.addedNodes].find(Z);
39489
40071
  if (e) {
39490
- lt(e), n.disconnect();
40072
+ Ht(e), n.disconnect();
39491
40073
  return;
39492
40074
  }
39493
40075
  }
39494
40076
  });
39495
40077
  n.observe(e, { childList: !0 });
39496
40078
  }
39497
- function dt(e) {
40079
+ function Wt(e) {
39498
40080
  let t = e?.math;
39499
40081
  if (!t?.remove) return;
39500
- let n = [...t].filter((e) => (e.state?.() ?? 0) >= Je && e.typesetRoot?.isConnected === !1);
40082
+ let n = [...t].filter((e) => (e.state?.() ?? 0) >= Tt && e.typesetRoot?.isConnected === !1);
39501
40083
  if (n.length !== 0) {
39502
40084
  for (let e of [...n].reverse()) e.clear?.();
39503
40085
  t.remove(...n);
39504
40086
  }
39505
40087
  }
39506
- function ft(e) {
40088
+ function Gt(e) {
39507
40089
  return new Promise((t, n) => {
39508
40090
  let r = e.startup ?? {};
39509
40091
  e.startup = r;
39510
40092
  let i = r.ready;
39511
40093
  r.ready = () => {
39512
- let e = S()?.startup;
40094
+ let e = y()?.startup;
39513
40095
  i ? i.call(r) : e?.defaultReady?.(), Promise.resolve(e?.promise).then(() => t(), n);
39514
40096
  };
39515
40097
  });
39516
40098
  }
39517
- function pt(e) {
39518
- let t = S();
39519
- return t ? t.version ? t.startup?.promise ? Promise.resolve(t.startup.promise).then(() => void 0) : Promise.resolve() : ft(t) : rt(e);
40099
+ function Kt(e) {
40100
+ let t = y();
40101
+ return t ? t.version ? t.startup?.promise ? Promise.resolve(t.startup.promise).then(() => void 0) : Promise.resolve() : Gt(t) : It(e);
39520
40102
  }
39521
- function mt(e) {
39522
- return pt(e).then(() => {
39523
- let e = S();
40103
+ function qt(e) {
40104
+ return Kt(e).then(() => {
40105
+ let e = y();
39524
40106
  e && typeof e.typesetPromise != "function" && console.warn("[mathjax-renderer] MathJax on this page has no typesetPromise; math stays untypeset.");
39525
40107
  });
39526
40108
  }
39527
- function ht(e) {
39528
- let t = re, n = t[q];
39529
- return n || (n = mt(e), t[q] = n), n;
40109
+ function Jt(e) {
40110
+ let t = oe, n = t[xt];
40111
+ return n || (n = qt(e), t[xt] = n), n;
39530
40112
  }
39531
- function gt(e = {}) {
40113
+ function Yt(e = {}) {
39532
40114
  let t = e.useSingleDollar ?? !1;
39533
40115
  return async (n) => {
39534
40116
  if (typeof window > "u") return;
39535
- let r = ae();
39536
- r && x("mathjax-3-global", `window.MathJax is MathJax ${r}`), et(n), ce(n), tt(n), Ae(n);
39537
- let i = ht(e);
39538
- if (!nt(n, t)) {
40117
+ let r = ce();
40118
+ r && ne("mathjax-3-global", `window.MathJax is MathJax ${r}`), Nt(n), fe(n), Pt(n), Ie(n);
40119
+ let i = Jt(e);
40120
+ if (!Ft(n, t)) {
39539
40121
  i.catch(() => {});
39540
40122
  return;
39541
40123
  }
39542
40124
  await i;
39543
- let a = S();
40125
+ let a = y();
39544
40126
  if (await a?.startup?.promise, typeof a?.typesetPromise == "function") {
39545
- Fe(), dt(a.startup?.document);
40127
+ Ve(), Wt(a.startup?.document);
39546
40128
  try {
39547
40129
  await a.typesetPromise([n]);
39548
40130
  } catch (e) {
39549
40131
  throw a.typesetClear?.([n]), e;
39550
40132
  }
39551
- Y(n);
40133
+ X(n), J(n);
39552
40134
  }
39553
40135
  };
39554
40136
  }
39555
- var vt = "@pie-lib/math-rendering";
39556
- var yt = "@pie-lib/math-rendering@2";
39557
- var bt = "pie-print";
39558
- var xt = 50;
39559
- var St = 1e4;
39560
- var Ct = null;
39561
- function wt() {
39562
- return !!window[yt]?.opts?.useSingleDollar;
40137
+ var Zt = "@pie-lib/math-rendering";
40138
+ var Qt = "@pie-lib/math-rendering@2";
40139
+ var $t = "pie-print";
40140
+ var en = 50;
40141
+ var tn = 1e4;
40142
+ var nn = null;
40143
+ function rn() {
40144
+ return !!window[Qt]?.opts?.useSingleDollar;
39563
40145
  }
39564
- function Tt() {
39565
- return Ct || (Ct = gt({ useSingleDollar: wt() })), Ct;
40146
+ function an() {
40147
+ return nn || (nn = Yt({ useSingleDollar: rn() })), nn;
39566
40148
  }
39567
- function Z() {
40149
+ function Q() {
39568
40150
  if (typeof window > "u") return null;
39569
- let e = window[vt];
40151
+ let e = window[Zt];
39570
40152
  return typeof e?.renderMath == "function" && e.renderMath !== $ ? e : null;
39571
40153
  }
39572
- function Et(e) {
40154
+ function on(e) {
39573
40155
  let t = e;
39574
40156
  for (; t;) {
39575
- if (t instanceof Element && t.localName === bt) return t;
40157
+ if (t instanceof Element && t.localName === $t) return t;
39576
40158
  t = t instanceof ShadowRoot ? t.host : t.parentNode;
39577
40159
  }
39578
40160
  return null;
39579
40161
  }
39580
- function Q() {
40162
+ function sn() {
39581
40163
  let e = window.renderMath;
39582
40164
  return typeof e == "function" ? e : null;
39583
40165
  }
39584
- async function Dt(e) {
39585
- let t = Et(e);
40166
+ async function cn(e) {
40167
+ let t = on(e);
39586
40168
  if (!t) return null;
39587
- let n = Q();
40169
+ let n = sn();
39588
40170
  if (n || t.mathRenderingModuleUrlImported !== !0) return n;
39589
- let r = Date.now() + St;
40171
+ let r = Date.now() + tn;
39590
40172
  for (; Date.now() < r;) {
39591
- await new Promise((e) => setTimeout(e, xt));
39592
- let e = Q();
40173
+ await new Promise((e) => setTimeout(e, en));
40174
+ let e = sn();
39593
40175
  if (e) return e;
39594
40176
  }
39595
40177
  return null;
@@ -39598,8 +40180,8 @@ var $ = async (e) => {
39598
40180
  if (typeof window > "u") return;
39599
40181
  let t = typeof e == "string", n;
39600
40182
  t ? (n = document.createElement("div"), n.innerHTML = e) : n = e || document.body;
39601
- let r = Z(), i = r || t ? null : await Dt(n);
39602
- return r ? await r.renderMath?.(n) : i && i !== $ ? await i(n) : await Tt()(n), t ? n.innerHTML : void 0;
40183
+ let r = Q(), i = r || t ? null : await cn(n);
40184
+ return r ? (await r.renderMath?.(n), J(n)) : i && i !== $ ? (await i(n), J(n)) : await an()(n), t ? n.innerHTML : void 0;
39603
40185
  };
39604
40186
  //#endregion
39605
40187
  //#region src/delivery/tile-accessible-name.ts
@@ -39803,7 +40385,7 @@ function Tile($$anchor, $$props) {
39803
40385
  var consequent_1 = ($$anchor) => {
39804
40386
  var span_1 = root_1$2();
39805
40387
  let classes_2;
39806
- html$2(span_1, () => D$1(label()), true);
40388
+ html$2(span_1, () => ie$1(label()), true);
39807
40389
  reset$1(span_1);
39808
40390
  template_effect(() => classes_2 = set_class(span_1, 1, "tile-label svelte-1hgaksk", null, classes_2, { "tile-label-below": get$1(hasImage) }));
39809
40391
  append($$anchor, span_1);
@@ -40015,7 +40597,7 @@ function TeacherInstructions($$anchor, $$props) {
40015
40597
  var button = child(div);
40016
40598
  var text = only_child(button, true);
40017
40599
  var div_1 = sibling(button, 2);
40018
- html$2(div_1, () => D$1(html()), true);
40600
+ html$2(div_1, () => ie$1(html()), true);
40019
40601
  reset$1(div_1);
40020
40602
  reset$1(div);
40021
40603
  template_effect(($0) => {
@@ -40959,7 +41541,7 @@ function VennClassification($$anchor, $$props) {
40959
41541
  var node_1 = sibling(node, 2);
40960
41542
  var consequent_1 = ($$anchor) => {
40961
41543
  var div_1 = root$1();
40962
- html$2(div_1, () => D$1(get$1(prompt)), true);
41544
+ html$2(div_1, () => ie$1(get$1(prompt)), true);
40963
41545
  reset$1(div_1);
40964
41546
  append($$anchor, div_1);
40965
41547
  };