@marimo-team/islands 0.24.1-dev80 → 0.24.1-dev82

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.
Files changed (50) hide show
  1. package/dist/{chat-ui-Dcb8pQhM.js → chat-ui-DhRKl9Ie.js} +1809 -1809
  2. package/dist/{common-C8LWIius.js → common-C7wXlbOk.js} +6517 -6406
  3. package/dist/{html-to-image-CvCnIqTI.js → html-to-image-CT8hxf1p.js} +5335 -5295
  4. package/dist/main.js +6689 -6641
  5. package/dist/{process-output-C2joqP7d.js → process-output-CINXfXUt.js} +2 -2
  6. package/dist/{reveal-component-CdEcs6WV.js → reveal-component-CBBGm8i5.js} +1112 -1086
  7. package/package.json +1 -1
  8. package/src/__tests__/mount.test.ts +54 -2
  9. package/src/components/editor/__tests__/viewer-banner.test.tsx +1 -1
  10. package/src/components/editor/actions/export-dialog/__tests__/export-notebook.test.ts +9 -0
  11. package/src/components/editor/actions/export-dialog/export-notebook.ts +8 -1
  12. package/src/components/editor/actions/export-dialog/use-export-dialog.ts +2 -0
  13. package/src/components/editor/actions/useNotebookActions.tsx +1 -1
  14. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +1 -1
  15. package/src/components/editor/renderers/__tests__/cells-renderer.test.tsx +1 -1
  16. package/src/components/editor/renderers/cells-renderer.tsx +15 -28
  17. package/src/components/editor/renderers/grid-layout/__tests__/plugin.test.ts +42 -0
  18. package/src/components/editor/renderers/grid-layout/plugin.tsx +20 -10
  19. package/src/components/editor/renderers/layout-select.tsx +1 -1
  20. package/src/components/editor/renderers/plugins.ts +7 -1
  21. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +49 -15
  22. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +16 -2
  23. package/src/components/editor/renderers/slides-layout/types.ts +15 -11
  24. package/src/components/editor/renderers/types.ts +5 -5
  25. package/src/components/editor/viewer-banner.tsx +1 -1
  26. package/src/components/pages/run-page.tsx +16 -7
  27. package/src/components/slides/__tests__/reveal-component.test.ts +33 -8
  28. package/src/components/slides/__tests__/speaker-view.test.ts +27 -0
  29. package/src/components/slides/reveal-component.tsx +110 -45
  30. package/src/components/slides/speaker-view.ts +22 -0
  31. package/src/components/static-html/share-modal.tsx +2 -0
  32. package/src/core/cells/__tests__/document-changes.test.ts +343 -26
  33. package/src/core/cells/document-changes.ts +181 -4
  34. package/src/core/export/hooks.ts +2 -0
  35. package/src/core/export/layout.ts +9 -0
  36. package/src/core/kernel/handlers.ts +7 -16
  37. package/src/core/kernel/state.ts +2 -0
  38. package/src/core/layout/__tests__/layout.test.ts +95 -0
  39. package/src/core/layout/layout.ts +59 -65
  40. package/src/core/layout/state.ts +121 -0
  41. package/src/core/meta/__tests__/code-visibility.test.tsx +28 -0
  42. package/src/core/meta/code-visibility.ts +3 -1
  43. package/src/core/run-app.tsx +6 -2
  44. package/src/core/saving/__tests__/save-component.test.ts +31 -1
  45. package/src/core/saving/save-component.tsx +39 -29
  46. package/src/core/saving/state.ts +1 -1
  47. package/src/core/static/download-html.ts +2 -0
  48. package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +47 -14
  49. package/src/core/websocket/useMarimoKernelConnection.tsx +7 -2
  50. package/src/mount.tsx +24 -6
@@ -2,32 +2,32 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { c as t, g as n, h as r, m as i, t as a } from "./button-DlqUC8W-.js";
3
3
  import { t as o } from "./react-DMWcHin-.js";
4
4
  import { t as s } from "./compiler-runtime-CAH9RLw2.js";
5
- import { it as c, wt as l } from "./html-to-image-CvCnIqTI.js";
5
+ import { Ot as c, ot as l } from "./html-to-image-CT8hxf1p.js";
6
6
  import { u } from "./dist-wdOJ5T7-.js";
7
- import { J as d, X as f, Y as p, in as m, l as h, n as g, rn as _, sn as v, t as y, u as b } from "./common-C8LWIius.js";
8
- import { R as x } from "./select-DQ9jU_B_.js";
9
- import { Y as S } from "./dropdown-menu-B39I9ARA.js";
10
- import { t as C } from "./jsx-runtime-CpoKNRgu.js";
11
- import { Tc as w } from "./schemas-JTyiKlcH.js";
12
- import { t as T } from "./tooltip-7p_32zdw.js";
13
- import { C as E, b as ee, j as D } from "./useTheme-T2IIlG9u.js";
7
+ import { at as d, c as f, g as p, h as m, hn as h, l as g, mn as _, n as v, o as y, ot as b, r as x, st as S, t as C, u as w, vn as T } from "./common-C7wXlbOk.js";
8
+ import { R as E } from "./select-DQ9jU_B_.js";
9
+ import { Y as D } from "./dropdown-menu-B39I9ARA.js";
10
+ import { t as O } from "./jsx-runtime-CpoKNRgu.js";
11
+ import { Tc as k } from "./schemas-JTyiKlcH.js";
12
+ import { t as A } from "./tooltip-7p_32zdw.js";
13
+ import { C as j, b as ee, j as M } from "./useTheme-T2IIlG9u.js";
14
14
  /* empty css */
15
- var O = u("sticky-note", [["path", {
15
+ var N = u("sticky-note", [["path", {
16
16
  d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
17
17
  key: "1dfntj"
18
18
  }], ["path", {
19
19
  d: "M15 3v5a1 1 0 0 0 1 1h5",
20
20
  key: "6s6qgf"
21
- }]]), k = /* @__PURE__ */ e(o(), 1), A = s(), j = Object.defineProperty, M = Object.defineProperties, te = Object.getOwnPropertyDescriptors, N = Object.getOwnPropertySymbols, P = Object.prototype.hasOwnProperty, ne = Object.prototype.propertyIsEnumerable, re = (e, t, n) => t in e ? j(e, t, {
21
+ }]]), P = /* @__PURE__ */ e(o(), 1), F = s(), te = Object.defineProperty, ne = Object.defineProperties, I = Object.getOwnPropertyDescriptors, re = Object.getOwnPropertySymbols, ie = Object.prototype.hasOwnProperty, ae = Object.prototype.propertyIsEnumerable, oe = (e, t, n) => t in e ? te(e, t, {
22
22
  enumerable: !0,
23
23
  configurable: !0,
24
24
  writable: !0,
25
25
  value: n
26
- }) : e[t] = n, ie = (e, t) => {
27
- for (var n in t ||= {}) P.call(t, n) && re(e, n, t[n]);
28
- if (N) for (var n of N(t)) ne.call(t, n) && re(e, n, t[n]);
26
+ }) : e[t] = n, se = (e, t) => {
27
+ for (var n in t ||= {}) ie.call(t, n) && oe(e, n, t[n]);
28
+ if (re) for (var n of re(t)) ae.call(t, n) && oe(e, n, t[n]);
29
29
  return e;
30
- }, ae = (e, t) => M(e, te(t)), F = (e, t, n) => re(e, typeof t == "symbol" ? t : t + "", n), oe = (e, t, n) => new Promise((r, i) => {
30
+ }, ce = (e, t) => ne(e, I(t)), le = (e, t, n) => oe(e, typeof t == "symbol" ? t : t + "", n), ue = (e, t, n) => new Promise((r, i) => {
31
31
  var a = (e) => {
32
32
  try {
33
33
  s(n.next(e));
@@ -42,12 +42,12 @@ var O = u("sticky-note", [["path", {
42
42
  }
43
43
  }, s = (e) => e.done ? r(e.value) : Promise.resolve(e.value).then(a, o);
44
44
  s((n = n.apply(e, t)).next());
45
- }), se = (e, t) => {
45
+ }), de = (e, t) => {
46
46
  for (let n in t) e[n] = t[n];
47
47
  return e;
48
- }, I = (e, t) => Array.from(e.querySelectorAll(t)), ce = (e, t, n) => {
48
+ }, L = (e, t) => Array.from(e.querySelectorAll(t)), fe = (e, t, n) => {
49
49
  n ? e.classList.add(t) : e.classList.remove(t);
50
- }, le = (e) => {
50
+ }, pe = (e) => {
51
51
  if (typeof e == "string") {
52
52
  if (e === "null") return null;
53
53
  if (e === "true") return !0;
@@ -55,23 +55,23 @@ var O = u("sticky-note", [["path", {
55
55
  if (e.match(/^-?[\d\.]+$/)) return parseFloat(e);
56
56
  }
57
57
  return e;
58
- }, L = (e, t) => {
58
+ }, R = (e, t) => {
59
59
  e.style.transform = t;
60
- }, ue = (e, t) => {
60
+ }, me = (e, t) => {
61
61
  let n = e.matches || e.matchesSelector || e.msMatchesSelector;
62
62
  return !!(n && n.call(e, t));
63
- }, R = (e, t) => {
63
+ }, z = (e, t) => {
64
64
  if (e && typeof e.closest == "function") return e.closest(t);
65
65
  for (; e;) {
66
- if (ue(e, t)) return e;
66
+ if (me(e, t)) return e;
67
67
  e = e.parentElement;
68
68
  }
69
69
  return null;
70
- }, z = (e) => {
70
+ }, he = (e) => {
71
71
  e ||= document.documentElement;
72
72
  let t = e.requestFullscreen || e.webkitRequestFullscreen || e.webkitRequestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen;
73
73
  t && t.apply(e);
74
- }, de = (e, t, n, r = "") => {
74
+ }, ge = (e, t, n, r = "") => {
75
75
  let i = e.querySelectorAll("." + n);
76
76
  for (let t = 0; t < i.length; t++) {
77
77
  let n = i[t];
@@ -79,10 +79,10 @@ var O = u("sticky-note", [["path", {
79
79
  }
80
80
  let a = document.createElement(t);
81
81
  return a.className = n, a.innerHTML = r, e.appendChild(a), a;
82
- }, fe = (e) => {
82
+ }, _e = (e) => {
83
83
  let t = document.createElement("style");
84
84
  return e && e.length > 0 && t.appendChild(document.createTextNode(e)), document.head.appendChild(t), t;
85
- }, pe = () => {
85
+ }, ve = () => {
86
86
  let e = {};
87
87
  location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, (t) => {
88
88
  let n = t.split("=").shift(), r = t.split("=").pop();
@@ -90,25 +90,25 @@ var O = u("sticky-note", [["path", {
90
90
  });
91
91
  for (let t in e) {
92
92
  let n = e[t];
93
- e[t] = le(unescape(n));
93
+ e[t] = pe(unescape(n));
94
94
  }
95
95
  return e.dependencies !== void 0 && delete e.dependencies, e;
96
- }, me = (e, t = 0) => {
96
+ }, B = (e, t = 0) => {
97
97
  if (e) {
98
98
  let n, r = e.style.height;
99
99
  return e.style.height = "0px", e.parentElement && (e.parentElement.style.height = "auto"), n = t - (e.parentElement?.offsetHeight || 0), e.style.height = r + "px", e.parentElement && e.parentElement.style.removeProperty("height"), n;
100
100
  }
101
101
  return t;
102
- }, he = {
102
+ }, ye = {
103
103
  mp4: "video/mp4",
104
104
  m4a: "video/mp4",
105
105
  ogv: "video/ogg",
106
106
  mpeg: "video/mpeg",
107
107
  webm: "video/webm"
108
- }, B = (e = "") => {
108
+ }, be = (e = "") => {
109
109
  let t = e.split(".").pop();
110
- return t ? he[t] : void 0;
111
- }, V = (e = "") => encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), ge = navigator.userAgent, H = /(iphone|ipod|ipad|android)/gi.test(ge) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, _e = /android/gi.test(ge), ve = (function(e) {
110
+ return t ? ye[t] : void 0;
111
+ }, xe = (e = "") => encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), Se = navigator.userAgent, Ce = /(iphone|ipod|ipad|android)/gi.test(Se) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, we = /android/gi.test(Se), V = (function(e) {
112
112
  if (e) {
113
113
  var t = function(e) {
114
114
  return [].slice.call(e);
@@ -188,16 +188,16 @@ var O = u("sticky-note", [["path", {
188
188
  characterData: !0
189
189
  }
190
190
  }, w = null, T = function() {
191
- e.clearTimeout(w), w = e.setTimeout(l(i), D.observeWindowDelay);
191
+ e.clearTimeout(w), w = e.setTimeout(l(i), O.observeWindowDelay);
192
192
  }, E = ["resize", "orientationchange"];
193
- return Object.defineProperty(D, "observeWindow", { set: function(t) {
193
+ return Object.defineProperty(O, "observeWindow", { set: function(t) {
194
194
  var n = `${t ? "add" : "remove"}EventListener`;
195
195
  E.forEach((function(t) {
196
196
  e[n](t, T);
197
197
  }));
198
- } }), D.observeWindow = !0, D.observeWindowDelay = 100, D.fitAll = l(a), D;
198
+ } }), O.observeWindow = !0, O.observeWindowDelay = 100, O.fitAll = l(a), O;
199
199
  }
200
- function ee(e, t) {
200
+ function D(e, t) {
201
201
  var n = Object.assign({}, C, t), r = e.map((function(e) {
202
202
  var t = Object.assign({}, n, {
203
203
  element: e,
@@ -219,13 +219,13 @@ var O = u("sticky-note", [["path", {
219
219
  }));
220
220
  return c(), r;
221
221
  }
222
- function D(e) {
222
+ function O(e) {
223
223
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
224
- return typeof e == "string" ? ee(t(document.querySelectorAll(e)), n) : ee([e], n)[0];
224
+ return typeof e == "string" ? D(t(document.querySelectorAll(e)), n) : D([e], n)[0];
225
225
  }
226
- })(typeof window > "u" ? null : window), ye = class {
226
+ })(typeof window > "u" ? null : window), Te = class {
227
227
  constructor(e) {
228
- F(this, "allowedToPlayAudio", null), this.Reveal = e, this.startEmbeddedMedia = this.startEmbeddedMedia.bind(this), this.startEmbeddedIframe = this.startEmbeddedIframe.bind(this), this.preventIframeAutoFocus = this.preventIframeAutoFocus.bind(this), this.ensureMobileMediaPlaying = this.ensureMobileMediaPlaying.bind(this), this.failedAudioPlaybackTargets = /* @__PURE__ */ new Set(), this.failedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.failedMutedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.renderMediaPlayButton();
228
+ le(this, "allowedToPlayAudio", null), this.Reveal = e, this.startEmbeddedMedia = this.startEmbeddedMedia.bind(this), this.startEmbeddedIframe = this.startEmbeddedIframe.bind(this), this.preventIframeAutoFocus = this.preventIframeAutoFocus.bind(this), this.ensureMobileMediaPlaying = this.ensureMobileMediaPlaying.bind(this), this.failedAudioPlaybackTargets = /* @__PURE__ */ new Set(), this.failedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.failedMutedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.renderMediaPlayButton();
229
229
  }
230
230
  renderMediaPlayButton() {
231
231
  this.mediaPlayButton = document.createElement("button"), this.mediaPlayButton.className = "r-overlay-button r-media-play-button", this.mediaPlayButton.addEventListener("click", () => {
@@ -249,14 +249,14 @@ var O = u("sticky-note", [["path", {
249
249
  let t = n.replace(/\s*!important\s*$/, "").trim();
250
250
  e.style.setProperty("display", t, "important");
251
251
  } else e.style.display = n;
252
- I(e, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e) => {
252
+ L(e, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e) => {
253
253
  let t = e.tagName === "IFRAME";
254
254
  (!t || this.shouldPreload(e)) && (e.setAttribute("src", e.getAttribute("data-src")), e.setAttribute("data-lazy-loaded", ""), e.removeAttribute("data-src"), t && e.addEventListener("load", this.preventIframeAutoFocus));
255
- }), I(e, "video, audio").forEach((e) => {
255
+ }), L(e, "video, audio").forEach((e) => {
256
256
  let t = 0;
257
- I(e, "source[data-src]").forEach((e) => {
257
+ L(e, "source[data-src]").forEach((e) => {
258
258
  e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src"), e.setAttribute("data-lazy-loaded", ""), t += 1;
259
- }), H && e.tagName === "VIDEO" && e.setAttribute("playsinline", ""), t > 0 && e.load();
259
+ }), Ce && e.tagName === "VIDEO" && e.setAttribute("playsinline", ""), t > 0 && e.load();
260
260
  });
261
261
  let r = e.slideBackgroundElement;
262
262
  if (r) {
@@ -265,13 +265,13 @@ var O = u("sticky-note", [["path", {
265
265
  if (r.hasAttribute("data-loaded") === !1) {
266
266
  r.setAttribute("data-loaded", "true");
267
267
  let a = e.getAttribute("data-background-image"), o = e.getAttribute("data-background-video"), s = e.hasAttribute("data-background-video-loop"), c = e.hasAttribute("data-background-video-muted");
268
- if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${V(decodeURI(e.trim()))})`).join(",");
268
+ if (a) /^data:/.test(a.trim()) ? n.style.backgroundImage = `url(${a.trim()})` : n.style.backgroundImage = a.split(",").map((e) => `url(${xe(decodeURI(e.trim()))})`).join(",");
269
269
  else if (o) {
270
270
  let e = document.createElement("video");
271
- s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0), H && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
271
+ s && e.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e.muted = !0), Ce && e.setAttribute("playsinline", ""), o.split(",").forEach((t) => {
272
272
  let n = document.createElement("source");
273
273
  n.setAttribute("src", t);
274
- let r = B(t);
274
+ let r = be(t);
275
275
  r && n.setAttribute("type", r), e.appendChild(n);
276
276
  }), n.appendChild(e);
277
277
  } else if (i && t.excludeIframes !== !0) {
@@ -286,7 +286,7 @@ var O = u("sticky-note", [["path", {
286
286
  }
287
287
  layout(e) {
288
288
  Array.from(e.querySelectorAll(".r-fit-text")).forEach((e) => {
289
- ve(e, {
289
+ V(e, {
290
290
  minSize: 24,
291
291
  maxSize: this.Reveal.getConfig().height * .8,
292
292
  observeMutations: !1,
@@ -297,17 +297,17 @@ var O = u("sticky-note", [["path", {
297
297
  unload(e) {
298
298
  e.style.display = "none";
299
299
  let t = this.Reveal.getSlideBackground(e);
300
- t && (t.style.display = "none", I(t, "iframe[src]").forEach((e) => {
300
+ t && (t.style.display = "none", L(t, "iframe[src]").forEach((e) => {
301
301
  e.removeAttribute("src");
302
- })), I(e, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e) => {
302
+ })), L(e, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e) => {
303
303
  e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
304
- }), I(e, "video[data-lazy-loaded] source[src], audio source[src]").forEach((e) => {
304
+ }), L(e, "video[data-lazy-loaded] source[src], audio source[src]").forEach((e) => {
305
305
  e.setAttribute("data-src", e.getAttribute("src")), e.removeAttribute("src");
306
306
  });
307
307
  }
308
308
  formatEmbeddedContent() {
309
309
  let e = (e, t, n) => {
310
- I(this.Reveal.getSlidesElement(), "iframe[" + e + "*=\"" + t + "\"]").forEach((t) => {
310
+ L(this.Reveal.getSlidesElement(), "iframe[" + e + "*=\"" + t + "\"]").forEach((t) => {
311
311
  let r = t.getAttribute(e);
312
312
  r && r.indexOf(n) === -1 && t.setAttribute(e, r + (/\?/.test(r) ? "&" : "?") + n);
313
313
  });
@@ -317,19 +317,19 @@ var O = u("sticky-note", [["path", {
317
317
  startEmbeddedContent(e) {
318
318
  if (e) {
319
319
  let t = this.Reveal.isSpeakerNotes();
320
- I(e, "img[src$=\".gif\"]").forEach((e) => {
320
+ L(e, "img[src$=\".gif\"]").forEach((e) => {
321
321
  e.setAttribute("src", e.getAttribute("src"));
322
- }), I(e, "video, audio").forEach((e) => {
323
- if (R(e, ".fragment") && !R(e, ".fragment.visible")) return;
322
+ }), L(e, "video, audio").forEach((e) => {
323
+ if (z(e, ".fragment") && !z(e, ".fragment.visible")) return;
324
324
  let n = this.Reveal.getConfig().autoPlayMedia;
325
- if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!R(e, ".slide-background")), n && typeof e.play == "function") {
325
+ if (typeof n != "boolean" && (n = e.hasAttribute("data-autoplay") || !!z(e, ".slide-background")), n && typeof e.play == "function") {
326
326
  if (t && !e.muted) return;
327
- e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) : H ? (e.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e)) : (e.removeEventListener("loadeddata", this.startEmbeddedMedia), e.addEventListener("loadeddata", this.startEmbeddedMedia));
327
+ e.readyState > 1 ? this.startEmbeddedMedia({ target: e }) : Ce ? (e.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e)) : (e.removeEventListener("loadeddata", this.startEmbeddedMedia), e.addEventListener("loadeddata", this.startEmbeddedMedia));
328
328
  }
329
- }), t || (I(e, "iframe[src]").forEach((e) => {
330
- R(e, ".fragment") && !R(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
331
- }), I(e, "iframe[data-src]").forEach((e) => {
332
- R(e, ".fragment") && !R(e, ".fragment.visible") || e.getAttribute("src") !== e.getAttribute("data-src") && (e.removeEventListener("load", this.startEmbeddedIframe), e.addEventListener("load", this.startEmbeddedIframe), e.setAttribute("src", e.getAttribute("data-src")));
329
+ }), t || (L(e, "iframe[src]").forEach((e) => {
330
+ z(e, ".fragment") && !z(e, ".fragment.visible") || this.startEmbeddedIframe({ target: e });
331
+ }), L(e, "iframe[data-src]").forEach((e) => {
332
+ z(e, ".fragment") && !z(e, ".fragment.visible") || e.getAttribute("src") !== e.getAttribute("data-src") && (e.removeEventListener("load", this.startEmbeddedIframe), e.addEventListener("load", this.startEmbeddedIframe), e.setAttribute("src", e.getAttribute("data-src")));
333
333
  }));
334
334
  }
335
335
  }
@@ -341,7 +341,7 @@ var O = u("sticky-note", [["path", {
341
341
  }, 1e3);
342
342
  }
343
343
  startEmbeddedMedia(e) {
344
- let t = !!R(e.target, "html"), n = !!R(e.target, ".present");
344
+ let t = !!z(e.target, "html"), n = !!z(e.target, ".present");
345
345
  t && n && (e.target.paused || e.target.ended) && (e.target.currentTime = 0, this.playMediaElement(e.target)), e.target.removeEventListener("loadeddata", this.startEmbeddedMedia);
346
346
  }
347
347
  playMediaElement(e) {
@@ -352,7 +352,7 @@ var O = u("sticky-note", [["path", {
352
352
  if (t.name === "NotAllowedError") {
353
353
  if (this.allowedToPlayAudio = !1, e.tagName === "VIDEO") {
354
354
  this.onVideoPlaybackNotAllowed(e);
355
- let t = !!R(e, "html"), n = !!R(e, ".present"), r = e.muted;
355
+ let t = !!z(e, "html"), n = !!z(e, ".present"), r = e.muted;
356
356
  t && n && !r && (e.setAttribute("data-muted-by-reveal", "true"), e.muted = !0, e.play().catch(() => {
357
357
  this.onMutedVideoPlaybackNotAllowed(e);
358
358
  }));
@@ -363,23 +363,23 @@ var O = u("sticky-note", [["path", {
363
363
  startEmbeddedIframe(e) {
364
364
  let t = e.target;
365
365
  if (this.preventIframeAutoFocus(e), t && t.contentWindow) {
366
- let n = !!R(e.target, "html"), r = !!R(e.target, ".present");
366
+ let n = !!z(e.target, "html"), r = !!z(e.target, ".present");
367
367
  if (n && r) {
368
368
  let e = this.Reveal.getConfig().autoPlayMedia;
369
- typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!R(t, ".slide-background")), /youtube\.com\/embed\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}", "*") : /player\.vimeo\.com\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"method\":\"play\"}", "*") : t.contentWindow.postMessage("slide:start", "*");
369
+ typeof e != "boolean" && (e = t.hasAttribute("data-autoplay") || !!z(t, ".slide-background")), /youtube\.com\/embed\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}", "*") : /player\.vimeo\.com\//.test(t.getAttribute("src")) && e ? t.contentWindow.postMessage("{\"method\":\"play\"}", "*") : t.contentWindow.postMessage("slide:start", "*");
370
370
  }
371
371
  }
372
372
  }
373
373
  stopEmbeddedContent(e, t = {}) {
374
- t = se({ unloadIframes: !0 }, t), e && e.parentNode && (I(e, "video, audio").forEach((e) => {
375
- !e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(), H && e.removeEventListener("canplay", this.ensureMobileMediaPlaying));
376
- }), I(e, "iframe").forEach((e) => {
374
+ t = de({ unloadIframes: !0 }, t), e && e.parentNode && (L(e, "video, audio").forEach((e) => {
375
+ !e.hasAttribute("data-ignore") && typeof e.pause == "function" && (e.setAttribute("data-paused-by-reveal", ""), e.pause(), Ce && e.removeEventListener("canplay", this.ensureMobileMediaPlaying));
376
+ }), L(e, "iframe").forEach((e) => {
377
377
  e.contentWindow && e.contentWindow.postMessage("slide:stop", "*"), e.removeEventListener("load", this.preventIframeAutoFocus), e.removeEventListener("load", this.startEmbeddedIframe);
378
- }), I(e, "iframe[src*=\"youtube.com/embed/\"]").forEach((e) => {
378
+ }), L(e, "iframe[src*=\"youtube.com/embed/\"]").forEach((e) => {
379
379
  !e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}", "*");
380
- }), I(e, "iframe[src*=\"player.vimeo.com/\"]").forEach((e) => {
380
+ }), L(e, "iframe[src*=\"player.vimeo.com/\"]").forEach((e) => {
381
381
  !e.hasAttribute("data-ignore") && e.contentWindow && typeof e.contentWindow.postMessage == "function" && e.contentWindow.postMessage("{\"method\":\"pause\"}", "*");
382
- }), t.unloadIframes === !0 && I(e, "iframe[data-src]").forEach((e) => {
382
+ }), t.unloadIframes === !0 && L(e, "iframe[data-src]").forEach((e) => {
383
383
  e.setAttribute("src", "about:blank"), e.removeAttribute("src");
384
384
  }));
385
385
  }
@@ -423,7 +423,7 @@ var O = u("sticky-note", [["path", {
423
423
  afterSlideChanged() {
424
424
  this.clearMediaPlaybackErrors();
425
425
  }
426
- }, be = ".slides section", xe = ".slides>section", Se = ".slides>section.present>section", Ce = ".backgrounds>.slide-background", we = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, Te = "h.v", Ee = "h/v", De = "c", U = "c/t", Oe = class {
426
+ }, Ee = ".slides section", De = ".slides>section", Oe = ".slides>section.present>section", ke = ".backgrounds>.slide-background", Ae = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, je = "h.v", Me = "h/v", Ne = "c", Pe = "c/t", Fe = class {
427
427
  constructor(e) {
428
428
  this.Reveal = e;
429
429
  }
@@ -438,22 +438,22 @@ var O = u("sticky-note", [["path", {
438
438
  this.Reveal.getConfig().slideNumber && this.element && (this.element.innerHTML = this.getSlideNumber());
439
439
  }
440
440
  getSlideNumber(e = this.Reveal.getCurrentSlide()) {
441
- let t = this.Reveal.getConfig(), n, r = Te;
441
+ let t = this.Reveal.getConfig(), n, r = je;
442
442
  if (typeof t.slideNumber == "function") n = t.slideNumber(e);
443
443
  else {
444
- typeof t.slideNumber == "string" && (r = t.slideNumber), !/c/.test(r) && this.Reveal.getHorizontalSlides().length === 1 && (r = De);
444
+ typeof t.slideNumber == "string" && (r = t.slideNumber), !/c/.test(r) && this.Reveal.getHorizontalSlides().length === 1 && (r = Ne);
445
445
  let i = e && e.dataset.visibility === "uncounted" ? 0 : 1;
446
446
  switch (n = [], r) {
447
- case De:
447
+ case Ne:
448
448
  n.push(this.Reveal.getSlidePastCount(e) + i);
449
449
  break;
450
- case U:
450
+ case Pe:
451
451
  n.push(this.Reveal.getSlidePastCount(e) + i, "/", this.Reveal.getTotalSlides());
452
452
  break;
453
453
  default:
454
454
  let t = this.Reveal.getIndices(e);
455
455
  n.push(t.h + i);
456
- let a = r === Ee ? "/" : ".";
456
+ let a = r === Me ? "/" : ".";
457
457
  this.Reveal.isVerticalSlide(e) && n.push(a, t.v + 1);
458
458
  }
459
459
  }
@@ -472,7 +472,7 @@ var O = u("sticky-note", [["path", {
472
472
  destroy() {
473
473
  this.element.remove();
474
474
  }
475
- }, ke = class {
475
+ }, Ie = class {
476
476
  constructor(e) {
477
477
  this.Reveal = e, this.onInput = this.onInput.bind(this), this.onBlur = this.onBlur.bind(this), this.onKeyDown = this.onKeyDown.bind(this);
478
478
  }
@@ -493,7 +493,7 @@ var O = u("sticky-note", [["path", {
493
493
  let e = this.jumpInput.value.trim(""), t;
494
494
  if (/^\d+$/.test(e)) {
495
495
  let n = this.Reveal.getConfig().slideNumber;
496
- if (n === De || n === U) {
496
+ if (n === Ne || n === Pe) {
497
497
  let n = this.Reveal.getSlides()[parseInt(e, 10) - 1];
498
498
  n && (t = this.Reveal.getIndices(n));
499
499
  }
@@ -525,7 +525,7 @@ var O = u("sticky-note", [["path", {
525
525
  onBlur() {
526
526
  setTimeout(() => this.hide(), 1);
527
527
  }
528
- }, Ae = (e) => {
528
+ }, H = (e) => {
529
529
  let t = e.match(/^#([0-9a-f]{3})$/i);
530
530
  if (t && t[1]) {
531
531
  let e = t[1];
@@ -557,7 +557,7 @@ var O = u("sticky-note", [["path", {
557
557
  b: parseInt(i[3], 10),
558
558
  a: parseFloat(i[4])
559
559
  } : null;
560
- }, je = (e) => (typeof e == "string" && (e = Ae(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), Me = class {
560
+ }, Le = (e) => (typeof e == "string" && (e = H(e)), e ? (e.r * 299 + e.g * 587 + e.b * 114) / 1e3 : null), Re = class {
561
561
  constructor(e) {
562
562
  this.Reveal = e;
563
563
  }
@@ -567,7 +567,7 @@ var O = u("sticky-note", [["path", {
567
567
  create() {
568
568
  this.element.innerHTML = "", this.element.classList.add("no-transition"), this.Reveal.getHorizontalSlides().forEach((e) => {
569
569
  let t = this.createBackground(e, this.element);
570
- I(e, "section").forEach((e) => {
570
+ L(e, "section").forEach((e) => {
571
571
  this.createBackground(e, t), t.classList.add("stack");
572
572
  });
573
573
  }), this.Reveal.getConfig().parallaxBackgroundImage ? (this.element.style.backgroundImage = "url(\"" + this.Reveal.getConfig().parallaxBackgroundImage + "\")", this.element.style.backgroundSize = this.Reveal.getConfig().parallaxBackgroundSize, this.element.style.backgroundRepeat = this.Reveal.getConfig().parallaxBackgroundRepeat, this.element.style.backgroundPosition = this.Reveal.getConfig().parallaxBackgroundPosition, setTimeout(() => {
@@ -600,13 +600,13 @@ var O = u("sticky-note", [["path", {
600
600
  }
601
601
  getContrastClass(e) {
602
602
  let t = e.slideBackgroundElement, n = e.getAttribute("data-background-color");
603
- if (!n || !Ae(n)) {
603
+ if (!n || !H(n)) {
604
604
  let e = window.getComputedStyle(t);
605
605
  e && e.backgroundColor && (n = e.backgroundColor);
606
606
  }
607
607
  if (n) {
608
- let e = Ae(n);
609
- if (e && e.a !== 0) return je(n) < 128 ? "has-dark-background" : "has-light-background";
608
+ let e = H(n);
609
+ if (e && e.a !== 0) return Le(n) < 128 ? "has-dark-background" : "has-light-background";
610
610
  }
611
611
  return null;
612
612
  }
@@ -618,7 +618,7 @@ var O = u("sticky-note", [["path", {
618
618
  update(e = !1) {
619
619
  let t = this.Reveal.getConfig(), n = this.Reveal.getCurrentSlide(), r = this.Reveal.getIndices(), i = null, a = t.rtl ? "future" : "past", o = t.rtl ? "past" : "future";
620
620
  if (Array.from(this.element.childNodes).forEach((t, n) => {
621
- t.classList.remove("past", "present", "future"), n < r.h ? t.classList.add(a) : n > r.h ? t.classList.add(o) : (t.classList.add("present"), i = t), (e || n === r.h) && I(t, ".slide-background").forEach((e, t) => {
621
+ t.classList.remove("past", "present", "future"), n < r.h ? t.classList.add(a) : n > r.h ? t.classList.add(o) : (t.classList.add("present"), i = t), (e || n === r.h) && L(t, ".slide-background").forEach((e, t) => {
622
622
  e.classList.remove("past", "present", "future");
623
623
  let a = typeof r.v == "number" ? r.v : 0;
624
624
  t < a ? e.classList.add("past") : t > a ? e.classList.add("future") : (e.classList.add("present"), n === r.h && (i = e));
@@ -662,7 +662,7 @@ var O = u("sticky-note", [["path", {
662
662
  destroy() {
663
663
  this.element.remove();
664
664
  }
665
- }, W = 0, Ne = class {
665
+ }, ze = 0, Be = class {
666
666
  constructor(e) {
667
667
  this.Reveal = e;
668
668
  }
@@ -670,17 +670,17 @@ var O = u("sticky-note", [["path", {
670
670
  this.reset();
671
671
  let n = this.Reveal.getSlides(), r = n.indexOf(t), i = n.indexOf(e);
672
672
  if (e && t && e.hasAttribute("data-auto-animate") && t.hasAttribute("data-auto-animate") && e.getAttribute("data-auto-animate-id") === t.getAttribute("data-auto-animate-id") && !(r > i ? t : e).hasAttribute("data-auto-animate-restart")) {
673
- this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || fe();
673
+ this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || _e();
674
674
  let n = this.getAutoAnimateOptions(t);
675
675
  e.dataset.autoAnimate = "pending", t.dataset.autoAnimate = "pending", n.slideDirection = r > i ? "forward" : "backward";
676
676
  let a = e.style.display === "none";
677
677
  a && (e.style.display = this.Reveal.getConfig().display);
678
- let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n, W++));
678
+ let o = this.getAutoAnimatableElements(e, t).map((e) => this.autoAnimateElements(e.from, e.to, e.options || {}, n, ze++));
679
679
  if (a && (e.style.display = "none"), t.dataset.autoAnimateUnmatched !== "false" && this.Reveal.getConfig().autoAnimateUnmatched === !0) {
680
680
  let e = n.duration * .8, r = n.duration * .2;
681
681
  this.getUnmatchedAutoAnimateElements(t).forEach((e) => {
682
682
  let t = this.getAutoAnimateOptions(e, n), r = "unmatched";
683
- (t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" + W++, o.push(`[data-auto-animate="running"] [data-auto-animate-target="${r}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)), e.dataset.autoAnimateTarget = r;
683
+ (t.duration !== n.duration || t.delay !== n.delay) && (r = "unmatched-" + ze++, o.push(`[data-auto-animate="running"] [data-auto-animate-target="${r}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)), e.dataset.autoAnimateTarget = r;
684
684
  }, this), o.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${r}s; }`);
685
685
  }
686
686
  this.autoAnimateStyleSheet.innerHTML = o.join(""), requestAnimationFrame(() => {
@@ -696,9 +696,9 @@ var O = u("sticky-note", [["path", {
696
696
  }
697
697
  }
698
698
  reset() {
699
- I(this.Reveal.getRevealElement(), "[data-auto-animate]:not([data-auto-animate=\"\"])").forEach((e) => {
699
+ L(this.Reveal.getRevealElement(), "[data-auto-animate]:not([data-auto-animate=\"\"])").forEach((e) => {
700
700
  e.dataset.autoAnimate = "";
701
- }), I(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach((e) => {
701
+ }), L(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach((e) => {
702
702
  delete e.dataset.autoAnimateTarget;
703
703
  }), this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode && (this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet), this.autoAnimateStyleSheet = null);
704
704
  }
@@ -739,8 +739,8 @@ var O = u("sticky-note", [["path", {
739
739
  duration: this.Reveal.getConfig().autoAnimateDuration,
740
740
  delay: 0
741
741
  };
742
- if (n = se(n, t), e.parentNode) {
743
- let t = R(e.parentNode, "[data-auto-animate-target]");
742
+ if (n = de(n, t), e.parentNode) {
743
+ let t = z(e.parentNode, "[data-auto-animate-target]");
744
744
  t && (n = this.getAutoAnimateOptions(t, n));
745
745
  }
746
746
  return e.dataset.autoAnimateEasing && (n.easing = e.dataset.autoAnimateEasing), e.dataset.autoAnimateDuration && (n.duration = parseFloat(e.dataset.autoAnimateDuration)), e.dataset.autoAnimateDelay && (n.delay = parseFloat(e.dataset.autoAnimateDelay)), n;
@@ -783,7 +783,7 @@ var O = u("sticky-note", [["path", {
783
783
  getAutoAnimatePairs(e, t) {
784
784
  let n = [], r = "h1, h2, h3, h4, h5, h6, p, li";
785
785
  return this.findAutoAnimateMatches(n, e, t, "[data-id]", (e) => e.nodeName + ":::" + e.getAttribute("data-id")), this.findAutoAnimateMatches(n, e, t, r, (e) => e.nodeName + ":::" + e.textContent.trim()), this.findAutoAnimateMatches(n, e, t, "img, video, iframe", (e) => e.nodeName + ":::" + (e.getAttribute("src") || e.getAttribute("data-src"))), this.findAutoAnimateMatches(n, e, t, "pre", (e) => e.nodeName + ":::" + e.textContent.trim()), n.forEach((e) => {
786
- ue(e.from, r) ? e.options = { scale: !1 } : ue(e.from, "pre") && (e.options = {
786
+ me(e.from, r) ? e.options = { scale: !1 } : me(e.from, "pre") && (e.options = {
787
787
  scale: !1,
788
788
  styles: ["width", "height"]
789
789
  }, this.findAutoAnimateMatches(n, e.from, e.to, ".hljs .hljs-ln-code", (e) => e.textContent, {
@@ -832,7 +832,7 @@ var O = u("sticky-note", [["path", {
832
832
  return !t.hasAttribute("data-auto-animate-target") && !n && e.push(t), t.querySelector("[data-auto-animate-target]") && (e = e.concat(this.getUnmatchedAutoAnimateElements(t))), e;
833
833
  }, []);
834
834
  }
835
- }, Pe = 500, Fe = 4, G = 6, Ie = 8, Le = class {
835
+ }, Ve = 500, He = 4, Ue = 6, We = 8, Ge = class {
836
836
  constructor(e) {
837
837
  this.Reveal = e, this.active = !1, this.activatedCallbacks = [], this.onScroll = this.onScroll.bind(this);
838
838
  }
@@ -840,7 +840,7 @@ var O = u("sticky-note", [["path", {
840
840
  if (this.active) return;
841
841
  let e = this.Reveal.getState();
842
842
  this.active = !0, this.slideHTMLBeforeActivation = this.Reveal.getSlidesElement().innerHTML;
843
- let t = I(this.Reveal.getRevealElement(), xe), n = I(this.Reveal.getRevealElement(), Ce);
843
+ let t = L(this.Reveal.getRevealElement(), De), n = L(this.Reveal.getRevealElement(), ke);
844
844
  this.viewportElement.classList.add("loading-scroll-mode", "reveal-scroll");
845
845
  let r, i = window.getComputedStyle(this.viewportElement);
846
846
  i && i.background && (r = i.background);
@@ -862,7 +862,7 @@ var O = u("sticky-note", [["path", {
862
862
  this.Reveal.isVerticalStack(e) ? e.querySelectorAll("section").forEach((e, n) => {
863
863
  c(e, t, n, !0);
864
864
  }) : c(e, t, 0);
865
- }, this), this.createProgressBar(), I(this.Reveal.getRevealElement(), ".stack").forEach((e) => e.remove()), a.forEach((e) => o.appendChild(e)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.layout(), this.Reveal.setState(e), this.activatedCallbacks.forEach((e) => e()), this.activatedCallbacks = [], this.restoreScrollPosition(), this.viewportElement.classList.remove("loading-scroll-mode"), this.viewportElement.addEventListener("scroll", this.onScroll, { passive: !0 });
865
+ }, this), this.createProgressBar(), L(this.Reveal.getRevealElement(), ".stack").forEach((e) => e.remove()), a.forEach((e) => o.appendChild(e)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.layout(), this.Reveal.setState(e), this.activatedCallbacks.forEach((e) => e()), this.activatedCallbacks = [], this.restoreScrollPosition(), this.viewportElement.classList.remove("loading-scroll-mode"), this.viewportElement.addEventListener("scroll", this.onScroll, { passive: !0 });
866
866
  }
867
867
  deactivate() {
868
868
  if (!this.active) return;
@@ -963,9 +963,9 @@ var O = u("sticky-note", [["path", {
963
963
  syncProgressBar() {
964
964
  this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((e) => e.remove());
965
965
  let e = this.viewportElement.scrollHeight, t = this.viewportElement.offsetHeight, n = t / e;
966
- this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight, Ie), this.progressBarScrollableHeight = this.progressBarHeight - this.playheadHeight;
967
- let r = t / e * this.progressBarHeight, i = Math.min(r / 8, Fe);
968
- this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r > G ? this.slideTriggers.forEach((e) => {
966
+ this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight, We), this.progressBarScrollableHeight = this.progressBarHeight - this.playheadHeight;
967
+ let r = t / e * this.progressBarHeight, i = Math.min(r / 8, He);
968
+ this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r > Ue ? this.slideTriggers.forEach((e) => {
969
969
  let { page: t } = e;
970
970
  t.progressBarSlide = document.createElement("div"), t.progressBarSlide.className = "scrollbar-slide", t.progressBarSlide.style.top = e.range[0] * this.progressBarHeight + "px", t.progressBarSlide.style.height = (e.range[1] - e.range[0]) * this.progressBarHeight - i + "px", t.progressBarSlide.classList.toggle("has-triggers", t.scrollTriggers.length > 0), this.progressBarInner.appendChild(t.progressBarSlide), t.scrollTriggerElements = t.scrollTriggers.map((n, r) => {
971
971
  let a = document.createElement("div");
@@ -992,7 +992,7 @@ var O = u("sticky-note", [["path", {
992
992
  showProgressBar() {
993
993
  this.progressBar.classList.add("visible"), clearTimeout(this.hideProgressBarTimeout), this.Reveal.getConfig().scrollProgress === "auto" && !this.draggingProgressBar && (this.hideProgressBarTimeout = setTimeout(() => {
994
994
  this.progressBar && this.progressBar.classList.remove("visible");
995
- }, Pe));
995
+ }, Ve));
996
996
  }
997
997
  prev() {
998
998
  this.viewportElement.scrollTop -= this.scrollTriggerHeight;
@@ -1050,14 +1050,14 @@ var O = u("sticky-note", [["path", {
1050
1050
  get viewportElement() {
1051
1051
  return this.Reveal.getViewportElement();
1052
1052
  }
1053
- }, Re = class {
1053
+ }, Ke = class {
1054
1054
  constructor(e) {
1055
1055
  this.Reveal = e;
1056
1056
  }
1057
1057
  activate() {
1058
- return oe(this, null, function* () {
1059
- let e = this.Reveal.getConfig(), t = I(this.Reveal.getRevealElement(), be), n = e.slideNumber && /all|print/i.test(e.showSlideNumber), r = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), i = Math.floor(r.width * (1 + e.margin)), a = Math.floor(r.height * (1 + e.margin)), o = r.width, s = r.height;
1060
- yield new Promise(requestAnimationFrame), fe("@page{size:" + i + "px " + a + "px; margin: 0px;}"), fe(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + o + "px; max-height:" + s + "px}"), document.documentElement.classList.add("reveal-print", "print-pdf"), document.body.style.width = i + "px", document.body.style.height = a + "px";
1058
+ return ue(this, null, function* () {
1059
+ let e = this.Reveal.getConfig(), t = L(this.Reveal.getRevealElement(), Ee), n = e.slideNumber && /all|print/i.test(e.showSlideNumber), r = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), i = Math.floor(r.width * (1 + e.margin)), a = Math.floor(r.height * (1 + e.margin)), o = r.width, s = r.height;
1060
+ yield new Promise(requestAnimationFrame), _e("@page{size:" + i + "px " + a + "px; margin: 0px;}"), _e(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + o + "px; max-height:" + s + "px}"), document.documentElement.classList.add("reveal-print", "print-pdf"), document.body.style.width = i + "px", document.body.style.height = a + "px";
1061
1061
  let c = this.Reveal.getViewportElement(), l;
1062
1062
  if (c) {
1063
1063
  let e = window.getComputedStyle(c);
@@ -1100,7 +1100,7 @@ var O = u("sticky-note", [["path", {
1100
1100
  e.classList.remove("visible", "current-fragment");
1101
1101
  });
1102
1102
  });
1103
- } else I(g, ".fragment:not(.fade-out)").forEach(function(e) {
1103
+ } else L(g, ".fragment:not(.fade-out)").forEach(function(e) {
1104
1104
  e.classList.add("visible");
1105
1105
  });
1106
1106
  }
@@ -1110,7 +1110,7 @@ var O = u("sticky-note", [["path", {
1110
1110
  isActive() {
1111
1111
  return this.Reveal.getConfig().view === "print";
1112
1112
  }
1113
- }, ze = class {
1113
+ }, qe = class {
1114
1114
  constructor(e) {
1115
1115
  this.Reveal = e;
1116
1116
  }
@@ -1118,12 +1118,12 @@ var O = u("sticky-note", [["path", {
1118
1118
  e.fragments === !1 ? this.disable() : t.fragments === !1 && this.enable();
1119
1119
  }
1120
1120
  disable() {
1121
- I(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
1121
+ L(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
1122
1122
  e.classList.add("visible"), e.classList.remove("current-fragment");
1123
1123
  });
1124
1124
  }
1125
1125
  enable() {
1126
- I(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
1126
+ L(this.Reveal.getSlidesElement(), ".fragment").forEach((e) => {
1127
1127
  e.classList.remove("visible"), e.classList.remove("current-fragment");
1128
1128
  });
1129
1129
  }
@@ -1159,7 +1159,7 @@ var O = u("sticky-note", [["path", {
1159
1159
  }
1160
1160
  sortAll() {
1161
1161
  this.Reveal.getHorizontalSlides().forEach((e) => {
1162
- let t = I(e, "section");
1162
+ let t = L(e, "section");
1163
1163
  t.forEach((e, t) => {
1164
1164
  this.sort(e.querySelectorAll(".fragment"));
1165
1165
  }, this), t.length === 0 && this.sort(e.querySelectorAll(".fragment"));
@@ -1233,13 +1233,13 @@ var O = u("sticky-note", [["path", {
1233
1233
  prev() {
1234
1234
  return this.goto(null, -1);
1235
1235
  }
1236
- }, Be = class {
1236
+ }, Je = class {
1237
1237
  constructor(e) {
1238
1238
  this.Reveal = e, this.active = !1, this.onSlideClicked = this.onSlideClicked.bind(this);
1239
1239
  }
1240
1240
  activate() {
1241
1241
  if (this.Reveal.getConfig().overview && !this.Reveal.isScrollView() && !this.isActive()) {
1242
- this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), I(this.Reveal.getRevealElement(), be).forEach((e) => {
1242
+ this.active = !0, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), L(this.Reveal.getRevealElement(), Ee).forEach((e) => {
1243
1243
  e.classList.contains("stack") || e.addEventListener("click", this.onSlideClicked, !0);
1244
1244
  });
1245
1245
  let e = this.Reveal.getComputedSlideSize();
@@ -1257,12 +1257,12 @@ var O = u("sticky-note", [["path", {
1257
1257
  }
1258
1258
  layout() {
1259
1259
  this.Reveal.getHorizontalSlides().forEach((e, t) => {
1260
- e.setAttribute("data-index-h", t), L(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), e.classList.contains("stack") && I(e, "section").forEach((e, n) => {
1261
- e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n), L(e, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
1260
+ e.setAttribute("data-index-h", t), R(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), e.classList.contains("stack") && L(e, "section").forEach((e, n) => {
1261
+ e.setAttribute("data-index-h", t), e.setAttribute("data-index-v", n), R(e, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
1262
1262
  });
1263
1263
  }), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e, t) => {
1264
- L(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), I(e, ".slide-background").forEach((e, t) => {
1265
- L(e, "translate3d(0, " + t * this.overviewSlideHeight + "px, 0)");
1264
+ R(e, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), L(e, ".slide-background").forEach((e, t) => {
1265
+ R(e, "translate3d(0, " + t * this.overviewSlideHeight + "px, 0)");
1266
1266
  });
1267
1267
  });
1268
1268
  }
@@ -1278,10 +1278,10 @@ var O = u("sticky-note", [["path", {
1278
1278
  if (this.Reveal.getConfig().overview) {
1279
1279
  this.active = !1, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(() => {
1280
1280
  this.Reveal.getRevealElement().classList.remove("overview-deactivating");
1281
- }, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), I(this.Reveal.getRevealElement(), be).forEach((e) => {
1282
- L(e, ""), e.removeEventListener("click", this.onSlideClicked, !0);
1283
- }), I(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e) => {
1284
- L(e, "");
1281
+ }, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), L(this.Reveal.getRevealElement(), Ee).forEach((e) => {
1282
+ R(e, ""), e.removeEventListener("click", this.onSlideClicked, !0);
1283
+ }), L(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e) => {
1284
+ R(e, "");
1285
1285
  }), this.Reveal.transformSlides({ overview: "" });
1286
1286
  let e = this.Reveal.getIndices();
1287
1287
  this.Reveal.slide(e.h, e.v), this.Reveal.layout(), this.Reveal.cueAutoSlide(), this.Reveal.dispatchEvent({
@@ -1311,7 +1311,7 @@ var O = u("sticky-note", [["path", {
1311
1311
  }
1312
1312
  }
1313
1313
  }
1314
- }, Ve = class {
1314
+ }, Ye = class {
1315
1315
  constructor(e) {
1316
1316
  this.Reveal = e, this.shortcuts = {}, this.bindings = {}, this.onDocumentKeyDown = this.onDocumentKeyDown.bind(this);
1317
1317
  }
@@ -1401,11 +1401,11 @@ var O = u("sticky-note", [["path", {
1401
1401
  66,
1402
1402
  86,
1403
1403
  190
1404
- ].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ? z(t.embedded ? this.Reveal.getViewportElement() : document.documentElement) : n === 65 ? t.autoSlideStoppable && this.Reveal.toggleAutoSlide(r) : n === 71 ? t.jumpToSlide && this.Reveal.toggleJumpToSlide() : n === 67 && this.Reveal.isOverlayOpen() ? this.Reveal.closeOverlay() : (n === 63 || n === 191) && e.shiftKey || n === 112 ? this.Reveal.toggleHelp() : d = !1), d ? e.preventDefault && e.preventDefault() : n === 27 || n === 79 ? (this.Reveal.closeOverlay() === !1 && this.Reveal.overview.toggle(), e.preventDefault && e.preventDefault()) : n === 13 && this.Reveal.overview.isActive() && (this.Reveal.overview.deactivate(), e.preventDefault && e.preventDefault()), this.Reveal.cueAutoSlide();
1404
+ ].includes(n) || n === 191 && !e.shiftKey ? this.Reveal.togglePause() : n === 70 ? he(t.embedded ? this.Reveal.getViewportElement() : document.documentElement) : n === 65 ? t.autoSlideStoppable && this.Reveal.toggleAutoSlide(r) : n === 71 ? t.jumpToSlide && this.Reveal.toggleJumpToSlide() : n === 67 && this.Reveal.isOverlayOpen() ? this.Reveal.closeOverlay() : (n === 63 || n === 191) && e.shiftKey || n === 112 ? this.Reveal.toggleHelp() : d = !1), d ? e.preventDefault && e.preventDefault() : n === 27 || n === 79 ? (this.Reveal.closeOverlay() === !1 && this.Reveal.overview.toggle(), e.preventDefault && e.preventDefault()) : n === 13 && this.Reveal.overview.isActive() && (this.Reveal.overview.deactivate(), e.preventDefault && e.preventDefault()), this.Reveal.cueAutoSlide();
1405
1405
  }
1406
- }, He = class {
1406
+ }, Xe = class {
1407
1407
  constructor(e) {
1408
- F(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
1408
+ le(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
1409
1409
  }
1410
1410
  bind() {
1411
1411
  window.addEventListener("hashchange", this.onWindowHashChange, !1);
@@ -1422,7 +1422,7 @@ var O = u("sticky-note", [["path", {
1422
1422
  let t = decodeURIComponent(n);
1423
1423
  e = (document.getElementById(t) || document.querySelector(`[data-id="${t}"]`)).closest(".slides section");
1424
1424
  } catch {}
1425
- if (e) return ae(ie({}, this.Reveal.getIndices(e)), { f: t });
1425
+ if (e) return ce(se({}, this.Reveal.getIndices(e)), { f: t });
1426
1426
  } else {
1427
1427
  let e = this.Reveal.getConfig(), n = e.hashOneBasedIndex || t.oneBasedIndex ? 1 : 0, i = parseInt(r[0], 10) - n || 0, a = parseInt(r[1], 10) - n || 0, o;
1428
1428
  return e.fragmentInURL && (o = parseInt(r[2], 10), isNaN(o) && (o = void 0)), {
@@ -1465,7 +1465,7 @@ var O = u("sticky-note", [["path", {
1465
1465
  onWindowHashChange(e) {
1466
1466
  this.readURL();
1467
1467
  }
1468
- }, Ue = class {
1468
+ }, Ze = class {
1469
1469
  constructor(e) {
1470
1470
  this.Reveal = e, this.onNavigateLeftClicked = this.onNavigateLeftClicked.bind(this), this.onNavigateRightClicked = this.onNavigateRightClicked.bind(this), this.onNavigateUpClicked = this.onNavigateUpClicked.bind(this), this.onNavigateDownClicked = this.onNavigateDownClicked.bind(this), this.onNavigatePrevClicked = this.onNavigatePrevClicked.bind(this), this.onNavigateNextClicked = this.onNavigateNextClicked.bind(this), this.onEnterFullscreen = this.onEnterFullscreen.bind(this);
1471
1471
  }
@@ -1474,7 +1474,7 @@ var O = u("sticky-note", [["path", {
1474
1474
  this.element = document.createElement("aside"), this.element.className = "controls", this.element.innerHTML = `<button class="navigate-left" aria-label="${e ? "next slide" : "previous slide"}"><div class="controls-arrow"></div></button>
1475
1475
  <button class="navigate-right" aria-label="${e ? "previous slide" : "next slide"}"><div class="controls-arrow"></div></button>
1476
1476
  <button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>
1477
- <button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = I(t, ".navigate-left"), this.controlsRight = I(t, ".navigate-right"), this.controlsUp = I(t, ".navigate-up"), this.controlsDown = I(t, ".navigate-down"), this.controlsPrev = I(t, ".navigate-prev"), this.controlsNext = I(t, ".navigate-next"), this.controlsFullscreen = I(t, ".enter-fullscreen"), this.controlsRightArrow = this.element.querySelector(".navigate-right"), this.controlsLeftArrow = this.element.querySelector(".navigate-left"), this.controlsDownArrow = this.element.querySelector(".navigate-down");
1477
+ <button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = L(t, ".navigate-left"), this.controlsRight = L(t, ".navigate-right"), this.controlsUp = L(t, ".navigate-up"), this.controlsDown = L(t, ".navigate-down"), this.controlsPrev = L(t, ".navigate-prev"), this.controlsNext = L(t, ".navigate-next"), this.controlsFullscreen = L(t, ".enter-fullscreen"), this.controlsRightArrow = this.element.querySelector(".navigate-right"), this.controlsLeftArrow = this.element.querySelector(".navigate-left"), this.controlsDownArrow = this.element.querySelector(".navigate-down");
1478
1478
  }
1479
1479
  configure(e, t) {
1480
1480
  let n = e.controls === "speaker" || e.controls === "speaker-only";
@@ -1482,7 +1482,7 @@ var O = u("sticky-note", [["path", {
1482
1482
  }
1483
1483
  bind() {
1484
1484
  let e = ["touchstart", "click"];
1485
- _e && (e = ["touchend"]), e.forEach((e) => {
1485
+ we && (e = ["touchend"]), e.forEach((e) => {
1486
1486
  this.controlsLeft.forEach((t) => t.addEventListener(e, this.onNavigateLeftClicked, !1)), this.controlsRight.forEach((t) => t.addEventListener(e, this.onNavigateRightClicked, !1)), this.controlsUp.forEach((t) => t.addEventListener(e, this.onNavigateUpClicked, !1)), this.controlsDown.forEach((t) => t.addEventListener(e, this.onNavigateDownClicked, !1)), this.controlsPrev.forEach((t) => t.addEventListener(e, this.onNavigatePrevClicked, !1)), this.controlsNext.forEach((t) => t.addEventListener(e, this.onNavigateNextClicked, !1)), this.controlsFullscreen.forEach((t) => t.addEventListener(e, this.onEnterFullscreen, !1));
1487
1487
  });
1488
1488
  }
@@ -1566,9 +1566,9 @@ var O = u("sticky-note", [["path", {
1566
1566
  }
1567
1567
  onEnterFullscreen(e) {
1568
1568
  let t = this.Reveal.getConfig(), n = this.Reveal.getViewportElement();
1569
- z(t.embedded ? n : n.parentElement);
1569
+ he(t.embedded ? n : n.parentElement);
1570
1570
  }
1571
- }, We = class {
1571
+ }, Qe = class {
1572
1572
  constructor(e) {
1573
1573
  this.Reveal = e, this.onProgressClicked = this.onProgressClicked.bind(this);
1574
1574
  }
@@ -1603,7 +1603,7 @@ var O = u("sticky-note", [["path", {
1603
1603
  destroy() {
1604
1604
  this.element.remove();
1605
1605
  }
1606
- }, Ge = class {
1606
+ }, $e = class {
1607
1607
  constructor(e) {
1608
1608
  this.Reveal = e, this.lastMouseWheelStep = 0, this.cursorHidden = !1, this.cursorInactiveTimeout = 0, this.onDocumentCursorActive = this.onDocumentCursorActive.bind(this), this.onDocumentMouseScroll = this.onDocumentMouseScroll.bind(this);
1609
1609
  }
@@ -1629,7 +1629,7 @@ var O = u("sticky-note", [["path", {
1629
1629
  t > 0 ? this.Reveal.next() : t < 0 && this.Reveal.prev();
1630
1630
  }
1631
1631
  }
1632
- }, Ke = (e, t) => {
1632
+ }, et = (e, t) => {
1633
1633
  let n = document.createElement("script");
1634
1634
  n.type = "text/javascript", n.async = !1, n.defer = !1, n.src = e, typeof t == "function" && (n.onload = (e) => {
1635
1635
  e.type === "load" && (n.onload = n.onerror = null, t());
@@ -1638,7 +1638,7 @@ var O = u("sticky-note", [["path", {
1638
1638
  });
1639
1639
  let r = document.querySelector("head");
1640
1640
  r && r.insertBefore(n, r.lastChild);
1641
- }, qe = class {
1641
+ }, tt = class {
1642
1642
  constructor(e) {
1643
1643
  this.Reveal = e, this.state = "idle", this.registeredPlugins = {}, this.asyncDependencies = [];
1644
1644
  }
@@ -1653,7 +1653,7 @@ var O = u("sticky-note", [["path", {
1653
1653
  t && typeof t.callback == "function" && t.callback(), --r === 0 && this.initPlugins().then(e);
1654
1654
  };
1655
1655
  n.forEach((e) => {
1656
- typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ? Ke(e.src, () => t(e)) : (console.warn("Unrecognized plugin format", e), t());
1656
+ typeof e.id == "string" ? (this.registerPlugin(e), t(e)) : typeof e.src == "string" ? et(e.src, () => t(e)) : (console.warn("Unrecognized plugin format", e), t());
1657
1657
  });
1658
1658
  } else this.initPlugins().then(e);
1659
1659
  });
@@ -1678,7 +1678,7 @@ var O = u("sticky-note", [["path", {
1678
1678
  }
1679
1679
  loadAsync() {
1680
1680
  return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach((e) => {
1681
- Ke(e.src, e.callback);
1681
+ et(e.src, e.callback);
1682
1682
  }), Promise.resolve();
1683
1683
  }
1684
1684
  registerPlugin(e) {
@@ -1700,7 +1700,7 @@ var O = u("sticky-note", [["path", {
1700
1700
  typeof e.destroy == "function" && e.destroy();
1701
1701
  }), this.registeredPlugins = {}, this.asyncDependencies = [];
1702
1702
  }
1703
- }, Je = class {
1703
+ }, nt = class {
1704
1704
  constructor(e) {
1705
1705
  this.Reveal = e, this.onSlidesClicked = this.onSlidesClicked.bind(this), this.iframeTriggerSelector = null, this.mediaTriggerSelector = "[data-preview-image], [data-preview-video]", this.stateProps = [
1706
1706
  "previewIframe",
@@ -1844,7 +1844,7 @@ var O = u("sticky-note", [["path", {
1844
1844
  destroy() {
1845
1845
  this.close();
1846
1846
  }
1847
- }, Ye = 40, Xe = class {
1847
+ }, rt = 40, it = class {
1848
1848
  constructor(e) {
1849
1849
  this.Reveal = e, this.touchStartX = 0, this.touchStartY = 0, this.touchStartCount = 0, this.touchCaptured = !1, this.onPointerDown = this.onPointerDown.bind(this), this.onPointerMove = this.onPointerMove.bind(this), this.onPointerUp = this.onPointerUp.bind(this), this.onTouchStart = this.onTouchStart.bind(this), this.onTouchMove = this.onTouchMove.bind(this), this.onTouchEnd = this.onTouchEnd.bind(this);
1850
1850
  }
@@ -1857,7 +1857,7 @@ var O = u("sticky-note", [["path", {
1857
1857
  e.removeEventListener("pointerdown", this.onPointerDown, !1), e.removeEventListener("pointermove", this.onPointerMove, !1), e.removeEventListener("pointerup", this.onPointerUp, !1), e.removeEventListener("MSPointerDown", this.onPointerDown, !1), e.removeEventListener("MSPointerMove", this.onPointerMove, !1), e.removeEventListener("MSPointerUp", this.onPointerUp, !1), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1);
1858
1858
  }
1859
1859
  isSwipePrevented(e) {
1860
- if (ue(e, "video[controls], audio[controls]")) return !0;
1860
+ if (me(e, "video[controls], audio[controls]")) return !0;
1861
1861
  for (; e && typeof e.hasAttribute == "function";) {
1862
1862
  if (e.hasAttribute("data-prevent-swipe")) return !0;
1863
1863
  e = e.parentNode;
@@ -1871,13 +1871,13 @@ var O = u("sticky-note", [["path", {
1871
1871
  onTouchMove(e) {
1872
1872
  if (this.isSwipePrevented(e.target)) return !0;
1873
1873
  let t = this.Reveal.getConfig();
1874
- if (this.touchCaptured) _e && e.preventDefault();
1874
+ if (this.touchCaptured) we && e.preventDefault();
1875
1875
  else {
1876
1876
  this.Reveal.onUserInput(e);
1877
1877
  let n = e.touches[0].clientX, r = e.touches[0].clientY;
1878
1878
  if (e.touches.length === 1 && this.touchStartCount !== 2) {
1879
1879
  let i = this.Reveal.availableRoutes({ includeFragments: !0 }), a = n - this.touchStartX, o = r - this.touchStartY;
1880
- a > Ye && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.next() : this.Reveal.prev() : this.Reveal.left()) : a < -40 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.prev() : this.Reveal.next() : this.Reveal.right()) : o > Ye && i.up ? (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.prev() : this.Reveal.up()) : o < -40 && i.down && (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.next() : this.Reveal.down()), t.embedded ? (this.touchCaptured || this.Reveal.isVerticalSlide()) && e.preventDefault() : e.preventDefault();
1880
+ a > rt && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.next() : this.Reveal.prev() : this.Reveal.left()) : a < -40 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = !0, t.navigationMode === "linear" ? t.rtl ? this.Reveal.prev() : this.Reveal.next() : this.Reveal.right()) : o > rt && i.up ? (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.prev() : this.Reveal.up()) : o < -40 && i.down && (this.touchCaptured = !0, t.navigationMode === "linear" ? this.Reveal.next() : this.Reveal.down()), t.embedded ? (this.touchCaptured || this.Reveal.isVerticalSlide()) && e.preventDefault() : e.preventDefault();
1881
1881
  }
1882
1882
  }
1883
1883
  }
@@ -1902,7 +1902,7 @@ var O = u("sticky-note", [["path", {
1902
1902
  clientY: e.clientY
1903
1903
  }], this.onTouchEnd(e));
1904
1904
  }
1905
- }, Ze = "focus", Qe = "blur", $e = class {
1905
+ }, at = "focus", ot = "blur", st = class {
1906
1906
  constructor(e) {
1907
1907
  this.Reveal = e, this.onRevealPointerDown = this.onRevealPointerDown.bind(this), this.onDocumentPointerDown = this.onDocumentPointerDown.bind(this);
1908
1908
  }
@@ -1916,13 +1916,13 @@ var O = u("sticky-note", [["path", {
1916
1916
  this.Reveal.getRevealElement().removeEventListener("pointerdown", this.onRevealPointerDown, !1), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1);
1917
1917
  }
1918
1918
  focus() {
1919
- this.state !== Ze && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = Ze;
1919
+ this.state !== at && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = at;
1920
1920
  }
1921
1921
  blur() {
1922
- this.state !== Qe && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = Qe;
1922
+ this.state !== ot && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, !1)), this.state = ot;
1923
1923
  }
1924
1924
  isFocused() {
1925
- return this.state === Ze;
1925
+ return this.state === at;
1926
1926
  }
1927
1927
  destroy() {
1928
1928
  this.Reveal.getRevealElement().classList.remove("focused");
@@ -1931,10 +1931,10 @@ var O = u("sticky-note", [["path", {
1931
1931
  this.focus();
1932
1932
  }
1933
1933
  onDocumentPointerDown(e) {
1934
- let t = R(e.target, ".reveal");
1934
+ let t = z(e.target, ".reveal");
1935
1935
  (!t || t !== this.Reveal.getRevealElement()) && this.blur();
1936
1936
  }
1937
- }, et = class {
1937
+ }, ct = class {
1938
1938
  constructor(e) {
1939
1939
  this.Reveal = e;
1940
1940
  }
@@ -1964,7 +1964,7 @@ var O = u("sticky-note", [["path", {
1964
1964
  destroy() {
1965
1965
  this.element.remove();
1966
1966
  }
1967
- }, tt = class {
1967
+ }, lt = class {
1968
1968
  constructor(e, t) {
1969
1969
  this.diameter = 100, this.diameter2 = this.diameter / 2, this.thickness = 6, this.playing = !1, this.progress = 0, this.progressOffset = 1, this.container = e, this.progressCheck = t, this.canvas = document.createElement("canvas"), this.canvas.className = "playback", this.canvas.width = this.diameter, this.canvas.height = this.diameter, this.canvas.style.width = this.diameter2 + "px", this.canvas.style.height = this.diameter2 + "px", this.context = this.canvas.getContext("2d"), this.container.appendChild(this.canvas), this.render();
1970
1970
  }
@@ -1991,7 +1991,7 @@ var O = u("sticky-note", [["path", {
1991
1991
  destroy() {
1992
1992
  this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas);
1993
1993
  }
1994
- }, nt = {
1994
+ }, ut = {
1995
1995
  width: 960,
1996
1996
  height: 700,
1997
1997
  margin: .04,
@@ -2081,8 +2081,8 @@ var O = u("sticky-note", [["path", {
2081
2081
  pdfPageHeightOffset: -1,
2082
2082
  dependencies: [],
2083
2083
  plugins: []
2084
- }, rt = "6.0.0";
2085
- function it(e, t) {
2084
+ }, dt = "6.0.0";
2085
+ function ft(e, t) {
2086
2086
  arguments.length < 2 && (t = arguments[0], e = document.querySelector(".reveal"));
2087
2087
  let n = {}, r = {}, i = !1, a = !1, o, s, c, l, u = {
2088
2088
  hasNavigatedHorizontally: !1,
@@ -2090,19 +2090,19 @@ function it(e, t) {
2090
2090
  }, d = [], f = 1, p = {
2091
2091
  layout: "",
2092
2092
  overview: ""
2093
- }, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new ye(n), S = new Oe(n), C = new ke(n), w = new Ne(n), T = new Me(n), E = new Le(n), ee = new Re(n), D = new ze(n), O = new Be(n), k = new Ve(n), A = new He(n), j = new Ue(n), M = new We(n), te = new Ge(n), N = new qe(n), P = new Je(n), ne = new $e(n), re = new Xe(n), F = new et(n);
2094
- function oe(a) {
2093
+ }, m = {}, h = "idle", g = 0, _, v = 0, y = -1, b = !1, x = new Te(n), S = new Fe(n), C = new Ie(n), w = new Be(n), T = new Re(n), E = new Ge(n), D = new Ke(n), O = new qe(n), k = new Je(n), A = new Ye(n), j = new Xe(n), ee = new Ze(n), M = new Qe(n), N = new $e(n), P = new tt(n), F = new nt(n), te = new st(n), ne = new it(n), I = new ct(n);
2094
+ function re(a) {
2095
2095
  if (!e) throw "Unable to find presentation root (<div class=\"reveal\">).";
2096
2096
  if (i) throw "Reveal.js has already been initialized.";
2097
2097
  if (i = !0, m.wrapper = e, m.slides = e.querySelector(".slides"), !m.slides) throw "Unable to find slides container (<div class=\"slides\">).";
2098
- return r = ie(ie(ie(ie(ie({}, nt), r), t), a), pe()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), ue(), window.addEventListener("load", Ye, !1), N.load(r.plugins, r.dependencies).then(z), new Promise((e) => n.on("ready", e));
2098
+ return r = se(se(se(se(se({}, ut), r), t), a), ve()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), ie(), window.addEventListener("load", Ve, !1), P.load(r.plugins, r.dependencies).then(ae), new Promise((e) => n.on("ready", e));
2099
2099
  }
2100
- function ue() {
2101
- r.embedded === !0 ? m.viewport = R(e, ".reveal-viewport") || e : (m.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), m.viewport.classList.add("reveal-viewport");
2100
+ function ie() {
2101
+ r.embedded === !0 ? m.viewport = z(e, ".reveal-viewport") || e : (m.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), m.viewport.classList.add("reveal-viewport");
2102
2102
  }
2103
- function z() {
2104
- i !== !1 && (a = !0, he(), B(), Ee(), Ce(), Te(), St(), De(), T.update(!0), fe(), A.readURL(), setTimeout(() => {
2105
- m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"), G({
2103
+ function ae() {
2104
+ i !== !1 && (a = !0, le(), ue(), Se(), be(), xe(), wt(), we(), T.update(!0), oe(), j.readURL(), setTimeout(() => {
2105
+ m.slides.classList.remove("no-transition"), m.wrapper.classList.add("ready"), H({
2106
2106
  type: "ready",
2107
2107
  data: {
2108
2108
  indexh: o,
@@ -2112,24 +2112,24 @@ function it(e, t) {
2112
2112
  });
2113
2113
  }, 1));
2114
2114
  }
2115
- function fe() {
2115
+ function oe() {
2116
2116
  let e = r.view === "print", t = r.view === "scroll" || r.view === "reader";
2117
- (e || t) && (e ? Ae() : re.unbind(), m.viewport.classList.add("loading-scroll-mode"), e ? document.readyState === "complete" ? ee.activate() : window.addEventListener("load", () => ee.activate()) : E.activate());
2117
+ (e || t) && (e ? ke() : ne.unbind(), m.viewport.classList.add("loading-scroll-mode"), e ? document.readyState === "complete" ? D.activate() : window.addEventListener("load", () => D.activate()) : E.activate());
2118
2118
  }
2119
- function he() {
2120
- r.showHiddenSlides || I(m.wrapper, "section[data-visibility=\"hidden\"]").forEach((e) => {
2119
+ function le() {
2120
+ r.showHiddenSlides || L(m.wrapper, "section[data-visibility=\"hidden\"]").forEach((e) => {
2121
2121
  let t = e.parentNode;
2122
2122
  t.childElementCount === 1 && /section/i.test(t.nodeName) ? t.remove() : e.remove();
2123
2123
  });
2124
2124
  }
2125
- function B() {
2126
- m.slides.classList.add("no-transition"), H ? m.wrapper.classList.add("no-hover") : m.wrapper.classList.remove("no-hover"), T.render(), S.render(), C.render(), j.render(), M.render(), F.render(), m.pauseOverlay = de(m.wrapper, "div", "pause-overlay", r.controls ? "<button class=\"resume-button\">Resume presentation</button>" : null), m.statusElement = V(), m.wrapper.setAttribute("role", "application");
2125
+ function ue() {
2126
+ m.slides.classList.add("no-transition"), Ce ? m.wrapper.classList.add("no-hover") : m.wrapper.classList.remove("no-hover"), T.render(), S.render(), C.render(), ee.render(), M.render(), I.render(), m.pauseOverlay = ge(m.wrapper, "div", "pause-overlay", r.controls ? "<button class=\"resume-button\">Resume presentation</button>" : null), m.statusElement = me(), m.wrapper.setAttribute("role", "application");
2127
2127
  }
2128
- function V() {
2128
+ function me() {
2129
2129
  let e = m.wrapper.querySelector(".aria-status");
2130
2130
  return e || (e = document.createElement("div"), e.style.position = "absolute", e.style.height = "1px", e.style.width = "1px", e.style.overflow = "hidden", e.style.clip = "rect( 1px, 1px, 1px, 1px )", e.classList.add("aria-status"), e.setAttribute("aria-live", "polite"), e.setAttribute("aria-atomic", "true"), m.wrapper.appendChild(e)), e;
2131
2131
  }
2132
- function ge(e) {
2132
+ function he(e) {
2133
2133
  m.statusElement.textContent = e;
2134
2134
  }
2135
2135
  function _e(e) {
@@ -2140,7 +2140,7 @@ function it(e, t) {
2140
2140
  if (n !== "true" && !r) {
2141
2141
  if (e.tagName === "IMG" || e.tagName === "VIDEO") {
2142
2142
  let n = e.getAttribute("alt");
2143
- n && (t += ve(n));
2143
+ n && (t += ye(n));
2144
2144
  }
2145
2145
  Array.from(e.childNodes).forEach((e) => {
2146
2146
  t += _e(e);
@@ -2157,58 +2157,58 @@ function it(e, t) {
2157
2157
  "H5",
2158
2158
  "H6",
2159
2159
  "BLOCKQUOTE"
2160
- ].includes(e.tagName) && t.trim() !== "" && (t = ve(t));
2160
+ ].includes(e.tagName) && t.trim() !== "" && (t = ye(t));
2161
2161
  }
2162
2162
  }
2163
2163
  return t = t.trim(), t === "" ? "" : t + " ";
2164
2164
  }
2165
- function ve(e) {
2165
+ function ye(e) {
2166
2166
  let t = e.trim();
2167
2167
  return t === "" ? e : /[.!?]$/.test(t) ? t : t + ".";
2168
2168
  }
2169
- function Ce() {
2169
+ function be() {
2170
2170
  setInterval(() => {
2171
2171
  (!E.isActive() && m.wrapper.scrollTop !== 0 || m.wrapper.scrollLeft !== 0) && (m.wrapper.scrollTop = 0, m.wrapper.scrollLeft = 0);
2172
2172
  }, 1e3);
2173
2173
  }
2174
- function Te() {
2174
+ function xe() {
2175
2175
  document.addEventListener("fullscreenchange", an), document.addEventListener("webkitfullscreenchange", an);
2176
2176
  }
2177
- function Ee() {
2177
+ function Se() {
2178
2178
  r.postMessage && window.addEventListener("message", $t, !1);
2179
2179
  }
2180
- function De(e) {
2181
- let t = ie({}, r);
2182
- if (typeof e == "object" && se(r, e), n.isReady() === !1) return;
2183
- let i = m.wrapper.querySelectorAll(be).length;
2184
- m.wrapper.classList.remove(t.transition), m.wrapper.classList.add(r.transition), m.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), m.wrapper.setAttribute("data-background-transition", r.backgroundTransition), m.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), m.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && J(), ce(m.wrapper, "embedded", r.embedded), ce(m.wrapper, "rtl", r.rtl), ce(m.wrapper, "center", r.center), r.pause === !1 && dt(), w.reset(), _ &&= (_.destroy(), null), i > 1 && r.autoSlide && r.autoSlideStoppable && (_ = new tt(m.wrapper, () => Math.min(Math.max((Date.now() - y) / g, 0), 1)), _.on("click", on), b = !1), r.navigationMode === "default" ? m.wrapper.removeAttribute("data-navigation-mode") : m.wrapper.setAttribute("data-navigation-mode", r.navigationMode), F.configure(r, t), ne.configure(r, t), te.configure(r, t), j.configure(r, t), M.configure(r, t), k.configure(r, t), D.configure(r, t), S.configure(r, t), bt();
2180
+ function we(e) {
2181
+ let t = se({}, r);
2182
+ if (typeof e == "object" && de(r, e), n.isReady() === !1) return;
2183
+ let i = m.wrapper.querySelectorAll(Ee).length;
2184
+ m.wrapper.classList.remove(t.transition), m.wrapper.classList.add(r.transition), m.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), m.wrapper.setAttribute("data-background-transition", r.backgroundTransition), m.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), m.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && Tt(), fe(m.wrapper, "embedded", r.embedded), fe(m.wrapper, "rtl", r.rtl), fe(m.wrapper, "center", r.center), r.pause === !1 && mt(), w.reset(), _ &&= (_.destroy(), null), i > 1 && r.autoSlide && r.autoSlideStoppable && (_ = new lt(m.wrapper, () => Math.min(Math.max((Date.now() - y) / g, 0), 1)), _.on("click", on), b = !1), r.navigationMode === "default" ? m.wrapper.removeAttribute("data-navigation-mode") : m.wrapper.setAttribute("data-navigation-mode", r.navigationMode), I.configure(r, t), te.configure(r, t), N.configure(r, t), ee.configure(r, t), M.configure(r, t), A.configure(r, t), O.configure(r, t), S.configure(r, t), St();
2185
2185
  }
2186
- function U() {
2187
- window.addEventListener("resize", nn, !1), r.touch && re.bind(), r.keyboard && k.bind(), r.progress && M.bind(), r.respondToHashChanges && A.bind(), j.bind(), ne.bind(), m.slides.addEventListener("click", tn, !1), m.slides.addEventListener("transitionend", en, !1), m.pauseOverlay.addEventListener("click", dt, !1), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", rn, !1);
2186
+ function V() {
2187
+ window.addEventListener("resize", nn, !1), r.touch && ne.bind(), r.keyboard && A.bind(), r.progress && M.bind(), r.respondToHashChanges && j.bind(), ee.bind(), te.bind(), m.slides.addEventListener("click", tn, !1), m.slides.addEventListener("transitionend", en, !1), m.pauseOverlay.addEventListener("click", mt, !1), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", rn, !1);
2188
2188
  }
2189
- function Ae() {
2190
- re.unbind(), ne.unbind(), k.unbind(), j.unbind(), M.unbind(), A.unbind(), window.removeEventListener("resize", nn, !1), m.slides.removeEventListener("click", tn, !1), m.slides.removeEventListener("transitionend", en, !1), m.pauseOverlay.removeEventListener("click", dt, !1);
2189
+ function ke() {
2190
+ ne.unbind(), te.unbind(), A.unbind(), ee.unbind(), M.unbind(), j.unbind(), window.removeEventListener("resize", nn, !1), m.slides.removeEventListener("click", tn, !1), m.slides.removeEventListener("transitionend", en, !1), m.pauseOverlay.removeEventListener("click", mt, !1);
2191
2191
  }
2192
2192
  function je() {
2193
- i = !1, a !== !1 && (Ae(), Ut(), F.destroy(), ne.destroy(), P.destroy(), N.destroy(), te.destroy(), j.destroy(), M.destroy(), T.destroy(), S.destroy(), C.destroy(), document.removeEventListener("fullscreenchange", an), document.removeEventListener("webkitfullscreenchange", an), document.removeEventListener("visibilitychange", rn, !1), window.removeEventListener("message", $t, !1), window.removeEventListener("load", Ye, !1), m.pauseOverlay && m.pauseOverlay.remove(), m.statusElement && m.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), m.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), m.wrapper.removeAttribute("data-transition-speed"), m.wrapper.removeAttribute("data-background-transition"), m.viewport.classList.remove("reveal-viewport"), m.viewport.style.removeProperty("--slide-width"), m.viewport.style.removeProperty("--slide-height"), m.slides.style.removeProperty("width"), m.slides.style.removeProperty("height"), m.slides.style.removeProperty("zoom"), m.slides.style.removeProperty("left"), m.slides.style.removeProperty("top"), m.slides.style.removeProperty("bottom"), m.slides.style.removeProperty("right"), m.slides.style.removeProperty("transform"), Array.from(m.wrapper.querySelectorAll(be)).forEach((e) => {
2193
+ i = !1, a !== !1 && (ke(), Ut(), I.destroy(), te.destroy(), F.destroy(), P.destroy(), N.destroy(), ee.destroy(), M.destroy(), T.destroy(), S.destroy(), C.destroy(), document.removeEventListener("fullscreenchange", an), document.removeEventListener("webkitfullscreenchange", an), document.removeEventListener("visibilitychange", rn, !1), window.removeEventListener("message", $t, !1), window.removeEventListener("load", Ve, !1), m.pauseOverlay && m.pauseOverlay.remove(), m.statusElement && m.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), m.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), m.wrapper.removeAttribute("data-transition-speed"), m.wrapper.removeAttribute("data-background-transition"), m.viewport.classList.remove("reveal-viewport"), m.viewport.style.removeProperty("--slide-width"), m.viewport.style.removeProperty("--slide-height"), m.slides.style.removeProperty("width"), m.slides.style.removeProperty("height"), m.slides.style.removeProperty("zoom"), m.slides.style.removeProperty("left"), m.slides.style.removeProperty("top"), m.slides.style.removeProperty("bottom"), m.slides.style.removeProperty("right"), m.slides.style.removeProperty("transform"), Array.from(m.wrapper.querySelectorAll(Ee)).forEach((e) => {
2194
2194
  e.style.removeProperty("display"), e.style.removeProperty("top"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden");
2195
2195
  }));
2196
2196
  }
2197
- function W(t, n, r) {
2197
+ function Me(t, n, r) {
2198
2198
  e.addEventListener(t, n, r);
2199
2199
  }
2200
- function Pe(t, n, r) {
2200
+ function Ne(t, n, r) {
2201
2201
  e.removeEventListener(t, n, r);
2202
2202
  }
2203
- function Fe(e) {
2204
- typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ? L(m.slides, p.layout + " " + p.overview) : L(m.slides, p.overview);
2203
+ function Pe(e) {
2204
+ typeof e.layout == "string" && (p.layout = e.layout), typeof e.overview == "string" && (p.overview = e.overview), p.layout ? R(m.slides, p.layout + " " + p.overview) : R(m.slides, p.overview);
2205
2205
  }
2206
- function G({ target: e = m.wrapper, type: t, data: n, bubbles: r = !0 }) {
2206
+ function H({ target: e = m.wrapper, type: t, data: n, bubbles: r = !0 }) {
2207
2207
  let i = document.createEvent("HTMLEvents", 1, 2);
2208
- return i.initEvent(t, r, !0), se(i, n), e.dispatchEvent(i), e === m.wrapper && Ke(t), i;
2208
+ return i.initEvent(t, r, !0), de(i, n), e.dispatchEvent(i), e === m.wrapper && ze(t), i;
2209
2209
  }
2210
- function Ie(e) {
2211
- G({
2210
+ function Le(e) {
2211
+ H({
2212
2212
  type: "slidechanged",
2213
2213
  data: {
2214
2214
  indexh: o,
@@ -2219,29 +2219,29 @@ function it(e, t) {
2219
2219
  }
2220
2220
  });
2221
2221
  }
2222
- function Ke(e, t) {
2222
+ function ze(e, t) {
2223
2223
  if (r.postMessageEvents && window.parent !== window.self) {
2224
2224
  let n = {
2225
2225
  namespace: "reveal",
2226
2226
  eventName: e,
2227
2227
  state: Bt()
2228
2228
  };
2229
- se(n, t), window.parent.postMessage(JSON.stringify(n), "*");
2229
+ de(n, t), window.parent.postMessage(JSON.stringify(n), "*");
2230
2230
  }
2231
2231
  }
2232
- function Ye() {
2233
- if (m.wrapper && !ee.isActive()) {
2232
+ function Ve() {
2233
+ if (m.wrapper && !D.isActive()) {
2234
2234
  let e = m.viewport.offsetWidth, t = m.viewport.offsetHeight;
2235
2235
  if (!r.disableLayout) {
2236
- H && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
2237
- let n = E.isActive() ? it(e, t) : it(), i = f;
2238
- Ze(r.width, r.height), m.slides.style.width = n.width + "px", m.slides.style.height = n.height + "px", f = Math.min(n.presentationWidth / n.width, n.presentationHeight / n.height), f = Math.max(f, r.minScale), f = Math.min(f, r.maxScale), f === 1 || E.isActive() ? (m.slides.style.zoom = "", m.slides.style.left = "", m.slides.style.top = "", m.slides.style.bottom = "", m.slides.style.right = "", Fe({ layout: "" })) : (m.slides.style.zoom = "", m.slides.style.left = "50%", m.slides.style.top = "50%", m.slides.style.bottom = "auto", m.slides.style.right = "auto", Fe({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
2239
- let a = Array.from(m.wrapper.querySelectorAll(be));
2236
+ Ce && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * .01 + "px");
2237
+ let n = E.isActive() ? We(e, t) : We(), i = f;
2238
+ He(r.width, r.height), m.slides.style.width = n.width + "px", m.slides.style.height = n.height + "px", f = Math.min(n.presentationWidth / n.width, n.presentationHeight / n.height), f = Math.max(f, r.minScale), f = Math.min(f, r.maxScale), f === 1 || E.isActive() ? (m.slides.style.zoom = "", m.slides.style.left = "", m.slides.style.top = "", m.slides.style.bottom = "", m.slides.style.right = "", Pe({ layout: "" })) : (m.slides.style.zoom = "", m.slides.style.left = "50%", m.slides.style.top = "50%", m.slides.style.bottom = "auto", m.slides.style.right = "auto", Pe({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
2239
+ let a = Array.from(m.wrapper.querySelectorAll(Ee));
2240
2240
  for (let e = 0, t = a.length; e < t; e++) {
2241
2241
  let t = a[e];
2242
2242
  t.style.display !== "none" && (r.center || t.classList.contains("center") ? t.classList.contains("stack") ? t.style.top = 0 : t.style.top = Math.max((n.height - t.scrollHeight) / 2, 0) + "px" : t.style.top = "");
2243
2243
  }
2244
- i !== f && G({
2244
+ i !== f && H({
2245
2245
  type: "resize",
2246
2246
  data: {
2247
2247
  oldScale: i,
@@ -2250,25 +2250,25 @@ function it(e, t) {
2250
2250
  }
2251
2251
  });
2252
2252
  }
2253
- Qe(), m.viewport.style.setProperty("--slide-scale", f), m.viewport.style.setProperty("--viewport-width", e + "px"), m.viewport.style.setProperty("--viewport-height", t + "px"), E.layout(), M.update(), T.updateParallax(), O.isActive() && O.update();
2253
+ Ue(), m.viewport.style.setProperty("--slide-scale", f), m.viewport.style.setProperty("--viewport-width", e + "px"), m.viewport.style.setProperty("--viewport-height", t + "px"), E.layout(), M.update(), T.updateParallax(), k.isActive() && k.update();
2254
2254
  }
2255
2255
  }
2256
- function Ze(e, t) {
2257
- I(m.slides, "section > .stretch, section > .r-stretch").forEach((n) => {
2258
- let r = me(n, t);
2256
+ function He(e, t) {
2257
+ L(m.slides, "section > .stretch, section > .r-stretch").forEach((n) => {
2258
+ let r = B(n, t);
2259
2259
  if (/(img|video)/gi.test(n.nodeName)) {
2260
2260
  let t = n.naturalWidth || n.videoWidth, i = n.naturalHeight || n.videoHeight, a = Math.min(e / t, r / i);
2261
2261
  n.style.width = t * a + "px", n.style.height = i * a + "px";
2262
2262
  } else n.style.width = e + "px", n.style.height = r + "px";
2263
2263
  });
2264
2264
  }
2265
- function Qe() {
2266
- if (m.wrapper && !r.disableLayout && !ee.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2267
- let e = it();
2265
+ function Ue() {
2266
+ if (m.wrapper && !r.disableLayout && !D.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2267
+ let e = We();
2268
2268
  e.presentationWidth > 0 && e.presentationWidth <= r.scrollActivationWidth ? E.isActive() || (T.create(), E.activate()) : E.isActive() && E.deactivate();
2269
2269
  }
2270
2270
  }
2271
- function it(e, t) {
2271
+ function We(e, t) {
2272
2272
  let n = r.width, i = r.height;
2273
2273
  r.disableLayout && (n = m.slides.offsetWidth, i = m.slides.offsetHeight);
2274
2274
  let a = {
@@ -2279,58 +2279,58 @@ function it(e, t) {
2279
2279
  };
2280
2280
  return a.presentationWidth -= a.presentationWidth * r.margin, a.presentationHeight -= a.presentationHeight * r.margin, typeof a.width == "string" && /%$/.test(a.width) && (a.width = parseInt(a.width, 10) / 100 * a.presentationWidth), typeof a.height == "string" && /%$/.test(a.height) && (a.height = parseInt(a.height, 10) / 100 * a.presentationHeight), a;
2281
2281
  }
2282
- function K(e, t) {
2282
+ function et(e, t) {
2283
2283
  typeof e == "object" && typeof e.setAttribute == "function" && e.setAttribute("data-previous-indexv", t || 0);
2284
2284
  }
2285
- function at(e) {
2285
+ function rt(e) {
2286
2286
  if (typeof e == "object" && typeof e.setAttribute == "function" && e.classList.contains("stack")) {
2287
2287
  let t = e.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
2288
2288
  return parseInt(e.getAttribute(t) || 0, 10);
2289
2289
  }
2290
2290
  return 0;
2291
2291
  }
2292
- function q(e = l) {
2292
+ function at(e = l) {
2293
2293
  return e && e.parentNode && !!e.parentNode.nodeName.match(/section/i);
2294
2294
  }
2295
2295
  function ot(e = l) {
2296
2296
  return e.classList.contains(".stack") || e.querySelector("section") !== null;
2297
2297
  }
2298
- function st() {
2299
- return l && q(l) ? !l.nextElementSibling : !1;
2298
+ function ft() {
2299
+ return l && at(l) ? !l.nextElementSibling : !1;
2300
2300
  }
2301
- function ct() {
2301
+ function U() {
2302
2302
  return o === 0 && s === 0;
2303
2303
  }
2304
- function lt() {
2305
- return l ? !(l.nextElementSibling || q(l) && l.parentNode.nextElementSibling) : !1;
2304
+ function pt() {
2305
+ return l ? !(l.nextElementSibling || at(l) && l.parentNode.nextElementSibling) : !1;
2306
2306
  }
2307
- function ut() {
2307
+ function W() {
2308
2308
  if (r.pause) {
2309
2309
  let e = m.wrapper.classList.contains("paused");
2310
- Ut(), m.wrapper.classList.add("paused"), e === !1 && G({ type: "paused" });
2310
+ Ut(), m.wrapper.classList.add("paused"), e === !1 && H({ type: "paused" });
2311
2311
  }
2312
2312
  }
2313
- function dt() {
2313
+ function mt() {
2314
2314
  let e = m.wrapper.classList.contains("paused");
2315
- m.wrapper.classList.remove("paused"), Ht(), e && G({ type: "resumed" });
2315
+ m.wrapper.classList.remove("paused"), Ht(), e && H({ type: "resumed" });
2316
2316
  }
2317
- function ft(e) {
2318
- typeof e == "boolean" ? e ? ut() : dt() : pt() ? dt() : ut();
2317
+ function ht(e) {
2318
+ typeof e == "boolean" ? e ? W() : mt() : gt() ? mt() : W();
2319
2319
  }
2320
- function pt() {
2320
+ function gt() {
2321
2321
  return m.wrapper.classList.contains("paused");
2322
2322
  }
2323
- function mt(e) {
2323
+ function _t(e) {
2324
2324
  typeof e == "boolean" ? e ? C.show() : C.hide() : C.isVisible() ? C.hide() : C.show();
2325
2325
  }
2326
- function ht(e) {
2326
+ function vt(e) {
2327
2327
  typeof e == "boolean" ? e ? Gt() : Wt() : b ? Gt() : Wt();
2328
2328
  }
2329
- function gt() {
2329
+ function yt() {
2330
2330
  return !!(g && !b);
2331
2331
  }
2332
- function _t(t, n, i, a) {
2333
- if (G({
2332
+ function G(t, n, i, a) {
2333
+ if (H({
2334
2334
  type: "beforeslidechange",
2335
2335
  data: {
2336
2336
  indexh: t === void 0 ? o : t,
@@ -2339,26 +2339,26 @@ function it(e, t) {
2339
2339
  }
2340
2340
  }).defaultPrevented) return;
2341
2341
  c = l;
2342
- let u = m.wrapper.querySelectorAll(xe);
2342
+ let u = m.wrapper.querySelectorAll(De);
2343
2343
  if (E.isActive()) {
2344
2344
  let e = E.getSlideByIndices(t, n);
2345
2345
  e && E.scrollToSlide(e);
2346
2346
  return;
2347
2347
  }
2348
2348
  if (u.length === 0) return;
2349
- n === void 0 && !O.isActive() && (n = at(u[t])), c && c.parentNode && c.parentNode.classList.contains("stack") && K(c.parentNode, s);
2349
+ n === void 0 && !k.isActive() && (n = rt(u[t])), c && c.parentNode && c.parentNode.classList.contains("stack") && et(c.parentNode, s);
2350
2350
  let f = d.concat();
2351
2351
  d.length = 0;
2352
2352
  let p = o || 0, g = s || 0;
2353
- o = Ct(xe, t === void 0 ? o : t), s = Ct(Se, n === void 0 ? s : n);
2353
+ o = Et(De, t === void 0 ? o : t), s = Et(Oe, n === void 0 ? s : n);
2354
2354
  let _ = o !== p || s !== g;
2355
2355
  _ || (c = null);
2356
2356
  let v = u[o], y = v.querySelectorAll("section");
2357
2357
  e.classList.toggle("is-vertical-slide", y.length > 1), l = y[s] || v;
2358
2358
  let b = !1;
2359
- _ && c && l && !O.isActive() && (h = "running", b = vt(c, l, p, g), b && m.slides.classList.add("disable-slide-transitions")), Tt(), Ye(), O.isActive() && O.update(), i !== void 0 && D.goto(i), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), ct() && setTimeout(() => {
2359
+ _ && c && l && !k.isActive() && (h = "running", b = bt(c, l, p, g), b && m.slides.classList.add("disable-slide-transitions")), q(), Ve(), k.isActive() && k.update(), i !== void 0 && O.goto(i), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), U() && setTimeout(() => {
2360
2360
  Nt().forEach((e) => {
2361
- K(e, 0);
2361
+ et(e, 0);
2362
2362
  });
2363
2363
  }, 0));
2364
2364
  e: for (let e = 0, t = d.length; e < t; e++) {
@@ -2366,64 +2366,64 @@ function it(e, t) {
2366
2366
  f.splice(t, 1);
2367
2367
  continue e;
2368
2368
  }
2369
- m.viewport.classList.add(d[e]), G({ type: d[e] });
2369
+ m.viewport.classList.add(d[e]), H({ type: d[e] });
2370
2370
  }
2371
2371
  for (; f.length;) m.viewport.classList.remove(f.pop());
2372
- _ && (x.afterSlideChanged(), Ie(a)), (_ || !c) && (x.stopEmbeddedContent(c), x.startEmbeddedContent(l)), requestAnimationFrame(() => {
2373
- ge(_e(l));
2374
- }), M.update(), j.update(), F.update(), T.update(), T.updateParallax(), S.update(), D.update(), A.writeURL(), Ht(), b && (setTimeout(() => {
2372
+ _ && (x.afterSlideChanged(), Le(a)), (_ || !c) && (x.stopEmbeddedContent(c), x.startEmbeddedContent(l)), requestAnimationFrame(() => {
2373
+ he(_e(l));
2374
+ }), M.update(), ee.update(), I.update(), T.update(), T.updateParallax(), S.update(), O.update(), j.writeURL(), Ht(), b && (setTimeout(() => {
2375
2375
  m.slides.classList.remove("disable-slide-transitions");
2376
2376
  }, 0), r.autoAnimate && w.run(c, l));
2377
2377
  }
2378
- function vt(e, t, n, r) {
2378
+ function bt(e, t, n, r) {
2379
2379
  return e.hasAttribute("data-auto-animate") && t.hasAttribute("data-auto-animate") && e.getAttribute("data-auto-animate-id") === t.getAttribute("data-auto-animate-id") && !(o > n || s > r ? t : e).hasAttribute("data-auto-animate-restart");
2380
2380
  }
2381
- function yt(e, t, n) {
2381
+ function xt(e, t, n) {
2382
2382
  let i = o || 0;
2383
2383
  o = t, s = n;
2384
2384
  let a = l !== e;
2385
- c = l, l = e, l && c && r.autoAnimate && vt(c, l, i, s) && w.run(c, l), a && (x.afterSlideChanged(), c && (x.stopEmbeddedContent(c), x.stopEmbeddedContent(c.slideBackgroundElement)), x.startEmbeddedContent(l), x.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2386
- ge(_e(l));
2387
- }), Ie();
2385
+ c = l, l = e, l && c && r.autoAnimate && bt(c, l, i, s) && w.run(c, l), a && (x.afterSlideChanged(), c && (x.stopEmbeddedContent(c), x.stopEmbeddedContent(c.slideBackgroundElement)), x.startEmbeddedContent(l), x.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2386
+ he(_e(l));
2387
+ }), Le();
2388
2388
  }
2389
- function bt() {
2390
- Ae(), U(), Ye(), g = r.autoSlide, Ht(), T.create(), A.writeURL(), r.sortFragmentsOnSync === !0 && D.sortAll(), o !== void 0 && (o = Ct(xe, o), s = Ct(Se, s)), j.update(), M.update(), Tt(), F.update(), F.updateVisibility(), P.update(), T.update(!0), S.update(), x.formatEmbeddedContent(), r.autoPlayMedia === !1 ? x.stopEmbeddedContent(l, { unloadIframes: !1 }) : x.startEmbeddedContent(l), O.isActive() && O.layout(), G({ type: "sync" });
2389
+ function St() {
2390
+ ke(), V(), Ve(), g = r.autoSlide, Ht(), T.create(), j.writeURL(), r.sortFragmentsOnSync === !0 && O.sortAll(), o !== void 0 && (o = Et(De, o), s = Et(Oe, s)), ee.update(), M.update(), q(), I.update(), I.updateVisibility(), F.update(), T.update(!0), S.update(), x.formatEmbeddedContent(), r.autoPlayMedia === !1 ? x.stopEmbeddedContent(l, { unloadIframes: !1 }) : x.startEmbeddedContent(l), k.isActive() && k.layout(), H({ type: "sync" });
2391
2391
  }
2392
- function xt(e = l) {
2393
- T.sync(e), D.sync(e), x.load(e), T.update(), F.update(), G({
2392
+ function Ct(e = l) {
2393
+ T.sync(e), O.sync(e), x.load(e), T.update(), I.update(), H({
2394
2394
  type: "slidesync",
2395
2395
  data: { slide: e }
2396
2396
  });
2397
2397
  }
2398
- function St() {
2398
+ function wt() {
2399
2399
  jt().forEach((e) => {
2400
- I(e, "section").forEach((e, t) => {
2400
+ L(e, "section").forEach((e, t) => {
2401
2401
  t > 0 && (e.classList.remove("present"), e.classList.remove("past"), e.classList.add("future"), e.setAttribute("aria-hidden", "true"));
2402
2402
  });
2403
2403
  });
2404
2404
  }
2405
- function J(e = jt()) {
2405
+ function Tt(e = jt()) {
2406
2406
  e.forEach((t, n) => {
2407
2407
  let r = e[Math.floor(Math.random() * e.length)];
2408
2408
  r.parentNode === t.parentNode && t.parentNode.insertBefore(t, r);
2409
2409
  let i = t.querySelectorAll("section");
2410
- i.length && J(i);
2410
+ i.length && Tt(i);
2411
2411
  });
2412
2412
  }
2413
- function Ct(e, t) {
2414
- let n = I(m.wrapper, e), i = n.length, a = E.isActive() || ee.isActive(), o = !1, s = !1;
2413
+ function Et(e, t) {
2414
+ let n = L(m.wrapper, e), i = n.length, a = E.isActive() || D.isActive(), o = !1, s = !1;
2415
2415
  if (i) {
2416
2416
  r.loop && (t >= i && (o = !0), t %= i, t < 0 && (t = i + t, s = !0)), t = Math.max(Math.min(t, i - 1), 0);
2417
2417
  for (let e = 0; e < i; e++) {
2418
- let i = n[e], c = r.rtl && !q(i);
2418
+ let i = n[e], c = r.rtl && !at(i);
2419
2419
  if (i.classList.remove("past"), i.classList.remove("present"), i.classList.remove("future"), i.setAttribute("hidden", ""), i.setAttribute("aria-hidden", "true"), i.querySelector("section") && i.classList.add("stack"), a) {
2420
2420
  i.classList.add("present");
2421
2421
  continue;
2422
2422
  }
2423
- e < t ? (i.classList.add(c ? "future" : "past"), r.fragments && Y(i)) : e > t ? (i.classList.add(c ? "past" : "future"), r.fragments && wt(i)) : e === t && r.fragments && (o ? wt(i) : s && Y(i));
2423
+ e < t ? (i.classList.add(c ? "future" : "past"), r.fragments && K(i)) : e > t ? (i.classList.add(c ? "past" : "future"), r.fragments && Dt(i)) : e === t && r.fragments && (o ? Dt(i) : s && K(i));
2424
2424
  }
2425
2425
  let e = n[t], c = e.classList.contains("present");
2426
- e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c || G({
2426
+ e.classList.add("present"), e.removeAttribute("hidden"), e.removeAttribute("aria-hidden"), c || H({
2427
2427
  target: e,
2428
2428
  type: "visible",
2429
2429
  bubbles: !1
@@ -2433,25 +2433,25 @@ function it(e, t) {
2433
2433
  } else t = 0;
2434
2434
  return t;
2435
2435
  }
2436
- function Y(e) {
2437
- I(e, ".fragment").forEach((e) => {
2436
+ function K(e) {
2437
+ L(e, ".fragment").forEach((e) => {
2438
2438
  e.classList.add("visible"), e.classList.remove("current-fragment");
2439
2439
  });
2440
2440
  }
2441
- function wt(e) {
2442
- I(e, ".fragment.visible").forEach((e) => {
2441
+ function Dt(e) {
2442
+ L(e, ".fragment.visible").forEach((e) => {
2443
2443
  e.classList.remove("visible", "current-fragment");
2444
2444
  });
2445
2445
  }
2446
- function Tt() {
2446
+ function q() {
2447
2447
  let e = jt(), t = e.length, n, i;
2448
2448
  if (t && o !== void 0) {
2449
- let a = O.isActive(), c = a ? 10 : r.viewDistance;
2450
- H && (c = a ? 6 : r.mobileViewDistance), ee.isActive() && (c = Number.MAX_VALUE);
2449
+ let a = k.isActive(), c = a ? 10 : r.viewDistance;
2450
+ Ce && (c = a ? 6 : r.mobileViewDistance), D.isActive() && (c = Number.MAX_VALUE);
2451
2451
  for (let l = 0; l < t; l++) {
2452
- let u = e[l], d = I(u, "section"), f = d.length;
2452
+ let u = e[l], d = L(u, "section"), f = d.length;
2453
2453
  if (n = Math.abs((o || 0) - l) || 0, r.loop && (n = Math.abs(((o || 0) - l) % (t - c)) || 0), n < c ? x.load(u) : x.unload(u), f) {
2454
- let e = a ? 0 : at(u);
2454
+ let e = a ? 0 : rt(u);
2455
2455
  for (let t = 0; t < f; t++) {
2456
2456
  let r = d[t];
2457
2457
  i = Math.abs(l === (o || 0) ? (s || 0) - t : t - e), n + i < c ? x.load(r) : x.unload(r);
@@ -2461,15 +2461,15 @@ function it(e, t) {
2461
2461
  Ft() ? m.wrapper.classList.add("has-vertical-slides") : m.wrapper.classList.remove("has-vertical-slides"), Pt() ? m.wrapper.classList.add("has-horizontal-slides") : m.wrapper.classList.remove("has-horizontal-slides");
2462
2462
  }
2463
2463
  }
2464
- function Et({ includeFragments: e = !1 } = {}) {
2465
- let t = m.wrapper.querySelectorAll(xe), n = m.wrapper.querySelectorAll(Se), i = {
2464
+ function J({ includeFragments: e = !1 } = {}) {
2465
+ let t = m.wrapper.querySelectorAll(De), n = m.wrapper.querySelectorAll(Oe), i = {
2466
2466
  left: o > 0,
2467
2467
  right: o < t.length - 1,
2468
2468
  up: s > 0,
2469
2469
  down: s < n.length - 1
2470
2470
  };
2471
2471
  if (r.loop && (t.length > 1 && (i.left = !0, i.right = !0), n.length > 1 && (i.up = !0, i.down = !0)), t.length > 1 && r.navigationMode === "linear" && (i.right = i.right || i.down, i.left = i.left || i.up), e === !0) {
2472
- let e = D.availableRoutes();
2472
+ let e = O.availableRoutes();
2473
2473
  i.left = i.left || e.prev, i.up = i.up || e.prev, i.down = i.down || e.next, i.right = i.right || e.next;
2474
2474
  }
2475
2475
  if (r.rtl) {
@@ -2478,7 +2478,7 @@ function it(e, t) {
2478
2478
  }
2479
2479
  return i;
2480
2480
  }
2481
- function Dt(e = l) {
2481
+ function Ot(e = l) {
2482
2482
  let t = jt(), n = 0;
2483
2483
  e: for (let r = 0; r < t.length; r++) {
2484
2484
  let i = t[r], a = i.querySelectorAll("section");
@@ -2491,8 +2491,8 @@ function it(e, t) {
2491
2491
  }
2492
2492
  return n;
2493
2493
  }
2494
- function Ot() {
2495
- let e = Lt(), t = Dt();
2494
+ function Y() {
2495
+ let e = Lt(), t = Ot();
2496
2496
  if (l) {
2497
2497
  let e = l.querySelectorAll(".fragment");
2498
2498
  if (e.length > 0) {
@@ -2507,8 +2507,8 @@ function it(e, t) {
2507
2507
  if (e) {
2508
2508
  if (E.isActive()) t = parseInt(e.getAttribute("data-index-h"), 10), e.getAttribute("data-index-v") && (n = parseInt(e.getAttribute("data-index-v"), 10));
2509
2509
  else {
2510
- let r = q(e), i = r ? e.parentNode : e, a = jt();
2511
- t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(I(e.parentNode, "section").indexOf(e), 0));
2510
+ let r = at(e), i = r ? e.parentNode : e, a = jt();
2511
+ t = Math.max(a.indexOf(i), 0), n = void 0, r && (n = Math.max(L(e.parentNode, "section").indexOf(e), 0));
2512
2512
  }
2513
2513
  }
2514
2514
  if (!e && l && l.querySelectorAll(".fragment").length > 0) {
@@ -2522,16 +2522,16 @@ function it(e, t) {
2522
2522
  };
2523
2523
  }
2524
2524
  function At() {
2525
- return I(m.wrapper, ".slides section:not(.stack):not([data-visibility=\"uncounted\"])");
2525
+ return L(m.wrapper, ".slides section:not(.stack):not([data-visibility=\"uncounted\"])");
2526
2526
  }
2527
2527
  function jt() {
2528
- return I(m.wrapper, xe);
2528
+ return L(m.wrapper, De);
2529
2529
  }
2530
2530
  function Mt() {
2531
- return I(m.wrapper, ".slides>section>section");
2531
+ return L(m.wrapper, ".slides>section>section");
2532
2532
  }
2533
2533
  function Nt() {
2534
- return I(m.wrapper, ".slides>section.stack");
2534
+ return L(m.wrapper, ".slides>section.stack");
2535
2535
  }
2536
2536
  function Pt() {
2537
2537
  return jt().length > 1;
@@ -2562,27 +2562,27 @@ function it(e, t) {
2562
2562
  }
2563
2563
  function Bt() {
2564
2564
  let e = kt();
2565
- return ie({
2565
+ return se({
2566
2566
  indexh: e.h,
2567
2567
  indexv: e.v,
2568
2568
  indexf: e.f,
2569
- paused: pt(),
2570
- overview: O.isActive()
2571
- }, P.getState());
2569
+ paused: gt(),
2570
+ overview: k.isActive()
2571
+ }, F.getState());
2572
2572
  }
2573
2573
  function Vt(e) {
2574
2574
  if (typeof e == "object") {
2575
- _t(le(e.indexh), le(e.indexv), le(e.indexf));
2576
- let t = le(e.paused), n = le(e.overview);
2577
- typeof t == "boolean" && t !== pt() && ft(t), typeof n == "boolean" && n !== O.isActive() && O.toggle(n), P.setState(e);
2575
+ G(pe(e.indexh), pe(e.indexv), pe(e.indexf));
2576
+ let t = pe(e.paused), n = pe(e.overview);
2577
+ typeof t == "boolean" && t !== gt() && ht(t), typeof n == "boolean" && n !== k.isActive() && k.toggle(n), F.setState(e);
2578
2578
  }
2579
2579
  }
2580
2580
  function Ht() {
2581
2581
  if (Ut(), l && r.autoSlide !== !1) {
2582
2582
  let e = l.querySelector(".current-fragment[data-autoslide]"), t = e ? e.getAttribute("data-autoslide") : null, n = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i = l.getAttribute("data-autoslide");
2583
- t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && I(l, "video, audio").forEach((e) => {
2583
+ t ? g = parseInt(t, 10) : i ? g = parseInt(i, 10) : n ? g = parseInt(n, 10) : (g = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && L(l, "video, audio").forEach((e) => {
2584
2584
  e.hasAttribute("data-autoplay") && g && e.duration * 1e3 / e.playbackRate > g && (g = e.duration * 1e3 / e.playbackRate + 1e3);
2585
- })), g && !b && !pt() && !O.isActive() && (!lt() || D.availableRoutes().next || r.loop === !0) && (v = setTimeout(() => {
2585
+ })), g && !b && !gt() && !k.isActive() && (!pt() || O.availableRoutes().next || r.loop === !0) && (v = setTimeout(() => {
2586
2586
  typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : Zt(), Ht();
2587
2587
  }, g), y = Date.now()), _ && _.setPlaying(v !== -1);
2588
2588
  }
@@ -2591,45 +2591,45 @@ function it(e, t) {
2591
2591
  clearTimeout(v), v = -1;
2592
2592
  }
2593
2593
  function Wt() {
2594
- g && !b && (b = !0, G({ type: "autoslidepaused" }), clearTimeout(v), _ && _.setPlaying(!1));
2594
+ g && !b && (b = !0, H({ type: "autoslidepaused" }), clearTimeout(v), _ && _.setPlaying(!1));
2595
2595
  }
2596
2596
  function Gt() {
2597
- g && b && (b = !1, G({ type: "autoslideresumed" }), Ht());
2597
+ g && b && (b = !1, H({ type: "autoslideresumed" }), Ht());
2598
2598
  }
2599
2599
  function Kt({ skipFragments: e = !1 } = {}) {
2600
2600
  if (u.hasNavigatedHorizontally = !0, E.isActive()) return E.prev();
2601
- r.rtl ? (O.isActive() || e || D.next() === !1) && Et().left && _t(o + 1, r.navigationMode === "grid" ? s : void 0) : (O.isActive() || e || D.prev() === !1) && Et().left && _t(o - 1, r.navigationMode === "grid" ? s : void 0);
2601
+ r.rtl ? (k.isActive() || e || O.next() === !1) && J().left && G(o + 1, r.navigationMode === "grid" ? s : void 0) : (k.isActive() || e || O.prev() === !1) && J().left && G(o - 1, r.navigationMode === "grid" ? s : void 0);
2602
2602
  }
2603
2603
  function qt({ skipFragments: e = !1 } = {}) {
2604
2604
  if (u.hasNavigatedHorizontally = !0, E.isActive()) return E.next();
2605
- r.rtl ? (O.isActive() || e || D.prev() === !1) && Et().right && _t(o - 1, r.navigationMode === "grid" ? s : void 0) : (O.isActive() || e || D.next() === !1) && Et().right && _t(o + 1, r.navigationMode === "grid" ? s : void 0);
2605
+ r.rtl ? (k.isActive() || e || O.prev() === !1) && J().right && G(o - 1, r.navigationMode === "grid" ? s : void 0) : (k.isActive() || e || O.next() === !1) && J().right && G(o + 1, r.navigationMode === "grid" ? s : void 0);
2606
2606
  }
2607
2607
  function Jt({ skipFragments: e = !1 } = {}) {
2608
2608
  if (E.isActive()) return E.prev();
2609
- (O.isActive() || e || D.prev() === !1) && Et().up && _t(o, s - 1);
2609
+ (k.isActive() || e || O.prev() === !1) && J().up && G(o, s - 1);
2610
2610
  }
2611
2611
  function Yt({ skipFragments: e = !1 } = {}) {
2612
2612
  if (u.hasNavigatedVertically = !0, E.isActive()) return E.next();
2613
- (O.isActive() || e || D.next() === !1) && Et().down && _t(o, s + 1);
2613
+ (k.isActive() || e || O.next() === !1) && J().down && G(o, s + 1);
2614
2614
  }
2615
2615
  function Xt({ skipFragments: e = !1 } = {}) {
2616
2616
  if (E.isActive()) return E.prev();
2617
- if (e || D.prev() === !1) {
2618
- if (Et().up) Jt({ skipFragments: e });
2617
+ if (e || O.prev() === !1) {
2618
+ if (J().up) Jt({ skipFragments: e });
2619
2619
  else {
2620
2620
  let t;
2621
- if (t = r.rtl ? I(m.wrapper, ".slides>section.future").pop() : I(m.wrapper, ".slides>section.past").pop(), t && t.classList.contains("stack")) {
2621
+ if (t = r.rtl ? L(m.wrapper, ".slides>section.future").pop() : L(m.wrapper, ".slides>section.past").pop(), t && t.classList.contains("stack")) {
2622
2622
  let e = t.querySelectorAll("section").length - 1 || void 0;
2623
- _t(o - 1, e);
2623
+ G(o - 1, e);
2624
2624
  } else r.rtl ? qt({ skipFragments: e }) : Kt({ skipFragments: e });
2625
2625
  }
2626
2626
  }
2627
2627
  }
2628
2628
  function Zt({ skipFragments: e = !1 } = {}) {
2629
2629
  if (u.hasNavigatedHorizontally = !0, u.hasNavigatedVertically = !0, E.isActive()) return E.next();
2630
- if (e || D.next() === !1) {
2631
- let t = Et();
2632
- t.down && t.right && r.loop && st() && (t.down = !1), t.down ? Yt({ skipFragments: e }) : r.rtl ? Kt({ skipFragments: e }) : qt({ skipFragments: e });
2630
+ if (e || O.next() === !1) {
2631
+ let t = J();
2632
+ t.down && t.right && r.loop && ft() && (t.down = !1), t.down ? Yt({ skipFragments: e }) : r.rtl ? Kt({ skipFragments: e }) : qt({ skipFragments: e });
2633
2633
  }
2634
2634
  }
2635
2635
  function Qt(e) {
@@ -2638,9 +2638,9 @@ function it(e, t) {
2638
2638
  function $t(e) {
2639
2639
  let t = e.data;
2640
2640
  if (typeof t == "string" && t.charAt(0) === "{" && t.charAt(t.length - 1) === "}" && (t = JSON.parse(t), t.method && typeof n[t.method] == "function")) {
2641
- if (we.test(t.method) === !1) {
2641
+ if (Ae.test(t.method) === !1) {
2642
2642
  let e = n[t.method].apply(n, t.args);
2643
- Ke("callback", {
2643
+ ze("callback", {
2644
2644
  method: t.method,
2645
2645
  result: e
2646
2646
  });
@@ -2648,7 +2648,7 @@ function it(e, t) {
2648
2648
  }
2649
2649
  }
2650
2650
  function en(e) {
2651
- h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle", G({
2651
+ h === "running" && /section/gi.test(e.target.nodeName) && (h = "idle", H({
2652
2652
  type: "slidetransitionend",
2653
2653
  data: {
2654
2654
  indexh: o,
@@ -2659,14 +2659,14 @@ function it(e, t) {
2659
2659
  }));
2660
2660
  }
2661
2661
  function tn(e) {
2662
- let t = R(e.target, "a[href^=\"#\"]");
2662
+ let t = z(e.target, "a[href^=\"#\"]");
2663
2663
  if (t) {
2664
- let r = t.getAttribute("href"), i = A.getIndicesFromHash(r);
2664
+ let r = t.getAttribute("href"), i = j.getIndicesFromHash(r);
2665
2665
  i && (n.slide(i.h, i.v, i.f), e.preventDefault());
2666
2666
  }
2667
2667
  }
2668
2668
  function nn(e) {
2669
- Ye();
2669
+ Ve();
2670
2670
  }
2671
2671
  function rn(e) {
2672
2672
  document.hidden === !1 && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
@@ -2677,17 +2677,17 @@ function it(e, t) {
2677
2677
  }, 1));
2678
2678
  }
2679
2679
  function on(e) {
2680
- lt() && r.loop === !1 ? (_t(0, 0), Gt()) : b ? Gt() : Wt();
2680
+ pt() && r.loop === !1 ? (G(0, 0), Gt()) : b ? Gt() : Wt();
2681
2681
  }
2682
2682
  let sn = {
2683
- VERSION: rt,
2684
- initialize: oe,
2685
- configure: De,
2683
+ VERSION: dt,
2684
+ initialize: re,
2685
+ configure: we,
2686
2686
  destroy: je,
2687
- sync: bt,
2688
- syncSlide: xt,
2689
- syncFragments: D.sync.bind(D),
2690
- slide: _t,
2687
+ sync: St,
2688
+ syncSlide: Ct,
2689
+ syncFragments: O.sync.bind(O),
2690
+ slide: G,
2691
2691
  left: Kt,
2692
2692
  right: qt,
2693
2693
  up: Jt,
@@ -2700,61 +2700,61 @@ function it(e, t) {
2700
2700
  navigateDown: Yt,
2701
2701
  navigatePrev: Xt,
2702
2702
  navigateNext: Zt,
2703
- navigateFragment: D.goto.bind(D),
2704
- prevFragment: D.prev.bind(D),
2705
- nextFragment: D.next.bind(D),
2706
- on: W,
2707
- off: Pe,
2708
- addEventListener: W,
2709
- removeEventListener: Pe,
2710
- layout: Ye,
2711
- shuffle: J,
2712
- availableRoutes: Et,
2713
- availableFragments: D.availableRoutes.bind(D),
2714
- toggleHelp: P.toggleHelp.bind(P),
2715
- toggleOverview: O.toggle.bind(O),
2703
+ navigateFragment: O.goto.bind(O),
2704
+ prevFragment: O.prev.bind(O),
2705
+ nextFragment: O.next.bind(O),
2706
+ on: Me,
2707
+ off: Ne,
2708
+ addEventListener: Me,
2709
+ removeEventListener: Ne,
2710
+ layout: Ve,
2711
+ shuffle: Tt,
2712
+ availableRoutes: J,
2713
+ availableFragments: O.availableRoutes.bind(O),
2714
+ toggleHelp: F.toggleHelp.bind(F),
2715
+ toggleOverview: k.toggle.bind(k),
2716
2716
  toggleScrollView: E.toggle.bind(E),
2717
- togglePause: ft,
2718
- toggleAutoSlide: ht,
2719
- toggleJumpToSlide: mt,
2720
- isFirstSlide: ct,
2721
- isLastSlide: lt,
2722
- isLastVerticalSlide: st,
2723
- isVerticalSlide: q,
2717
+ togglePause: ht,
2718
+ toggleAutoSlide: vt,
2719
+ toggleJumpToSlide: _t,
2720
+ isFirstSlide: U,
2721
+ isLastSlide: pt,
2722
+ isLastVerticalSlide: ft,
2723
+ isVerticalSlide: at,
2724
2724
  isVerticalStack: ot,
2725
- isPaused: pt,
2726
- isAutoSliding: gt,
2727
- isSpeakerNotes: F.isSpeakerNotesWindow.bind(F),
2728
- isOverview: O.isActive.bind(O),
2729
- isFocused: ne.isFocused.bind(ne),
2730
- isOverlayOpen: P.isOpen.bind(P),
2725
+ isPaused: gt,
2726
+ isAutoSliding: yt,
2727
+ isSpeakerNotes: I.isSpeakerNotesWindow.bind(I),
2728
+ isOverview: k.isActive.bind(k),
2729
+ isFocused: te.isFocused.bind(te),
2730
+ isOverlayOpen: F.isOpen.bind(F),
2731
2731
  isScrollView: E.isActive.bind(E),
2732
- isPrintView: ee.isActive.bind(ee),
2732
+ isPrintView: D.isActive.bind(D),
2733
2733
  isReady: () => a,
2734
2734
  loadSlide: x.load.bind(x),
2735
2735
  unloadSlide: x.unload.bind(x),
2736
2736
  startEmbeddedContent: () => x.startEmbeddedContent(l),
2737
2737
  stopEmbeddedContent: () => x.stopEmbeddedContent(l, { unloadIframes: !1 }),
2738
- previewIframe: P.previewIframe.bind(P),
2739
- previewImage: P.previewImage.bind(P),
2740
- previewVideo: P.previewVideo.bind(P),
2741
- showPreview: P.previewIframe.bind(P),
2742
- hidePreview: P.close.bind(P),
2743
- addEventListeners: U,
2744
- removeEventListeners: Ae,
2745
- dispatchEvent: G,
2738
+ previewIframe: F.previewIframe.bind(F),
2739
+ previewImage: F.previewImage.bind(F),
2740
+ previewVideo: F.previewVideo.bind(F),
2741
+ showPreview: F.previewIframe.bind(F),
2742
+ hidePreview: F.close.bind(F),
2743
+ addEventListeners: V,
2744
+ removeEventListeners: ke,
2745
+ dispatchEvent: H,
2746
2746
  getState: Bt,
2747
2747
  setState: Vt,
2748
- getProgress: Ot,
2748
+ getProgress: Y,
2749
2749
  getIndices: kt,
2750
2750
  getSlidesAttributes: It,
2751
- getSlidePastCount: Dt,
2751
+ getSlidePastCount: Ot,
2752
2752
  getTotalSlides: Lt,
2753
2753
  getSlide: Rt,
2754
2754
  getPreviousSlide: () => c,
2755
2755
  getCurrentSlide: () => l,
2756
2756
  getSlideBackground: zt,
2757
- getSlideNotes: F.getSlideNotes.bind(F),
2757
+ getSlideNotes: I.getSlideNotes.bind(I),
2758
2758
  getSlides: At,
2759
2759
  getHorizontalSlides: jt,
2760
2760
  getVerticalSlides: Mt,
@@ -2762,55 +2762,55 @@ function it(e, t) {
2762
2762
  hasVerticalSlides: Ft,
2763
2763
  hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
2764
2764
  hasNavigatedVertically: () => u.hasNavigatedVertically,
2765
- shouldAutoAnimateBetween: vt,
2766
- addKeyBinding: k.addKeyBinding.bind(k),
2767
- removeKeyBinding: k.removeKeyBinding.bind(k),
2768
- triggerKey: k.triggerKey.bind(k),
2769
- registerKeyboardShortcut: k.registerKeyboardShortcut.bind(k),
2770
- getComputedSlideSize: it,
2771
- setCurrentScrollPage: yt,
2772
- removeHiddenSlides: he,
2765
+ shouldAutoAnimateBetween: bt,
2766
+ addKeyBinding: A.addKeyBinding.bind(A),
2767
+ removeKeyBinding: A.removeKeyBinding.bind(A),
2768
+ triggerKey: A.triggerKey.bind(A),
2769
+ registerKeyboardShortcut: A.registerKeyboardShortcut.bind(A),
2770
+ getComputedSlideSize: We,
2771
+ setCurrentScrollPage: xt,
2772
+ removeHiddenSlides: le,
2773
2773
  getScale: () => f,
2774
2774
  getConfig: () => r,
2775
- getQueryHash: pe,
2776
- getSlidePath: A.getHash.bind(A),
2775
+ getQueryHash: ve,
2776
+ getSlidePath: j.getHash.bind(j),
2777
2777
  getRevealElement: () => e,
2778
2778
  getSlidesElement: () => m.slides,
2779
2779
  getViewportElement: () => m.viewport,
2780
2780
  getBackgroundsElement: () => T.element,
2781
- registerPlugin: N.registerPlugin.bind(N),
2782
- hasPlugin: N.hasPlugin.bind(N),
2783
- getPlugin: N.getPlugin.bind(N),
2784
- getPlugins: N.getRegisteredPlugins.bind(N)
2781
+ registerPlugin: P.registerPlugin.bind(P),
2782
+ hasPlugin: P.hasPlugin.bind(P),
2783
+ getPlugin: P.getPlugin.bind(P),
2784
+ getPlugins: P.getRegisteredPlugins.bind(P)
2785
2785
  };
2786
- return se(n, ae(ie({}, sn), {
2787
- announceStatus: ge,
2786
+ return de(n, ce(se({}, sn), {
2787
+ announceStatus: he,
2788
2788
  getStatusText: _e,
2789
- focus: ne,
2789
+ focus: te,
2790
2790
  scroll: E,
2791
2791
  progress: M,
2792
- controls: j,
2793
- location: A,
2794
- overview: O,
2795
- keyboard: k,
2796
- fragments: D,
2792
+ controls: ee,
2793
+ location: j,
2794
+ overview: k,
2795
+ keyboard: A,
2796
+ fragments: O,
2797
2797
  backgrounds: T,
2798
2798
  slideContent: x,
2799
2799
  slideNumber: S,
2800
2800
  onUserInput: Qt,
2801
- closeOverlay: P.close.bind(P),
2802
- updateSlidesVisibility: Tt,
2803
- layoutSlideContents: Ze,
2804
- transformSlides: Fe,
2801
+ closeOverlay: F.close.bind(F),
2802
+ updateSlidesVisibility: q,
2803
+ layoutSlideContents: He,
2804
+ transformSlides: Pe,
2805
2805
  cueAutoSlide: Ht,
2806
2806
  cancelAutoSlide: Ut
2807
2807
  })), sn;
2808
2808
  }
2809
- var K = it, at = [];
2810
- K.initialize = (e) => {
2809
+ var U = ft, pt = [];
2810
+ U.initialize = (e) => {
2811
2811
  let t = document.querySelector(".reveal");
2812
2812
  if (!(t instanceof HTMLElement)) throw Error("Unable to find presentation root (<div class=\"reveal\">).");
2813
- return Object.assign(K, new it(t, e)), at.map((e) => e(K)), K.initialize();
2813
+ return Object.assign(U, new ft(t, e)), pt.map((e) => e(U)), U.initialize();
2814
2814
  }, [
2815
2815
  "configure",
2816
2816
  "on",
@@ -2819,14 +2819,14 @@ K.initialize = (e) => {
2819
2819
  "removeEventListener",
2820
2820
  "registerPlugin"
2821
2821
  ].forEach((e) => {
2822
- K[e] = (...t) => {
2823
- at.push((n) => n[e].call(null, ...t));
2822
+ U[e] = (...t) => {
2823
+ pt.push((n) => n[e].call(null, ...t));
2824
2824
  };
2825
- }), K.isReady = () => !1, K.VERSION = rt;
2825
+ }), U.isReady = () => !1, U.VERSION = dt;
2826
2826
  //#endregion
2827
2827
  //#region ../node_modules/.pnpm/@revealjs+react@0.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_reveal.js@6.0.0/node_modules/@revealjs/react/dist/index.mjs
2828
- var q = C(), ot = (0, k.createContext)(null), st = [];
2829
- function ct(e, t) {
2828
+ var W = O(), mt = (0, P.createContext)(null), ht = [];
2829
+ function gt(e, t) {
2830
2830
  if (e === t) return !1;
2831
2831
  if (!e || !t) return e !== t;
2832
2832
  let n = Object.keys(e), r = Object.keys(t);
@@ -2834,43 +2834,43 @@ function ct(e, t) {
2834
2834
  for (let r of n) if (!(r in t) || e[r] !== t[r]) return !0;
2835
2835
  return !1;
2836
2836
  }
2837
- function lt(e, t) {
2837
+ function _t(e, t) {
2838
2838
  e && (typeof e == "function" ? e(t) : e.current = t);
2839
2839
  }
2840
- function ut(e) {
2840
+ function vt(e) {
2841
2841
  return e.tagName === "SECTION";
2842
2842
  }
2843
- function dt(e, t, n) {
2844
- return Array.from(e.children).filter(ut).map((e) => {
2843
+ function yt(e, t, n) {
2844
+ return Array.from(e.children).filter(vt).map((e) => {
2845
2845
  let r = t.get(e);
2846
2846
  r === void 0 && (r = n.current++, t.set(e, r));
2847
- let i = dt(e, t, n);
2847
+ let i = yt(e, t, n);
2848
2848
  return i.length > 0 ? [r, i] : r;
2849
2849
  });
2850
2850
  }
2851
- function ft(e, t, n) {
2852
- return e ? JSON.stringify(dt(e, t, n)) : "[]";
2851
+ function G(e, t, n) {
2852
+ return e ? JSON.stringify(yt(e, t, n)) : "[]";
2853
2853
  }
2854
- function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: d, onResumed: f, deckRef: p, className: m, style: h, children: g }) {
2855
- let _ = (0, k.useRef)(null), v = (0, k.useRef)(null), y = (0, k.useRef)(null), [b, x] = (0, k.useState)(null), S = (0, k.useRef)(t), C = (0, k.useRef)(!1), w = (0, k.useRef)(e), T = (0, k.useRef)(null), E = (0, k.useRef)(/* @__PURE__ */ new WeakMap()), ee = (0, k.useRef)(1), D = (0, k.useRef)(!1), O = (0, k.useRef)(0);
2856
- return (0, k.useEffect)(() => {
2857
- if (D.current = !0, O.current += 1, y.current) y.current.isReady() && x(y.current);
2854
+ function bt({ config: e, plugins: t = ht, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: d, onResumed: f, deckRef: p, className: m, style: h, children: g }) {
2855
+ let _ = (0, P.useRef)(null), v = (0, P.useRef)(null), y = (0, P.useRef)(null), [b, x] = (0, P.useState)(null), S = (0, P.useRef)(t), C = (0, P.useRef)(!1), w = (0, P.useRef)(e), T = (0, P.useRef)(null), E = (0, P.useRef)(/* @__PURE__ */ new WeakMap()), D = (0, P.useRef)(1), O = (0, P.useRef)(!1), k = (0, P.useRef)(0);
2856
+ return (0, P.useEffect)(() => {
2857
+ if (O.current = !0, k.current += 1, y.current) y.current.isReady() && x(y.current);
2858
2858
  else {
2859
- let t = new K(_.current, {
2859
+ let t = new U(_.current, {
2860
2860
  ...e,
2861
2861
  plugins: S.current
2862
2862
  });
2863
2863
  w.current = e, y.current = t, t.initialize().then(() => {
2864
- !D.current || y.current !== t || (x(t), n?.(t));
2864
+ !O.current || y.current !== t || (x(t), n?.(t));
2865
2865
  });
2866
2866
  }
2867
2867
  return () => {
2868
- D.current = !1;
2868
+ O.current = !1;
2869
2869
  let e = y.current;
2870
2870
  if (!e) return;
2871
- let t = ++O.current;
2871
+ let t = ++k.current;
2872
2872
  Promise.resolve().then(() => {
2873
- if (!(D.current || O.current !== t) && y.current === e) {
2873
+ if (!(O.current || k.current !== t) && y.current === e) {
2874
2874
  try {
2875
2875
  e.destroy();
2876
2876
  } catch {}
@@ -2878,7 +2878,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
2878
2878
  }
2879
2879
  });
2880
2880
  };
2881
- }, []), (0, k.useEffect)(() => (lt(p, b), () => lt(p, null)), [p, b]), (0, k.useEffect)(() => {
2881
+ }, []), (0, P.useEffect)(() => (_t(p, b), () => _t(p, null)), [p, b]), (0, P.useEffect)(() => {
2882
2882
  if (!b) return;
2883
2883
  let e = [
2884
2884
  ["sync", r],
@@ -2908,24 +2908,24 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
2908
2908
  u,
2909
2909
  d,
2910
2910
  f
2911
- ]), (0, k.useLayoutEffect)(() => {
2912
- !b || !y.current?.isReady() || ct(w.current, e) && (C.current = !0, y.current.configure(e ?? {}), w.current = e);
2913
- }, [b, e]), (0, k.useLayoutEffect)(() => {
2911
+ ]), (0, P.useLayoutEffect)(() => {
2912
+ !b || !y.current?.isReady() || gt(w.current, e) && (C.current = !0, y.current.configure(e ?? {}), w.current = e);
2913
+ }, [b, e]), (0, P.useLayoutEffect)(() => {
2914
2914
  let e = C.current;
2915
2915
  C.current = !1;
2916
- let t = ft(v.current, E.current, ee);
2916
+ let t = G(v.current, E.current, D);
2917
2917
  if (e) {
2918
2918
  T.current = t;
2919
2919
  return;
2920
2920
  }
2921
2921
  y.current?.isReady() && T.current !== t && (y.current.sync(), T.current = t);
2922
- }), /* @__PURE__ */ (0, q.jsx)(ot.Provider, {
2922
+ }), /* @__PURE__ */ (0, W.jsx)(mt.Provider, {
2923
2923
  value: b,
2924
- children: /* @__PURE__ */ (0, q.jsx)("div", {
2924
+ children: /* @__PURE__ */ (0, W.jsx)("div", {
2925
2925
  className: m ? `reveal ${m}` : "reveal",
2926
2926
  style: h,
2927
2927
  ref: _,
2928
- children: /* @__PURE__ */ (0, q.jsx)("div", {
2928
+ children: /* @__PURE__ */ (0, W.jsx)("div", {
2929
2929
  className: "slides",
2930
2930
  ref: v,
2931
2931
  children: g
@@ -2933,7 +2933,7 @@ function pt({ config: e, plugins: t = st, onReady: n, onSync: r, onSlideSync: i,
2933
2933
  })
2934
2934
  });
2935
2935
  }
2936
- var mt = {
2936
+ var xt = {
2937
2937
  background: "data-background",
2938
2938
  backgroundImage: "data-background-image",
2939
2939
  backgroundVideo: "data-background-video",
@@ -2962,12 +2962,12 @@ var mt = {
2962
2962
  backgroundInteractive: "data-background-interactive",
2963
2963
  preload: "data-preload"
2964
2964
  };
2965
- function ht(e) {
2965
+ function St(e) {
2966
2966
  return JSON.stringify(Object.entries(e).filter(([e]) => e.startsWith("data-")).sort(([e], [t]) => e.localeCompare(t)));
2967
2967
  }
2968
- function gt(e, t) {
2968
+ function Ct(e, t) {
2969
2969
  let n = { ...e }, r = n;
2970
- for (let [e, n] of Object.entries(mt)) {
2970
+ for (let [e, n] of Object.entries(xt)) {
2971
2971
  if (r[n] !== void 0) continue;
2972
2972
  let i = t[e];
2973
2973
  if (i !== void 0) {
@@ -2980,8 +2980,8 @@ function gt(e, t) {
2980
2980
  }
2981
2981
  return n;
2982
2982
  }
2983
- function _t({ children: e, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: d, backgroundOpacity: f, backgroundTransition: p, visibility: m, autoAnimate: h, autoAnimateId: g, autoAnimateRestart: _, autoAnimateUnmatched: v, autoAnimateEasing: y, autoAnimateDuration: b, autoAnimateDelay: x, transition: S, transitionSpeed: C, autoSlide: w, notes: T, backgroundInteractive: E, preload: ee, ...D }) {
2984
- let O = (0, k.useContext)(ot), A = (0, k.useRef)(null), j = (0, k.useRef)(null), M = (0, k.useRef)(null), te = gt(D, {
2983
+ function wt({ children: e, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: d, backgroundOpacity: f, backgroundTransition: p, visibility: m, autoAnimate: h, autoAnimateId: g, autoAnimateRestart: _, autoAnimateUnmatched: v, autoAnimateEasing: y, autoAnimateDuration: b, autoAnimateDelay: x, transition: S, transitionSpeed: C, autoSlide: w, notes: T, backgroundInteractive: E, preload: D, ...O }) {
2984
+ let k = (0, P.useContext)(mt), A = (0, P.useRef)(null), j = (0, P.useRef)(null), ee = (0, P.useRef)(null), M = Ct(O, {
2985
2985
  background: t,
2986
2986
  backgroundImage: n,
2987
2987
  backgroundVideo: r,
@@ -3008,32 +3008,32 @@ function _t({ children: e, background: t, backgroundImage: n, backgroundVideo: r
3008
3008
  autoSlide: w,
3009
3009
  notes: T,
3010
3010
  backgroundInteractive: E,
3011
- preload: ee
3012
- }), N = ht(te);
3013
- return (0, k.useLayoutEffect)(() => {
3011
+ preload: D
3012
+ }), N = St(M);
3013
+ return (0, P.useLayoutEffect)(() => {
3014
3014
  let e = A.current;
3015
- if (!O || !e || typeof O.syncSlide != "function") return;
3016
- if (j.current !== O) {
3017
- j.current = O, M.current = N;
3015
+ if (!k || !e || typeof k.syncSlide != "function") return;
3016
+ if (j.current !== k) {
3017
+ j.current = k, ee.current = N;
3018
3018
  return;
3019
3019
  }
3020
3020
  if (N === "[]") return;
3021
- let t = j.current === O, n = M.current === N;
3022
- t && n || (O.syncSlide(e), j.current = O, M.current = N);
3023
- }, [O, N]), /* @__PURE__ */ (0, q.jsx)("section", {
3021
+ let t = j.current === k, n = ee.current === N;
3022
+ t && n || (k.syncSlide(e), j.current = k, ee.current = N);
3023
+ }, [k, N]), /* @__PURE__ */ (0, W.jsx)("section", {
3024
3024
  ref: A,
3025
- ...te,
3025
+ ...M,
3026
3026
  children: e
3027
3027
  });
3028
3028
  }
3029
- function vt({ className: e, style: t, children: n }) {
3030
- return /* @__PURE__ */ (0, q.jsx)("section", {
3029
+ function Tt({ className: e, style: t, children: n }) {
3030
+ return /* @__PURE__ */ (0, W.jsx)("section", {
3031
3031
  className: e,
3032
3032
  style: t,
3033
3033
  children: n
3034
3034
  });
3035
3035
  }
3036
- function yt() {
3036
+ function Et() {
3037
3037
  return {
3038
3038
  async: !1,
3039
3039
  breaks: !1,
@@ -3047,11 +3047,11 @@ function yt() {
3047
3047
  walkTokens: null
3048
3048
  };
3049
3049
  }
3050
- var bt = yt();
3051
- function xt(e) {
3052
- bt = e;
3050
+ var K = Et();
3051
+ function Dt(e) {
3052
+ K = e;
3053
3053
  }
3054
- var St = { exec: () => null };
3054
+ var q = { exec: () => null };
3055
3055
  function J(e, t = "") {
3056
3056
  let n = typeof e == "string" ? e : e.source, r = {
3057
3057
  replace: (e, t) => {
@@ -3062,7 +3062,7 @@ function J(e, t = "") {
3062
3062
  };
3063
3063
  return r;
3064
3064
  }
3065
- var Ct = (() => {
3065
+ var Ot = (() => {
3066
3066
  try {
3067
3067
  return !0;
3068
3068
  } catch {
@@ -3125,96 +3125,96 @@ var Ct = (() => {
3125
3125
  headingBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
3126
3126
  htmlBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i"),
3127
3127
  blockquoteBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}>`)
3128
- }, wt = /^(?:[ \t]*(?:\n|$))+/, Tt = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Et = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Dt = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Ot = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, kt = / {0,3}(?:[*+-]|\d{1,9}[.)])/, At = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, jt = J(At).replace(/bull/g, kt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Mt = J(At).replace(/bull/g, kt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Nt = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Pt = /^[^\n]+/, Ft = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, It = J(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Ft).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Lt = J(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, kt).getRegex(), Rt = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", zt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Bt = J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", zt).replace("tag", Rt).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Vt = J(Nt).replace("hr", Dt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Rt).getRegex(), Ht = {
3129
- blockquote: J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Vt).getRegex(),
3130
- code: Tt,
3131
- def: It,
3132
- fences: Et,
3133
- heading: Ot,
3134
- hr: Dt,
3135
- html: Bt,
3136
- lheading: jt,
3137
- list: Lt,
3138
- newline: wt,
3139
- paragraph: Vt,
3140
- table: St,
3141
- text: Pt
3142
- }, Ut = J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Dt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Rt).getRegex(), Wt = {
3143
- ...Ht,
3144
- lheading: Mt,
3145
- table: Ut,
3146
- paragraph: J(Nt).replace("hr", Dt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Ut).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Rt).getRegex()
3147
- }, Gt = {
3148
- ...Ht,
3149
- html: J("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", zt).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
3128
+ }, kt = /^(?:[ \t]*(?:\n|$))+/, At = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, jt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Mt = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Nt = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Pt = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Ft = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, It = J(Ft).replace(/bull/g, Pt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Lt = J(Ft).replace(/bull/g, Pt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Rt = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, zt = /^[^\n]+/, Bt = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Vt = J(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Bt).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Ht = J(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Pt).getRegex(), Ut = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Wt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Gt = J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Wt).replace("tag", Ut).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Kt = J(Rt).replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex(), qt = {
3129
+ blockquote: J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Kt).getRegex(),
3130
+ code: At,
3131
+ def: Vt,
3132
+ fences: jt,
3133
+ heading: Nt,
3134
+ hr: Mt,
3135
+ html: Gt,
3136
+ lheading: It,
3137
+ list: Ht,
3138
+ newline: kt,
3139
+ paragraph: Kt,
3140
+ table: q,
3141
+ text: zt
3142
+ }, Jt = J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex(), Yt = {
3143
+ ...qt,
3144
+ lheading: Lt,
3145
+ table: Jt,
3146
+ paragraph: J(Rt).replace("hr", Mt).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Jt).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ut).getRegex()
3147
+ }, Xt = {
3148
+ ...qt,
3149
+ html: J("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Wt).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
3150
3150
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
3151
3151
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
3152
- fences: St,
3152
+ fences: q,
3153
3153
  lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
3154
- paragraph: J(Nt).replace("hr", Dt).replace("heading", " *#{1,6} *[^\n]").replace("lheading", jt).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
3155
- }, Kt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, qt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Jt = /^( {2,}|\\)\n(?!\s*$)/, Yt = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Xt = /[\p{P}\p{S}]/u, Zt = /[\s\p{P}\p{S}]/u, Qt = /[^\s\p{P}\p{S}]/u, $t = J(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Zt).getRegex(), en = /(?!~)[\p{P}\p{S}]/u, tn = /(?!~)[\s\p{P}\p{S}]/u, nn = /(?:[^\s\p{P}\p{S}]|~)/u, rn = J(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Ct ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), an = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, on = J(an, "u").replace(/punct/g, Xt).getRegex(), sn = J(an, "u").replace(/punct/g, en).getRegex(), cn = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", ln = J(cn, "gu").replace(/notPunctSpace/g, Qt).replace(/punctSpace/g, Zt).replace(/punct/g, Xt).getRegex(), un = J(cn, "gu").replace(/notPunctSpace/g, nn).replace(/punctSpace/g, tn).replace(/punct/g, en).getRegex(), dn = J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Qt).replace(/punctSpace/g, Zt).replace(/punct/g, Xt).getRegex(), fn = J(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Xt).getRegex(), pn = J("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Qt).replace(/punctSpace/g, Zt).replace(/punct/g, Xt).getRegex(), mn = J(/\\(punct)/, "gu").replace(/punct/g, Xt).getRegex(), hn = J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), gn = J(zt).replace("(?:-->|$)", "-->").getRegex(), _n = J("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", gn).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), vn = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, yn = J(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", vn).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), bn = J(/^!?\[(label)\]\[(ref)\]/).replace("label", vn).replace("ref", Ft).getRegex(), xn = J(/^!?\[(ref)\](?:\[\])?/).replace("ref", Ft).getRegex(), Sn = J("reflink|nolink(?!\\()", "g").replace("reflink", bn).replace("nolink", xn).getRegex(), Cn = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, wn = {
3156
- _backpedal: St,
3157
- anyPunctuation: mn,
3158
- autolink: hn,
3159
- blockSkip: rn,
3160
- br: Jt,
3161
- code: qt,
3162
- del: St,
3163
- delLDelim: St,
3164
- delRDelim: St,
3165
- emStrongLDelim: on,
3166
- emStrongRDelimAst: ln,
3167
- emStrongRDelimUnd: dn,
3168
- escape: Kt,
3169
- link: yn,
3170
- nolink: xn,
3171
- punctuation: $t,
3172
- reflink: bn,
3173
- reflinkSearch: Sn,
3174
- tag: _n,
3175
- text: Yt,
3176
- url: St
3177
- }, Tn = {
3178
- ...wn,
3179
- link: J(/^!?\[(label)\]\((.*?)\)/).replace("label", vn).getRegex(),
3180
- reflink: J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", vn).getRegex()
3181
- }, En = {
3182
- ...wn,
3183
- emStrongRDelimAst: un,
3184
- emStrongLDelim: sn,
3185
- delLDelim: fn,
3186
- delRDelim: pn,
3187
- url: J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", Cn).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
3154
+ paragraph: J(Rt).replace("hr", Mt).replace("heading", " *#{1,6} *[^\n]").replace("lheading", It).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
3155
+ }, Zt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Qt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, $t = /^( {2,}|\\)\n(?!\s*$)/, en = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, tn = /[\p{P}\p{S}]/u, nn = /[\s\p{P}\p{S}]/u, rn = /[^\s\p{P}\p{S}]/u, an = J(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, nn).getRegex(), on = /(?!~)[\p{P}\p{S}]/u, sn = /(?!~)[\s\p{P}\p{S}]/u, cn = /(?:[^\s\p{P}\p{S}]|~)/u, ln = J(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Ot ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), un = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, dn = J(un, "u").replace(/punct/g, tn).getRegex(), fn = J(un, "u").replace(/punct/g, on).getRegex(), pn = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", mn = J(pn, "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), hn = J(pn, "gu").replace(/notPunctSpace/g, cn).replace(/punctSpace/g, sn).replace(/punct/g, on).getRegex(), gn = J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), _n = J(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, tn).getRegex(), vn = J("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, rn).replace(/punctSpace/g, nn).replace(/punct/g, tn).getRegex(), yn = J(/\\(punct)/, "gu").replace(/punct/g, tn).getRegex(), bn = J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), xn = J(Wt).replace("(?:-->|$)", "-->").getRegex(), Sn = J("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", xn).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Cn = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, wn = J(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Cn).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Tn = J(/^!?\[(label)\]\[(ref)\]/).replace("label", Cn).replace("ref", Bt).getRegex(), En = J(/^!?\[(ref)\](?:\[\])?/).replace("ref", Bt).getRegex(), Dn = J("reflink|nolink(?!\\()", "g").replace("reflink", Tn).replace("nolink", En).getRegex(), On = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, kn = {
3156
+ _backpedal: q,
3157
+ anyPunctuation: yn,
3158
+ autolink: bn,
3159
+ blockSkip: ln,
3160
+ br: $t,
3161
+ code: Qt,
3162
+ del: q,
3163
+ delLDelim: q,
3164
+ delRDelim: q,
3165
+ emStrongLDelim: dn,
3166
+ emStrongRDelimAst: mn,
3167
+ emStrongRDelimUnd: gn,
3168
+ escape: Zt,
3169
+ link: wn,
3170
+ nolink: En,
3171
+ punctuation: an,
3172
+ reflink: Tn,
3173
+ reflinkSearch: Dn,
3174
+ tag: Sn,
3175
+ text: en,
3176
+ url: q
3177
+ }, An = {
3178
+ ...kn,
3179
+ link: J(/^!?\[(label)\]\((.*?)\)/).replace("label", Cn).getRegex(),
3180
+ reflink: J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Cn).getRegex()
3181
+ }, jn = {
3182
+ ...kn,
3183
+ emStrongRDelimAst: hn,
3184
+ emStrongLDelim: fn,
3185
+ delLDelim: _n,
3186
+ delRDelim: vn,
3187
+ url: J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", On).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
3188
3188
  _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
3189
3189
  del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
3190
- text: J(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", Cn).getRegex()
3191
- }, Dn = {
3192
- ...En,
3193
- br: J(Jt).replace("{2,}", "*").getRegex(),
3194
- text: J(En.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
3195
- }, On = {
3196
- normal: Ht,
3197
- gfm: Wt,
3198
- pedantic: Gt
3199
- }, kn = {
3200
- normal: wn,
3201
- gfm: En,
3202
- breaks: Dn,
3203
- pedantic: Tn
3204
- }, An = {
3190
+ text: J(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", On).getRegex()
3191
+ }, Mn = {
3192
+ ...jn,
3193
+ br: J($t).replace("{2,}", "*").getRegex(),
3194
+ text: J(jn.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
3195
+ }, Nn = {
3196
+ normal: qt,
3197
+ gfm: Yt,
3198
+ pedantic: Xt
3199
+ }, Pn = {
3200
+ normal: kn,
3201
+ gfm: jn,
3202
+ breaks: Mn,
3203
+ pedantic: An
3204
+ }, Fn = {
3205
3205
  "&": "&amp;",
3206
3206
  "<": "&lt;",
3207
3207
  ">": "&gt;",
3208
3208
  "\"": "&quot;",
3209
3209
  "'": "&#39;"
3210
- }, jn = (e) => An[e];
3211
- function Mn(e, t) {
3210
+ }, In = (e) => Fn[e];
3211
+ function Ln(e, t) {
3212
3212
  if (t) {
3213
- if (Y.escapeTest.test(e)) return e.replace(Y.escapeReplace, jn);
3214
- } else if (Y.escapeTestNoEncode.test(e)) return e.replace(Y.escapeReplaceNoEncode, jn);
3213
+ if (Y.escapeTest.test(e)) return e.replace(Y.escapeReplace, In);
3214
+ } else if (Y.escapeTestNoEncode.test(e)) return e.replace(Y.escapeReplaceNoEncode, In);
3215
3215
  return e;
3216
3216
  }
3217
- function Nn(e) {
3217
+ function Rn(e) {
3218
3218
  try {
3219
3219
  e = encodeURI(e).replace(Y.percentDecode, "%");
3220
3220
  } catch {
@@ -3222,7 +3222,7 @@ function Nn(e) {
3222
3222
  }
3223
3223
  return e;
3224
3224
  }
3225
- function Pn(e, t) {
3225
+ function zn(e, t) {
3226
3226
  let n = e.replace(Y.findPipe, (e, t, n) => {
3227
3227
  let r = !1, i = t;
3228
3228
  for (; --i >= 0 && n[i] === "\\";) r = !r;
@@ -3235,7 +3235,7 @@ function Pn(e, t) {
3235
3235
  for (; r < n.length; r++) n[r] = n[r].trim().replace(Y.slashPipe, "|");
3236
3236
  return n;
3237
3237
  }
3238
- function Fn(e, t, n) {
3238
+ function Bn(e, t, n) {
3239
3239
  let r = e.length;
3240
3240
  if (r === 0) return "";
3241
3241
  let i = 0;
@@ -3247,7 +3247,7 @@ function Fn(e, t, n) {
3247
3247
  }
3248
3248
  return e.slice(0, r - i);
3249
3249
  }
3250
- function In(e, t) {
3250
+ function Vn(e, t) {
3251
3251
  if (e.indexOf(t[1]) === -1) return -1;
3252
3252
  let n = 0;
3253
3253
  for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
@@ -3255,7 +3255,7 @@ function In(e, t) {
3255
3255
  else if (e[r] === t[1] && (n--, n < 0)) return r;
3256
3256
  return n > 0 ? -2 : -1;
3257
3257
  }
3258
- function Ln(e, t = 0) {
3258
+ function Hn(e, t = 0) {
3259
3259
  let n = t, r = "";
3260
3260
  for (let t of e) if (t === " ") {
3261
3261
  let e = 4 - n % 4;
@@ -3263,7 +3263,7 @@ function Ln(e, t = 0) {
3263
3263
  } else r += t, n++;
3264
3264
  return r;
3265
3265
  }
3266
- function Rn(e, t, n, r, i) {
3266
+ function Un(e, t, n, r, i) {
3267
3267
  let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
3268
3268
  r.state.inLink = !0;
3269
3269
  let c = {
@@ -3276,7 +3276,7 @@ function Rn(e, t, n, r, i) {
3276
3276
  };
3277
3277
  return r.state.inLink = !1, c;
3278
3278
  }
3279
- function zn(e, t, n) {
3279
+ function Wn(e, t, n) {
3280
3280
  let r = e.match(n.other.indentCodeCompensation);
3281
3281
  if (r === null) return t;
3282
3282
  let i = r[1];
@@ -3287,12 +3287,12 @@ function zn(e, t, n) {
3287
3287
  return r.length >= i.length ? e.slice(i.length) : e;
3288
3288
  }).join("\n");
3289
3289
  }
3290
- var Bn = class {
3290
+ var Gn = class {
3291
3291
  options;
3292
3292
  rules;
3293
3293
  lexer;
3294
3294
  constructor(e) {
3295
- this.options = e || bt;
3295
+ this.options = e || K;
3296
3296
  }
3297
3297
  space(e) {
3298
3298
  let t = this.rules.block.newline.exec(e);
@@ -3309,14 +3309,14 @@ var Bn = class {
3309
3309
  type: "code",
3310
3310
  raw: t[0],
3311
3311
  codeBlockStyle: "indented",
3312
- text: this.options.pedantic ? e : Fn(e, "\n")
3312
+ text: this.options.pedantic ? e : Bn(e, "\n")
3313
3313
  };
3314
3314
  }
3315
3315
  }
3316
3316
  fences(e) {
3317
3317
  let t = this.rules.block.fences.exec(e);
3318
3318
  if (t) {
3319
- let e = t[0], n = zn(e, t[3] || "", this.rules);
3319
+ let e = t[0], n = Wn(e, t[3] || "", this.rules);
3320
3320
  return {
3321
3321
  type: "code",
3322
3322
  raw: e,
@@ -3330,7 +3330,7 @@ var Bn = class {
3330
3330
  if (t) {
3331
3331
  let e = t[2].trim();
3332
3332
  if (this.rules.other.endingHash.test(e)) {
3333
- let t = Fn(e, "#");
3333
+ let t = Bn(e, "#");
3334
3334
  (this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
3335
3335
  }
3336
3336
  return {
@@ -3346,13 +3346,13 @@ var Bn = class {
3346
3346
  let t = this.rules.block.hr.exec(e);
3347
3347
  if (t) return {
3348
3348
  type: "hr",
3349
- raw: Fn(t[0], "\n")
3349
+ raw: Bn(t[0], "\n")
3350
3350
  };
3351
3351
  }
3352
3352
  blockquote(e) {
3353
3353
  let t = this.rules.block.blockquote.exec(e);
3354
3354
  if (t) {
3355
- let e = Fn(t[0], "\n").split("\n"), n = "", r = "", i = [];
3355
+ let e = Bn(t[0], "\n").split("\n"), n = "", r = "", i = [];
3356
3356
  for (; e.length > 0;) {
3357
3357
  let t = !1, a = [], o;
3358
3358
  for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
@@ -3403,7 +3403,7 @@ ${c}` : c;
3403
3403
  let n = !1, r = "", s = "";
3404
3404
  if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
3405
3405
  r = t[0], e = e.substring(r.length);
3406
- let c = Ln(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
3406
+ let c = Hn(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
3407
3407
  if (this.options.pedantic ? (d = 2, s = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r += l + "\n", e = e.substring(l.length + 1), n = !0), !n) {
3408
3408
  let t = this.rules.other.nextBulletRegex(d), n = this.rules.other.hrRegex(d), i = this.rules.other.fencesBeginRegex(d), a = this.rules.other.headingBeginRegex(d), o = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
3409
3409
  for (; e;) {
@@ -3492,7 +3492,7 @@ ${c}` : c;
3492
3492
  table(e) {
3493
3493
  let t = this.rules.block.table.exec(e);
3494
3494
  if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
3495
- let n = Pn(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
3495
+ let n = zn(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
3496
3496
  type: "table",
3497
3497
  raw: t[0],
3498
3498
  header: [],
@@ -3507,7 +3507,7 @@ ${c}` : c;
3507
3507
  header: !0,
3508
3508
  align: a.align[e]
3509
3509
  });
3510
- for (let e of i) a.rows.push(Pn(e, a.header.length).map((e, t) => ({
3510
+ for (let e of i) a.rows.push(zn(e, a.header.length).map((e, t) => ({
3511
3511
  text: e,
3512
3512
  tokens: this.lexer.inline(e),
3513
3513
  header: !1,
@@ -3575,10 +3575,10 @@ ${c}` : c;
3575
3575
  let e = t[2].trim();
3576
3576
  if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
3577
3577
  if (!this.rules.other.endAngleBracket.test(e)) return;
3578
- let t = Fn(e.slice(0, -1), "\\");
3578
+ let t = Bn(e.slice(0, -1), "\\");
3579
3579
  if ((e.length - t.length) % 2 == 0) return;
3580
3580
  } else {
3581
- let e = In(t[2], "()");
3581
+ let e = Vn(t[2], "()");
3582
3582
  if (e === -2) return;
3583
3583
  if (e > -1) {
3584
3584
  let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
@@ -3590,7 +3590,7 @@ ${c}` : c;
3590
3590
  let e = this.rules.other.pedanticHrefTitle.exec(n);
3591
3591
  e && (n = e[1], r = e[3]);
3592
3592
  } else r = t[3] ? t[3].slice(1, -1) : "";
3593
- return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Rn(t, {
3593
+ return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Un(t, {
3594
3594
  href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
3595
3595
  title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
3596
3596
  }, t[0], this.lexer, this.rules);
@@ -3608,7 +3608,7 @@ ${c}` : c;
3608
3608
  text: e
3609
3609
  };
3610
3610
  }
3611
- return Rn(n, e, n[0], this.lexer, this.rules);
3611
+ return Un(n, e, n[0], this.lexer, this.rules);
3612
3612
  }
3613
3613
  }
3614
3614
  emStrong(e, t, n = "") {
@@ -3741,29 +3741,29 @@ ${c}` : c;
3741
3741
  };
3742
3742
  }
3743
3743
  }
3744
- }, Vn = class e {
3744
+ }, Kn = class e {
3745
3745
  tokens;
3746
3746
  options;
3747
3747
  state;
3748
3748
  inlineQueue;
3749
3749
  tokenizer;
3750
3750
  constructor(e) {
3751
- this.tokens = [], this.tokens.links = Object.create(null), this.options = e || bt, this.options.tokenizer = this.options.tokenizer || new Bn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
3751
+ this.tokens = [], this.tokens.links = Object.create(null), this.options = e || K, this.options.tokenizer = this.options.tokenizer || new Gn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
3752
3752
  inLink: !1,
3753
3753
  inRawBlock: !1,
3754
3754
  top: !0
3755
3755
  };
3756
3756
  let t = {
3757
3757
  other: Y,
3758
- block: On.normal,
3759
- inline: kn.normal
3758
+ block: Nn.normal,
3759
+ inline: Pn.normal
3760
3760
  };
3761
- this.options.pedantic ? (t.block = On.pedantic, t.inline = kn.pedantic) : this.options.gfm && (t.block = On.gfm, t.inline = this.options.breaks ? kn.breaks : kn.gfm), this.tokenizer.rules = t;
3761
+ this.options.pedantic ? (t.block = Nn.pedantic, t.inline = Pn.pedantic) : this.options.gfm && (t.block = Nn.gfm, t.inline = this.options.breaks ? Pn.breaks : Pn.gfm), this.tokenizer.rules = t;
3762
3762
  }
3763
3763
  static get rules() {
3764
3764
  return {
3765
- block: On,
3766
- inline: kn
3765
+ block: Nn,
3766
+ inline: Pn
3767
3767
  };
3768
3768
  }
3769
3769
  static lex(t, n) {
@@ -3954,18 +3954,18 @@ ${c}` : c;
3954
3954
  }
3955
3955
  return t;
3956
3956
  }
3957
- }, Hn = class {
3957
+ }, qn = class {
3958
3958
  options;
3959
3959
  parser;
3960
3960
  constructor(e) {
3961
- this.options = e || bt;
3961
+ this.options = e || K;
3962
3962
  }
3963
3963
  space(e) {
3964
3964
  return "";
3965
3965
  }
3966
3966
  code({ text: e, lang: t, escaped: n }) {
3967
3967
  let r = (t || "").match(Y.notSpaceStart)?.[0], i = e.replace(Y.endingNewline, "") + "\n";
3968
- return r ? "<pre><code class=\"language-" + Mn(r) + "\">" + (n ? i : Mn(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Mn(i, !0)) + "</code></pre>\n";
3968
+ return r ? "<pre><code class=\"language-" + Ln(r) + "\">" + (n ? i : Ln(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Ln(i, !0)) + "</code></pre>\n";
3969
3969
  }
3970
3970
  blockquote({ tokens: e }) {
3971
3971
  return `<blockquote>
@@ -4035,7 +4035,7 @@ ${e}</tr>
4035
4035
  return `<em>${this.parser.parseInline(e)}</em>`;
4036
4036
  }
4037
4037
  codespan({ text: e }) {
4038
- return `<code>${Mn(e, !0)}</code>`;
4038
+ return `<code>${Ln(e, !0)}</code>`;
4039
4039
  }
4040
4040
  br(e) {
4041
4041
  return "<br>";
@@ -4044,24 +4044,24 @@ ${e}</tr>
4044
4044
  return `<del>${this.parser.parseInline(e)}</del>`;
4045
4045
  }
4046
4046
  link({ href: e, title: t, tokens: n }) {
4047
- let r = this.parser.parseInline(n), i = Nn(e);
4047
+ let r = this.parser.parseInline(n), i = Rn(e);
4048
4048
  if (i === null) return r;
4049
4049
  e = i;
4050
4050
  let a = "<a href=\"" + e + "\"";
4051
- return t && (a += " title=\"" + Mn(t) + "\""), a += ">" + r + "</a>", a;
4051
+ return t && (a += " title=\"" + Ln(t) + "\""), a += ">" + r + "</a>", a;
4052
4052
  }
4053
4053
  image({ href: e, title: t, text: n, tokens: r }) {
4054
4054
  r && (n = this.parser.parseInline(r, this.parser.textRenderer));
4055
- let i = Nn(e);
4056
- if (i === null) return Mn(n);
4055
+ let i = Rn(e);
4056
+ if (i === null) return Ln(n);
4057
4057
  e = i;
4058
- let a = `<img src="${e}" alt="${Mn(n)}"`;
4059
- return t && (a += ` title="${Mn(t)}"`), a += ">", a;
4058
+ let a = `<img src="${e}" alt="${Ln(n)}"`;
4059
+ return t && (a += ` title="${Ln(t)}"`), a += ">", a;
4060
4060
  }
4061
4061
  text(e) {
4062
- return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Mn(e.text);
4062
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Ln(e.text);
4063
4063
  }
4064
- }, Un = class {
4064
+ }, Jn = class {
4065
4065
  strong({ text: e }) {
4066
4066
  return e;
4067
4067
  }
@@ -4092,12 +4092,12 @@ ${e}</tr>
4092
4092
  checkbox({ raw: e }) {
4093
4093
  return e;
4094
4094
  }
4095
- }, Wn = class e {
4095
+ }, Yn = class e {
4096
4096
  options;
4097
4097
  renderer;
4098
4098
  textRenderer;
4099
4099
  constructor(e) {
4100
- this.options = e || bt, this.options.renderer = this.options.renderer || new Hn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Un();
4100
+ this.options = e || K, this.options.renderer = this.options.renderer || new qn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Jn();
4101
4101
  }
4102
4102
  static parse(t, n) {
4103
4103
  return new e(n).parse(t);
@@ -4243,11 +4243,11 @@ ${e}</tr>
4243
4243
  }
4244
4244
  return n;
4245
4245
  }
4246
- }, Gn = class {
4246
+ }, Xn = class {
4247
4247
  options;
4248
4248
  block;
4249
4249
  constructor(e) {
4250
- this.options = e || bt;
4250
+ this.options = e || K;
4251
4251
  }
4252
4252
  static passThroughHooks = /* @__PURE__ */ new Set([
4253
4253
  "preprocess",
@@ -4273,22 +4273,22 @@ ${e}</tr>
4273
4273
  return e;
4274
4274
  }
4275
4275
  provideLexer() {
4276
- return this.block ? Vn.lex : Vn.lexInline;
4276
+ return this.block ? Kn.lex : Kn.lexInline;
4277
4277
  }
4278
4278
  provideParser() {
4279
- return this.block ? Wn.parse : Wn.parseInline;
4279
+ return this.block ? Yn.parse : Yn.parseInline;
4280
4280
  }
4281
- }, Kn = new class {
4282
- defaults = yt();
4281
+ }, Zn = new class {
4282
+ defaults = Et();
4283
4283
  options = this.setOptions;
4284
4284
  parse = this.parseMarkdown(!0);
4285
4285
  parseInline = this.parseMarkdown(!1);
4286
- Parser = Wn;
4287
- Renderer = Hn;
4288
- TextRenderer = Un;
4289
- Lexer = Vn;
4290
- Tokenizer = Bn;
4291
- Hooks = Gn;
4286
+ Parser = Yn;
4287
+ Renderer = qn;
4288
+ TextRenderer = Jn;
4289
+ Lexer = Kn;
4290
+ Tokenizer = Gn;
4291
+ Hooks = Xn;
4292
4292
  constructor(...e) {
4293
4293
  this.use(...e);
4294
4294
  }
@@ -4339,7 +4339,7 @@ ${e}</tr>
4339
4339
  }
4340
4340
  "childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
4341
4341
  }), n.extensions = t), e.renderer) {
4342
- let t = this.defaults.renderer || new Hn(this.defaults);
4342
+ let t = this.defaults.renderer || new qn(this.defaults);
4343
4343
  for (let n in e.renderer) {
4344
4344
  if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
4345
4345
  if (["options", "parser"].includes(n)) continue;
@@ -4352,7 +4352,7 @@ ${e}</tr>
4352
4352
  n.renderer = t;
4353
4353
  }
4354
4354
  if (e.tokenizer) {
4355
- let t = this.defaults.tokenizer || new Bn(this.defaults);
4355
+ let t = this.defaults.tokenizer || new Gn(this.defaults);
4356
4356
  for (let n in e.tokenizer) {
4357
4357
  if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
4358
4358
  if ([
@@ -4369,13 +4369,13 @@ ${e}</tr>
4369
4369
  n.tokenizer = t;
4370
4370
  }
4371
4371
  if (e.hooks) {
4372
- let t = this.defaults.hooks || new Gn();
4372
+ let t = this.defaults.hooks || new Xn();
4373
4373
  for (let n in e.hooks) {
4374
4374
  if (!(n in t)) throw Error(`hook '${n}' does not exist`);
4375
4375
  if (["options", "block"].includes(n)) continue;
4376
4376
  let r = n, i = e.hooks[r], a = t[r];
4377
- t[r] = Gn.passThroughHooks.has(n) ? (e) => {
4378
- if (this.defaults.async && Gn.passThroughHooksRespectAsync.has(n)) return (async () => {
4377
+ t[r] = Xn.passThroughHooks.has(n) ? (e) => {
4378
+ if (this.defaults.async && Xn.passThroughHooksRespectAsync.has(n)) return (async () => {
4379
4379
  let n = await i.call(t, e);
4380
4380
  return a.call(t, n);
4381
4381
  })();
@@ -4412,10 +4412,10 @@ ${e}</tr>
4412
4412
  }, this;
4413
4413
  }
4414
4414
  lexer(e, t) {
4415
- return Vn.lex(e, t ?? this.defaults);
4415
+ return Kn.lex(e, t ?? this.defaults);
4416
4416
  }
4417
4417
  parser(e, t) {
4418
- return Wn.parse(e, t ?? this.defaults);
4418
+ return Yn.parse(e, t ?? this.defaults);
4419
4419
  }
4420
4420
  parseMarkdown(e) {
4421
4421
  return (t, n) => {
@@ -4427,16 +4427,16 @@ ${e}</tr>
4427
4427
  if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
4428
4428
  if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
4429
4429
  if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
4430
- let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? Vn.lex : Vn.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
4430
+ let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? Kn.lex : Kn.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
4431
4431
  i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
4432
- let o = await (i.hooks ? await i.hooks.provideParser() : e ? Wn.parse : Wn.parseInline)(a, i);
4432
+ let o = await (i.hooks ? await i.hooks.provideParser() : e ? Yn.parse : Yn.parseInline)(a, i);
4433
4433
  return i.hooks ? await i.hooks.postprocess(o) : o;
4434
4434
  })().catch(a);
4435
4435
  try {
4436
4436
  i.hooks && (t = i.hooks.preprocess(t));
4437
- let n = (i.hooks ? i.hooks.provideLexer() : e ? Vn.lex : Vn.lexInline)(t, i);
4437
+ let n = (i.hooks ? i.hooks.provideLexer() : e ? Kn.lex : Kn.lexInline)(t, i);
4438
4438
  i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
4439
- let r = (i.hooks ? i.hooks.provideParser() : e ? Wn.parse : Wn.parseInline)(n, i);
4439
+ let r = (i.hooks ? i.hooks.provideParser() : e ? Yn.parse : Yn.parseInline)(n, i);
4440
4440
  return i.hooks && (r = i.hooks.postprocess(r)), r;
4441
4441
  } catch (e) {
4442
4442
  return a(e);
@@ -4446,7 +4446,7 @@ ${e}</tr>
4446
4446
  onError(e, t) {
4447
4447
  return (n) => {
4448
4448
  if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
4449
- let e = "<p>An error occurred:</p><pre>" + Mn(n.message + "", !0) + "</pre>";
4449
+ let e = "<p>An error occurred:</p><pre>" + Ln(n.message + "", !0) + "</pre>";
4450
4450
  return t ? Promise.resolve(e) : e;
4451
4451
  }
4452
4452
  if (t) return Promise.reject(n);
@@ -4455,41 +4455,41 @@ ${e}</tr>
4455
4455
  }
4456
4456
  }();
4457
4457
  function X(e, t) {
4458
- return Kn.parse(e, t);
4458
+ return Zn.parse(e, t);
4459
4459
  }
4460
4460
  X.options = X.setOptions = function(e) {
4461
- return Kn.setOptions(e), X.defaults = Kn.defaults, xt(X.defaults), X;
4462
- }, X.getDefaults = yt, X.defaults = bt, X.use = function(...e) {
4463
- return Kn.use(...e), X.defaults = Kn.defaults, xt(X.defaults), X;
4461
+ return Zn.setOptions(e), X.defaults = Zn.defaults, Dt(X.defaults), X;
4462
+ }, X.getDefaults = Et, X.defaults = K, X.use = function(...e) {
4463
+ return Zn.use(...e), X.defaults = Zn.defaults, Dt(X.defaults), X;
4464
4464
  }, X.walkTokens = function(e, t) {
4465
- return Kn.walkTokens(e, t);
4466
- }, X.parseInline = Kn.parseInline, X.Parser = Wn, X.parser = Wn.parse, X.Renderer = Hn, X.TextRenderer = Un, X.Lexer = Vn, X.lexer = Vn.lex, X.Tokenizer = Bn, X.Hooks = Gn, X.parse = X, X.options, X.setOptions, X.use, X.walkTokens, X.parseInline, Wn.parse, Vn.lex;
4467
- function qn(...e) {
4465
+ return Zn.walkTokens(e, t);
4466
+ }, X.parseInline = Zn.parseInline, X.Parser = Yn, X.parser = Yn.parse, X.Renderer = qn, X.TextRenderer = Jn, X.Lexer = Kn, X.lexer = Kn.lex, X.Tokenizer = Gn, X.Hooks = Xn, X.parse = X, X.options, X.setOptions, X.use, X.walkTokens, X.parseInline, Yn.parse, Kn.lex;
4467
+ function Qn(...e) {
4468
4468
  return e.filter(Boolean).join(" ");
4469
4469
  }
4470
- function Jn(e, t) {
4470
+ function $n(e, t) {
4471
4471
  return e ? t ? {
4472
4472
  ...e,
4473
4473
  ...t
4474
4474
  } : e : t;
4475
4475
  }
4476
- function Yn({ animation: e, index: t, as: n, asChild: r, className: i, style: a, children: o }) {
4477
- let s = qn("fragment", e, i);
4476
+ function er({ animation: e, index: t, as: n, asChild: r, className: i, style: a, children: o }) {
4477
+ let s = Qn("fragment", e, i);
4478
4478
  if (r) {
4479
4479
  let e;
4480
4480
  try {
4481
- e = k.Children.only(o);
4481
+ e = P.Children.only(o);
4482
4482
  } catch {
4483
4483
  throw Error("Fragment with asChild expects exactly one React element child.");
4484
4484
  }
4485
- if (!(0, k.isValidElement)(e) || e.type === k.Fragment) throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");
4485
+ if (!(0, P.isValidElement)(e) || e.type === P.Fragment) throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");
4486
4486
  let n = {
4487
- className: qn(e.props.className, s),
4488
- style: Jn(e.props.style, a)
4487
+ className: Qn(e.props.className, s),
4488
+ style: $n(e.props.style, a)
4489
4489
  };
4490
- return t !== void 0 && (n["data-fragment-index"] = t), (0, k.cloneElement)(e, n);
4490
+ return t !== void 0 && (n["data-fragment-index"] = t), (0, P.cloneElement)(e, n);
4491
4491
  }
4492
- return /* @__PURE__ */ (0, q.jsx)(n ?? "span", {
4492
+ return /* @__PURE__ */ (0, W.jsx)(n ?? "span", {
4493
4493
  className: s,
4494
4494
  style: a,
4495
4495
  "data-fragment-index": t,
@@ -4498,24 +4498,24 @@ function Yn({ animation: e, index: t, as: n, asChild: r, className: i, style: a,
4498
4498
  }
4499
4499
  //#endregion
4500
4500
  //#region src/components/slides/slide-scroll-hint.tsx
4501
- var Xn = 8, Zn = 1;
4502
- function Qn(e) {
4501
+ var tr = 8, nr = 1;
4502
+ function rr(e) {
4503
4503
  let { scrollHeight: t, clientHeight: n, scrollTop: r } = e;
4504
- return t > n + Zn && r <= Xn;
4504
+ return t > n + nr && r <= tr;
4505
4505
  }
4506
- function $n(e) {
4506
+ function ir(e) {
4507
4507
  let t = e.querySelector(".fragment:not(.visible)");
4508
4508
  return t ? t.getBoundingClientRect().top - e.getBoundingClientRect().top + e.scrollTop : e.scrollHeight;
4509
4509
  }
4510
- function er(e, t) {
4511
- let n = (0, A.c)(4), [r, i] = (0, k.useState)(!1), a, o;
4510
+ function ar(e, t) {
4511
+ let n = (0, F.c)(4), [r, i] = (0, P.useState)(!1), a, o;
4512
4512
  return n[0] !== t || n[1] !== e ? (a = () => {
4513
4513
  let n = e.current, r = t.current;
4514
4514
  if (!n || !r) return;
4515
4515
  let a = 0, o = () => {
4516
4516
  cancelAnimationFrame(a), a = requestAnimationFrame(() => {
4517
- i(Qn({
4518
- scrollHeight: $n(n),
4517
+ i(rr({
4518
+ scrollHeight: ir(n),
4519
4519
  clientHeight: n.clientHeight,
4520
4520
  scrollTop: n.scrollTop
4521
4521
  }));
@@ -4532,50 +4532,50 @@ function er(e, t) {
4532
4532
  }), n.addEventListener("scroll", o, { passive: !0 }), () => {
4533
4533
  cancelAnimationFrame(a), s.disconnect(), c?.disconnect(), n.removeEventListener("scroll", o);
4534
4534
  };
4535
- }, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0, k.useEffect)(a, o), r;
4535
+ }, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), (0, P.useEffect)(a, o), r;
4536
4536
  }
4537
- var tr = (e) => {
4538
- let t = (0, A.c)(6), { className: n } = e, i;
4537
+ var or = (e) => {
4538
+ let t = (0, F.c)(6), { className: n } = e, i;
4539
4539
  t[0] === n ? i = t[1] : (i = r("pointer-events-none absolute inset-x-0 bottom-0 z-10 flex flex-col items-center", "animate-in fade-in-0 duration-200", n), t[0] = n, t[1] = i);
4540
4540
  let a;
4541
- t[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ (0, q.jsx)("div", { className: "h-16 w-full bg-linear-to-t from-background via-background/80 to-transparent" }), t[2] = a) : a = t[2];
4541
+ t[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ (0, W.jsx)("div", { className: "h-16 w-full bg-linear-to-t from-background via-background/80 to-transparent" }), t[2] = a) : a = t[2];
4542
4542
  let o;
4543
- t[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ (0, q.jsxs)("div", {
4543
+ t[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ (0, W.jsxs)("div", {
4544
4544
  className: "absolute bottom-3 flex items-center gap-1 rounded-full border border-border/60 bg-background/90 px-2.5 py-1 text-xs text-muted-foreground shadow-sm backdrop-blur-sm",
4545
- children: [/* @__PURE__ */ (0, q.jsx)(x, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, q.jsx)("span", { children: "Scroll for more" })]
4545
+ children: [/* @__PURE__ */ (0, W.jsx)(E, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: "Scroll for more" })]
4546
4546
  }), t[3] = o) : o = t[3];
4547
4547
  let s;
4548
- return t[4] === i ? s = t[5] : (s = /* @__PURE__ */ (0, q.jsxs)("div", {
4548
+ return t[4] === i ? s = t[5] : (s = /* @__PURE__ */ (0, W.jsxs)("div", {
4549
4549
  className: i,
4550
4550
  "data-testid": "slide-scroll-hint",
4551
4551
  "aria-hidden": !0,
4552
4552
  children: [a, o]
4553
4553
  }), t[4] = i, t[5] = s), s;
4554
- }, nr = (e) => {
4555
- let t = (0, A.c)(10), { children: n, className: i } = e, a = (0, k.useRef)(null), o = (0, k.useRef)(null), s = er(a, o), c;
4554
+ }, sr = (e) => {
4555
+ let t = (0, F.c)(10), { children: n, className: i } = e, a = (0, P.useRef)(null), o = (0, P.useRef)(null), s = ar(a, o), c;
4556
4556
  t[0] === i ? c = t[1] : (c = r("relative h-full w-full", i), t[0] = i, t[1] = c);
4557
4557
  let l;
4558
- t[2] === n ? l = t[3] : (l = /* @__PURE__ */ (0, q.jsx)("div", {
4558
+ t[2] === n ? l = t[3] : (l = /* @__PURE__ */ (0, W.jsx)("div", {
4559
4559
  ref: a,
4560
4560
  className: "h-full w-full overflow-auto",
4561
4561
  "data-testid": "slide-scroll-container",
4562
- children: /* @__PURE__ */ (0, q.jsx)("div", {
4562
+ children: /* @__PURE__ */ (0, W.jsx)("div", {
4563
4563
  ref: o,
4564
4564
  className: "flex w-full min-h-full",
4565
4565
  children: n
4566
4566
  })
4567
4567
  }), t[2] = n, t[3] = l);
4568
4568
  let u;
4569
- t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0, q.jsx)(tr, {}), t[4] = s, t[5] = u);
4569
+ t[4] === s ? u = t[5] : (u = s && /* @__PURE__ */ (0, W.jsx)(or, {}), t[4] = s, t[5] = u);
4570
4570
  let d;
4571
- return t[6] !== c || t[7] !== l || t[8] !== u ? (d = /* @__PURE__ */ (0, q.jsxs)("div", {
4571
+ return t[6] !== c || t[7] !== l || t[8] !== u ? (d = /* @__PURE__ */ (0, W.jsxs)("div", {
4572
4572
  className: c,
4573
4573
  children: [l, u]
4574
4574
  }), t[6] = c, t[7] = l, t[8] = u, t[9] = d) : d = t[9], d;
4575
4575
  };
4576
4576
  //#endregion
4577
4577
  //#region src/components/slides/compose-slides.ts
4578
- function rr({ cells: e, getType: t }) {
4578
+ function cr({ cells: e, getType: t }) {
4579
4579
  let n = [], r = null, i = null, a = () => {
4580
4580
  let e = { subslides: [] };
4581
4581
  return n.push(e), r = e, i = null, e;
@@ -4601,7 +4601,7 @@ function rr({ cells: e, getType: t }) {
4601
4601
  }
4602
4602
  return { stacks: n };
4603
4603
  }
4604
- function ir({ composition: e, cells: t, getId: n }) {
4604
+ function lr({ composition: e, cells: t, getId: n }) {
4605
4605
  let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
4606
4606
  for (let [e, r] of t.entries()) a.set(n(r), e);
4607
4607
  return e.stacks.forEach((e, t) => {
@@ -4644,27 +4644,27 @@ function ir({ composition: e, cells: t, getId: n }) {
4644
4644
  targetToCellIndex: i
4645
4645
  };
4646
4646
  }
4647
- function ar(e, t) {
4647
+ function ur(e, t) {
4648
4648
  let { h: n, v: r, f: i } = t;
4649
4649
  return e.get(`${n},${r},${i}`) ?? e.get(`${n},${r},-1`);
4650
4650
  }
4651
- function or({ start: e, stop: t, step: n, cells: r, cellToTarget: i, getId: a }) {
4651
+ function dr({ start: e, stop: t, step: n, cells: r, cellToTarget: i, getId: a }) {
4652
4652
  for (let o = e; o !== t; o += n) {
4653
4653
  let e = i.get(a(r[o]));
4654
4654
  if (e) return e;
4655
4655
  }
4656
4656
  }
4657
- function sr({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
4657
+ function fr({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
4658
4658
  if (e == null) return;
4659
4659
  let i = t[e];
4660
- return i ? n.get(r(i)) || (or({
4660
+ return i ? n.get(r(i)) || (dr({
4661
4661
  start: e - 1,
4662
4662
  stop: -1,
4663
4663
  step: -1,
4664
4664
  cells: t,
4665
4665
  cellToTarget: n,
4666
4666
  getId: r
4667
- }) ?? or({
4667
+ }) ?? dr({
4668
4668
  start: e + 1,
4669
4669
  stop: t.length,
4670
4670
  step: 1,
@@ -4673,7 +4673,7 @@ function sr({ activeIndex: e, cells: t, cellToTarget: n, getId: r }) {
4673
4673
  getId: r
4674
4674
  })) : void 0;
4675
4675
  }
4676
- function cr(e, t) {
4676
+ function pr(e, t) {
4677
4677
  let n = {
4678
4678
  h: t.h,
4679
4679
  v: t.v,
@@ -4683,8 +4683,8 @@ function cr(e, t) {
4683
4683
  }
4684
4684
  //#endregion
4685
4685
  //#region src/core/islands/stubs/slide-cell-view.tsx
4686
- var lr = (e) => (n.warn("SlideCellView islands stub rendered; this should never happen in a read-only embed."), null), ur = (e) => (n.warn("SlideCellReadOnlyView islands stub rendered; this should never happen in a read-only embed."), null), dr = 300, fr = (e) => {
4687
- let t = (0, A.c)(25), { layout: n, setLayout: a, cellId: o, className: s } = e, c = o ? n.cells.get(o)?.speakerNotes ?? "" : "", [l, u] = (0, k.useState)(c), d = (0, k.useRef)(!1), f;
4686
+ var mr = (e) => (n.warn("SlideCellView islands stub rendered; this should never happen in a read-only embed."), null), hr = (e) => (n.warn("SlideCellReadOnlyView islands stub rendered; this should never happen in a read-only embed."), null), gr = 300, _r = (e) => {
4687
+ let t = (0, F.c)(25), { layout: n, setLayout: a, cellId: o, className: s } = e, c = o ? n.cells.get(o)?.speakerNotes ?? "" : "", [l, u] = (0, P.useState)(c), d = (0, P.useRef)(!1), f;
4688
4688
  t[0] !== n || t[1] !== a ? (f = (e, t) => {
4689
4689
  d.current = !1;
4690
4690
  let r = n.cells.get(e);
@@ -4698,7 +4698,7 @@ var lr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
4698
4698
  cells: i
4699
4699
  });
4700
4700
  }, t[0] = n, t[1] = a, t[2] = f) : f = t[2];
4701
- let p = D(f), m = S(p, dr), h = (0, k.useRef)(o), g, _;
4701
+ let p = M(f), m = D(p, gr), h = (0, P.useRef)(o), g, _;
4702
4702
  t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== m ? (g = () => {
4703
4703
  if (h.current !== o) {
4704
4704
  m.flush(), d.current = !1, u(c), h.current = o;
@@ -4710,62 +4710,62 @@ var lr = (e) => (n.warn("SlideCellView islands stub rendered; this should never
4710
4710
  c,
4711
4711
  l,
4712
4712
  m
4713
- ], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0, k.useEffect)(g, _);
4713
+ ], t[3] = o, t[4] = l, t[5] = c, t[6] = m, t[7] = g, t[8] = _) : (g = t[7], _ = t[8]), (0, P.useEffect)(g, _);
4714
4714
  let v, y;
4715
4715
  t[9] === m ? (v = t[10], y = t[11]) : (v = () => () => {
4716
4716
  m.flush();
4717
- }, y = [m], t[9] = m, t[10] = v, t[11] = y), (0, k.useEffect)(v, y);
4717
+ }, y = [m], t[9] = m, t[10] = v, t[11] = y), (0, P.useEffect)(v, y);
4718
4718
  let b;
4719
4719
  t[12] !== o || t[13] !== m ? (b = (e) => {
4720
4720
  u(e), o && (d.current = !0, m(o, e));
4721
4721
  }, t[12] = o, t[13] = m, t[14] = b) : b = t[14];
4722
- let x = b, C;
4723
- t[15] === s ? C = t[16] : (C = r("h-full min-h-0 flex flex-col bg-muted/40 dark:bg-muted/20 border-t", s), t[15] = s, t[16] = C);
4724
- let w;
4725
- t[17] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ (0, q.jsxs)("header", {
4722
+ let x = b, S;
4723
+ t[15] === s ? S = t[16] : (S = r("h-full min-h-0 flex flex-col bg-muted/40 dark:bg-muted/20 border-t", s), t[15] = s, t[16] = S);
4724
+ let C;
4725
+ t[17] === Symbol.for("react.memo_cache_sentinel") ? (C = /* @__PURE__ */ (0, W.jsxs)("header", {
4726
4726
  className: "flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",
4727
- children: [/* @__PURE__ */ (0, q.jsx)(O, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, q.jsx)("span", { children: "Speaker notes" })]
4728
- }), t[17] = w) : w = t[17];
4729
- let T;
4730
- t[18] !== o || t[19] !== l || t[20] !== x ? (T = /* @__PURE__ */ (0, q.jsx)("div", {
4727
+ children: [/* @__PURE__ */ (0, W.jsx)(N, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: "Speaker notes" })]
4728
+ }), t[17] = C) : C = t[17];
4729
+ let w;
4730
+ t[18] !== o || t[19] !== l || t[20] !== x ? (w = /* @__PURE__ */ (0, W.jsx)("div", {
4731
4731
  className: "flex-1 min-h-0 p-2",
4732
- children: o ? /* @__PURE__ */ (0, q.jsx)("textarea", {
4732
+ children: o ? /* @__PURE__ */ (0, W.jsx)("textarea", {
4733
4733
  value: l,
4734
4734
  onChange: (e) => x(e.target.value),
4735
4735
  onClick: i.stopPropagation(),
4736
4736
  placeholder: "Add notes for this slide. Visible to you in speaker view (press S during presentation).",
4737
4737
  className: r("h-full w-full resize-none rounded-sm border border-input/25 bg-background", "px-3 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground", "ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:border-accent"),
4738
4738
  "aria-label": "Speaker notes for the current slide"
4739
- }) : /* @__PURE__ */ (0, q.jsx)("div", {
4739
+ }) : /* @__PURE__ */ (0, W.jsx)("div", {
4740
4740
  className: "h-full flex items-center justify-center text-xs text-muted-foreground",
4741
4741
  children: "Select a slide to add notes."
4742
4742
  })
4743
- }), t[18] = o, t[19] = l, t[20] = x, t[21] = T) : T = t[21];
4744
- let E;
4745
- return t[22] !== C || t[23] !== T ? (E = /* @__PURE__ */ (0, q.jsxs)("section", {
4746
- className: C,
4743
+ }), t[18] = o, t[19] = l, t[20] = x, t[21] = w) : w = t[21];
4744
+ let T;
4745
+ return t[22] !== S || t[23] !== w ? (T = /* @__PURE__ */ (0, W.jsxs)("section", {
4746
+ className: S,
4747
4747
  "aria-label": "Speaker notes",
4748
- onKeyDown: pr,
4749
- children: [w, T]
4750
- }), t[22] = C, t[23] = T, t[24] = E) : E = t[24], E;
4748
+ onKeyDown: vr,
4749
+ children: [C, w]
4750
+ }), t[22] = S, t[23] = w, t[24] = T) : T = t[24], T;
4751
4751
  };
4752
- function pr(e) {
4752
+ function vr(e) {
4753
4753
  return e.stopPropagation();
4754
4754
  }
4755
- var mr = "\n\n---\n\n", hr = (e, t) => e.map((e) => t.get(e.id)?.speakerNotes ?? "").filter((e) => e.trim().length > 0).join("\n\n"), gr = (e, t) => {
4756
- let n = e.blocks.map((e) => hr(e.cells, t)), r = e.blocks.map((e, t) => e.isFragment ? "" : n[t]).filter((e) => e.length > 0).join("\n\n"), i = /* @__PURE__ */ new Map(), a = [];
4755
+ var yr = "\n\n---\n\n", br = (e, t) => e.map((e) => t.get(e.id)?.speakerNotes ?? "").filter((e) => e.trim().length > 0).join("\n\n"), xr = (e, t) => {
4756
+ let n = e.blocks.map((e) => br(e.cells, t)), r = e.blocks.map((e, t) => e.isFragment ? "" : n[t]).filter((e) => e.length > 0).join("\n\n"), i = /* @__PURE__ */ new Map(), a = [];
4757
4757
  return e.blocks.forEach((e, t) => {
4758
4758
  if (!e.isFragment) return;
4759
4759
  let o = n[t];
4760
4760
  o.length > 0 && a.push(o);
4761
- let s = [r, ...a].filter((e) => e.length > 0).join(mr);
4761
+ let s = [r, ...a].filter((e) => e.length > 0).join(yr);
4762
4762
  s.length > 0 && i.set(t, s);
4763
4763
  }), {
4764
4764
  slideLevel: r,
4765
4765
  cumulativeByBlock: i
4766
4766
  };
4767
- }, _r = "<!--\n NOTE: You need to build the notes plugin after making changes to this file.\n-->\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n\n <title>reveal.js - Speaker View</title>\n\n <style>\n body {\n font-family: Helvetica;\n font-size: 18px;\n }\n\n #current-slide,\n #upcoming-slide,\n #speaker-controls {\n padding: 6px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n }\n\n #current-slide iframe,\n #upcoming-slide iframe {\n width: 100%;\n height: 100%;\n border: 1px solid #ddd;\n }\n\n #current-slide .label,\n #upcoming-slide .label {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 2;\n }\n\n #connection-status {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 20;\n padding: 30% 20% 20% 20%;\n font-size: 18px;\n color: #222;\n background: #fff;\n text-align: center;\n box-sizing: border-box;\n line-height: 1.4;\n }\n\n .overlay-element {\n height: 34px;\n line-height: 34px;\n padding: 0 10px;\n text-shadow: none;\n background: rgba( 220, 220, 220, 0.8 );\n color: #222;\n font-size: 14px;\n }\n\n .overlay-element.interactive:hover {\n background: rgba( 220, 220, 220, 1 );\n }\n\n #current-slide {\n position: absolute;\n width: 60%;\n height: 100%;\n top: 0;\n left: 0;\n padding-right: 0;\n }\n\n #upcoming-slide {\n position: absolute;\n width: 40%;\n height: 40%;\n right: 0;\n top: 0;\n }\n\n /* Speaker controls */\n #speaker-controls {\n position: absolute;\n top: 40%;\n right: 0;\n width: 40%;\n height: 60%;\n overflow: auto;\n font-size: 18px;\n }\n\n .speaker-controls-time.hidden,\n .speaker-controls-notes.hidden {\n display: none;\n }\n\n .speaker-controls-time .label,\n .speaker-controls-pace .label,\n .speaker-controls-notes .label {\n text-transform: uppercase;\n font-weight: normal;\n font-size: 0.66em;\n color: #666;\n margin: 0;\n }\n\n .speaker-controls-time, .speaker-controls-pace {\n border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );\n margin-bottom: 10px;\n padding: 10px 16px;\n padding-bottom: 20px;\n cursor: pointer;\n }\n\n .speaker-controls-time .reset-button {\n opacity: 0;\n float: right;\n color: #666;\n text-decoration: none;\n }\n .speaker-controls-time:hover .reset-button {\n opacity: 1;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock {\n width: 50%;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock,\n .speaker-controls-time .pacing .hours-value,\n .speaker-controls-time .pacing .minutes-value,\n .speaker-controls-time .pacing .seconds-value {\n font-size: 1.9em;\n }\n\n .speaker-controls-time .timer {\n float: left;\n }\n\n .speaker-controls-time .clock {\n float: right;\n text-align: right;\n }\n\n .speaker-controls-time span.mute {\n opacity: 0.3;\n }\n\n .speaker-controls-time .pacing-title {\n margin-top: 5px;\n }\n\n .speaker-controls-time .pacing.ahead {\n color: blue;\n }\n\n .speaker-controls-time .pacing.on-track {\n color: green;\n }\n\n .speaker-controls-time .pacing.behind {\n color: red;\n }\n\n .speaker-controls-notes {\n padding: 10px 16px;\n }\n\n .speaker-controls-notes .value {\n margin-top: 5px;\n line-height: 1.4;\n font-size: 1.2em;\n }\n\n /* Layout selector\xA0*/\n #speaker-layout {\n position: absolute;\n top: 10px;\n right: 10px;\n color: #222;\n z-index: 10;\n }\n #speaker-layout select {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n border: 0;\n box-shadow: 0;\n cursor: pointer;\n opacity: 0;\n\n font-size: 1em;\n background-color: transparent;\n\n -moz-appearance: none;\n -webkit-appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n #speaker-layout select:focus {\n outline: none;\n box-shadow: none;\n }\n\n .clear {\n clear: both;\n }\n\n /* Speaker layout: Wide */\n body[data-speaker-layout=\"wide\"] #current-slide,\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n width: 50%;\n height: 45%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"wide\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n top: 0;\n left: 50%;\n }\n\n body[data-speaker-layout=\"wide\"] #speaker-controls {\n top: 45%;\n left: 0;\n width: 100%;\n height: 50%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Tall */\n body[data-speaker-layout=\"tall\"] #current-slide,\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n width: 45%;\n height: 50%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"tall\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n top: 50%;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 45%;\n width: 55%;\n height: 100%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Notes only */\n body[data-speaker-layout=\"notes-only\"] #current-slide,\n body[data-speaker-layout=\"notes-only\"] #upcoming-slide {\n display: none;\n }\n\n body[data-speaker-layout=\"notes-only\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n font-size: 1.25em;\n }\n\n @media screen and (max-width: 1080px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 16px;\n }\n }\n\n @media screen and (max-width: 900px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 14px;\n }\n }\n\n @media screen and (max-width: 800px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 12px;\n }\n }\n\n </style>\n </head>\n\n <body>\n\n <div id=\"connection-status\">Loading speaker view...</div>\n\n <div id=\"current-slide\"></div>\n <div id=\"upcoming-slide\"><span class=\"overlay-element label\">Upcoming</span></div>\n <div id=\"speaker-controls\">\n <div class=\"speaker-controls-time\">\n <h4 class=\"label\">Time <span class=\"reset-button\">Click to Reset</span></h4>\n <div class=\"clock\">\n <span class=\"clock-value\">0:00 AM</span>\n </div>\n <div class=\"timer\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n <div class=\"clear\"></div>\n\n <h4 class=\"label pacing-title\" style=\"display: none\">Pacing – Time to finish current slide</h4>\n <div class=\"pacing\" style=\"display: none\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n </div>\n\n <div class=\"speaker-controls-notes hidden\">\n <h4 class=\"label\">Notes</h4>\n <div class=\"value\"></div>\n </div>\n </div>\n <div id=\"speaker-layout\" class=\"overlay-element interactive\">\n <span class=\"speaker-layout-label\"></span>\n <select class=\"speaker-layout-dropdown\"></select>\n </div>\n\n <script>\n\n (function() {\n\n var notes,\n notesValue,\n currentState,\n currentSlide,\n upcomingSlide,\n layoutLabel,\n layoutDropdown,\n pendingCalls = {},\n lastRevealApiCallId = 0,\n connected = false\n\n var connectionStatus = document.querySelector( '#connection-status' );\n\n var SPEAKER_LAYOUTS = {\n 'default': 'Default',\n 'wide': 'Wide',\n 'tall': 'Tall',\n 'notes-only': 'Notes only'\n };\n\n setupLayout();\n\n let openerOrigin;\n\n try {\n openerOrigin = window.opener.location.origin;\n }\n catch ( error ) { console.warn( error ) }\n\n // In order to prevent XSS, the speaker view will only run if its\n // opener has the same origin as itself\n if( window.location.origin !== openerOrigin ) {\n connectionStatus.innerHTML = 'Cross origin error.<br>The speaker window can only be opened from the same origin.';\n return;\n }\n\n var connectionTimeout = setTimeout( function() {\n connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';\n }, 5000 );\n\n window.addEventListener( 'message', function( event ) {\n\n // Validate the origin of all messages to avoid parsing messages\n // that aren't meant for us. Ignore when running off file:// so\n // that the speaker view continues to work without a web server.\n if( window.location.origin !== event.origin && window.location.origin !== 'file://' ) {\n return\n }\n\n clearTimeout( connectionTimeout );\n connectionStatus.style.display = 'none';\n\n var data = JSON.parse( event.data );\n\n // The overview mode is only useful to the reveal.js instance\n // where navigation occurs so we don't sync it\n if( data.state ) delete data.state.overview;\n\n // Messages sent by the notes plugin inside of the main window\n if( data && data.namespace === 'reveal-notes' ) {\n if( data.type === 'connect' ) {\n handleConnectMessage( data );\n }\n else if( data.type === 'state' ) {\n handleStateMessage( data );\n }\n else if( data.type === 'return' ) {\n pendingCalls[data.callId](data.result);\n delete pendingCalls[data.callId];\n }\n }\n // Messages sent by the reveal.js inside of the current slide preview\n else if( data && data.namespace === 'reveal' ) {\n const supportedEvents = [\n 'slidechanged',\n 'fragmentshown',\n 'fragmenthidden',\n 'paused',\n 'resumed',\n 'previewiframe',\n 'previewimage',\n 'previewvideo',\n 'closeoverlay'\n ];\n\n if( /ready/.test( data.eventName ) ) {\n // Send a message back to notify that the handshake is complete\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' );\n }\n else if( supportedEvents.includes( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {\n dispatchStateToMainWindow( data.state );\n }\n }\n\n } );\n\n /**\n * Updates the presentation in the main window to match the state\n * of the presentation in the notes window.\n */\n const dispatchStateToMainWindow = debounce(( state ) => {\n window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );\n }, 500);\n\n /**\n * Asynchronously calls the Reveal.js API of the main frame.\n */\n function callRevealApi( methodName, methodArguments, callback ) {\n\n var callId = ++lastRevealApiCallId;\n pendingCalls[callId] = callback;\n window.opener.postMessage( JSON.stringify( {\n namespace: 'reveal-notes',\n type: 'call',\n callId: callId,\n methodName: methodName,\n arguments: methodArguments\n } ), '*' );\n\n }\n\n /**\n * Called when the main window is trying to establish a\n * connection.\n */\n function handleConnectMessage( data ) {\n\n if( connected === false ) {\n connected = true;\n\n setupIframes( data );\n setupKeyboard();\n setupNotes();\n setupTimer();\n setupHeartbeat();\n }\n\n }\n\n /**\n * Called when the main window sends an updated state.\n */\n function handleStateMessage( data ) {\n\n // Store the most recently set state to avoid circular loops\n // applying the same state\n currentState = JSON.stringify( data.state );\n\n // No need for updating the notes in case of fragment changes\n if ( data.notes ) {\n notes.classList.remove( 'hidden' );\n notesValue.style.whiteSpace = data.whitespace;\n if( data.markdown ) {\n notesValue.innerHTML = marked.parse( data.notes );\n }\n else {\n notesValue.innerHTML = data.notes;\n }\n }\n else {\n notes.classList.add( 'hidden' );\n }\n\n // Don't show lightboxes in the upcoming slide\n const { previewVideo, previewImage, previewIframe, ...upcomingState } = data.state;\n\n // Update the note slides\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ upcomingState ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );\n\n }\n\n // Limit to max one state update per X ms\n handleStateMessage = debounce( handleStateMessage, 200 );\n\n /**\n * Forward keyboard events to the current slide window.\n * This enables keyboard events to work even if focus\n * isn't set on the current slide iframe.\n *\n * Block F5 default handling, it reloads and disconnects\n * the speaker notes window.\n */\n function setupKeyboard() {\n\n document.addEventListener( 'keydown', function( event ) {\n if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {\n event.preventDefault();\n return false;\n }\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );\n } );\n\n }\n\n /**\n * Creates the preview iframes.\n */\n function setupIframes( data ) {\n\n var params = [\n 'receiver',\n 'progress=false',\n 'history=false',\n 'transition=none',\n 'autoSlide=0',\n 'backgroundTransition=none'\n ].join( '&' );\n\n var urlSeparator = /\\?/.test(data.url) ? '&' : '?';\n var hash = '#/' + data.state.indexh + '/' + data.state.indexv;\n var currentURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&postMessageEvents=true' + hash;\n var upcomingURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&controls=false' + hash;\n\n currentSlide = document.createElement( 'iframe' );\n currentSlide.setAttribute( 'width', 1280 );\n currentSlide.setAttribute( 'height', 1024 );\n currentSlide.setAttribute( 'src', currentURL );\n document.querySelector( '#current-slide' ).appendChild( currentSlide );\n\n upcomingSlide = document.createElement( 'iframe' );\n upcomingSlide.setAttribute( 'width', 640 );\n upcomingSlide.setAttribute( 'height', 512 );\n upcomingSlide.setAttribute( 'src', upcomingURL );\n document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );\n\n }\n\n /**\n * Setup the notes UI.\n */\n function setupNotes() {\n\n notes = document.querySelector( '.speaker-controls-notes' );\n notesValue = document.querySelector( '.speaker-controls-notes .value' );\n\n }\n\n /**\n * We send out a heartbeat at all times to ensure we can\n * reconnect with the main presentation window after reloads.\n */\n function setupHeartbeat() {\n\n setInterval( () => {\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'heartbeat'} ), '*' );\n }, 1000 );\n\n }\n\n function getTimings( callback ) {\n\n callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {\n callRevealApi( 'getConfig', [], function ( config ) {\n var totalTime = config.totalTime;\n var minTimePerSlide = config.minimumTimePerSlide || 0;\n var defaultTiming = config.defaultTiming;\n if ((defaultTiming == null) && (totalTime == null)) {\n callback(null);\n return;\n }\n // Setting totalTime overrides defaultTiming\n if (totalTime) {\n defaultTiming = 0;\n }\n var timings = [];\n for ( var i in slideAttributes ) {\n var slide = slideAttributes[ i ];\n var timing = defaultTiming;\n if( slide.hasOwnProperty( 'data-timing' )) {\n var t = slide[ 'data-timing' ];\n timing = parseInt(t);\n if( isNaN(timing) ) {\n console.warn(\"Could not parse timing '\" + t + \"' of slide \" + i + \"; using default of \" + defaultTiming);\n timing = defaultTiming;\n }\n }\n timings.push(timing);\n }\n if ( totalTime ) {\n // After we've allocated time to individual slides, we summarize it and\n // subtract it from the total time\n var remainingTime = totalTime - timings.reduce( function(a, b) { return a + b; }, 0 );\n // The remaining time is divided by the number of slides that have 0 seconds\n // allocated at the moment, giving the average time-per-slide on the remaining slides\n var remainingSlides = (timings.filter( function(x) { return x == 0 }) ).length\n var timePerSlide = Math.round( remainingTime / remainingSlides, 0 )\n // And now we replace every zero-value timing with that average\n timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );\n }\n var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length\n if ( slidesUnderMinimum ) {\n message = \"The pacing time for \" + slidesUnderMinimum + \" slide(s) is under the configured minimum of \" + minTimePerSlide + \" seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).\";\n alert(message);\n }\n callback( timings );\n } );\n } );\n\n }\n\n /**\n * Return the number of seconds allocated for presenting\n * all slides up to and including this one.\n */\n function getTimeAllocated( timings, callback ) {\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var allocated = 0;\n for (var i in timings.slice(0, currentSlide + 1)) {\n allocated += timings[i];\n }\n callback( allocated );\n } );\n\n }\n\n /**\n * Create the timer and clock and start updating them\n * at an interval.\n */\n function setupTimer() {\n\n var start = new Date(),\n timeEl = document.querySelector( '.speaker-controls-time' ),\n clockEl = timeEl.querySelector( '.clock-value' ),\n hoursEl = timeEl.querySelector( '.hours-value' ),\n minutesEl = timeEl.querySelector( '.minutes-value' ),\n secondsEl = timeEl.querySelector( '.seconds-value' ),\n pacingTitleEl = timeEl.querySelector( '.pacing-title' ),\n pacingEl = timeEl.querySelector( '.pacing' ),\n pacingHoursEl = pacingEl.querySelector( '.hours-value' ),\n pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ),\n pacingSecondsEl = pacingEl.querySelector( '.seconds-value' );\n\n var timings = null;\n getTimings( function ( _timings ) {\n\n timings = _timings;\n if (_timings !== null) {\n pacingTitleEl.style.removeProperty('display');\n pacingEl.style.removeProperty('display');\n }\n\n // Update once directly\n _updateTimer();\n\n // Then update every second\n setInterval( _updateTimer, 1000 );\n\n } );\n\n\n function _resetTimer() {\n\n if (timings == null) {\n start = new Date();\n _updateTimer();\n }\n else {\n // Reset timer to beginning of current slide\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var previousSlidesTiming = slideEndTiming - currentSlideTiming;\n var now = new Date();\n start = new Date(now.getTime() - previousSlidesTiming);\n _updateTimer();\n } );\n } );\n }\n\n }\n\n timeEl.addEventListener( 'click', function() {\n _resetTimer();\n return false;\n } );\n\n function _displayTime( hrEl, minEl, secEl, time) {\n\n var sign = Math.sign(time) == -1 ? \"-\" : \"\";\n time = Math.abs(Math.round(time / 1000));\n var seconds = time % 60;\n var minutes = Math.floor( time / 60 ) % 60 ;\n var hours = Math.floor( time / ( 60 * 60 )) ;\n hrEl.innerHTML = sign + zeroPadInteger( hours );\n if (hours == 0) {\n hrEl.classList.add( 'mute' );\n }\n else {\n hrEl.classList.remove( 'mute' );\n }\n minEl.innerHTML = ':' + zeroPadInteger( minutes );\n if (hours == 0 && minutes == 0) {\n minEl.classList.add( 'mute' );\n }\n else {\n minEl.classList.remove( 'mute' );\n }\n secEl.innerHTML = ':' + zeroPadInteger( seconds );\n }\n\n function _updateTimer() {\n\n var diff, hours, minutes, seconds,\n now = new Date();\n\n diff = now.getTime() - start.getTime();\n\n clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );\n _displayTime( hoursEl, minutesEl, secondsEl, diff );\n if (timings !== null) {\n _updatePacing(diff);\n }\n\n }\n\n function _updatePacing(diff) {\n\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var timeLeftCurrentSlide = slideEndTiming - diff;\n if (timeLeftCurrentSlide < 0) {\n pacingEl.className = 'pacing behind';\n }\n else if (timeLeftCurrentSlide < currentSlideTiming) {\n pacingEl.className = 'pacing on-track';\n }\n else {\n pacingEl.className = 'pacing ahead';\n }\n _displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide );\n } );\n } );\n }\n\n }\n\n /**\n * Sets up the speaker view layout and layout selector.\n */\n function setupLayout() {\n\n layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );\n layoutLabel = document.querySelector( '.speaker-layout-label' );\n\n // Render the list of available layouts\n for( var id in SPEAKER_LAYOUTS ) {\n var option = document.createElement( 'option' );\n option.setAttribute( 'value', id );\n option.textContent = SPEAKER_LAYOUTS[ id ];\n layoutDropdown.appendChild( option );\n }\n\n // Monitor the dropdown for changes\n layoutDropdown.addEventListener( 'change', function( event ) {\n\n setLayout( layoutDropdown.value );\n\n }, false );\n\n // Restore any currently persisted layout\n setLayout( getLayout() );\n\n }\n\n /**\n * Sets a new speaker view layout. The layout is persisted\n * in local storage.\n */\n function setLayout( value ) {\n\n var title = SPEAKER_LAYOUTS[ value ];\n\n layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );\n layoutDropdown.value = value;\n\n document.body.setAttribute( 'data-speaker-layout', value );\n\n // Persist locally\n if( supportsLocalStorage() ) {\n window.localStorage.setItem( 'reveal-speaker-layout', value );\n }\n\n }\n\n /**\n * Returns the ID of the most recently set speaker layout\n * or our default layout if none has been set.\n */\n function getLayout() {\n\n if( supportsLocalStorage() ) {\n var layout = window.localStorage.getItem( 'reveal-speaker-layout' );\n if( layout ) {\n return layout;\n }\n }\n\n // Default to the first record in the layouts hash\n for( var id in SPEAKER_LAYOUTS ) {\n return id;\n }\n\n }\n\n function supportsLocalStorage() {\n\n try {\n localStorage.setItem('test', 'test');\n localStorage.removeItem('test');\n return true;\n }\n catch( e ) {\n return false;\n }\n\n }\n\n function zeroPadInteger( num ) {\n\n var str = '00' + parseInt( num );\n return str.substring( str.length - 2 );\n\n }\n\n /**\n * Limits the frequency at which a function can be called.\n */\n function debounce( fn, ms ) {\n\n var lastTime = 0,\n timeout;\n\n return function() {\n\n var args = arguments;\n var context = this;\n\n clearTimeout( timeout );\n\n var timeSinceLastCall = Date.now() - lastTime;\n if( timeSinceLastCall > ms ) {\n fn.apply( context, args );\n lastTime = Date.now();\n }\n else {\n timeout = setTimeout( function() {\n fn.apply( context, args );\n lastTime = Date.now();\n }, ms - timeSinceLastCall );\n }\n\n }\n\n }\n\n })();\n\n <\/script>\n </body>\n</html>";
4768
- function vr() {
4767
+ }, Sr = "<!--\n NOTE: You need to build the notes plugin after making changes to this file.\n-->\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n\n <title>reveal.js - Speaker View</title>\n\n <style>\n body {\n font-family: Helvetica;\n font-size: 18px;\n }\n\n #current-slide,\n #upcoming-slide,\n #speaker-controls {\n padding: 6px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n }\n\n #current-slide iframe,\n #upcoming-slide iframe {\n width: 100%;\n height: 100%;\n border: 1px solid #ddd;\n }\n\n #current-slide .label,\n #upcoming-slide .label {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 2;\n }\n\n #connection-status {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 20;\n padding: 30% 20% 20% 20%;\n font-size: 18px;\n color: #222;\n background: #fff;\n text-align: center;\n box-sizing: border-box;\n line-height: 1.4;\n }\n\n .overlay-element {\n height: 34px;\n line-height: 34px;\n padding: 0 10px;\n text-shadow: none;\n background: rgba( 220, 220, 220, 0.8 );\n color: #222;\n font-size: 14px;\n }\n\n .overlay-element.interactive:hover {\n background: rgba( 220, 220, 220, 1 );\n }\n\n #current-slide {\n position: absolute;\n width: 60%;\n height: 100%;\n top: 0;\n left: 0;\n padding-right: 0;\n }\n\n #upcoming-slide {\n position: absolute;\n width: 40%;\n height: 40%;\n right: 0;\n top: 0;\n }\n\n /* Speaker controls */\n #speaker-controls {\n position: absolute;\n top: 40%;\n right: 0;\n width: 40%;\n height: 60%;\n overflow: auto;\n font-size: 18px;\n }\n\n .speaker-controls-time.hidden,\n .speaker-controls-notes.hidden {\n display: none;\n }\n\n .speaker-controls-time .label,\n .speaker-controls-pace .label,\n .speaker-controls-notes .label {\n text-transform: uppercase;\n font-weight: normal;\n font-size: 0.66em;\n color: #666;\n margin: 0;\n }\n\n .speaker-controls-time, .speaker-controls-pace {\n border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );\n margin-bottom: 10px;\n padding: 10px 16px;\n padding-bottom: 20px;\n cursor: pointer;\n }\n\n .speaker-controls-time .reset-button {\n opacity: 0;\n float: right;\n color: #666;\n text-decoration: none;\n }\n .speaker-controls-time:hover .reset-button {\n opacity: 1;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock {\n width: 50%;\n }\n\n .speaker-controls-time .timer,\n .speaker-controls-time .clock,\n .speaker-controls-time .pacing .hours-value,\n .speaker-controls-time .pacing .minutes-value,\n .speaker-controls-time .pacing .seconds-value {\n font-size: 1.9em;\n }\n\n .speaker-controls-time .timer {\n float: left;\n }\n\n .speaker-controls-time .clock {\n float: right;\n text-align: right;\n }\n\n .speaker-controls-time span.mute {\n opacity: 0.3;\n }\n\n .speaker-controls-time .pacing-title {\n margin-top: 5px;\n }\n\n .speaker-controls-time .pacing.ahead {\n color: blue;\n }\n\n .speaker-controls-time .pacing.on-track {\n color: green;\n }\n\n .speaker-controls-time .pacing.behind {\n color: red;\n }\n\n .speaker-controls-notes {\n padding: 10px 16px;\n }\n\n .speaker-controls-notes .value {\n margin-top: 5px;\n line-height: 1.4;\n font-size: 1.2em;\n }\n\n /* Layout selector\xA0*/\n #speaker-layout {\n position: absolute;\n top: 10px;\n right: 10px;\n color: #222;\n z-index: 10;\n }\n #speaker-layout select {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n border: 0;\n box-shadow: 0;\n cursor: pointer;\n opacity: 0;\n\n font-size: 1em;\n background-color: transparent;\n\n -moz-appearance: none;\n -webkit-appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n #speaker-layout select:focus {\n outline: none;\n box-shadow: none;\n }\n\n .clear {\n clear: both;\n }\n\n /* Speaker layout: Wide */\n body[data-speaker-layout=\"wide\"] #current-slide,\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n width: 50%;\n height: 45%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"wide\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"wide\"] #upcoming-slide {\n top: 0;\n left: 50%;\n }\n\n body[data-speaker-layout=\"wide\"] #speaker-controls {\n top: 45%;\n left: 0;\n width: 100%;\n height: 50%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Tall */\n body[data-speaker-layout=\"tall\"] #current-slide,\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n width: 45%;\n height: 50%;\n padding: 6px;\n }\n\n body[data-speaker-layout=\"tall\"] #current-slide {\n top: 0;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #upcoming-slide {\n top: 50%;\n left: 0;\n }\n\n body[data-speaker-layout=\"tall\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 45%;\n width: 55%;\n height: 100%;\n font-size: 1.25em;\n }\n\n /* Speaker layout: Notes only */\n body[data-speaker-layout=\"notes-only\"] #current-slide,\n body[data-speaker-layout=\"notes-only\"] #upcoming-slide {\n display: none;\n }\n\n body[data-speaker-layout=\"notes-only\"] #speaker-controls {\n padding-top: 40px;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n font-size: 1.25em;\n }\n\n @media screen and (max-width: 1080px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 16px;\n }\n }\n\n @media screen and (max-width: 900px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 14px;\n }\n }\n\n @media screen and (max-width: 800px) {\n body[data-speaker-layout=\"default\"] #speaker-controls {\n font-size: 12px;\n }\n }\n\n </style>\n </head>\n\n <body>\n\n <div id=\"connection-status\">Loading speaker view...</div>\n\n <div id=\"current-slide\"></div>\n <div id=\"upcoming-slide\"><span class=\"overlay-element label\">Upcoming</span></div>\n <div id=\"speaker-controls\">\n <div class=\"speaker-controls-time\">\n <h4 class=\"label\">Time <span class=\"reset-button\">Click to Reset</span></h4>\n <div class=\"clock\">\n <span class=\"clock-value\">0:00 AM</span>\n </div>\n <div class=\"timer\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n <div class=\"clear\"></div>\n\n <h4 class=\"label pacing-title\" style=\"display: none\">Pacing – Time to finish current slide</h4>\n <div class=\"pacing\" style=\"display: none\">\n <span class=\"hours-value\">00</span><span class=\"minutes-value\">:00</span><span class=\"seconds-value\">:00</span>\n </div>\n </div>\n\n <div class=\"speaker-controls-notes hidden\">\n <h4 class=\"label\">Notes</h4>\n <div class=\"value\"></div>\n </div>\n </div>\n <div id=\"speaker-layout\" class=\"overlay-element interactive\">\n <span class=\"speaker-layout-label\"></span>\n <select class=\"speaker-layout-dropdown\"></select>\n </div>\n\n <script>\n\n (function() {\n\n var notes,\n notesValue,\n currentState,\n currentSlide,\n upcomingSlide,\n layoutLabel,\n layoutDropdown,\n pendingCalls = {},\n lastRevealApiCallId = 0,\n connected = false\n\n var connectionStatus = document.querySelector( '#connection-status' );\n\n var SPEAKER_LAYOUTS = {\n 'default': 'Default',\n 'wide': 'Wide',\n 'tall': 'Tall',\n 'notes-only': 'Notes only'\n };\n\n setupLayout();\n\n let openerOrigin;\n\n try {\n openerOrigin = window.opener.location.origin;\n }\n catch ( error ) { console.warn( error ) }\n\n // In order to prevent XSS, the speaker view will only run if its\n // opener has the same origin as itself\n if( window.location.origin !== openerOrigin ) {\n connectionStatus.innerHTML = 'Cross origin error.<br>The speaker window can only be opened from the same origin.';\n return;\n }\n\n var connectionTimeout = setTimeout( function() {\n connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';\n }, 5000 );\n\n window.addEventListener( 'message', function( event ) {\n\n // Validate the origin of all messages to avoid parsing messages\n // that aren't meant for us. Ignore when running off file:// so\n // that the speaker view continues to work without a web server.\n if( window.location.origin !== event.origin && window.location.origin !== 'file://' ) {\n return\n }\n\n clearTimeout( connectionTimeout );\n connectionStatus.style.display = 'none';\n\n var data = JSON.parse( event.data );\n\n // The overview mode is only useful to the reveal.js instance\n // where navigation occurs so we don't sync it\n if( data.state ) delete data.state.overview;\n\n // Messages sent by the notes plugin inside of the main window\n if( data && data.namespace === 'reveal-notes' ) {\n if( data.type === 'connect' ) {\n handleConnectMessage( data );\n }\n else if( data.type === 'state' ) {\n handleStateMessage( data );\n }\n else if( data.type === 'return' ) {\n pendingCalls[data.callId](data.result);\n delete pendingCalls[data.callId];\n }\n }\n // Messages sent by the reveal.js inside of the current slide preview\n else if( data && data.namespace === 'reveal' ) {\n const supportedEvents = [\n 'slidechanged',\n 'fragmentshown',\n 'fragmenthidden',\n 'paused',\n 'resumed',\n 'previewiframe',\n 'previewimage',\n 'previewvideo',\n 'closeoverlay'\n ];\n\n if( /ready/.test( data.eventName ) ) {\n // Send a message back to notify that the handshake is complete\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' );\n }\n else if( supportedEvents.includes( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {\n dispatchStateToMainWindow( data.state );\n }\n }\n\n } );\n\n /**\n * Updates the presentation in the main window to match the state\n * of the presentation in the notes window.\n */\n const dispatchStateToMainWindow = debounce(( state ) => {\n window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );\n }, 500);\n\n /**\n * Asynchronously calls the Reveal.js API of the main frame.\n */\n function callRevealApi( methodName, methodArguments, callback ) {\n\n var callId = ++lastRevealApiCallId;\n pendingCalls[callId] = callback;\n window.opener.postMessage( JSON.stringify( {\n namespace: 'reveal-notes',\n type: 'call',\n callId: callId,\n methodName: methodName,\n arguments: methodArguments\n } ), '*' );\n\n }\n\n /**\n * Called when the main window is trying to establish a\n * connection.\n */\n function handleConnectMessage( data ) {\n\n if( connected === false ) {\n connected = true;\n\n setupIframes( data );\n setupKeyboard();\n setupNotes();\n setupTimer();\n setupHeartbeat();\n }\n\n }\n\n /**\n * Called when the main window sends an updated state.\n */\n function handleStateMessage( data ) {\n\n // Store the most recently set state to avoid circular loops\n // applying the same state\n currentState = JSON.stringify( data.state );\n\n // No need for updating the notes in case of fragment changes\n if ( data.notes ) {\n notes.classList.remove( 'hidden' );\n notesValue.style.whiteSpace = data.whitespace;\n if( data.markdown ) {\n notesValue.innerHTML = marked.parse( data.notes );\n }\n else {\n notesValue.innerHTML = data.notes;\n }\n }\n else {\n notes.classList.add( 'hidden' );\n }\n\n // Don't show lightboxes in the upcoming slide\n const { previewVideo, previewImage, previewIframe, ...upcomingState } = data.state;\n\n // Update the note slides\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ upcomingState ] }), '*' );\n upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );\n\n }\n\n // Limit to max one state update per X ms\n handleStateMessage = debounce( handleStateMessage, 200 );\n\n /**\n * Forward keyboard events to the current slide window.\n * This enables keyboard events to work even if focus\n * isn't set on the current slide iframe.\n *\n * Block F5 default handling, it reloads and disconnects\n * the speaker notes window.\n */\n function setupKeyboard() {\n\n document.addEventListener( 'keydown', function( event ) {\n if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {\n event.preventDefault();\n return false;\n }\n currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );\n } );\n\n }\n\n /**\n * Creates the preview iframes.\n */\n function setupIframes( data ) {\n\n var params = [\n 'receiver',\n 'progress=false',\n 'history=false',\n 'transition=none',\n 'autoSlide=0',\n 'backgroundTransition=none'\n ].join( '&' );\n\n var urlSeparator = /\\?/.test(data.url) ? '&' : '?';\n var hash = '#/' + data.state.indexh + '/' + data.state.indexv;\n var currentURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&postMessageEvents=true' + hash;\n var upcomingURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&controls=false' + hash;\n\n currentSlide = document.createElement( 'iframe' );\n currentSlide.setAttribute( 'width', 1280 );\n currentSlide.setAttribute( 'height', 1024 );\n currentSlide.setAttribute( 'src', currentURL );\n document.querySelector( '#current-slide' ).appendChild( currentSlide );\n\n upcomingSlide = document.createElement( 'iframe' );\n upcomingSlide.setAttribute( 'width', 640 );\n upcomingSlide.setAttribute( 'height', 512 );\n upcomingSlide.setAttribute( 'src', upcomingURL );\n document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );\n\n }\n\n /**\n * Setup the notes UI.\n */\n function setupNotes() {\n\n notes = document.querySelector( '.speaker-controls-notes' );\n notesValue = document.querySelector( '.speaker-controls-notes .value' );\n\n }\n\n /**\n * We send out a heartbeat at all times to ensure we can\n * reconnect with the main presentation window after reloads.\n */\n function setupHeartbeat() {\n\n setInterval( () => {\n window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'heartbeat'} ), '*' );\n }, 1000 );\n\n }\n\n function getTimings( callback ) {\n\n callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {\n callRevealApi( 'getConfig', [], function ( config ) {\n var totalTime = config.totalTime;\n var minTimePerSlide = config.minimumTimePerSlide || 0;\n var defaultTiming = config.defaultTiming;\n if ((defaultTiming == null) && (totalTime == null)) {\n callback(null);\n return;\n }\n // Setting totalTime overrides defaultTiming\n if (totalTime) {\n defaultTiming = 0;\n }\n var timings = [];\n for ( var i in slideAttributes ) {\n var slide = slideAttributes[ i ];\n var timing = defaultTiming;\n if( slide.hasOwnProperty( 'data-timing' )) {\n var t = slide[ 'data-timing' ];\n timing = parseInt(t);\n if( isNaN(timing) ) {\n console.warn(\"Could not parse timing '\" + t + \"' of slide \" + i + \"; using default of \" + defaultTiming);\n timing = defaultTiming;\n }\n }\n timings.push(timing);\n }\n if ( totalTime ) {\n // After we've allocated time to individual slides, we summarize it and\n // subtract it from the total time\n var remainingTime = totalTime - timings.reduce( function(a, b) { return a + b; }, 0 );\n // The remaining time is divided by the number of slides that have 0 seconds\n // allocated at the moment, giving the average time-per-slide on the remaining slides\n var remainingSlides = (timings.filter( function(x) { return x == 0 }) ).length\n var timePerSlide = Math.round( remainingTime / remainingSlides, 0 )\n // And now we replace every zero-value timing with that average\n timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );\n }\n var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length\n if ( slidesUnderMinimum ) {\n message = \"The pacing time for \" + slidesUnderMinimum + \" slide(s) is under the configured minimum of \" + minTimePerSlide + \" seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).\";\n alert(message);\n }\n callback( timings );\n } );\n } );\n\n }\n\n /**\n * Return the number of seconds allocated for presenting\n * all slides up to and including this one.\n */\n function getTimeAllocated( timings, callback ) {\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var allocated = 0;\n for (var i in timings.slice(0, currentSlide + 1)) {\n allocated += timings[i];\n }\n callback( allocated );\n } );\n\n }\n\n /**\n * Create the timer and clock and start updating them\n * at an interval.\n */\n function setupTimer() {\n\n var start = new Date(),\n timeEl = document.querySelector( '.speaker-controls-time' ),\n clockEl = timeEl.querySelector( '.clock-value' ),\n hoursEl = timeEl.querySelector( '.hours-value' ),\n minutesEl = timeEl.querySelector( '.minutes-value' ),\n secondsEl = timeEl.querySelector( '.seconds-value' ),\n pacingTitleEl = timeEl.querySelector( '.pacing-title' ),\n pacingEl = timeEl.querySelector( '.pacing' ),\n pacingHoursEl = pacingEl.querySelector( '.hours-value' ),\n pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ),\n pacingSecondsEl = pacingEl.querySelector( '.seconds-value' );\n\n var timings = null;\n getTimings( function ( _timings ) {\n\n timings = _timings;\n if (_timings !== null) {\n pacingTitleEl.style.removeProperty('display');\n pacingEl.style.removeProperty('display');\n }\n\n // Update once directly\n _updateTimer();\n\n // Then update every second\n setInterval( _updateTimer, 1000 );\n\n } );\n\n\n function _resetTimer() {\n\n if (timings == null) {\n start = new Date();\n _updateTimer();\n }\n else {\n // Reset timer to beginning of current slide\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var previousSlidesTiming = slideEndTiming - currentSlideTiming;\n var now = new Date();\n start = new Date(now.getTime() - previousSlidesTiming);\n _updateTimer();\n } );\n } );\n }\n\n }\n\n timeEl.addEventListener( 'click', function() {\n _resetTimer();\n return false;\n } );\n\n function _displayTime( hrEl, minEl, secEl, time) {\n\n var sign = Math.sign(time) == -1 ? \"-\" : \"\";\n time = Math.abs(Math.round(time / 1000));\n var seconds = time % 60;\n var minutes = Math.floor( time / 60 ) % 60 ;\n var hours = Math.floor( time / ( 60 * 60 )) ;\n hrEl.innerHTML = sign + zeroPadInteger( hours );\n if (hours == 0) {\n hrEl.classList.add( 'mute' );\n }\n else {\n hrEl.classList.remove( 'mute' );\n }\n minEl.innerHTML = ':' + zeroPadInteger( minutes );\n if (hours == 0 && minutes == 0) {\n minEl.classList.add( 'mute' );\n }\n else {\n minEl.classList.remove( 'mute' );\n }\n secEl.innerHTML = ':' + zeroPadInteger( seconds );\n }\n\n function _updateTimer() {\n\n var diff, hours, minutes, seconds,\n now = new Date();\n\n diff = now.getTime() - start.getTime();\n\n clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );\n _displayTime( hoursEl, minutesEl, secondsEl, diff );\n if (timings !== null) {\n _updatePacing(diff);\n }\n\n }\n\n function _updatePacing(diff) {\n\n getTimeAllocated( timings, function ( slideEndTimingSeconds ) {\n var slideEndTiming = slideEndTimingSeconds * 1000;\n\n callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {\n var currentSlideTiming = timings[currentSlide] * 1000;\n var timeLeftCurrentSlide = slideEndTiming - diff;\n if (timeLeftCurrentSlide < 0) {\n pacingEl.className = 'pacing behind';\n }\n else if (timeLeftCurrentSlide < currentSlideTiming) {\n pacingEl.className = 'pacing on-track';\n }\n else {\n pacingEl.className = 'pacing ahead';\n }\n _displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide );\n } );\n } );\n }\n\n }\n\n /**\n * Sets up the speaker view layout and layout selector.\n */\n function setupLayout() {\n\n layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );\n layoutLabel = document.querySelector( '.speaker-layout-label' );\n\n // Render the list of available layouts\n for( var id in SPEAKER_LAYOUTS ) {\n var option = document.createElement( 'option' );\n option.setAttribute( 'value', id );\n option.textContent = SPEAKER_LAYOUTS[ id ];\n layoutDropdown.appendChild( option );\n }\n\n // Monitor the dropdown for changes\n layoutDropdown.addEventListener( 'change', function( event ) {\n\n setLayout( layoutDropdown.value );\n\n }, false );\n\n // Restore any currently persisted layout\n setLayout( getLayout() );\n\n }\n\n /**\n * Sets a new speaker view layout. The layout is persisted\n * in local storage.\n */\n function setLayout( value ) {\n\n var title = SPEAKER_LAYOUTS[ value ];\n\n layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );\n layoutDropdown.value = value;\n\n document.body.setAttribute( 'data-speaker-layout', value );\n\n // Persist locally\n if( supportsLocalStorage() ) {\n window.localStorage.setItem( 'reveal-speaker-layout', value );\n }\n\n }\n\n /**\n * Returns the ID of the most recently set speaker layout\n * or our default layout if none has been set.\n */\n function getLayout() {\n\n if( supportsLocalStorage() ) {\n var layout = window.localStorage.getItem( 'reveal-speaker-layout' );\n if( layout ) {\n return layout;\n }\n }\n\n // Default to the first record in the layouts hash\n for( var id in SPEAKER_LAYOUTS ) {\n return id;\n }\n\n }\n\n function supportsLocalStorage() {\n\n try {\n localStorage.setItem('test', 'test');\n localStorage.removeItem('test');\n return true;\n }\n catch( e ) {\n return false;\n }\n\n }\n\n function zeroPadInteger( num ) {\n\n var str = '00' + parseInt( num );\n return str.substring( str.length - 2 );\n\n }\n\n /**\n * Limits the frequency at which a function can be called.\n */\n function debounce( fn, ms ) {\n\n var lastTime = 0,\n timeout;\n\n return function() {\n\n var args = arguments;\n var context = this;\n\n clearTimeout( timeout );\n\n var timeSinceLastCall = Date.now() - lastTime;\n if( timeSinceLastCall > ms ) {\n fn.apply( context, args );\n lastTime = Date.now();\n }\n else {\n timeout = setTimeout( function() {\n fn.apply( context, args );\n lastTime = Date.now();\n }, ms - timeSinceLastCall );\n }\n\n }\n\n }\n\n })();\n\n <\/script>\n </body>\n</html>";
4768
+ function Cr() {
4769
4769
  return {
4770
4770
  async: !1,
4771
4771
  breaks: !1,
@@ -4779,11 +4779,11 @@ function vr() {
4779
4779
  walkTokens: null
4780
4780
  };
4781
4781
  }
4782
- var yr = vr();
4783
- function br(e) {
4784
- yr = e;
4782
+ var wr = Cr();
4783
+ function Tr(e) {
4784
+ wr = e;
4785
4785
  }
4786
- var xr = { exec: () => null };
4786
+ var Er = { exec: () => null };
4787
4787
  function Z(e, t = "") {
4788
4788
  let n = typeof e == "string" ? e : e.source, r = {
4789
4789
  replace: (e, t) => {
@@ -4794,7 +4794,7 @@ function Z(e, t = "") {
4794
4794
  };
4795
4795
  return r;
4796
4796
  }
4797
- var Sr = (() => {
4797
+ var Dr = (() => {
4798
4798
  try {
4799
4799
  return !0;
4800
4800
  } catch {
@@ -4857,96 +4857,96 @@ var Sr = (() => {
4857
4857
  headingBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}#`),
4858
4858
  htmlBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}<(?:[a-z].*>|!--)`, "i"),
4859
4859
  blockquoteBeginRegex: (e) => RegExp(`^ {0,${Math.min(3, e - 1)}}>`)
4860
- }, Cr = /^(?:[ \t]*(?:\n|$))+/, wr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Tr = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, Er = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Dr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Or = / {0,3}(?:[*+-]|\d{1,9}[.)])/, kr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Ar = Z(kr).replace(/bull/g, Or).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), jr = Z(kr).replace(/bull/g, Or).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Mr = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Nr = /^[^\n]+/, Pr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Fr = Z(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Pr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Ir = Z(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Or).getRegex(), Lr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Rr = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, zr = Z("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Rr).replace("tag", Lr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Br = Z(Mr).replace("hr", Er).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Lr).getRegex(), Vr = {
4861
- blockquote: Z(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Br).getRegex(),
4862
- code: wr,
4863
- def: Fr,
4864
- fences: Tr,
4865
- heading: Dr,
4866
- hr: Er,
4867
- html: zr,
4868
- lheading: Ar,
4869
- list: Ir,
4870
- newline: Cr,
4871
- paragraph: Br,
4872
- table: xr,
4873
- text: Nr
4874
- }, Hr = Z("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", Er).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Lr).getRegex(), Ur = {
4875
- ...Vr,
4876
- lheading: jr,
4877
- table: Hr,
4878
- paragraph: Z(Mr).replace("hr", Er).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Hr).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Lr).getRegex()
4879
- }, Wr = {
4880
- ...Vr,
4881
- html: Z("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Rr).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
4860
+ }, Or = /^(?:[ \t]*(?:\n|$))+/, kr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Ar = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, jr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Mr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Nr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, Pr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Fr = Z(Pr).replace(/bull/g, Nr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Ir = Z(Pr).replace(/bull/g, Nr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), Lr = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Rr = /^[^\n]+/, zr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Br = Z(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", zr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Vr = Z(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Nr).getRegex(), Hr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Ur = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Wr = Z("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Ur).replace("tag", Hr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Gr = Z(Lr).replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex(), Kr = {
4861
+ blockquote: Z(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Gr).getRegex(),
4862
+ code: kr,
4863
+ def: Br,
4864
+ fences: Ar,
4865
+ heading: Mr,
4866
+ hr: jr,
4867
+ html: Wr,
4868
+ lheading: Fr,
4869
+ list: Vr,
4870
+ newline: Or,
4871
+ paragraph: Gr,
4872
+ table: Er,
4873
+ text: Rr
4874
+ }, qr = Z("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex(), Jr = {
4875
+ ...Kr,
4876
+ lheading: Ir,
4877
+ table: qr,
4878
+ paragraph: Z(Lr).replace("hr", jr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", qr).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Hr).getRegex()
4879
+ }, Yr = {
4880
+ ...Kr,
4881
+ html: Z("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Ur).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
4882
4882
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
4883
4883
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
4884
- fences: xr,
4884
+ fences: Er,
4885
4885
  lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
4886
- paragraph: Z(Mr).replace("hr", Er).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Ar).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
4887
- }, Gr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Kr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, qr = /^( {2,}|\\)\n(?!\s*$)/, Jr = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Yr = /[\p{P}\p{S}]/u, Xr = /[\s\p{P}\p{S}]/u, Zr = /[^\s\p{P}\p{S}]/u, Qr = Z(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Xr).getRegex(), $r = /(?!~)[\p{P}\p{S}]/u, ei = /(?!~)[\s\p{P}\p{S}]/u, ti = /(?:[^\s\p{P}\p{S}]|~)/u, ni = /(?![*_])[\p{P}\p{S}]/u, ri = /(?![*_])[\s\p{P}\p{S}]/u, ii = /(?:[^\s\p{P}\p{S}]|[*_])/u, ai = Z(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Sr ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), oi = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, si = Z(oi, "u").replace(/punct/g, Yr).getRegex(), ci = Z(oi, "u").replace(/punct/g, $r).getRegex(), li = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", ui = Z(li, "gu").replace(/notPunctSpace/g, Zr).replace(/punctSpace/g, Xr).replace(/punct/g, Yr).getRegex(), di = Z(li, "gu").replace(/notPunctSpace/g, ti).replace(/punctSpace/g, ei).replace(/punct/g, $r).getRegex(), fi = Z("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Zr).replace(/punctSpace/g, Xr).replace(/punct/g, Yr).getRegex(), pi = Z(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, ni).getRegex(), mi = Z("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, ii).replace(/punctSpace/g, ri).replace(/punct/g, ni).getRegex(), hi = Z(/\\(punct)/, "gu").replace(/punct/g, Yr).getRegex(), gi = Z(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), _i = Z(Rr).replace("(?:-->|$)", "-->").getRegex(), vi = Z("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", _i).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), yi = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/, bi = Z(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", yi).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), xi = Z(/^!?\[(label)\]\[(ref)\]/).replace("label", yi).replace("ref", Pr).getRegex(), Si = Z(/^!?\[(ref)\](?:\[\])?/).replace("ref", Pr).getRegex(), Ci = Z("reflink|nolink(?!\\()", "g").replace("reflink", xi).replace("nolink", Si).getRegex(), wi = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Ti = {
4888
- _backpedal: xr,
4889
- anyPunctuation: hi,
4890
- autolink: gi,
4891
- blockSkip: ai,
4892
- br: qr,
4893
- code: Kr,
4894
- del: xr,
4895
- delLDelim: xr,
4896
- delRDelim: xr,
4897
- emStrongLDelim: si,
4898
- emStrongRDelimAst: ui,
4899
- emStrongRDelimUnd: fi,
4900
- escape: Gr,
4901
- link: bi,
4902
- nolink: Si,
4903
- punctuation: Qr,
4904
- reflink: xi,
4905
- reflinkSearch: Ci,
4906
- tag: vi,
4907
- text: Jr,
4908
- url: xr
4909
- }, Ei = {
4910
- ...Ti,
4911
- link: Z(/^!?\[(label)\]\((.*?)\)/).replace("label", yi).getRegex(),
4912
- reflink: Z(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", yi).getRegex()
4913
- }, Di = {
4914
- ...Ti,
4915
- emStrongRDelimAst: di,
4916
- emStrongLDelim: ci,
4917
- delLDelim: pi,
4918
- delRDelim: mi,
4919
- url: Z(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", wi).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
4886
+ paragraph: Z(Lr).replace("hr", jr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Fr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
4887
+ }, Xr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Zr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Qr = /^( {2,}|\\)\n(?!\s*$)/, $r = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, ei = /[\p{P}\p{S}]/u, ti = /[\s\p{P}\p{S}]/u, ni = /[^\s\p{P}\p{S}]/u, ri = Z(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, ti).getRegex(), ii = /(?!~)[\p{P}\p{S}]/u, ai = /(?!~)[\s\p{P}\p{S}]/u, oi = /(?:[^\s\p{P}\p{S}]|~)/u, si = /(?![*_])[\p{P}\p{S}]/u, ci = /(?![*_])[\s\p{P}\p{S}]/u, li = /(?:[^\s\p{P}\p{S}]|[*_])/u, ui = Z(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Dr ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), di = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, fi = Z(di, "u").replace(/punct/g, ei).getRegex(), pi = Z(di, "u").replace(/punct/g, ii).getRegex(), mi = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", hi = Z(mi, "gu").replace(/notPunctSpace/g, ni).replace(/punctSpace/g, ti).replace(/punct/g, ei).getRegex(), gi = Z(mi, "gu").replace(/notPunctSpace/g, oi).replace(/punctSpace/g, ai).replace(/punct/g, ii).getRegex(), _i = Z("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ni).replace(/punctSpace/g, ti).replace(/punct/g, ei).getRegex(), vi = Z(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, si).getRegex(), yi = Z("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, li).replace(/punctSpace/g, ci).replace(/punct/g, si).getRegex(), bi = Z(/\\(punct)/, "gu").replace(/punct/g, ei).getRegex(), xi = Z(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Si = Z(Ur).replace("(?:-->|$)", "-->").getRegex(), Ci = Z("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Si).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), wi = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/, Ti = Z(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", wi).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Ei = Z(/^!?\[(label)\]\[(ref)\]/).replace("label", wi).replace("ref", zr).getRegex(), Di = Z(/^!?\[(ref)\](?:\[\])?/).replace("ref", zr).getRegex(), Oi = Z("reflink|nolink(?!\\()", "g").replace("reflink", Ei).replace("nolink", Di).getRegex(), ki = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Ai = {
4888
+ _backpedal: Er,
4889
+ anyPunctuation: bi,
4890
+ autolink: xi,
4891
+ blockSkip: ui,
4892
+ br: Qr,
4893
+ code: Zr,
4894
+ del: Er,
4895
+ delLDelim: Er,
4896
+ delRDelim: Er,
4897
+ emStrongLDelim: fi,
4898
+ emStrongRDelimAst: hi,
4899
+ emStrongRDelimUnd: _i,
4900
+ escape: Xr,
4901
+ link: Ti,
4902
+ nolink: Di,
4903
+ punctuation: ri,
4904
+ reflink: Ei,
4905
+ reflinkSearch: Oi,
4906
+ tag: Ci,
4907
+ text: $r,
4908
+ url: Er
4909
+ }, ji = {
4910
+ ...Ai,
4911
+ link: Z(/^!?\[(label)\]\((.*?)\)/).replace("label", wi).getRegex(),
4912
+ reflink: Z(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", wi).getRegex()
4913
+ }, Mi = {
4914
+ ...Ai,
4915
+ emStrongRDelimAst: gi,
4916
+ emStrongLDelim: pi,
4917
+ delLDelim: vi,
4918
+ delRDelim: yi,
4919
+ url: Z(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", ki).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
4920
4920
  _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
4921
4921
  del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
4922
- text: Z(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", wi).getRegex()
4923
- }, Oi = {
4924
- ...Di,
4925
- br: Z(qr).replace("{2,}", "*").getRegex(),
4926
- text: Z(Di.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
4927
- }, ki = {
4928
- normal: Vr,
4929
- gfm: Ur,
4930
- pedantic: Wr
4931
- }, Ai = {
4932
- normal: Ti,
4933
- gfm: Di,
4934
- breaks: Oi,
4935
- pedantic: Ei
4936
- }, ji = {
4922
+ text: Z(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", ki).getRegex()
4923
+ }, Ni = {
4924
+ ...Mi,
4925
+ br: Z(Qr).replace("{2,}", "*").getRegex(),
4926
+ text: Z(Mi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
4927
+ }, Pi = {
4928
+ normal: Kr,
4929
+ gfm: Jr,
4930
+ pedantic: Yr
4931
+ }, Fi = {
4932
+ normal: Ai,
4933
+ gfm: Mi,
4934
+ breaks: Ni,
4935
+ pedantic: ji
4936
+ }, Ii = {
4937
4937
  "&": "&amp;",
4938
4938
  "<": "&lt;",
4939
4939
  ">": "&gt;",
4940
4940
  "\"": "&quot;",
4941
4941
  "'": "&#39;"
4942
- }, Mi = (e) => ji[e];
4943
- function Ni(e, t) {
4942
+ }, Li = (e) => Ii[e];
4943
+ function Ri(e, t) {
4944
4944
  if (t) {
4945
- if (Q.escapeTest.test(e)) return e.replace(Q.escapeReplace, Mi);
4946
- } else if (Q.escapeTestNoEncode.test(e)) return e.replace(Q.escapeReplaceNoEncode, Mi);
4945
+ if (Q.escapeTest.test(e)) return e.replace(Q.escapeReplace, Li);
4946
+ } else if (Q.escapeTestNoEncode.test(e)) return e.replace(Q.escapeReplaceNoEncode, Li);
4947
4947
  return e;
4948
4948
  }
4949
- function Pi(e) {
4949
+ function zi(e) {
4950
4950
  try {
4951
4951
  e = encodeURI(e).replace(Q.percentDecode, "%");
4952
4952
  } catch {
@@ -4954,7 +4954,7 @@ function Pi(e) {
4954
4954
  }
4955
4955
  return e;
4956
4956
  }
4957
- function Fi(e, t) {
4957
+ function Bi(e, t) {
4958
4958
  let n = e.replace(Q.findPipe, (e, t, n) => {
4959
4959
  let r = !1, i = t;
4960
4960
  for (; --i >= 0 && n[i] === "\\";) r = !r;
@@ -4967,14 +4967,14 @@ function Fi(e, t) {
4967
4967
  for (; r < n.length; r++) n[r] = n[r].trim().replace(Q.slashPipe, "|");
4968
4968
  return n;
4969
4969
  }
4970
- function Ii(e, t, n) {
4970
+ function Vi(e, t, n) {
4971
4971
  let r = e.length;
4972
4972
  if (r === 0) return "";
4973
4973
  let i = 0;
4974
4974
  for (; i < r && e.charAt(r - i - 1) === t;) i++;
4975
4975
  return e.slice(0, r - i);
4976
4976
  }
4977
- function Li(e, t) {
4977
+ function Hi(e, t) {
4978
4978
  if (e.indexOf(t[1]) === -1) return -1;
4979
4979
  let n = 0;
4980
4980
  for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
@@ -4982,7 +4982,7 @@ function Li(e, t) {
4982
4982
  else if (e[r] === t[1] && (n--, n < 0)) return r;
4983
4983
  return n > 0 ? -2 : -1;
4984
4984
  }
4985
- function Ri(e, t = 0) {
4985
+ function Ui(e, t = 0) {
4986
4986
  let n = t, r = "";
4987
4987
  for (let t of e) if (t === " ") {
4988
4988
  let e = 4 - n % 4;
@@ -4990,7 +4990,7 @@ function Ri(e, t = 0) {
4990
4990
  } else r += t, n++;
4991
4991
  return r;
4992
4992
  }
4993
- function zi(e, t, n, r, i) {
4993
+ function Wi(e, t, n, r, i) {
4994
4994
  let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
4995
4995
  r.state.inLink = !0;
4996
4996
  let c = {
@@ -5003,7 +5003,7 @@ function zi(e, t, n, r, i) {
5003
5003
  };
5004
5004
  return r.state.inLink = !1, c;
5005
5005
  }
5006
- function Bi(e, t, n) {
5006
+ function Gi(e, t, n) {
5007
5007
  let r = e.match(n.other.indentCodeCompensation);
5008
5008
  if (r === null) return t;
5009
5009
  let i = r[1];
@@ -5014,12 +5014,12 @@ function Bi(e, t, n) {
5014
5014
  return r.length >= i.length ? e.slice(i.length) : e;
5015
5015
  }).join("\n");
5016
5016
  }
5017
- var Vi = class {
5017
+ var Ki = class {
5018
5018
  options;
5019
5019
  rules;
5020
5020
  lexer;
5021
5021
  constructor(e) {
5022
- this.options = e || yr;
5022
+ this.options = e || wr;
5023
5023
  }
5024
5024
  space(e) {
5025
5025
  let t = this.rules.block.newline.exec(e);
@@ -5036,14 +5036,14 @@ var Vi = class {
5036
5036
  type: "code",
5037
5037
  raw: t[0],
5038
5038
  codeBlockStyle: "indented",
5039
- text: this.options.pedantic ? e : Ii(e, "\n")
5039
+ text: this.options.pedantic ? e : Vi(e, "\n")
5040
5040
  };
5041
5041
  }
5042
5042
  }
5043
5043
  fences(e) {
5044
5044
  let t = this.rules.block.fences.exec(e);
5045
5045
  if (t) {
5046
- let e = t[0], n = Bi(e, t[3] || "", this.rules);
5046
+ let e = t[0], n = Gi(e, t[3] || "", this.rules);
5047
5047
  return {
5048
5048
  type: "code",
5049
5049
  raw: e,
@@ -5057,7 +5057,7 @@ var Vi = class {
5057
5057
  if (t) {
5058
5058
  let e = t[2].trim();
5059
5059
  if (this.rules.other.endingHash.test(e)) {
5060
- let t = Ii(e, "#");
5060
+ let t = Vi(e, "#");
5061
5061
  (this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
5062
5062
  }
5063
5063
  return {
@@ -5073,13 +5073,13 @@ var Vi = class {
5073
5073
  let t = this.rules.block.hr.exec(e);
5074
5074
  if (t) return {
5075
5075
  type: "hr",
5076
- raw: Ii(t[0], "\n")
5076
+ raw: Vi(t[0], "\n")
5077
5077
  };
5078
5078
  }
5079
5079
  blockquote(e) {
5080
5080
  let t = this.rules.block.blockquote.exec(e);
5081
5081
  if (t) {
5082
- let e = Ii(t[0], "\n").split("\n"), n = "", r = "", i = [];
5082
+ let e = Vi(t[0], "\n").split("\n"), n = "", r = "", i = [];
5083
5083
  for (; e.length > 0;) {
5084
5084
  let t = !1, a = [], o;
5085
5085
  for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
@@ -5130,7 +5130,7 @@ ${c}` : c;
5130
5130
  let n = !1, r = "", s = "";
5131
5131
  if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
5132
5132
  r = t[0], e = e.substring(r.length);
5133
- let c = Ri(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
5133
+ let c = Ui(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
5134
5134
  if (this.options.pedantic ? (d = 2, s = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r += l + "\n", e = e.substring(l.length + 1), n = !0), !n) {
5135
5135
  let t = this.rules.other.nextBulletRegex(d), n = this.rules.other.hrRegex(d), i = this.rules.other.fencesBeginRegex(d), a = this.rules.other.headingBeginRegex(d), o = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
5136
5136
  for (; e;) {
@@ -5219,7 +5219,7 @@ ${c}` : c;
5219
5219
  table(e) {
5220
5220
  let t = this.rules.block.table.exec(e);
5221
5221
  if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
5222
- let n = Fi(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
5222
+ let n = Bi(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
5223
5223
  type: "table",
5224
5224
  raw: t[0],
5225
5225
  header: [],
@@ -5234,7 +5234,7 @@ ${c}` : c;
5234
5234
  header: !0,
5235
5235
  align: a.align[e]
5236
5236
  });
5237
- for (let e of i) a.rows.push(Fi(e, a.header.length).map((e, t) => ({
5237
+ for (let e of i) a.rows.push(Bi(e, a.header.length).map((e, t) => ({
5238
5238
  text: e,
5239
5239
  tokens: this.lexer.inline(e),
5240
5240
  header: !1,
@@ -5299,10 +5299,10 @@ ${c}` : c;
5299
5299
  let e = t[2].trim();
5300
5300
  if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
5301
5301
  if (!this.rules.other.endAngleBracket.test(e)) return;
5302
- let t = Ii(e.slice(0, -1), "\\");
5302
+ let t = Vi(e.slice(0, -1), "\\");
5303
5303
  if ((e.length - t.length) % 2 == 0) return;
5304
5304
  } else {
5305
- let e = Li(t[2], "()");
5305
+ let e = Hi(t[2], "()");
5306
5306
  if (e === -2) return;
5307
5307
  if (e > -1) {
5308
5308
  let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
@@ -5314,7 +5314,7 @@ ${c}` : c;
5314
5314
  let e = this.rules.other.pedanticHrefTitle.exec(n);
5315
5315
  e && (n = e[1], r = e[3]);
5316
5316
  } else r = t[3] ? t[3].slice(1, -1) : "";
5317
- return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), zi(t, {
5317
+ return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Wi(t, {
5318
5318
  href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
5319
5319
  title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
5320
5320
  }, t[0], this.lexer, this.rules);
@@ -5332,7 +5332,7 @@ ${c}` : c;
5332
5332
  text: e
5333
5333
  };
5334
5334
  }
5335
- return zi(n, e, n[0], this.lexer, this.rules);
5335
+ return Wi(n, e, n[0], this.lexer, this.rules);
5336
5336
  }
5337
5337
  }
5338
5338
  emStrong(e, t, n = "") {
@@ -5465,29 +5465,29 @@ ${c}` : c;
5465
5465
  };
5466
5466
  }
5467
5467
  }
5468
- }, Hi = class e {
5468
+ }, qi = class e {
5469
5469
  tokens;
5470
5470
  options;
5471
5471
  state;
5472
5472
  inlineQueue;
5473
5473
  tokenizer;
5474
5474
  constructor(e) {
5475
- this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || yr, this.options.tokenizer = this.options.tokenizer || new Vi(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
5475
+ this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || wr, this.options.tokenizer = this.options.tokenizer || new Ki(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
5476
5476
  inLink: !1,
5477
5477
  inRawBlock: !1,
5478
5478
  top: !0
5479
5479
  };
5480
5480
  let t = {
5481
5481
  other: Q,
5482
- block: ki.normal,
5483
- inline: Ai.normal
5482
+ block: Pi.normal,
5483
+ inline: Fi.normal
5484
5484
  };
5485
- this.options.pedantic ? (t.block = ki.pedantic, t.inline = Ai.pedantic) : this.options.gfm && (t.block = ki.gfm, t.inline = this.options.breaks ? Ai.breaks : Ai.gfm), this.tokenizer.rules = t;
5485
+ this.options.pedantic ? (t.block = Pi.pedantic, t.inline = Fi.pedantic) : this.options.gfm && (t.block = Pi.gfm, t.inline = this.options.breaks ? Fi.breaks : Fi.gfm), this.tokenizer.rules = t;
5486
5486
  }
5487
5487
  static get rules() {
5488
5488
  return {
5489
- block: ki,
5490
- inline: Ai
5489
+ block: Pi,
5490
+ inline: Fi
5491
5491
  };
5492
5492
  }
5493
5493
  static lex(t, n) {
@@ -5677,18 +5677,18 @@ ${c}` : c;
5677
5677
  }
5678
5678
  return t;
5679
5679
  }
5680
- }, Ui = class {
5680
+ }, Ji = class {
5681
5681
  options;
5682
5682
  parser;
5683
5683
  constructor(e) {
5684
- this.options = e || yr;
5684
+ this.options = e || wr;
5685
5685
  }
5686
5686
  space(e) {
5687
5687
  return "";
5688
5688
  }
5689
5689
  code({ text: e, lang: t, escaped: n }) {
5690
5690
  let r = (t || "").match(Q.notSpaceStart)?.[0], i = e.replace(Q.endingNewline, "") + "\n";
5691
- return r ? "<pre><code class=\"language-" + Ni(r) + "\">" + (n ? i : Ni(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Ni(i, !0)) + "</code></pre>\n";
5691
+ return r ? "<pre><code class=\"language-" + Ri(r) + "\">" + (n ? i : Ri(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : Ri(i, !0)) + "</code></pre>\n";
5692
5692
  }
5693
5693
  blockquote({ tokens: e }) {
5694
5694
  return `<blockquote>
@@ -5758,7 +5758,7 @@ ${e}</tr>
5758
5758
  return `<em>${this.parser.parseInline(e)}</em>`;
5759
5759
  }
5760
5760
  codespan({ text: e }) {
5761
- return `<code>${Ni(e, !0)}</code>`;
5761
+ return `<code>${Ri(e, !0)}</code>`;
5762
5762
  }
5763
5763
  br(e) {
5764
5764
  return "<br>";
@@ -5767,24 +5767,24 @@ ${e}</tr>
5767
5767
  return `<del>${this.parser.parseInline(e)}</del>`;
5768
5768
  }
5769
5769
  link({ href: e, title: t, tokens: n }) {
5770
- let r = this.parser.parseInline(n), i = Pi(e);
5770
+ let r = this.parser.parseInline(n), i = zi(e);
5771
5771
  if (i === null) return r;
5772
5772
  e = i;
5773
5773
  let a = "<a href=\"" + e + "\"";
5774
- return t && (a += " title=\"" + Ni(t) + "\""), a += ">" + r + "</a>", a;
5774
+ return t && (a += " title=\"" + Ri(t) + "\""), a += ">" + r + "</a>", a;
5775
5775
  }
5776
5776
  image({ href: e, title: t, text: n, tokens: r }) {
5777
5777
  r && (n = this.parser.parseInline(r, this.parser.textRenderer));
5778
- let i = Pi(e);
5779
- if (i === null) return Ni(n);
5778
+ let i = zi(e);
5779
+ if (i === null) return Ri(n);
5780
5780
  e = i;
5781
- let a = `<img src="${e}" alt="${Ni(n)}"`;
5782
- return t && (a += ` title="${Ni(t)}"`), a += ">", a;
5781
+ let a = `<img src="${e}" alt="${Ri(n)}"`;
5782
+ return t && (a += ` title="${Ri(t)}"`), a += ">", a;
5783
5783
  }
5784
5784
  text(e) {
5785
- return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Ni(e.text);
5785
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : Ri(e.text);
5786
5786
  }
5787
- }, Wi = class {
5787
+ }, Yi = class {
5788
5788
  strong({ text: e }) {
5789
5789
  return e;
5790
5790
  }
@@ -5815,12 +5815,12 @@ ${e}</tr>
5815
5815
  checkbox({ raw: e }) {
5816
5816
  return e;
5817
5817
  }
5818
- }, Gi = class e {
5818
+ }, Xi = class e {
5819
5819
  options;
5820
5820
  renderer;
5821
5821
  textRenderer;
5822
5822
  constructor(e) {
5823
- this.options = e || yr, this.options.renderer = this.options.renderer || new Ui(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Wi();
5823
+ this.options = e || wr, this.options.renderer = this.options.renderer || new Ji(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Yi();
5824
5824
  }
5825
5825
  static parse(t, n) {
5826
5826
  return new e(n).parse(t);
@@ -5964,11 +5964,11 @@ ${e}</tr>
5964
5964
  }
5965
5965
  return n;
5966
5966
  }
5967
- }, Ki = class {
5967
+ }, Zi = class {
5968
5968
  options;
5969
5969
  block;
5970
5970
  constructor(e) {
5971
- this.options = e || yr;
5971
+ this.options = e || wr;
5972
5972
  }
5973
5973
  static passThroughHooks = /* @__PURE__ */ new Set([
5974
5974
  "preprocess",
@@ -5994,22 +5994,22 @@ ${e}</tr>
5994
5994
  return e;
5995
5995
  }
5996
5996
  provideLexer() {
5997
- return this.block ? Hi.lex : Hi.lexInline;
5997
+ return this.block ? qi.lex : qi.lexInline;
5998
5998
  }
5999
5999
  provideParser() {
6000
- return this.block ? Gi.parse : Gi.parseInline;
6000
+ return this.block ? Xi.parse : Xi.parseInline;
6001
6001
  }
6002
- }, qi = new class {
6003
- defaults = vr();
6002
+ }, Qi = new class {
6003
+ defaults = Cr();
6004
6004
  options = this.setOptions;
6005
6005
  parse = this.parseMarkdown(!0);
6006
6006
  parseInline = this.parseMarkdown(!1);
6007
- Parser = Gi;
6008
- Renderer = Ui;
6009
- TextRenderer = Wi;
6010
- Lexer = Hi;
6011
- Tokenizer = Vi;
6012
- Hooks = Ki;
6007
+ Parser = Xi;
6008
+ Renderer = Ji;
6009
+ TextRenderer = Yi;
6010
+ Lexer = qi;
6011
+ Tokenizer = Ki;
6012
+ Hooks = Zi;
6013
6013
  constructor(...e) {
6014
6014
  this.use(...e);
6015
6015
  }
@@ -6060,7 +6060,7 @@ ${e}</tr>
6060
6060
  }
6061
6061
  "childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
6062
6062
  }), n.extensions = t), e.renderer) {
6063
- let t = this.defaults.renderer || new Ui(this.defaults);
6063
+ let t = this.defaults.renderer || new Ji(this.defaults);
6064
6064
  for (let n in e.renderer) {
6065
6065
  if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
6066
6066
  if (["options", "parser"].includes(n)) continue;
@@ -6073,7 +6073,7 @@ ${e}</tr>
6073
6073
  n.renderer = t;
6074
6074
  }
6075
6075
  if (e.tokenizer) {
6076
- let t = this.defaults.tokenizer || new Vi(this.defaults);
6076
+ let t = this.defaults.tokenizer || new Ki(this.defaults);
6077
6077
  for (let n in e.tokenizer) {
6078
6078
  if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
6079
6079
  if ([
@@ -6090,13 +6090,13 @@ ${e}</tr>
6090
6090
  n.tokenizer = t;
6091
6091
  }
6092
6092
  if (e.hooks) {
6093
- let t = this.defaults.hooks || new Ki();
6093
+ let t = this.defaults.hooks || new Zi();
6094
6094
  for (let n in e.hooks) {
6095
6095
  if (!(n in t)) throw Error(`hook '${n}' does not exist`);
6096
6096
  if (["options", "block"].includes(n)) continue;
6097
6097
  let r = n, i = e.hooks[r], a = t[r];
6098
- t[r] = Ki.passThroughHooks.has(n) ? (e) => {
6099
- if (this.defaults.async && Ki.passThroughHooksRespectAsync.has(n)) return (async () => {
6098
+ t[r] = Zi.passThroughHooks.has(n) ? (e) => {
6099
+ if (this.defaults.async && Zi.passThroughHooksRespectAsync.has(n)) return (async () => {
6100
6100
  let n = await i.call(t, e);
6101
6101
  return a.call(t, n);
6102
6102
  })();
@@ -6133,10 +6133,10 @@ ${e}</tr>
6133
6133
  }, this;
6134
6134
  }
6135
6135
  lexer(e, t) {
6136
- return Hi.lex(e, t ?? this.defaults);
6136
+ return qi.lex(e, t ?? this.defaults);
6137
6137
  }
6138
6138
  parser(e, t) {
6139
- return Gi.parse(e, t ?? this.defaults);
6139
+ return Xi.parse(e, t ?? this.defaults);
6140
6140
  }
6141
6141
  parseMarkdown(e) {
6142
6142
  return (t, n) => {
@@ -6148,16 +6148,16 @@ ${e}</tr>
6148
6148
  if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
6149
6149
  if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
6150
6150
  if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
6151
- let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? Hi.lex : Hi.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
6151
+ let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer() : e ? qi.lex : qi.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
6152
6152
  i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
6153
- let o = await (i.hooks ? await i.hooks.provideParser() : e ? Gi.parse : Gi.parseInline)(a, i);
6153
+ let o = await (i.hooks ? await i.hooks.provideParser() : e ? Xi.parse : Xi.parseInline)(a, i);
6154
6154
  return i.hooks ? await i.hooks.postprocess(o) : o;
6155
6155
  })().catch(a);
6156
6156
  try {
6157
6157
  i.hooks && (t = i.hooks.preprocess(t));
6158
- let n = (i.hooks ? i.hooks.provideLexer() : e ? Hi.lex : Hi.lexInline)(t, i);
6158
+ let n = (i.hooks ? i.hooks.provideLexer() : e ? qi.lex : qi.lexInline)(t, i);
6159
6159
  i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
6160
- let r = (i.hooks ? i.hooks.provideParser() : e ? Gi.parse : Gi.parseInline)(n, i);
6160
+ let r = (i.hooks ? i.hooks.provideParser() : e ? Xi.parse : Xi.parseInline)(n, i);
6161
6161
  return i.hooks && (r = i.hooks.postprocess(r)), r;
6162
6162
  } catch (e) {
6163
6163
  return a(e);
@@ -6167,7 +6167,7 @@ ${e}</tr>
6167
6167
  onError(e, t) {
6168
6168
  return (n) => {
6169
6169
  if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
6170
- let e = "<p>An error occurred:</p><pre>" + Ni(n.message + "", !0) + "</pre>";
6170
+ let e = "<p>An error occurred:</p><pre>" + Ri(n.message + "", !0) + "</pre>";
6171
6171
  return t ? Promise.resolve(e) : e;
6172
6172
  }
6173
6173
  if (t) return Promise.reject(n);
@@ -6176,21 +6176,21 @@ ${e}</tr>
6176
6176
  }
6177
6177
  }();
6178
6178
  function $(e, t) {
6179
- return qi.parse(e, t);
6179
+ return Qi.parse(e, t);
6180
6180
  }
6181
6181
  $.options = $.setOptions = function(e) {
6182
- return qi.setOptions(e), $.defaults = qi.defaults, br($.defaults), $;
6183
- }, $.getDefaults = vr, $.defaults = yr, $.use = function(...e) {
6184
- return qi.use(...e), $.defaults = qi.defaults, br($.defaults), $;
6182
+ return Qi.setOptions(e), $.defaults = Qi.defaults, Tr($.defaults), $;
6183
+ }, $.getDefaults = Cr, $.defaults = wr, $.use = function(...e) {
6184
+ return Qi.use(...e), $.defaults = Qi.defaults, Tr($.defaults), $;
6185
6185
  }, $.walkTokens = function(e, t) {
6186
- return qi.walkTokens(e, t);
6187
- }, $.parseInline = qi.parseInline, $.Parser = Gi, $.parser = Gi.parse, $.Renderer = Ui, $.TextRenderer = Wi, $.Lexer = Hi, $.lexer = Hi.lex, $.Tokenizer = Vi, $.Hooks = Ki, $.parse = $, $.options, $.setOptions, $.use, $.walkTokens, $.parseInline, Gi.parse, Hi.lex;
6188
- var Ji = () => {
6186
+ return Qi.walkTokens(e, t);
6187
+ }, $.parseInline = Qi.parseInline, $.Parser = Xi, $.parser = Xi.parse, $.Renderer = Ji, $.TextRenderer = Yi, $.Lexer = qi, $.lexer = qi.lex, $.Tokenizer = Ki, $.Hooks = Zi, $.parse = $, $.options, $.setOptions, $.use, $.walkTokens, $.parseInline, Xi.parse, qi.lex;
6188
+ var $i = () => {
6189
6189
  let e, t = null, n;
6190
6190
  function r() {
6191
6191
  if (t && !t.closed) t.focus();
6192
6192
  else {
6193
- if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write(_r), !t) {
6193
+ if (t = window.open("about:blank", "reveal.js - Notes", "width=1100,height=700"), t.marked = $, t.document.write(Sr), !t) {
6194
6194
  alert("Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.");
6195
6195
  return;
6196
6196
  }
@@ -6272,79 +6272,86 @@ var Ji = () => {
6272
6272
  },
6273
6273
  open: r
6274
6274
  };
6275
- }, Yi = 16 / 9;
6276
- function Xi(e) {
6275
+ }, ea = 16 / 9, ta = 67;
6276
+ function na({ deck: e, enabled: t, onToggle: n }) {
6277
+ e.removeKeyBinding(ta), t && e.addKeyBinding({
6278
+ keyCode: ta,
6279
+ key: "C",
6280
+ description: "Toggle code editor"
6281
+ }, n);
6282
+ }
6283
+ function ra(e) {
6277
6284
  let t = e.getSlidesElement();
6278
6285
  if (t) for (let e of t.querySelectorAll("section.stack[data-previous-indexv]")) e.removeAttribute("data-previous-indexv");
6279
6286
  }
6280
- var Zi = /* @__PURE__ */ new Set([
6287
+ var ia = /* @__PURE__ */ new Set([
6281
6288
  " ",
6282
6289
  "Spacebar",
6283
6290
  "ArrowRight",
6284
6291
  "ArrowDown",
6285
6292
  "PageDown"
6286
- ]), Qi = /* @__PURE__ */ new Set([
6293
+ ]), aa = /* @__PURE__ */ new Set([
6287
6294
  "ArrowLeft",
6288
6295
  "ArrowUp",
6289
6296
  "PageUp"
6290
6297
  ]);
6291
- function $i(e) {
6292
- return Zi.has(e.key) ? 1 : Qi.has(e.key) ? -1 : 0;
6298
+ function oa(e) {
6299
+ return ia.has(e.key) ? 1 : aa.has(e.key) ? -1 : 0;
6293
6300
  }
6294
- function ea(e) {
6295
- let t = (0, A.c)(4), n;
6301
+ function sa(e) {
6302
+ let t = (0, F.c)(4), n;
6296
6303
  t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = {
6297
6304
  width: 960,
6298
6305
  height: 540
6299
6306
  }, t[0] = n) : n = t[0];
6300
- let [r, i] = (0, k.useState)(n), a, o;
6307
+ let [r, i] = (0, P.useState)(n), a, o;
6301
6308
  return t[1] === e ? (a = t[2], o = t[3]) : (a = () => {
6302
6309
  let t = e.current;
6303
6310
  if (!t) return;
6304
6311
  let n = new ResizeObserver((e) => {
6305
6312
  let { width: t, height: n } = e[0].contentRect;
6306
6313
  if (t <= 0 || n <= 0) return;
6307
- let r = Math.min(t, n * Yi), a = r / Yi;
6314
+ let r = Math.min(t, n * ea), a = r / ea;
6308
6315
  i({
6309
6316
  width: Math.round(r),
6310
6317
  height: Math.round(a)
6311
6318
  });
6312
6319
  });
6313
6320
  return n.observe(t), () => n.disconnect();
6314
- }, o = [e], t[1] = e, t[2] = a, t[3] = o), (0, k.useEffect)(a, o), r;
6321
+ }, o = [e], t[1] = e, t[2] = a, t[3] = o), (0, P.useEffect)(a, o), r;
6315
6322
  }
6316
- var ta = (e) => {
6317
- let t = (0, A.c)(6), { text: n } = e, r, i;
6323
+ var ca = (e) => {
6324
+ let t = (0, F.c)(6), { text: n } = e, r, i;
6318
6325
  if (t[0] !== n) {
6319
6326
  let e = n.split("\n");
6320
6327
  r = "notes", i = e.map((t, n) => {
6321
6328
  let r = n === e.length - 1;
6322
- return t === "---" ? /* @__PURE__ */ (0, q.jsx)("hr", {}, n) : /* @__PURE__ */ (0, q.jsxs)(k.Fragment, { children: [t, !r && /* @__PURE__ */ (0, q.jsx)("br", {})] }, n);
6329
+ return t === "---" ? /* @__PURE__ */ (0, W.jsx)("hr", {}, n) : /* @__PURE__ */ (0, W.jsxs)(P.Fragment, { children: [t, !r && /* @__PURE__ */ (0, W.jsx)("br", {})] }, n);
6323
6330
  }), t[0] = n, t[1] = r, t[2] = i;
6324
6331
  } else r = t[1], i = t[2];
6325
6332
  let a;
6326
- return t[3] !== r || t[4] !== i ? (a = /* @__PURE__ */ (0, q.jsx)("aside", {
6333
+ return t[3] !== r || t[4] !== i ? (a = /* @__PURE__ */ (0, W.jsx)("aside", {
6327
6334
  className: r,
6328
6335
  children: i
6329
6336
  }), t[3] = r, t[4] = i, t[5] = a) : a = t[5], a;
6330
6337
  };
6331
- function na(e) {
6332
- let { cells: t, cellId: n, showCodeOverrides: r, codeToggleEnabled: i } = e;
6338
+ function la(e) {
6339
+ let { cells: t, cellId: n, showCodeOverrides: r, codeAvailable: i } = e;
6333
6340
  return n == null || !i ? !1 : (t.get(n)?.showCode ?? !1) || r.has(n);
6334
6341
  }
6335
- function ra(e) {
6342
+ function ua(e) {
6336
6343
  let { cell: t, noOutputIds: n, heldEditCellId: r, slideConfigs: i } = e;
6337
6344
  return n.has(t.id) || t.id === r ? "skip" : i.get(t.id)?.type ?? "slide";
6338
6345
  }
6339
- function ia(e) {
6340
- let t = (0, A.c)(15), { activeCell: n, slideConfigs: r, noOutputIds: i } = e, a = n?.id ?? null, o;
6346
+ function da(e) {
6347
+ let t = (0, F.c)(15), { activeCell: n, slideConfigs: r, noOutputIds: i } = e, a = n?.id ?? null, o;
6341
6348
  t[0] !== n || t[1] !== i ? (o = n != null && i.has(n.id), t[0] = n, t[1] = i, t[2] = o) : o = t[2];
6342
6349
  let s = o, c = n != null && r.get(n.id)?.type === "skip" || s, l;
6343
6350
  t[3] === a ? l = t[4] : (l = {
6344
6351
  activeCellId: a,
6345
6352
  cellId: null
6346
6353
  }, t[3] = a, t[4] = l);
6347
- let [u, d] = (0, k.useState)(l), f = u.cellId;
6354
+ let [u, d] = (0, P.useState)(l), f = u.cellId;
6348
6355
  u.activeCellId === a ? s && f !== a && (f = a, d({
6349
6356
  activeCellId: a,
6350
6357
  cellId: f
@@ -6357,14 +6364,14 @@ function ia(e) {
6357
6364
  cellId: m,
6358
6365
  show: !0
6359
6366
  }, t[5] = m, t[6] = h);
6360
- let [g, _] = (0, k.useState)(h), v = g.show;
6367
+ let [g, _] = (0, P.useState)(h), v = g.show;
6361
6368
  g.cellId !== m && (v = !0, _({
6362
6369
  cellId: m,
6363
6370
  show: !0
6364
6371
  }));
6365
6372
  let y;
6366
- t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(aa), t[7] = y) : y = t[7];
6367
- let b = D(y), x = c || p ? n ?? null : null, S;
6373
+ t[7] === Symbol.for("react.memo_cache_sentinel") ? (y = () => _(fa), t[7] = y) : y = t[7];
6374
+ let b = M(y), x = c || p ? n ?? null : null, S;
6368
6375
  return t[8] !== m || t[9] !== v || t[10] !== p || t[11] !== s || t[12] !== x || t[13] !== b ? (S = {
6369
6376
  parkedPreviewCell: x,
6370
6377
  isHeldEdit: p,
@@ -6374,401 +6381,420 @@ function ia(e) {
6374
6381
  toggleHeldShowsCode: b
6375
6382
  }, t[8] = m, t[9] = v, t[10] = p, t[11] = s, t[12] = x, t[13] = b, t[14] = S) : S = t[14], S;
6376
6383
  }
6377
- function aa(e) {
6384
+ function fa(e) {
6378
6385
  return {
6379
6386
  ...e,
6380
6387
  show: !e.show
6381
6388
  };
6382
6389
  }
6383
- function oa(e) {
6390
+ function pa(e) {
6384
6391
  switch (e ?? "center") {
6385
6392
  case "top": return { margin: "0 20px auto" };
6386
6393
  case "bottom": return { margin: "auto 20px 0" };
6387
6394
  default: return { margin: "auto 20px" };
6388
6395
  }
6389
6396
  }
6390
- var sa = (e) => {
6391
- let t = (0, A.c)(13), { cell: n } = e, r;
6392
- t[0] !== n.id || t[1] !== n.name ? (r = y(n.id, n.name), t[0] = n.id, t[1] = n.name, t[2] = r) : r = t[2];
6397
+ var ma = (e) => {
6398
+ let t = (0, F.c)(13), { cell: n } = e, r;
6399
+ t[0] !== n.id || t[1] !== n.name ? (r = C(n.id, n.name), t[0] = n.id, t[1] = n.name, t[2] = r) : r = t[2];
6393
6400
  let i = n.id, a = n.status, o = n.output, s;
6394
- t[3] === n ? s = t[4] : (s = c(n, !1), t[3] = n, t[4] = s);
6395
- let l;
6396
- t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (l = /* @__PURE__ */ (0, q.jsx)(b, {
6401
+ t[3] === n ? s = t[4] : (s = l(n, !1), t[3] = n, t[4] = s);
6402
+ let c;
6403
+ t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== s ? (c = /* @__PURE__ */ (0, W.jsx)(p, {
6397
6404
  cellId: i,
6398
6405
  status: a,
6399
6406
  output: o,
6400
6407
  stale: s
6401
- }), t[5] = n.id, t[6] = n.output, t[7] = n.status, t[8] = s, t[9] = l) : l = t[9];
6408
+ }), t[5] = n.id, t[6] = n.output, t[7] = n.status, t[8] = s, t[9] = c) : c = t[9];
6402
6409
  let u;
6403
- return t[10] !== r || t[11] !== l ? (u = /* @__PURE__ */ (0, q.jsx)("div", {
6410
+ return t[10] !== r || t[11] !== c ? (u = /* @__PURE__ */ (0, W.jsx)("div", {
6404
6411
  className: "flex flex-col",
6405
6412
  ...r,
6406
- children: l
6407
- }), t[10] = r, t[11] = l, t[12] = u) : u = t[12], u;
6408
- }, ca = (e) => {
6409
- let t = (0, A.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a, contentStyle: o } = e, s, c, l, u, d, f;
6413
+ children: c
6414
+ }), t[10] = r, t[11] = c, t[12] = u) : u = t[12], u;
6415
+ }, ha = (e) => {
6416
+ let t = (0, F.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a, contentStyle: o } = e, s, c, l, u, d, f;
6410
6417
  if (t[0] !== o || t[1] !== i || t[2] !== r || t[3] !== a || t[4] !== n) {
6411
- let { slideLevel: e, cumulativeByBlock: p } = gr(n, a);
6418
+ let { slideLevel: e, cumulativeByBlock: p } = xr(n, a);
6412
6419
  l = e;
6413
6420
  let m = n.blocks.some((e) => e.cells.some((e) => r(e.id)));
6414
- c = _t, s = nr, u = m ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", d = o, f = n.blocks.map((e, t) => {
6415
- let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0, q.jsx)(lr, { cell: e }, e.id) : /* @__PURE__ */ (0, q.jsx)(ur, { cell: e }, e.id) : /* @__PURE__ */ (0, q.jsx)(sa, { cell: e }, e.id));
6421
+ c = wt, s = sr, u = m ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", d = o, f = n.blocks.map((e, t) => {
6422
+ let n = e.cells.map((e) => r(e.id) ? i ? /* @__PURE__ */ (0, W.jsx)(mr, { cell: e }, e.id) : /* @__PURE__ */ (0, W.jsx)(hr, { cell: e }, e.id) : /* @__PURE__ */ (0, W.jsx)(ma, { cell: e }, e.id));
6416
6423
  if (e.isFragment) {
6417
6424
  let e = p.get(t);
6418
- return /* @__PURE__ */ (0, q.jsxs)(Yn, {
6425
+ return /* @__PURE__ */ (0, W.jsxs)(er, {
6419
6426
  as: "div",
6420
- children: [n, e && /* @__PURE__ */ (0, q.jsx)(ta, { text: e })]
6427
+ children: [n, e && /* @__PURE__ */ (0, W.jsx)(ca, { text: e })]
6421
6428
  }, t);
6422
6429
  }
6423
- return /* @__PURE__ */ (0, q.jsx)(k.Fragment, { children: n }, t);
6430
+ return /* @__PURE__ */ (0, W.jsx)(P.Fragment, { children: n }, t);
6424
6431
  }), t[0] = o, t[1] = i, t[2] = r, t[3] = a, t[4] = n, t[5] = s, t[6] = c, t[7] = l, t[8] = u, t[9] = d, t[10] = f;
6425
6432
  } else s = t[5], c = t[6], l = t[7], u = t[8], d = t[9], f = t[10];
6426
6433
  let p;
6427
- t[11] !== u || t[12] !== d || t[13] !== f ? (p = /* @__PURE__ */ (0, q.jsx)("div", {
6434
+ t[11] !== u || t[12] !== d || t[13] !== f ? (p = /* @__PURE__ */ (0, W.jsx)("div", {
6428
6435
  className: u,
6429
6436
  style: d,
6430
6437
  children: f
6431
6438
  }), t[11] = u, t[12] = d, t[13] = f, t[14] = p) : p = t[14];
6432
6439
  let m;
6433
- t[15] !== s || t[16] !== p ? (m = /* @__PURE__ */ (0, q.jsx)(s, { children: p }), t[15] = s, t[16] = p, t[17] = m) : m = t[17];
6440
+ t[15] !== s || t[16] !== p ? (m = /* @__PURE__ */ (0, W.jsx)(s, { children: p }), t[15] = s, t[16] = p, t[17] = m) : m = t[17];
6434
6441
  let h;
6435
- t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0, q.jsx)(ta, { text: l }), t[18] = l, t[19] = h);
6442
+ t[18] === l ? h = t[19] : (h = l && /* @__PURE__ */ (0, W.jsx)(ca, { text: l }), t[18] = l, t[19] = h);
6436
6443
  let g;
6437
- return t[20] !== c || t[21] !== m || t[22] !== h ? (g = /* @__PURE__ */ (0, q.jsxs)(c, { children: [m, h] }), t[20] = c, t[21] = m, t[22] = h, t[23] = g) : g = t[23], g;
6444
+ return t[20] !== c || t[21] !== m || t[22] !== h ? (g = /* @__PURE__ */ (0, W.jsxs)(c, { children: [m, h] }), t[20] = c, t[21] = m, t[22] = h, t[23] = g) : g = t[23], g;
6438
6445
  };
6439
- function la(e) {
6446
+ function ga(e) {
6440
6447
  let { isNoOutputPreview: t, isEditable: n, showCode: r } = e;
6441
6448
  return t && n || r;
6442
6449
  }
6443
- var ua = (e) => {
6444
- let t = (0, A.c)(5), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e;
6445
- if (la({
6450
+ var _a = (e) => {
6451
+ let t = (0, F.c)(5), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e;
6452
+ if (ga({
6446
6453
  isNoOutputPreview: r,
6447
6454
  isEditable: i,
6448
6455
  showCode: a
6449
6456
  })) {
6450
6457
  let e;
6451
- return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0, q.jsx)(lr, { cell: n }) : /* @__PURE__ */ (0, q.jsx)(ur, { cell: n }), t[0] = n, t[1] = i, t[2] = e) : e = t[2], e;
6458
+ return t[0] !== n || t[1] !== i ? (e = i ? /* @__PURE__ */ (0, W.jsx)(mr, { cell: n }) : /* @__PURE__ */ (0, W.jsx)(hr, { cell: n }), t[0] = n, t[1] = i, t[2] = e) : e = t[2], e;
6452
6459
  }
6453
6460
  let o;
6454
- return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, q.jsx)(sa, { cell: n }), t[3] = n, t[4] = o), o;
6455
- }, da = (e) => {
6456
- let n = (0, A.c)(147), { slideCells: o, layout: s, setLayout: c, noOutputIds: u, activeIndex: y, onSlideChange: b, mode: x, configWidth: S, isEditable: C } = e, O = C !== void 0 && C, j = (0, k.useRef)(null), M = (0, k.useRef)(null), { width: te, height: N } = ea(j), P = w() != null, ne = E(l), re;
6457
- n[0] === ne ? re = n[1] : (re = ne ? [] : [Ji], n[0] = ne, n[1] = re);
6458
- let ie = re, [ae, F] = (0, k.useState)(fa), oe = g(o), se;
6459
- n[2] === oe ? se = n[3] : (se = !ee() && oe, n[2] = oe, n[3] = se);
6460
- let I = se, ce = y == null ? void 0 : o[y], le;
6461
- n[4] !== ce || n[5] !== o ? (le = ce ?? o.at(0), n[4] = ce, n[5] = o, n[6] = le) : le = n[6];
6462
- let L = le, ue;
6463
- n[7] !== ce || n[8] !== s.cells || n[9] !== u ? (ue = {
6464
- activeCell: ce,
6461
+ return t[3] === n ? o = t[4] : (o = /* @__PURE__ */ (0, W.jsx)(ma, { cell: n }), t[3] = n, t[4] = o), o;
6462
+ }, va = (e) => {
6463
+ let n = (0, F.c)(160), { slideCells: o, layout: s, setLayout: l, noOutputIds: u, activeIndex: p, onSlideChange: C, mode: E, configWidth: D, isEditable: O } = e, N = O !== void 0 && O, te = (0, P.useRef)(null), ne = (0, P.useRef)(null), { width: I, height: re } = sa(te), ie = k() != null, ae = j(c), oe = j(x).kind, se = j(y), ce = oe !== "wasm" || se, le;
6464
+ n[0] !== ae || n[1] !== oe ? (le = ae || !w(oe) ? [] : [$i], n[0] = ae, n[1] = oe, n[2] = le) : le = n[2];
6465
+ let ue = le, [de, L] = (0, P.useState)(ya), fe = v(o), pe;
6466
+ n[3] === fe ? pe = n[4] : (pe = !ee() && fe, n[3] = fe, n[4] = pe);
6467
+ let R = pe, me;
6468
+ n[5] === ae ? me = n[6] : (me = g(ae, window.location.search), n[5] = ae, n[6] = me);
6469
+ let z = !me && R, he = p == null ? void 0 : o[p], ge;
6470
+ n[7] !== he || n[8] !== o ? (ge = he ?? o.at(0), n[7] = he, n[8] = o, n[9] = ge) : ge = n[9];
6471
+ let _e = ge, ve;
6472
+ n[10] !== he || n[11] !== s.cells || n[12] !== u ? (ve = {
6473
+ activeCell: he,
6465
6474
  slideConfigs: s.cells,
6466
6475
  noOutputIds: u
6467
- }, n[7] = ce, n[8] = s.cells, n[9] = u, n[10] = ue) : ue = n[10];
6468
- let { parkedPreviewCell: R, isHeldEdit: z, isNoOutputPreview: de, heldEditCellId: fe, heldShowsCode: pe, toggleHeldShowsCode: me } = ia(ue), he;
6469
- n[11] !== I || n[12] !== s.cells || n[13] !== ae ? (he = (e) => na({
6476
+ }, n[10] = he, n[11] = s.cells, n[12] = u, n[13] = ve) : ve = n[13];
6477
+ let { parkedPreviewCell: B, isHeldEdit: ye, isNoOutputPreview: be, heldEditCellId: xe, heldShowsCode: Se, toggleHeldShowsCode: Ce } = da(ve), we;
6478
+ n[14] !== R || n[15] !== s.cells || n[16] !== de ? (we = (e) => la({
6470
6479
  cells: s.cells,
6471
6480
  cellId: e,
6472
- showCodeOverrides: ae,
6473
- codeToggleEnabled: I
6474
- }), n[11] = I, n[12] = s.cells, n[13] = ae, n[14] = he) : he = n[14];
6475
- let B = he, V = ce?.id ?? L?.id, ge;
6476
- n[15] !== V || n[16] !== pe || n[17] !== z || n[18] !== B ? (ge = z ? pe : B(V), n[15] = V, n[16] = pe, n[17] = z, n[18] = B, n[19] = ge) : ge = n[19];
6477
- let H = ge, _e;
6478
- n[20] !== V || n[21] !== I || n[22] !== s.cells ? (_e = I && V != null && (s.cells.get(V)?.showCode ?? !1), n[20] = V, n[21] = I, n[22] = s.cells, n[23] = _e) : _e = n[23];
6479
- let ve = _e, ye;
6480
- n[24] !== fe || n[25] !== s.cells || n[26] !== u ? (ye = (e) => ra({
6481
+ showCodeOverrides: de,
6482
+ codeAvailable: R
6483
+ }), n[14] = R, n[15] = s.cells, n[16] = de, n[17] = we) : we = n[17];
6484
+ let V = we, Te = he?.id ?? _e?.id, Ee;
6485
+ n[18] !== Te || n[19] !== Se || n[20] !== ye || n[21] !== V ? (Ee = ye ? Se : V(Te), n[18] = Te, n[19] = Se, n[20] = ye, n[21] = V, n[22] = Ee) : Ee = n[22];
6486
+ let De = Ee, Oe;
6487
+ n[23] !== Te || n[24] !== R || n[25] !== s.cells ? (Oe = R && Te != null && (s.cells.get(Te)?.showCode ?? !1), n[23] = Te, n[24] = R, n[25] = s.cells, n[26] = Oe) : Oe = n[26];
6488
+ let ke = Oe, Ae;
6489
+ n[27] !== xe || n[28] !== s.cells || n[29] !== u ? (Ae = (e) => ua({
6481
6490
  cell: e,
6482
6491
  noOutputIds: u,
6483
- heldEditCellId: fe,
6492
+ heldEditCellId: xe,
6484
6493
  slideConfigs: s.cells
6485
- }), n[24] = fe, n[25] = s.cells, n[26] = u, n[27] = ye) : ye = n[27];
6486
- let be;
6487
- n[28] !== o || n[29] !== ye ? (be = rr({
6494
+ }), n[27] = xe, n[28] = s.cells, n[29] = u, n[30] = Ae) : Ae = n[30];
6495
+ let je;
6496
+ n[31] !== o || n[32] !== Ae ? (je = cr({
6488
6497
  cells: o,
6489
- getType: ye
6490
- }), n[28] = o, n[29] = ye, n[30] = be) : be = n[30];
6491
- let xe = be, Se;
6492
- n[31] !== xe || n[32] !== o ? (Se = ir({
6493
- composition: xe,
6498
+ getType: Ae
6499
+ }), n[31] = o, n[32] = Ae, n[33] = je) : je = n[33];
6500
+ let Me = je, Ne;
6501
+ n[34] !== Me || n[35] !== o ? (Ne = lr({
6502
+ composition: Me,
6494
6503
  cells: o,
6495
- getId: pa
6496
- }), n[31] = xe, n[32] = o, n[33] = Se) : Se = n[33];
6497
- let { cellToTarget: Ce, targetToCellIndex: we } = Se, Te = s.deck?.transition ?? "slide", Ee = s.deck?.verticalAlign, De;
6498
- n[34] === Ee ? De = n[35] : (De = oa(Ee), n[34] = Ee, n[35] = De);
6499
- let U = De, Oe;
6500
- if (n[36] === Symbol.for("react.memo_cache_sentinel")) {
6501
- let e = new URL(window.location.href);
6502
- e.searchParams.set("kiosk", "true"), e.searchParams.set("show-chrome", "false"), Oe = e.toString(), n[36] = Oe;
6503
- } else Oe = n[36];
6504
- let ke = Oe, Ae;
6505
- n[37] !== Te || n[38] !== N || n[39] !== te ? (Ae = {
6504
+ getId: ba
6505
+ }), n[34] = Me, n[35] = o, n[36] = Ne) : Ne = n[36];
6506
+ let { cellToTarget: Pe, targetToCellIndex: Fe } = Ne, Ie = s.deck?.transition ?? "slide", H = s.deck?.verticalAlign, Le;
6507
+ n[37] === H ? Le = n[38] : (Le = pa(H), n[37] = H, n[38] = Le);
6508
+ let Re = Le, ze;
6509
+ n[39] === Symbol.for("react.memo_cache_sentinel") ? (ze = f(window.location.href), n[39] = ze) : ze = n[39];
6510
+ let Be = ze, Ve;
6511
+ n[40] !== Ie || n[41] !== re || n[42] !== I ? (Ve = {
6506
6512
  embedded: !0,
6507
- width: te,
6508
- height: N,
6513
+ width: I,
6514
+ height: re,
6509
6515
  center: !1,
6510
6516
  minScale: .2,
6511
6517
  maxScale: 2,
6512
- transition: Te,
6513
- keyboardCondition: ma,
6514
- url: ke,
6518
+ transition: Ie,
6519
+ keyboardCondition: xa,
6520
+ url: Be,
6515
6521
  scrollActivationWidth: 0
6516
- }, n[37] = Te, n[38] = N, n[39] = te, n[40] = Ae) : Ae = n[40];
6517
- let je = Ae, Me;
6518
- n[41] !== y || n[42] !== Ce || n[43] !== o ? (Me = (e) => {
6519
- let t = sr({
6520
- activeIndex: y,
6522
+ }, n[40] = Ie, n[41] = re, n[42] = I, n[43] = Ve) : Ve = n[43];
6523
+ let He = Ve, Ue;
6524
+ n[44] !== p || n[45] !== ce || n[46] !== Pe || n[47] !== o ? (Ue = (e) => {
6525
+ if (p == null && window.location.hash.startsWith("#/")) {
6526
+ if (!ce) return;
6527
+ window.dispatchEvent(new HashChangeEvent("hashchange")), ra(e);
6528
+ return;
6529
+ }
6530
+ let t = fr({
6531
+ activeIndex: p,
6521
6532
  cells: o,
6522
- cellToTarget: Ce,
6523
- getId: ha
6524
- }), n = t && cr(e.getIndices(), t);
6525
- n && (e.slide(n.h, n.v, n.f), Xi(e));
6526
- }, n[41] = y, n[42] = Ce, n[43] = o, n[44] = Me) : Me = n[44];
6527
- let W = D(Me), Ne;
6528
- n[45] === W ? Ne = n[46] : (Ne = () => {
6529
- let e = M.current;
6530
- e != null && W(e);
6531
- }, n[45] = W, n[46] = Ne);
6532
- let Pe;
6533
- n[47] !== y || n[48] !== Ce || n[49] !== W || n[50] !== o ? (Pe = [
6534
- y,
6535
- Ce,
6533
+ cellToTarget: Pe,
6534
+ getId: Sa
6535
+ }), n = t && pr(e.getIndices(), t);
6536
+ n && (e.slide(n.h, n.v, n.f), ra(e));
6537
+ }, n[44] = p, n[45] = ce, n[46] = Pe, n[47] = o, n[48] = Ue) : Ue = n[48];
6538
+ let We = M(Ue), Ge;
6539
+ n[49] === We ? Ge = n[50] : (Ge = () => {
6540
+ let e = ne.current;
6541
+ e != null && We(e);
6542
+ }, n[49] = We, n[50] = Ge);
6543
+ let Ke;
6544
+ n[51] !== p || n[52] !== ce || n[53] !== Pe || n[54] !== We || n[55] !== o ? (Ke = [
6545
+ p,
6546
+ ce,
6547
+ Pe,
6536
6548
  o,
6537
- W
6538
- ], n[47] = y, n[48] = Ce, n[49] = W, n[50] = o, n[51] = Pe) : Pe = n[51], (0, k.useEffect)(Ne, Pe);
6539
- let Fe;
6540
- n[52] !== V || n[53] !== ve || n[54] !== z || n[55] !== me ? (Fe = () => {
6541
- if (!(V == null || ve)) {
6542
- if (z) {
6543
- me();
6549
+ We
6550
+ ], n[51] = p, n[52] = ce, n[53] = Pe, n[54] = We, n[55] = o, n[56] = Ke) : Ke = n[56], (0, P.useEffect)(Ge, Ke);
6551
+ let qe;
6552
+ n[57] !== Te || n[58] !== ke || n[59] !== ye || n[60] !== Ce ? (qe = () => {
6553
+ if (!(Te == null || ke)) {
6554
+ if (ye) {
6555
+ Ce();
6544
6556
  return;
6545
6557
  }
6546
- (0, k.startTransition)(() => F((e) => {
6558
+ (0, P.startTransition)(() => L((e) => {
6547
6559
  let t = new Set(e);
6548
- return t.has(V) ? t.delete(V) : t.add(V), t;
6560
+ return t.has(Te) ? t.delete(Te) : t.add(Te), t;
6549
6561
  }));
6550
6562
  }
6551
- }, n[52] = V, n[53] = ve, n[54] = z, n[55] = me, n[56] = Fe) : Fe = n[56];
6552
- let G = D(Fe), Ie;
6553
- n[57] !== I || n[58] !== W || n[59] !== G ? (Ie = (e) => {
6554
- W(e), I && e.addKeyBinding({
6555
- keyCode: 67,
6556
- key: "C",
6557
- description: "Toggle code editor"
6558
- }, G);
6563
+ }, n[57] = Te, n[58] = ke, n[59] = ye, n[60] = Ce, n[61] = qe) : qe = n[61];
6564
+ let Je = M(qe), Ye, Xe;
6565
+ n[62] !== z || n[63] !== Je ? (Ye = () => {
6566
+ let e = ne.current;
6567
+ return e && na({
6568
+ deck: e,
6569
+ enabled: z,
6570
+ onToggle: Je
6571
+ }), () => {
6572
+ ne.current?.removeKeyBinding(ta);
6573
+ };
6574
+ }, Xe = [z, Je], n[62] = z, n[63] = Je, n[64] = Ye, n[65] = Xe) : (Ye = n[64], Xe = n[65]), (0, P.useEffect)(Ye, Xe);
6575
+ let Ze;
6576
+ n[66] !== C || n[67] !== B || n[68] !== Fe ? (Ze = (e) => {
6577
+ if (B != null) return;
6578
+ let t = ur(Fe, e.getIndices());
6579
+ t != null && C?.(t);
6580
+ }, n[66] = C, n[67] = B, n[68] = Fe, n[69] = Ze) : Ze = n[69];
6581
+ let Qe = M(Ze), $e;
6582
+ n[70] === Qe ? $e = n[71] : ($e = () => {
6583
+ let e = ne.current;
6584
+ e && Qe(e);
6585
+ }, n[70] = Qe, n[71] = $e);
6586
+ let et = M($e), tt;
6587
+ n[72] !== ce || n[73] !== z || n[74] !== We || n[75] !== Qe || n[76] !== Je ? (tt = (e) => {
6588
+ We(e), ce && Qe(e), na({
6589
+ deck: e,
6590
+ enabled: z,
6591
+ onToggle: Je
6592
+ });
6559
6593
  let t = e.getSlidesElement()?.closest(".reveal");
6560
6594
  t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: !0 }));
6561
- }, n[57] = I, n[58] = W, n[59] = G, n[60] = Ie) : Ie = n[60];
6562
- let Le = D(Ie), Re;
6563
- n[61] !== b || n[62] !== R || n[63] !== we ? (Re = () => {
6564
- if (R != null) return;
6565
- let e = M.current;
6566
- if (!e) return;
6567
- let t = ar(we, e.getIndices());
6568
- t != null && b?.(t);
6569
- }, n[61] = b, n[62] = R, n[63] = we, n[64] = Re) : Re = n[64];
6570
- let ze = D(Re), Be;
6571
- n[65] !== y || n[66] !== b || n[67] !== R || n[68] !== o ? (Be = (e) => {
6572
- if (!R || y == null || i.fromInput(e)) return;
6573
- let t = $i(e);
6595
+ }, n[72] = ce, n[73] = z, n[74] = We, n[75] = Qe, n[76] = Je, n[77] = tt) : tt = n[77];
6596
+ let nt = M(tt), rt;
6597
+ n[78] !== p || n[79] !== C || n[80] !== B || n[81] !== o ? (rt = (e) => {
6598
+ if (!B || p == null || i.fromInput(e)) return;
6599
+ let t = oa(e);
6574
6600
  if (t === 0) return;
6575
6601
  e.preventDefault(), e.stopPropagation();
6576
- let n = y + t;
6577
- n < 0 || n >= o.length || b?.(n);
6578
- }, n[65] = y, n[66] = b, n[67] = R, n[68] = o, n[69] = Be) : Be = n[69];
6579
- let Ve = D(Be), He;
6580
- n[70] === ze ? He = n[71] : (He = () => {
6581
- ze();
6582
- }, n[70] = ze, n[71] = He);
6583
- let Ue = D(He), We;
6584
- n[72] === Symbol.for("react.memo_cache_sentinel") ? (We = { capture: !0 }, n[72] = We) : We = n[72], t(document, "keydown", Ve, We);
6585
- let Ge = z ? null : de ? "Hidden as there is no output" : "Skipped in presentation", Ke;
6586
- n[73] !== pe || n[74] !== z || n[75] !== R?.id || n[76] !== B ? (Ke = z ? pe : B(R?.id), n[73] = pe, n[74] = z, n[75] = R?.id, n[76] = B, n[77] = Ke) : Ke = n[77];
6587
- let qe = Ke, Je;
6588
- n[78] !== O || n[79] !== de || n[80] !== qe ? (Je = la({
6589
- isNoOutputPreview: de,
6590
- isEditable: O,
6591
- showCode: qe
6592
- }), n[78] = O, n[79] = de, n[80] = qe, n[81] = Je) : Je = n[81];
6593
- let Ye = Je, Xe;
6594
- n[82] !== N || n[83] !== te ? (Xe = {
6595
- width: te,
6596
- height: N
6597
- }, n[82] = N, n[83] = te, n[84] = Xe) : Xe = n[84];
6598
- let Ze;
6599
- if (n[85] !== xe.stacks || n[86] !== O || n[87] !== s.cells || n[88] !== B || n[89] !== U) {
6602
+ let n = p + t;
6603
+ n < 0 || n >= o.length || C?.(n);
6604
+ }, n[78] = p, n[79] = C, n[80] = B, n[81] = o, n[82] = rt) : rt = n[82];
6605
+ let it = M(rt), at;
6606
+ n[83] === et ? at = n[84] : (at = () => {
6607
+ et();
6608
+ }, n[83] = et, n[84] = at);
6609
+ let ot = M(at), st;
6610
+ n[85] === Symbol.for("react.memo_cache_sentinel") ? (st = { capture: !0 }, n[85] = st) : st = n[85], t(document, "keydown", it, st);
6611
+ let ct = ye ? null : be ? "Hidden as there is no output" : "Skipped in presentation", lt;
6612
+ n[86] !== Se || n[87] !== ye || n[88] !== B?.id || n[89] !== V ? (lt = ye ? Se : V(B?.id), n[86] = Se, n[87] = ye, n[88] = B?.id, n[89] = V, n[90] = lt) : lt = n[90];
6613
+ let ut = lt, dt;
6614
+ n[91] !== N || n[92] !== be || n[93] !== ut ? (dt = ga({
6615
+ isNoOutputPreview: be,
6616
+ isEditable: N,
6617
+ showCode: ut
6618
+ }), n[91] = N, n[92] = be, n[93] = ut, n[94] = dt) : dt = n[94];
6619
+ let ft = dt, U;
6620
+ n[95] !== re || n[96] !== I ? (U = {
6621
+ width: I,
6622
+ height: re
6623
+ }, n[95] = re, n[96] = I, n[97] = U) : U = n[97];
6624
+ let pt;
6625
+ if (n[98] !== Me.stacks || n[99] !== N || n[100] !== s.cells || n[101] !== V || n[102] !== Re) {
6600
6626
  let e;
6601
- n[91] !== O || n[92] !== s.cells || n[93] !== B || n[94] !== U ? (e = (e, t) => e.subslides.length === 1 ? /* @__PURE__ */ (0, q.jsx)(ca, {
6627
+ n[104] !== N || n[105] !== s.cells || n[106] !== V || n[107] !== Re ? (e = (e, t) => e.subslides.length === 1 ? /* @__PURE__ */ (0, W.jsx)(ha, {
6602
6628
  subslide: e.subslides[0],
6603
- resolveShowCode: B,
6604
- isEditable: O,
6629
+ resolveShowCode: V,
6630
+ isEditable: N,
6605
6631
  slideConfigs: s.cells,
6606
- contentStyle: U
6607
- }, t) : /* @__PURE__ */ (0, q.jsx)(vt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, q.jsx)(ca, {
6632
+ contentStyle: Re
6633
+ }, t) : /* @__PURE__ */ (0, W.jsx)(Tt, { children: e.subslides.map((e, t) => /* @__PURE__ */ (0, W.jsx)(ha, {
6608
6634
  subslide: e,
6609
- resolveShowCode: B,
6610
- isEditable: O,
6635
+ resolveShowCode: V,
6636
+ isEditable: N,
6611
6637
  slideConfigs: s.cells,
6612
- contentStyle: U
6613
- }, t)) }, t), n[91] = O, n[92] = s.cells, n[93] = B, n[94] = U, n[95] = e) : e = n[95], Ze = xe.stacks.map(e), n[85] = xe.stacks, n[86] = O, n[87] = s.cells, n[88] = B, n[89] = U, n[90] = Ze;
6614
- } else Ze = n[90];
6615
- let Qe;
6616
- n[96] !== ie || n[97] !== Le || n[98] !== Ue || n[99] !== ze || n[100] !== je || n[101] !== Ze ? (Qe = /* @__PURE__ */ (0, q.jsx)(pt, {
6617
- deckRef: M,
6638
+ contentStyle: Re
6639
+ }, t)) }, t), n[104] = N, n[105] = s.cells, n[106] = V, n[107] = Re, n[108] = e) : e = n[108], pt = Me.stacks.map(e), n[98] = Me.stacks, n[99] = N, n[100] = s.cells, n[101] = V, n[102] = Re, n[103] = pt;
6640
+ } else pt = n[103];
6641
+ let mt;
6642
+ n[109] !== ue || n[110] !== nt || n[111] !== ot || n[112] !== et || n[113] !== He || n[114] !== pt ? (mt = /* @__PURE__ */ (0, W.jsx)(bt, {
6643
+ deckRef: ne,
6618
6644
  className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden",
6619
- config: je,
6620
- onReady: Le,
6621
- onSlideChange: Ue,
6622
- onFragmentShown: ze,
6623
- onFragmentHidden: ze,
6624
- plugins: ie,
6625
- children: Ze
6626
- }), n[96] = ie, n[97] = Le, n[98] = Ue, n[99] = ze, n[100] = je, n[101] = Ze, n[102] = Qe) : Qe = n[102];
6627
- let $e;
6628
- n[103] !== O || n[104] !== de || n[105] !== R || n[106] !== Ge || n[107] !== qe || n[108] !== Ye || n[109] !== U ? ($e = R && /* @__PURE__ */ (0, q.jsxs)("div", {
6645
+ config: He,
6646
+ onReady: nt,
6647
+ onSlideChange: ot,
6648
+ onFragmentShown: et,
6649
+ onFragmentHidden: et,
6650
+ plugins: ue,
6651
+ children: pt
6652
+ }), n[109] = ue, n[110] = nt, n[111] = ot, n[112] = et, n[113] = He, n[114] = pt, n[115] = mt) : mt = n[115];
6653
+ let ht;
6654
+ n[116] !== N || n[117] !== be || n[118] !== B || n[119] !== ct || n[120] !== ut || n[121] !== ft || n[122] !== Re ? (ht = B && /* @__PURE__ */ (0, W.jsxs)("div", {
6629
6655
  className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
6630
- "aria-label": Ge ?? void 0,
6631
- children: [Ge && /* @__PURE__ */ (0, q.jsxs)("div", {
6656
+ "aria-label": ct ?? void 0,
6657
+ children: [ct && /* @__PURE__ */ (0, W.jsxs)("div", {
6632
6658
  className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
6633
- children: [/* @__PURE__ */ (0, q.jsx)(_, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, q.jsx)("span", { children: Ge })]
6634
- }), /* @__PURE__ */ (0, q.jsx)("div", {
6659
+ children: [/* @__PURE__ */ (0, W.jsx)(_, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, W.jsx)("span", { children: ct })]
6660
+ }), /* @__PURE__ */ (0, W.jsx)("div", {
6635
6661
  className: "flex-1 overflow-auto flex",
6636
- children: /* @__PURE__ */ (0, q.jsx)("div", {
6637
- className: Ye ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
6638
- style: U,
6639
- children: /* @__PURE__ */ (0, q.jsx)(ua, {
6640
- cell: R,
6641
- isNoOutputPreview: de,
6642
- isEditable: O,
6643
- showCode: qe
6662
+ children: /* @__PURE__ */ (0, W.jsx)("div", {
6663
+ className: ft ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
6664
+ style: Re,
6665
+ children: /* @__PURE__ */ (0, W.jsx)(_a, {
6666
+ cell: B,
6667
+ isNoOutputPreview: be,
6668
+ isEditable: N,
6669
+ showCode: ut
6644
6670
  })
6645
6671
  })
6646
6672
  })]
6647
- }, R.id), n[103] = O, n[104] = de, n[105] = R, n[106] = Ge, n[107] = qe, n[108] = Ye, n[109] = U, n[110] = $e) : $e = n[110];
6648
- let et;
6649
- n[111] !== H || n[112] !== ve || n[113] !== I || n[114] !== G ? (et = I && /* @__PURE__ */ (0, q.jsx)(T, {
6650
- content: ve ? "Code is always shown for this slide" : H ? "Hide code (C)" : "Show code (C)",
6651
- children: /* @__PURE__ */ (0, q.jsx)(a, {
6673
+ }, B.id), n[116] = N, n[117] = be, n[118] = B, n[119] = ct, n[120] = ut, n[121] = ft, n[122] = Re, n[123] = ht) : ht = n[123];
6674
+ let gt;
6675
+ n[124] !== De || n[125] !== ke || n[126] !== z || n[127] !== Je ? (gt = z && /* @__PURE__ */ (0, W.jsx)(A, {
6676
+ content: ke ? "Code is always shown for this slide" : De ? "Hide code (C)" : "Show code (C)",
6677
+ children: /* @__PURE__ */ (0, W.jsx)(a, {
6652
6678
  "data-testid": "marimo-plugin-slides-toggle-code",
6653
6679
  variant: "ghost",
6654
6680
  size: "icon",
6655
- className: r("text-muted-foreground h-7 w-7", H && "text-foreground bg-muted", ve && "opacity-50 cursor-not-allowed"),
6656
- "aria-pressed": H,
6657
- "aria-disabled": ve,
6658
- "aria-label": ve ? "Code always shown" : H ? "Hide code" : "Show code",
6659
- onClick: G,
6660
- children: /* @__PURE__ */ (0, q.jsx)(v, { className: "h-4 w-4" })
6681
+ className: r("text-muted-foreground h-7 w-7", De && "text-foreground bg-muted", ke && "opacity-50 cursor-not-allowed"),
6682
+ "aria-pressed": De,
6683
+ "aria-disabled": ke,
6684
+ "aria-label": ke ? "Code always shown" : De ? "Hide code" : "Show code",
6685
+ onClick: Je,
6686
+ children: /* @__PURE__ */ (0, W.jsx)(T, { className: "h-4 w-4" })
6661
6687
  })
6662
- }), n[111] = H, n[112] = ve, n[113] = I, n[114] = G, n[115] = et) : et = n[115];
6663
- let tt;
6664
- n[116] === Symbol.for("react.memo_cache_sentinel") ? (tt = /* @__PURE__ */ (0, q.jsx)(T, {
6688
+ }), n[124] = De, n[125] = ke, n[126] = z, n[127] = Je, n[128] = gt) : gt = n[128];
6689
+ let _t;
6690
+ n[129] === Symbol.for("react.memo_cache_sentinel") ? (_t = /* @__PURE__ */ (0, W.jsx)(A, {
6665
6691
  content: "Fullscreen (F)",
6666
- children: /* @__PURE__ */ (0, q.jsx)(a, {
6692
+ children: /* @__PURE__ */ (0, W.jsx)(a, {
6667
6693
  "data-testid": "marimo-plugin-slides-fullscreen",
6668
6694
  variant: "ghost",
6669
6695
  size: "icon",
6670
6696
  className: "text-muted-foreground h-7 w-7",
6671
6697
  "aria-label": "Enter fullscreen",
6672
6698
  onClick: () => {
6673
- M.current?.getViewportElement()?.requestFullscreen().catch(ga);
6699
+ ne.current?.getViewportElement()?.requestFullscreen().catch(Ca);
6674
6700
  },
6675
- children: /* @__PURE__ */ (0, q.jsx)(m, { className: "h-4 w-4" })
6701
+ children: /* @__PURE__ */ (0, W.jsx)(h, { className: "h-4 w-4" })
6676
6702
  })
6677
- }), n[116] = tt) : tt = n[116];
6678
- let nt;
6679
- n[117] === et ? nt = n[118] : (nt = /* @__PURE__ */ (0, q.jsxs)("div", {
6703
+ }), n[129] = _t) : _t = n[129];
6704
+ let vt;
6705
+ n[130] === gt ? vt = n[131] : (vt = /* @__PURE__ */ (0, W.jsxs)("div", {
6680
6706
  className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
6681
- children: [et, tt]
6682
- }), n[117] = et, n[118] = nt);
6683
- let rt;
6684
- n[119] !== Xe || n[120] !== Qe || n[121] !== $e || n[122] !== nt ? (rt = /* @__PURE__ */ (0, q.jsx)("div", {
6685
- ref: j,
6707
+ children: [gt, _t]
6708
+ }), n[130] = gt, n[131] = vt);
6709
+ let yt;
6710
+ n[132] !== U || n[133] !== mt || n[134] !== ht || n[135] !== vt ? (yt = /* @__PURE__ */ (0, W.jsx)("div", {
6711
+ ref: te,
6686
6712
  className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
6687
- children: /* @__PURE__ */ (0, q.jsxs)("div", {
6713
+ children: /* @__PURE__ */ (0, W.jsxs)("div", {
6688
6714
  className: "group relative",
6689
- style: Xe,
6715
+ style: U,
6690
6716
  children: [
6691
- Qe,
6692
- $e,
6693
- nt
6717
+ mt,
6718
+ ht,
6719
+ vt
6694
6720
  ]
6695
6721
  })
6696
- }), n[119] = Xe, n[120] = Qe, n[121] = $e, n[122] = nt, n[123] = rt) : rt = n[123];
6697
- let it = rt;
6698
- if (x === "read") {
6722
+ }), n[132] = U, n[133] = mt, n[134] = ht, n[135] = vt, n[136] = yt) : yt = n[136];
6723
+ let G = yt;
6724
+ if (E === "read") {
6699
6725
  let e;
6700
- return n[124] === it ? e = n[125] : (e = /* @__PURE__ */ (0, q.jsx)("div", {
6726
+ return n[137] === G ? e = n[138] : (e = /* @__PURE__ */ (0, W.jsx)("div", {
6701
6727
  className: "flex-1 min-w-0 flex flex-row gap-3",
6702
- children: it
6703
- }), n[124] = it, n[125] = e), e;
6728
+ children: G
6729
+ }), n[137] = G, n[138] = e), e;
6704
6730
  }
6705
- let K;
6706
- n[126] === it ? K = n[127] : (K = /* @__PURE__ */ (0, q.jsx)(d, {
6731
+ let xt;
6732
+ n[139] === G ? xt = n[140] : (xt = /* @__PURE__ */ (0, W.jsx)(d, {
6707
6733
  defaultSize: 92,
6708
6734
  minSize: 60,
6709
- children: it
6710
- }), n[126] = it, n[127] = K);
6711
- let at;
6712
- n[128] === Symbol.for("react.memo_cache_sentinel") ? (at = {
6735
+ children: G
6736
+ }), n[139] = G, n[140] = xt);
6737
+ let St;
6738
+ n[141] === Symbol.for("react.memo_cache_sentinel") ? (St = {
6713
6739
  coarse: 12,
6714
6740
  fine: 4
6715
- }, n[128] = at) : at = n[128];
6716
- let ot;
6717
- n[129] === P ? ot = n[130] : (ot = /* @__PURE__ */ (0, q.jsx)(f, {
6741
+ }, n[141] = St) : St = n[141];
6742
+ let Ct;
6743
+ n[142] === ie ? Ct = n[143] : (Ct = /* @__PURE__ */ (0, W.jsx)(S, {
6718
6744
  className: "mo-slides-notes-resize",
6719
- hitAreaMargins: at,
6720
- disabled: P
6721
- }), n[129] = P, n[130] = ot);
6722
- let st = L?.id, ct;
6723
- n[131] !== s || n[132] !== c || n[133] !== st ? (ct = /* @__PURE__ */ (0, q.jsx)(d, {
6745
+ hitAreaMargins: St,
6746
+ disabled: ie
6747
+ }), n[142] = ie, n[143] = Ct);
6748
+ let wt = _e?.id, Et;
6749
+ n[144] !== s || n[145] !== l || n[146] !== wt ? (Et = /* @__PURE__ */ (0, W.jsx)(d, {
6724
6750
  defaultSize: 10,
6725
6751
  minSize: 4,
6726
6752
  collapsible: !0,
6727
6753
  collapsedSize: 4,
6728
- children: /* @__PURE__ */ (0, q.jsx)(fr, {
6754
+ children: /* @__PURE__ */ (0, W.jsx)(_r, {
6729
6755
  layout: s,
6730
- setLayout: c,
6731
- cellId: st
6756
+ setLayout: l,
6757
+ cellId: wt
6732
6758
  })
6733
- }), n[131] = s, n[132] = c, n[133] = st, n[134] = ct) : ct = n[134];
6734
- let lt;
6735
- n[135] !== K || n[136] !== ot || n[137] !== ct ? (lt = /* @__PURE__ */ (0, q.jsxs)(p, {
6759
+ }), n[144] = s, n[145] = l, n[146] = wt, n[147] = Et) : Et = n[147];
6760
+ let K;
6761
+ n[148] !== xt || n[149] !== Ct || n[150] !== Et ? (K = /* @__PURE__ */ (0, W.jsxs)(b, {
6736
6762
  direction: "vertical",
6737
6763
  autoSaveId: "marimo:slides:notes-panel",
6738
6764
  className: "flex-1 min-w-0",
6739
6765
  children: [
6740
- K,
6741
- ot,
6742
- ct
6766
+ xt,
6767
+ Ct,
6768
+ Et
6743
6769
  ]
6744
- }), n[135] = K, n[136] = ot, n[137] = ct, n[138] = lt) : lt = n[138];
6745
- let ut;
6746
- n[139] !== L || n[140] !== S || n[141] !== s || n[142] !== c ? (ut = /* @__PURE__ */ (0, q.jsx)(h, {
6747
- configWidth: S,
6770
+ }), n[148] = xt, n[149] = Ct, n[150] = Et, n[151] = K) : K = n[151];
6771
+ let Dt;
6772
+ n[152] !== _e || n[153] !== D || n[154] !== s || n[155] !== l ? (Dt = /* @__PURE__ */ (0, W.jsx)(m, {
6773
+ configWidth: D,
6748
6774
  layout: s,
6749
- setLayout: c,
6750
- activeConfigCell: L
6751
- }), n[139] = L, n[140] = S, n[141] = s, n[142] = c, n[143] = ut) : ut = n[143];
6752
- let dt;
6753
- return n[144] !== lt || n[145] !== ut ? (dt = /* @__PURE__ */ (0, q.jsxs)("div", {
6775
+ setLayout: l,
6776
+ activeConfigCell: _e
6777
+ }), n[152] = _e, n[153] = D, n[154] = s, n[155] = l, n[156] = Dt) : Dt = n[156];
6778
+ let q;
6779
+ return n[157] !== K || n[158] !== Dt ? (q = /* @__PURE__ */ (0, W.jsxs)("div", {
6754
6780
  className: "flex-1 min-w-0 flex flex-row gap-3",
6755
- children: [lt, ut]
6756
- }), n[144] = lt, n[145] = ut, n[146] = dt) : dt = n[146], dt;
6781
+ children: [K, Dt]
6782
+ }), n[157] = K, n[158] = Dt, n[159] = q) : q = n[159], q;
6757
6783
  };
6758
- function fa() {
6784
+ function ya() {
6759
6785
  return /* @__PURE__ */ new Set();
6760
6786
  }
6761
- function pa(e) {
6787
+ function ba(e) {
6762
6788
  return e.id;
6763
6789
  }
6764
- function ma(e) {
6790
+ function xa(e) {
6765
6791
  return !i.fromInput(e);
6766
6792
  }
6767
- function ha(e) {
6793
+ function Sa(e) {
6768
6794
  return e.id;
6769
6795
  }
6770
- function ga(e) {
6796
+ function Ca(e) {
6771
6797
  n.error("Failed to request fullscreen", e);
6772
6798
  }
6773
6799
  //#endregion
6774
- export { sa as CellOutputBlock, ra as deckSlideType, da as default, la as parkedRendersSource, na as shouldShowCode, ia as useParkedPreview };
6800
+ export { ma as CellOutputBlock, ua as deckSlideType, va as default, ga as parkedRendersSource, la as shouldShowCode, na as syncCodeToggleKeyBinding, da as useParkedPreview };