function t() {
return {
baseUrl: null,
breaks: !1,
extensions: null,
gfm: !0,
headerIds: !0,
headerPrefix: "",
highlight: null,
langPrefix: "language-",
mangle: !0,
pedantic: !1,
renderer: null,
sanitize: !1,
sanitizer: null,
silent: !1,
smartLists: !1,
smartypants: !1,
tokenizer: null,
walkTokens: null,
xhtml: !1,
};
}
let e = {
baseUrl: null,
breaks: !1,
extensions: null,
gfm: !0,
headerIds: !0,
headerPrefix: "",
highlight: null,
langPrefix: "language-",
mangle: !0,
pedantic: !1,
renderer: null,
sanitize: !1,
sanitizer: null,
silent: !1,
smartLists: !1,
smartypants: !1,
tokenizer: null,
walkTokens: null,
xhtml: !1,
};
const n = /[&<>"']/,
i = /[&<>"']/g,
s = /[<>"']|&(?!#?\w+;)/,
r = /[<>"']|&(?!#?\w+;)/g,
a = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" },
l = (t) => a[t];
function o(t, e) {
if (e) {
if (n.test(t)) return t.replace(i, l);
} else if (s.test(t)) return t.replace(r, l);
return t;
}
const c = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;
function p(t) {
return t.replace(c, (t, e) =>
"colon" === (e = e.toLowerCase())
? ":"
: "#" === e.charAt(0)
? "x" === e.charAt(1)
? String.fromCharCode(parseInt(e.substring(2), 16))
: String.fromCharCode(+e.substring(1))
: ""
);
}
const u = /(^|[^\[])\^/g;
function d(t, e) {
(t = t.source || t), (e = e || "");
const n = {
replace: (e, i) => (
(i = (i = i.source || i).replace(u, "$1")), (t = t.replace(e, i)), n
),
getRegex: () => new RegExp(t, e),
};
return n;
}
const h = /[^\w:]/g,
g = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
function m(t, e, n) {
if (t) {
let t;
try {
t = decodeURIComponent(p(n)).replace(h, "").toLowerCase();
} catch (t) {
return null;
}
if (
0 === t.indexOf("javascript:") ||
0 === t.indexOf("vbscript:") ||
0 === t.indexOf("data:")
)
return null;
}
e &&
!g.test(n) &&
(n = (function (t, e) {
f[" " + t] ||
(k.test(t) ? (f[" " + t] = t + "/") : (f[" " + t] = S(t, "/", !0)));
t = f[" " + t];
const n = -1 === t.indexOf(":");
return "//" === e.substring(0, 2)
? n
? e
: t.replace(w, "$1") + e
: "/" === e.charAt(0)
? n
? e
: t.replace(x, "$1") + e
: t + e;
})(e, n));
try {
n = encodeURI(n).replace(/%25/g, "%");
} catch (t) {
return null;
}
return n;
}
const f = {},
k = /^[^:]+:\/*[^/]*$/,
w = /^([^:]+:)[\s\S]*$/,
x = /^([^:]+:\/*[^/]*)[\s\S]*$/;
const b = { exec: function () {} };
function y(t) {
let e,
n,
i = 1;
for (; i < arguments.length; i++)
for (n in ((e = arguments[i]), e))
Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
return t;
}
function v(t, e) {
const n = t
.replace(/\|/g, (t, e, n) => {
let i = !1,
s = e;
for (; --s >= 0 && "\\" === n[s]; ) i = !i;
return i ? "|" : " |";
})
.split(/ \|/);
let i = 0;
if (
(n[0].trim() || n.shift(),
n.length > 0 && !n[n.length - 1].trim() && n.pop(),
n.length > e)
)
n.splice(e);
else for (; n.length < e; ) n.push("");
for (; i < n.length; i++) n[i] = n[i].trim().replace(/\\\|/g, "|");
return n;
}
function S(t, e, n) {
const i = t.length;
if (0 === i) return "";
let s = 0;
for (; s < i; ) {
const r = t.charAt(i - s - 1);
if (r !== e || n) {
if (r === e || !n) break;
s++;
} else s++;
}
return t.substr(0, i - s);
}
function T(t) {
t &&
t.sanitize &&
!t.silent &&
console.warn(
"marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options"
);
}
function _(t, e) {
if (e < 1) return "";
let n = "";
for (; e > 1; ) 1 & e && (n += t), (e >>= 1), (t += t);
return n + t;
}
function z(t, e, n, i) {
const s = e.href,
r = e.title ? o(e.title) : null,
a = t[1].replace(/\\([\[\]])/g, "$1");
if ("!" !== t[0].charAt(0)) {
i.state.inLink = !0;
const t = {
type: "link",
raw: n,
href: s,
title: r,
text: a,
tokens: i.inlineTokens(a, []),
};
return (i.state.inLink = !1), t;
}
return { type: "image", raw: n, href: s, title: r, text: o(a) };
}
class A {
constructor(t) {
this.options = t || e;
}
space(t) {
const e = this.rules.block.newline.exec(t);
if (e && e[0].length > 0) return { type: "space", raw: e[0] };
}
code(t) {
const e = this.rules.block.code.exec(t);
if (e) {
const t = e[0].replace(/^ {1,4}/gm, "");
return {
type: "code",
raw: e[0],
codeBlockStyle: "indented",
text: this.options.pedantic ? t : S(t, "\n"),
};
}
}
fences(t) {
const e = this.rules.block.fences.exec(t);
if (e) {
const t = e[0],
n = (function (t, e) {
const n = t.match(/^(\s+)(?:```)/);
if (null === n) return e;
const i = n[1];
return e
.split("\n")
.map((t) => {
const e = t.match(/^\s+/);
if (null === e) return t;
const [n] = e;
return n.length >= i.length ? t.slice(i.length) : t;
})
.join("\n");
})(t, e[3] || "");
return { type: "code", raw: t, lang: e[2] ? e[2].trim() : e[2], text: n };
}
}
heading(t) {
const e = this.rules.block.heading.exec(t);
if (e) {
let t = e[2].trim();
if (/#$/.test(t)) {
const e = S(t, "#");
this.options.pedantic
? (t = e.trim())
: (e && !/ $/.test(e)) || (t = e.trim());
}
const n = {
type: "heading",
raw: e[0],
depth: e[1].length,
text: t,
tokens: [],
};
return this.lexer.inline(n.text, n.tokens), n;
}
}
hr(t) {
const e = this.rules.block.hr.exec(t);
if (e) return { type: "hr", raw: e[0] };
}
blockquote(t) {
const e = this.rules.block.blockquote.exec(t);
if (e) {
const t = e[0].replace(/^ *> ?/gm, "");
return {
type: "blockquote",
raw: e[0],
tokens: this.lexer.blockTokens(t, []),
text: t,
};
}
}
list(t) {
let e = this.rules.block.list.exec(t);
if (e) {
let n,
i,
s,
r,
a,
l,
o,
c,
p,
u,
d,
h,
g = e[1].trim();
const m = g.length > 1,
f = {
type: "list",
raw: "",
ordered: m,
start: m ? +g.slice(0, -1) : "",
loose: !1,
items: [],
};
(g = m ? `\\d{1,9}\\${g.slice(-1)}` : `\\${g}`),
this.options.pedantic && (g = m ? g : "[*+-]");
const k = new RegExp(`^( {0,3}${g})((?: [^\\n]*)?(?:\\n|$))`);
for (
;
t && ((h = !1), (e = k.exec(t))) && !this.rules.block.hr.test(t);
) {
if (
((n = e[0]),
(t = t.substring(n.length)),
(c = e[2].split("\n", 1)[0]),
(p = t.split("\n", 1)[0]),
this.options.pedantic
? ((r = 2), (d = c.trimLeft()))
: ((r = e[2].search(/[^ ]/)),
(r = r > 4 ? 1 : r),
(d = c.slice(r)),
(r += e[1].length)),
(l = !1),
!c &&
/^ *$/.test(p) &&
((n += p + "\n"), (t = t.substring(p.length + 1)), (h = !0)),
!h)
) {
const e = new RegExp(
`^ {0,${Math.min(3, r - 1)}}(?:[*+-]|\\d{1,9}[.)])`
);
for (
;
t &&
((u = t.split("\n", 1)[0]),
(c = u),
this.options.pedantic &&
(c = c.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ")),
!e.test(c));
) {
if (c.search(/[^ ]/) >= r || !c.trim()) d += "\n" + c.slice(r);
else {
if (l) break;
d += "\n" + c;
}
l || c.trim() || (l = !0),
(n += u + "\n"),
(t = t.substring(u.length + 1));
}
}
f.loose || (o ? (f.loose = !0) : /\n *\n *$/.test(n) && (o = !0)),
this.options.gfm &&
((i = /^\[[ xX]\] /.exec(d)),
i && ((s = "[ ] " !== i[0]), (d = d.replace(/^\[[ xX]\] +/, "")))),
f.items.push({
type: "list_item",
raw: n,
task: !!i,
checked: s,
loose: !1,
text: d,
}),
(f.raw += n);
}
(f.items[f.items.length - 1].raw = n.trimRight()),
(f.items[f.items.length - 1].text = d.trimRight()),
(f.raw = f.raw.trimRight());
const w = f.items.length;
for (a = 0; a < w; a++) {
(this.lexer.state.top = !1),
(f.items[a].tokens = this.lexer.blockTokens(f.items[a].text, []));
const t = f.items[a].tokens.filter((t) => "space" === t.type),
e = t.every((t) => {
const e = t.raw.split("");
let n = 0;
for (const t of e) if (("\n" === t && (n += 1), n > 1)) return !0;
return !1;
});
!f.loose && t.length && e && ((f.loose = !0), (f.items[a].loose = !0));
}
return f;
}
}
html(t) {
const e = this.rules.block.html.exec(t);
if (e) {
const t = {
type: "html",
raw: e[0],
pre:
!this.options.sanitizer &&
("pre" === e[1] || "script" === e[1] || "style" === e[1]),
text: e[0],
};
return (
this.options.sanitize &&
((t.type = "paragraph"),
(t.text = this.options.sanitizer
? this.options.sanitizer(e[0])
: o(e[0])),
(t.tokens = []),
this.lexer.inline(t.text, t.tokens)),
t
);
}
}
def(t) {
const e = this.rules.block.def.exec(t);
if (e) {
e[3] && (e[3] = e[3].substring(1, e[3].length - 1));
return {
type: "def",
tag: e[1].toLowerCase().replace(/\s+/g, " "),
raw: e[0],
href: e[2],
title: e[3],
};
}
}
table(t) {
const e = this.rules.block.table.exec(t);
if (e) {
const t = {
type: "table",
header: v(e[1]).map((t) => ({ text: t })),
align: e[2].replace(/^ *|\| *$/g, "").split(/ *\| */),
rows:
e[3] && e[3].trim() ? e[3].replace(/\n[ \t]*$/, "").split("\n") : [],
};
if (t.header.length === t.align.length) {
t.raw = e[0];
let n,
i,
s,
r,
a = t.align.length;
for (n = 0; n < a; n++)
/^ *-+: *$/.test(t.align[n])
? (t.align[n] = "right")
: /^ *:-+: *$/.test(t.align[n])
? (t.align[n] = "center")
: /^ *:-+ *$/.test(t.align[n])
? (t.align[n] = "left")
: (t.align[n] = null);
for (a = t.rows.length, n = 0; n < a; n++)
t.rows[n] = v(t.rows[n], t.header.length).map((t) => ({ text: t }));
for (a = t.header.length, i = 0; i < a; i++)
(t.header[i].tokens = []),
this.lexer.inlineTokens(t.header[i].text, t.header[i].tokens);
for (a = t.rows.length, i = 0; i < a; i++)
for (r = t.rows[i], s = 0; s < r.length; s++)
(r[s].tokens = []), this.lexer.inlineTokens(r[s].text, r[s].tokens);
return t;
}
}
}
lheading(t) {
const e = this.rules.block.lheading.exec(t);
if (e) {
const t = {
type: "heading",
raw: e[0],
depth: "=" === e[2].charAt(0) ? 1 : 2,
text: e[1],
tokens: [],
};
return this.lexer.inline(t.text, t.tokens), t;
}
}
paragraph(t) {
const e = this.rules.block.paragraph.exec(t);
if (e) {
const t = {
type: "paragraph",
raw: e[0],
text: "\n" === e[1].charAt(e[1].length - 1) ? e[1].slice(0, -1) : e[1],
tokens: [],
};
return this.lexer.inline(t.text, t.tokens), t;
}
}
text(t) {
const e = this.rules.block.text.exec(t);
if (e) {
const t = { type: "text", raw: e[0], text: e[0], tokens: [] };
return this.lexer.inline(t.text, t.tokens), t;
}
}
escape(t) {
const e = this.rules.inline.escape.exec(t);
if (e) return { type: "escape", raw: e[0], text: o(e[1]) };
}
tag(t) {
const e = this.rules.inline.tag.exec(t);
if (e)
return (
!this.lexer.state.inLink && /^/i.test(e[0]) &&
(this.lexer.state.inLink = !1),
!this.lexer.state.inRawBlock &&
/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])
? (this.lexer.state.inRawBlock = !0)
: this.lexer.state.inRawBlock &&
/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0]) &&
(this.lexer.state.inRawBlock = !1),
{
type: this.options.sanitize ? "text" : "html",
raw: e[0],
inLink: this.lexer.state.inLink,
inRawBlock: this.lexer.state.inRawBlock,
text: this.options.sanitize
? this.options.sanitizer
? this.options.sanitizer(e[0])
: o(e[0])
: e[0],
}
);
}
link(t) {
const e = this.rules.inline.link.exec(t);
if (e) {
const t = e[2].trim();
if (!this.options.pedantic && /^$/.test(t)) return;
const e = S(t.slice(0, -1), "\\");
if ((t.length - e.length) % 2 == 0) return;
} else {
const t = (function (t, e) {
if (-1 === t.indexOf(e[1])) return -1;
const n = t.length;
let i = 0,
s = 0;
for (; s < n; s++)
if ("\\" === t[s]) s++;
else if (t[s] === e[0]) i++;
else if (t[s] === e[1] && (i--, i < 0)) return s;
return -1;
})(e[2], "()");
if (t > -1) {
const n = (0 === e[0].indexOf("!") ? 5 : 4) + e[1].length + t;
(e[2] = e[2].substring(0, t)),
(e[0] = e[0].substring(0, n).trim()),
(e[3] = "");
}
}
let n = e[2],
i = "";
if (this.options.pedantic) {
const t = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);
t && ((n = t[1]), (i = t[3]));
} else i = e[3] ? e[3].slice(1, -1) : "";
return (
(n = n.trim()),
/^$/.test(t)
? n.slice(1)
: n.slice(1, -1)),
z(
e,
{
href: n ? n.replace(this.rules.inline._escapes, "$1") : n,
title: i ? i.replace(this.rules.inline._escapes, "$1") : i,
},
e[0],
this.lexer
)
);
}
}
reflink(t, e) {
let n;
if (
(n = this.rules.inline.reflink.exec(t)) ||
(n = this.rules.inline.nolink.exec(t))
) {
let t = (n[2] || n[1]).replace(/\s+/g, " ");
if (((t = e[t.toLowerCase()]), !t || !t.href)) {
const t = n[0].charAt(0);
return { type: "text", raw: t, text: t };
}
return z(n, t, n[0], this.lexer);
}
}
emStrong(t, e, n = "") {
let i = this.rules.inline.emStrong.lDelim.exec(t);
if (!i) return;
if (i[3] && n.match(/[\p{L}\p{N}]/u)) return;
const s = i[1] || i[2] || "";
if (!s || (s && ("" === n || this.rules.inline.punctuation.exec(n)))) {
const n = i[0].length - 1;
let s,
r,
a = n,
l = 0;
const o =
"*" === i[0][0]
? this.rules.inline.emStrong.rDelimAst
: this.rules.inline.emStrong.rDelimUnd;
for (
o.lastIndex = 0, e = e.slice(-1 * t.length + n);
null != (i = o.exec(e));
) {
if (((s = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !s)) continue;
if (((r = s.length), i[3] || i[4])) {
a += r;
continue;
}
if ((i[5] || i[6]) && n % 3 && !((n + r) % 3)) {
l += r;
continue;
}
if (((a -= r), a > 0)) continue;
if (((r = Math.min(r, r + a + l)), Math.min(n, r) % 2)) {
const e = t.slice(1, n + i.index + r);
return {
type: "em",
raw: t.slice(0, n + i.index + r + 1),
text: e,
tokens: this.lexer.inlineTokens(e, []),
};
}
const e = t.slice(2, n + i.index + r - 1);
return {
type: "strong",
raw: t.slice(0, n + i.index + r + 1),
text: e,
tokens: this.lexer.inlineTokens(e, []),
};
}
}
}
codespan(t) {
const e = this.rules.inline.code.exec(t);
if (e) {
let t = e[2].replace(/\n/g, " ");
const n = /[^ ]/.test(t),
i = /^ /.test(t) && / $/.test(t);
return (
n && i && (t = t.substring(1, t.length - 1)),
(t = o(t, !0)),
{ type: "codespan", raw: e[0], text: t }
);
}
}
br(t) {
const e = this.rules.inline.br.exec(t);
if (e) return { type: "br", raw: e[0] };
}
del(t) {
const e = this.rules.inline.del.exec(t);
if (e)
return {
type: "del",
raw: e[0],
text: e[2],
tokens: this.lexer.inlineTokens(e[2], []),
};
}
autolink(t, e) {
const n = this.rules.inline.autolink.exec(t);
if (n) {
let t, i;
return (
"@" === n[2]
? ((t = o(this.options.mangle ? e(n[1]) : n[1])), (i = "mailto:" + t))
: ((t = o(n[1])), (i = t)),
{
type: "link",
raw: n[0],
text: t,
href: i,
tokens: [{ type: "text", raw: t, text: t }],
}
);
}
}
url(t, e) {
let n;
if ((n = this.rules.inline.url.exec(t))) {
let t, i;
if ("@" === n[2])
(t = o(this.options.mangle ? e(n[0]) : n[0])), (i = "mailto:" + t);
else {
let e;
do {
(e = n[0]), (n[0] = this.rules.inline._backpedal.exec(n[0])[0]);
} while (e !== n[0]);
(t = o(n[0])), (i = "www." === n[1] ? "http://" + t : t);
}
return {
type: "link",
raw: n[0],
text: t,
href: i,
tokens: [{ type: "text", raw: t, text: t }],
};
}
}
inlineText(t, e) {
const n = this.rules.inline.text.exec(t);
if (n) {
let t;
return (
(t = this.lexer.state.inRawBlock
? this.options.sanitize
? this.options.sanitizer
? this.options.sanitizer(n[0])
: o(n[0])
: n[0]
: o(this.options.smartypants ? e(n[0]) : n[0])),
{ type: "text", raw: n[0], text: t }
);
}
}
}
const E = {
newline: /^(?: *(?:\n|$))+/,
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
fences:
/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
list: /^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,
html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\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|$))",
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
table: b,
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
_paragraph:
/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
text: /^[^\n]+/,
_label: /(?!\s*\])(?:\\.|[^\[\]\\])+/,
_title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,
};
(E.def = d(E.def)
.replace("label", E._label)
.replace("title", E._title)
.getRegex()),
(E.bullet = /(?:[*+-]|\d{1,9}[.)])/),
(E.listItemStart = d(/^( *)(bull) */)
.replace("bull", E.bullet)
.getRegex()),
(E.list = d(E.list)
.replace(/bull/g, E.bullet)
.replace(
"hr",
"\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))"
)
.replace("def", "\\n+(?=" + E.def.source + ")")
.getRegex()),
(E._tag =
"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|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul"),
(E._comment = /|$)/),
(E.html = d(E.html, "i")
.replace("comment", E._comment)
.replace("tag", E._tag)
.replace(
"attribute",
/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/
)
.getRegex()),
(E.paragraph = d(E._paragraph)
.replace("hr", E.hr)
.replace("heading", " {0,3}#{1,6} ")
.replace("|lheading", "")
.replace("|table", "")
.replace("blockquote", " {0,3}>")
.replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n")
.replace("list", " {0,3}(?:[*+-]|1[.)]) ")
.replace(
"html",
"?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)"
)
.replace("tag", E._tag)
.getRegex()),
(E.blockquote = d(E.blockquote).replace("paragraph", E.paragraph).getRegex()),
(E.normal = y({}, E)),
(E.gfm = y({}, E.normal, {
table:
"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",
})),
(E.gfm.table = d(E.gfm.table)
.replace("hr", E.hr)
.replace("heading", " {0,3}#{1,6} ")
.replace("blockquote", " {0,3}>")
.replace("code", " {4}[^\\n]")
.replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n")
.replace("list", " {0,3}(?:[*+-]|1[.)]) ")
.replace(
"html",
"?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)"
)
.replace("tag", E._tag)
.getRegex()),
(E.gfm.paragraph = d(E._paragraph)
.replace("hr", E.hr)
.replace("heading", " {0,3}#{1,6} ")
.replace("|lheading", "")
.replace("table", E.gfm.table)
.replace("blockquote", " {0,3}>")
.replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n")
.replace("list", " {0,3}(?:[*+-]|1[.)]) ")
.replace(
"html",
"?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)"
)
.replace("tag", E._tag)
.getRegex()),
(E.pedantic = y({}, E.normal, {
html: d(
"^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| " + t + "
\n"
: "' +
(n ? t : o(t, !0)) +
"
\n"
);
}
blockquote(t) {
return "" + (n ? t : o(t, !0)) + "
\n" + t + "
\n";
}
html(t) {
return t;
}
heading(t, e, n, i) {
return this.options.headerIds
? "
\n" : "
\n";
}
list(t, e, n) {
const i = e ? "ol" : "ul";
return (
"<" +
i +
(e && 1 !== n ? ' start="' + n + '"' : "") +
">\n" +
t +
"" +
i +
">\n"
);
}
listitem(t) {
return "
" + t + "
";
}
br() {
return this.options.xhtml ? "An error occurred:
" + o(t.message + "", !0) + "" ); throw t; } } (P.options = P.setOptions = function (t) { var n; return y(P.defaults, t), (n = P.defaults), (e = n), P; }), (P.getDefaults = t), (P.defaults = e), (P.use = function (...t) { const e = y({}, ...t), n = P.defaults.extensions || { renderers: {}, childTokens: {} }; let i; t.forEach((t) => { if ( (t.extensions && ((i = !0), t.extensions.forEach((t) => { if (!t.name) throw new Error("extension name required"); if (t.renderer) { const e = n.renderers ? n.renderers[t.name] : null; n.renderers[t.name] = e ? function (...n) { let i = t.renderer.apply(this, n); return !1 === i && (i = e.apply(this, n)), i; } : t.renderer; } if (t.tokenizer) { if (!t.level || ("block" !== t.level && "inline" !== t.level)) throw new Error("extension level must be 'block' or 'inline'"); n[t.level] ? n[t.level].unshift(t.tokenizer) : (n[t.level] = [t.tokenizer]), t.start && ("block" === t.level ? n.startBlock ? n.startBlock.push(t.start) : (n.startBlock = [t.start]) : "inline" === t.level && (n.startInline ? n.startInline.push(t.start) : (n.startInline = [t.start]))); } t.childTokens && (n.childTokens[t.name] = t.childTokens); })), t.renderer) ) { const n = P.defaults.renderer || new C(); for (const e in t.renderer) { const i = n[e]; n[e] = (...s) => { let r = t.renderer[e].apply(n, s); return !1 === r && (r = i.apply(n, s)), r; }; } e.renderer = n; } if (t.tokenizer) { const n = P.defaults.tokenizer || new A(); for (const e in t.tokenizer) { const i = n[e]; n[e] = (...s) => { let r = t.tokenizer[e].apply(n, s); return !1 === r && (r = i.apply(n, s)), r; }; } e.tokenizer = n; } if (t.walkTokens) { const n = P.defaults.walkTokens; e.walkTokens = function (e) { t.walkTokens.call(this, e), n && n.call(this, e); }; } i && (e.extensions = n), P.setOptions(e); }); }), (P.walkTokens = function (t, e) { for (const n of t) switch ((e.call(P, n), n.type)) { case "table": for (const t of n.header) P.walkTokens(t.tokens, e); for (const t of n.rows) for (const n of t) P.walkTokens(n.tokens, e); break; case "list": P.walkTokens(n.items, e); break; default: P.defaults.extensions && P.defaults.extensions.childTokens && P.defaults.extensions.childTokens[n.type] ? P.defaults.extensions.childTokens[n.type].forEach(function (t) { P.walkTokens(n[t], e); }) : n.tokens && P.walkTokens(n.tokens, e); } }), (P.parseInline = function (t, e) { if (null == t) throw new Error( "marked.parseInline(): input parameter is undefined or null" ); if ("string" != typeof t) throw new Error( "marked.parseInline(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected" ); T((e = y({}, P.defaults, e || {}))); try { const n = I.lexInline(t, e); return e.walkTokens && P.walkTokens(n, e.walkTokens), O.parseInline(n, e); } catch (t) { if ( ((t.message += "\nPlease report this to https://github.com/markedjs/marked."), e.silent) ) return ( "
An error occurred:
" + o(t.message + "", !0) + "" ); throw t; } }), (P.Parser = O), (P.parser = O.parse), (P.Renderer = C), (P.TextRenderer = M), (P.Lexer = I), (P.lexer = I.lex), (P.Tokenizer = A), (P.Slugger = q), (P.parse = P); export default () => { let t, e, n = null; function i() { if (n && !n.closed) n.focus(); else { if ( ((n = window.open( "about:blank", "reveal.js - Notes", "width=1100,height=700" )), (n.marked = P), n.document.write( "\x3c!--\n\tNOTE: You need to build the notes plugin after making changes to this file.\n--\x3e\n\n\t\n\t\t\n\n\t\t