\n'
}),
(e.prototype.tablerow = function (e) {
return '
\n' + e + '
\n'
}),
(e.prototype.tablecell = function (e, t) {
var n = t.header ? 'th' : 'td'
return (t.align ? '<' + n + ' align="' + t.align + '">' : '<' + n + '>') + e + '' + n + '>\n'
}),
(e.prototype.strong = function (e) {
return '' + e + ''
}),
(e.prototype.em = function (e) {
return '' + e + ''
}),
(e.prototype.codespan = function (e) {
return '' + e + ''
}),
(e.prototype.br = function () {
return this.options.xhtml ? ' ' : ' '
}),
(e.prototype.del = function (e) {
return '' + e + ''
}),
(e.prototype.link = function (e, t, n) {
if (null === (e = tn(this.options.sanitize, this.options.baseUrl, e))) return n
e = '' + n + '')
}),
(e.prototype.image = function (e, t, n) {
if (null === (e = tn(this.options.sanitize, this.options.baseUrl, e))) return n
n = '' : '>')
}),
(e.prototype.text = function (e) {
return e
}),
e
)
})(),
on = (function () {
function e() {}
return (
(e.prototype.strong = function (e) {
return e
}),
(e.prototype.em = function (e) {
return e
}),
(e.prototype.codespan = function (e) {
return e
}),
(e.prototype.del = function (e) {
return e
}),
(e.prototype.html = function (e) {
return e
}),
(e.prototype.text = function (e) {
return e
}),
(e.prototype.link = function (e, t, n) {
return '' + n
}),
(e.prototype.image = function (e, t, n) {
return '' + n
}),
(e.prototype.br = function () {
return ''
}),
e
)
})(),
an = (function () {
function e() {
this.seen = {}
}
return (
(e.prototype.serialize = function (e) {
return e
.toLowerCase()
.trim()
.replace(/<[!\/a-z].*?>/gi, '')
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '')
.replace(/\s/g, '-')
}),
(e.prototype.getNextSafeSlug = function (e, t) {
var n = e,
r = 0
if (this.seen.hasOwnProperty(n)) for (r = this.seen[e]; (n = e + '-' + ++r), this.seen.hasOwnProperty(n); );
return t || ((this.seen[e] = r), (this.seen[n] = 0)), n
}),
(e.prototype.slug = function (e, t) {
void 0 === t && (t = {})
var n = this.serialize(e)
return this.getNextSafeSlug(n, t.dryrun)
}),
e
)
})(),
sn = mt.defaults,
ln = zt,
cn = (function () {
function n(e) {
;(this.options = e || sn),
(this.options.renderer = this.options.renderer || new rn()),
(this.renderer = this.options.renderer),
(this.renderer.options = this.options),
(this.textRenderer = new on()),
(this.slugger = new an())
}
return (
(n.parse = function (e, t) {
return new n(t).parse(e)
}),
(n.parseInline = function (e, t) {
return new n(t).parseInline(e)
}),
(n.prototype.parse = function (e, t) {
void 0 === t && (t = !0)
for (var n, r, i, o, a, s, l, c, u, p, h, d, f, g, m, v = '', y = e.length, b = 0; b < y; b++)
switch ((c = e[b]).type) {
case 'space':
continue
case 'hr':
v += this.renderer.hr()
continue
case 'heading':
v += this.renderer.heading(this.parseInline(c.tokens), c.depth, ln(this.parseInline(c.tokens, this.textRenderer)), this.slugger)
continue
case 'code':
v += this.renderer.code(c.text, c.lang, c.escaped)
continue
case 'table':
for (s = u = '', i = c.header.length, n = 0; n < i; n++) s += this.renderer.tablecell(this.parseInline(c.tokens.header[n]), { header: !0, align: c.align[n] })
for (u += this.renderer.tablerow(s), l = '', i = c.cells.length, n = 0; n < i; n++) {
for (s = '', o = (a = c.tokens.cells[n]).length, r = 0; r < o; r++) s += this.renderer.tablecell(this.parseInline(a[r]), { header: !1, align: c.align[r] })
l += this.renderer.tablerow(s)
}
v += this.renderer.table(u, l)
continue
case 'blockquote':
;(l = this.parse(c.tokens)), (v += this.renderer.blockquote(l))
continue
case 'list':
for (u = c.ordered, k = c.start, p = c.loose, i = c.items.length, l = '', n = 0; n < i; n++)
(f = (d = c.items[n]).checked),
(g = d.task),
(h = ''),
d.task &&
((m = this.renderer.checkbox(f)),
p
? 0 < d.tokens.length && 'text' === d.tokens[0].type
? ((d.tokens[0].text = m + ' ' + d.tokens[0].text),
d.tokens[0].tokens &&
0 < d.tokens[0].tokens.length &&
'text' === d.tokens[0].tokens[0].type &&
(d.tokens[0].tokens[0].text = m + ' ' + d.tokens[0].tokens[0].text))
: d.tokens.unshift({ type: 'text', text: m })
: (h += m)),
(h += this.parse(d.tokens, p)),
(l += this.renderer.listitem(h, g, f))
v += this.renderer.list(l, u, k)
continue
case 'html':
v += this.renderer.html(c.text)
continue
case 'paragraph':
v += this.renderer.paragraph(this.parseInline(c.tokens))
continue
case 'text':
for (l = c.tokens ? this.parseInline(c.tokens) : c.text; b + 1 < y && 'text' === e[b + 1].type; )
l += '\n' + ((c = e[++b]).tokens ? this.parseInline(c.tokens) : c.text)
v += t ? this.renderer.paragraph(l) : l
continue
default:
var k = 'Token with "' + c.type + '" type was not found.'
if (this.options.silent) return void console.error(k)
throw new Error(k)
}
return v
}),
(n.prototype.parseInline = function (e, t) {
t = t || this.renderer
for (var n = '', r = e.length, i = 0; i < r; i++)
switch ((o = e[i]).type) {
case 'escape':
n += t.text(o.text)
break
case 'html':
n += t.html(o.text)
break
case 'link':
n += t.link(o.href, o.title, this.parseInline(o.tokens, t))
break
case 'image':
n += t.image(o.href, o.title, o.text)
break
case 'strong':
n += t.strong(this.parseInline(o.tokens, t))
break
case 'em':
n += t.em(this.parseInline(o.tokens, t))
break
case 'codespan':
n += t.codespan(o.text)
break
case 'br':
n += t.br()
break
case 'del':
n += t.del(this.parseInline(o.tokens, t))
break
case 'text':
n += t.text(o.text)
break
default:
var o = 'Token with "' + o.type + '" type was not found.'
if (this.options.silent) return void console.error(o)
throw new Error(o)
}
return n
}),
n
)
})(),
un = Pt,
pn = ee,
hn = Lt,
Lt = mt.getDefaults,
dn = mt.changeDefaults,
mt = mt.defaults
function fn(e, n, r) {
if (null == e) throw new Error('marked(): input parameter is undefined or null')
if ('string' != typeof e) throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(e) + ', string expected')
if (('function' == typeof n && ((r = n), (n = null)), (n = un({}, fn.defaults, n || {})), pn(n), r)) {
var i,
o = n.highlight
try {
i = Jt.lex(e, n)
} catch (e) {
return r(e)
}
function a(t) {
var e
if (!t)
try {
e = cn.parse(i, n)
} catch (e) {
t = e
}
return (n.highlight = o), t ? r(t) : r(null, e)
}
if (!o || o.length < 3) return a()
if ((delete n.highlight, !i.length)) return a()
var s = 0
return (
fn.walkTokens(i, function (n) {
'code' === n.type &&
(s++,
setTimeout(function () {
o(n.text, n.lang, function (e, t) {
return e ? a(e) : (null != t && t !== n.text && ((n.text = t), (n.escaped = !0)), void (0 === --s && a()))
})
}, 0))
}),
void (0 === s && a())
)
}
try {
var t = Jt.lex(e, n)
return n.walkTokens && fn.walkTokens(t, n.walkTokens), cn.parse(t, n)
} catch (e) {
if (((e.message += '\nPlease report this to https://github.com/markedjs/marked.'), n.silent)) return '
An error occurred:
' + hn(e.message + '', !0) + '
'
throw e
}
}
;(fn.options = fn.setOptions =
function (e) {
return un(fn.defaults, e), dn(fn.defaults), fn
}),
(fn.getDefaults = Lt),
(fn.defaults = mt),
(fn.use = function (o) {
var t,
e = un({}, o)
if (o.renderer) {
var n,
a = fn.defaults.renderer || new rn()
for (n in o.renderer)
!(function (r) {
var i = a[r]
a[r] = function () {
for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]
var n = o.renderer[r].apply(a, e)
return !1 === n && (n = i.apply(a, e)), n
}
})(n)
e.renderer = a
}
if (o.tokenizer) {
var i,
s = fn.defaults.tokenizer || new Gt()
for (i in o.tokenizer)
!(function () {
var r = s[i]
s[i] = function () {
for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]
var n = o.tokenizer[i].apply(s, e)
return !1 === n && (n = r.apply(s, e)), n
}
})()
e.tokenizer = s
}
o.walkTokens &&
((t = fn.defaults.walkTokens),
(e.walkTokens = function (e) {
o.walkTokens(e), t && t(e)
})),
fn.setOptions(e)
}),
(fn.walkTokens = function (e, t) {
for (var n = 0, r = e; n < r.length; n += 1) {
var i = r[n]
switch ((t(i), i.type)) {
case 'table':
for (var o = 0, a = i.tokens.header; o < a.length; o += 1) {
var s = a[o]
fn.walkTokens(s, t)
}
for (var l = 0, c = i.tokens.cells; l < c.length; l += 1)
for (var u = 0, p = c[l]; u < p.length; u += 1) {
var h = p[u]
fn.walkTokens(h, t)
}
break
case 'list':
fn.walkTokens(i.items, t)
break
default:
i.tokens && fn.walkTokens(i.tokens, t)
}
}
}),
(fn.parseInline = function (e, t) {
if (null == e) throw new Error('marked.parseInline(): input parameter is undefined or null')
if ('string' != typeof e) throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(e) + ', string expected')
;(t = un({}, fn.defaults, t || {})), pn(t)
try {
var n = Jt.lexInline(e, t)
return t.walkTokens && fn.walkTokens(n, t.walkTokens), cn.parseInline(n, t)
} catch (e) {
if (((e.message += '\nPlease report this to https://github.com/markedjs/marked.'), t.silent)) return '
An error occurred:
' + hn(e.message + '', !0) + '
'
throw e
}
}),
(fn.Parser = cn),
(fn.parser = cn.parse),
(fn.Renderer = rn),
(fn.TextRenderer = on),
(fn.Lexer = Jt),
(fn.lexer = Jt.lex),
(fn.Tokenizer = Gt),
(fn.Slugger = an)
var gn = (fn.parse = fn)
function mn(e, n) {
if ((void 0 === n && (n = '
{inner}
'), !e || !e.length)) return ''
var r = ''
return (
e.forEach(function (e) {
var t = e.title.replace(/(<([^>]+)>)/g, '')
;(r += '
'
}
function yn(e, r) {
var i = [],
o = {}
return (
e.forEach(function (e) {
var t = e.level || 1,
n = t - 1
r < t || (o[n] ? (o[n].children = (o[n].children || []).concat(e)) : i.push(e), (o[t] = e))
}),
i
)
}
var bn = {},
kn = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g
function wn(e) {
return e.toLowerCase()
}
function xn(e) {
if ('string' != typeof e) return ''
var t = e
.trim()
.replace(/[A-Z]+/g, wn)
.replace(/<[^>]+>/g, '')
.replace(kn, '')
.replace(/\s/g, '-')
.replace(/-+/g, '-')
.replace(/^(\d)/, '_$1'),
e = bn[t],
e = l.call(bn, t) ? e + 1 : 0
return (bn[t] = e) && (t = t + '-' + e), t
}
function _n(e, t) {
return ''
}
function Sn(e) {
void 0 === e && (e = '')
var r = {}
return {
str: (e =
e &&
e
.replace(/^('|")/, '')
.replace(/('|")$/, '')
.replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g, function (e, t, n) {
return -1 === t.indexOf(':') ? ((r[t] = (n && n.replace(/"/g, '')) || !0), '') : e
})
.trim()),
config: r,
}
}
function An(e) {
return void 0 === e && (e = ''), e.replace(/(<\/?a.*?>)/gi, '')
}
xn.clear = function () {
bn = {}
}
var Tn,
En = ft(function (e) {
var a,
s,
l,
c,
u,
r,
t,
i = (function (l) {
var c = /\blang(?:uage)?-([\w-]+)\b/i,
t = 0,
$ = {
manual: l.Prism && l.Prism.manual,
disableWorkerMessageHandler: l.Prism && l.Prism.disableWorkerMessageHandler,
util: {
encode: function e(t) {
return t instanceof F
? new F(t.type, e(t.content), t.alias)
: Array.isArray(t)
? t.map(e)
: t
.replace(/&/g, '&')
.replace(/= a.reach); y += v.value.length, v = v.next) {
var b = v.value
if (n.length > t.length) return
if (!(b instanceof F)) {
var k,
w = 1
if (f) {
if (!(k = C(m, y, t, d))) break
var x = k.index,
_ = k.index + k[0].length,
S = y
for (S += v.value.length; S <= x; ) (v = v.next), (S += v.value.length)
if (((S -= v.value.length), (y = S), v.value instanceof F)) continue
for (var A = v; A !== n.tail && (S < _ || 'string' == typeof A.value); A = A.next) w++, (S += A.value.length)
w--, (b = t.slice(y, S)), (k.index -= y)
} else if (!(k = C(m, 0, b, d))) continue
var x = k.index,
T = k[0],
E = b.slice(0, x),
R = b.slice(x + T.length),
O = y + b.length
a && O > a.reach && (a.reach = O)
var b = v.prev
E && ((b = L(n, b, E)), (y += E.length)), z(n, b, w)
var T = new F(s, h ? $.tokenize(T, h) : T, g, T)
;(v = L(n, b, T)), R && L(n, v, R), 1 < w && e(t, n, r, v.prev, y, { cause: s + ',' + c, reach: O })
}
}
}
}
})(e, i, t, i.head, 0),
(function (e) {
var t = [],
n = e.head.next
for (; n !== e.tail; ) t.push(n.value), (n = n.next)
return t
})(i)
)
},
hooks: {
all: {},
add: function (e, t) {
var n = $.hooks.all
;(n[e] = n[e] || []), n[e].push(t)
},
run: function (e, t) {
var n = $.hooks.all[e]
if (n && n.length) for (var r, i = 0; (r = n[i++]); ) r(t)
},
},
Token: F,
}
function F(e, t, n, r) {
;(this.type = e), (this.content = t), (this.alias = n), (this.length = 0 | (r || '').length)
}
function C(e, t, n, r) {
e.lastIndex = t
n = e.exec(n)
return n && r && n[1] && ((r = n[1].length), (n.index += r), (n[0] = n[0].slice(r))), n
}
function o() {
var e = { value: null, prev: null, next: null },
t = { value: null, prev: e, next: null }
;(e.next = t), (this.head = e), (this.tail = t), (this.length = 0)
}
function L(e, t, n) {
var r = t.next,
n = { value: n, prev: t, next: r }
return (t.next = n), (r.prev = n), e.length++, n
}
function z(e, t, n) {
for (var r = t.next, i = 0; i < n && r !== e.tail; i++) r = r.next
;((t.next = r).prev = t), (e.length -= i)
}
if (
((l.Prism = $),
(F.stringify = function t(e, n) {
if ('string' == typeof e) return e
if (Array.isArray(e)) {
var r = ''
return (
e.forEach(function (e) {
r += t(e, n)
}),
r
)
}
var i = { type: e.type, content: t(e.content, n), tag: 'span', classes: ['token', e.type], attributes: {}, language: n },
e = e.alias
e && (Array.isArray(e) ? Array.prototype.push.apply(i.classes, e) : i.classes.push(e)), $.hooks.run('wrap', i)
var o,
a = ''
for (o in i.attributes) a += ' ' + o + '="' + (i.attributes[o] || '').replace(/"/g, '"') + '"'
return '<' + i.tag + ' class="' + i.classes.join(' ') + '"' + a + '>' + i.content + '' + i.tag + '>'
}),
!l.document)
)
return (
l.addEventListener &&
($.disableWorkerMessageHandler ||
l.addEventListener(
'message',
function (e) {
var t = JSON.parse(e.data),
n = t.language,
e = t.code,
t = t.immediateClose
l.postMessage($.highlight(e, $.languages[n], n)), t && l.close()
},
!1
)),
$
)
var e,
n = $.util.currentScript()
function r() {
$.manual || $.highlightAll()
}
return (
n && (($.filename = n.src), n.hasAttribute('data-manual') && ($.manual = !0)),
$.manual ||
('loading' === (e = document.readyState) || ('interactive' === e && n && n.defer)
? document.addEventListener('DOMContentLoaded', r)
: window.requestAnimationFrame
? window.requestAnimationFrame(r)
: window.setTimeout(r, 16)),
$
)
})('undefined' != typeof window ? window : 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {})
function p(e, t) {
var n = (n = e.className).replace(r, ' ') + ' language-' + t
e.className = n.replace(/\s+/g, ' ').trim()
}
e.exports && (e.exports = i),
void 0 !== dt && (dt.Prism = i),
(i.languages.markup = {
comment: //,
prolog: /<\?[\s\S]+?\?>/,
doctype: {
pattern: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,
greedy: !0,
inside: {
'internal-subset': { pattern: /(\[)[\s\S]+(?=\]>$)/, lookbehind: !0, greedy: !0, inside: null },
string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 },
punctuation: /^$|[[\]]/,
'doctype-tag': /^DOCTYPE/,
name: /[^\s<>'"]+/,
},
},
cdata: //i,
tag: {
pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
greedy: !0,
inside: {
tag: { pattern: /^<\/?[^\s>\/]+/, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } },
'attr-value': { pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: 'attr-equals' }, /"|'/] } },
punctuation: /\/?>/,
'attr-name': { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } },
},
},
entity: [{ pattern: /&[\da-z]{1,8};/i, alias: 'named-entity' }, /?[\da-f]{1,8};/i],
}),
(i.languages.markup.tag.inside['attr-value'].inside.entity = i.languages.markup.entity),
(i.languages.markup.doctype.inside['internal-subset'].inside = i.languages.markup),
i.hooks.add('wrap', function (e) {
'entity' === e.type && (e.attributes.title = e.content.replace(/&/, '&'))
}),
Object.defineProperty(i.languages.markup.tag, 'addInlined', {
value: function (e, t) {
var n = {}
;(n['language-' + t] = { pattern: /(^$)/i, lookbehind: !0, inside: i.languages[t] }), (n.cdata = /^$/i)
n = { 'included-cdata': { pattern: //i, inside: n } }
n['language-' + t] = { pattern: /[\s\S]+/, inside: i.languages[t] }
t = {}
;(t[e] = {
pattern: RegExp(
/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g, function () {
return e
}),
'i'
),
lookbehind: !0,
greedy: !0,
inside: n,
}),
i.languages.insertBefore('markup', 'cdata', t)
},
}),
(i.languages.html = i.languages.markup),
(i.languages.mathml = i.languages.markup),
(i.languages.svg = i.languages.markup),
(i.languages.xml = i.languages.extend('markup', {})),
(i.languages.ssml = i.languages.xml),
(i.languages.atom = i.languages.xml),
(i.languages.rss = i.languages.xml),
(function (e) {
var t = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/
;(e.languages.css = {
comment: /\/\*[\s\S]*?\*\//,
atrule: {
pattern: /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,
inside: {
rule: /^@[\w-]+/,
'selector-function-argument': {
pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
lookbehind: !0,
alias: 'selector',
},
keyword: { pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, lookbehind: !0 },
},
},
url: {
pattern: RegExp('\\burl\\((?:' + t.source + '|' + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ')\\)', 'i'),
greedy: !0,
inside: { function: /^url/i, punctuation: /^\(|\)$/, string: { pattern: RegExp('^' + t.source + '$'), alias: 'url' } },
},
selector: RegExp('[^{}\\s](?:[^{};"\'\\s]|\\s+(?![\\s{])|' + t.source + ')*(?=\\s*\\{)'),
string: { pattern: t, greedy: !0 },
property: /(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
important: /!important\b/i,
function: /[-a-z0-9]+(?=\()/i,
punctuation: /[(){};:,]/,
}),
(e.languages.css.atrule.inside.rest = e.languages.css)
t = e.languages.markup
t &&
(t.tag.addInlined('style', 'css'),
e.languages.insertBefore(
'inside',
'attr-value',
{
'style-attr': {
pattern: /(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,
lookbehind: !0,
inside: {
'attr-value': {
pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
inside: {
style: { pattern: /(["'])[\s\S]+(?=["']$)/, lookbehind: !0, alias: 'language-css', inside: e.languages.css },
punctuation: [{ pattern: /^=/, alias: 'attr-equals' }, /"|'/],
},
},
'attr-name': /^style/i,
},
},
},
t.tag
))
})(i),
(i.languages.clike = {
comment: [
{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0, greedy: !0 },
{ pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 },
],
string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 },
'class-name': { pattern: /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\]/ } },
keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
boolean: /\b(?:true|false)\b/,
function: /\w+(?=\()/,
number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
punctuation: /[{}[\];(),.:]/,
}),
(i.languages.javascript = i.languages.extend('clike', {
'class-name': [
i.languages.clike['class-name'],
{ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/, lookbehind: !0 },
],
keyword: [
{ pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: !0 },
{
pattern:
/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
lookbehind: !0,
},
],
function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,
operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,
})),
(i.languages.javascript['class-name'][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/),
i.languages.insertBefore('javascript', 'keyword', {
regex: {
pattern:
/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
lookbehind: !0,
greedy: !0,
inside: {
'regex-source': { pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, lookbehind: !0, alias: 'language-regex', inside: i.languages.regex },
'regex-flags': /[a-z]+$/,
'regex-delimiter': /^\/|\/$/,
},
},
'function-variable': {
pattern:
/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
alias: 'function',
},
parameter: [
{
pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
lookbehind: !0,
inside: i.languages.javascript,
},
{ pattern: /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, inside: i.languages.javascript },
{ pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, lookbehind: !0, inside: i.languages.javascript },
{
pattern:
/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
lookbehind: !0,
inside: i.languages.javascript,
},
],
constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/,
}),
i.languages.insertBefore('javascript', 'string', {
'template-string': {
pattern: /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,
greedy: !0,
inside: {
'template-punctuation': { pattern: /^`|`$/, alias: 'string' },
interpolation: {
pattern: /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,
lookbehind: !0,
inside: { 'interpolation-punctuation': { pattern: /^\${|}$/, alias: 'punctuation' }, rest: i.languages.javascript },
},
string: /[\s\S]+/,
},
},
}),
i.languages.markup && i.languages.markup.tag.addInlined('script', 'javascript'),
(i.languages.js = i.languages.javascript),
'undefined' != typeof self &&
self.Prism &&
self.document &&
(Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector),
(a = window.Prism),
(s = { js: 'javascript', py: 'python', rb: 'ruby', ps1: 'powershell', psm1: 'powershell', sh: 'bash', bat: 'batch', h: 'c', tex: 'latex' }),
(u = 'pre[data-src]:not([' + (l = 'data-src-status') + '="loaded"]):not([' + l + '="' + (c = 'loading') + '"])'),
(r = /\blang(?:uage)?-([\w-]+)\b/i),
a.hooks.add('before-highlightall', function (e) {
e.selector += ', ' + u
}),
a.hooks.add('before-sanity-check', function (e) {
var t,
n,
r,
i,
o = e.element
o.matches(u) &&
((e.code = ''),
o.setAttribute(l, c),
((t = o.appendChild(document.createElement('CODE'))).textContent = 'Loading…'),
(n = o.getAttribute('data-src')),
'none' === (e = e.language) && ((r = (/\.(\w+)$/.exec(n) || [, 'none'])[1]), (e = s[r] || r)),
p(t, e),
p(o, e),
(r = a.plugins.autoloader) && r.loadLanguages(e),
(i = new XMLHttpRequest()).open('GET', n, !0),
(i.onreadystatechange = function () {
4 == i.readyState &&
(i.status < 400 && i.responseText
? (o.setAttribute(l, 'loaded'), (t.textContent = i.responseText), a.highlightElement(t))
: (o.setAttribute(l, 'failed'),
400 <= i.status
? (t.textContent = '✖ Error ' + i.status + ' while fetching file: ' + i.statusText)
: (t.textContent = '✖ Error: File does not exist or is empty')))
}),
i.send(null))
}),
(t = !(a.plugins.fileHighlight = {
highlight: function (e) {
for (var t, n = (e || document).querySelectorAll(u), r = 0; (t = n[r++]); ) a.highlightElement(t)
},
})),
(a.fileHighlight = function () {
t || (console.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.'), (t = !0)),
a.plugins.fileHighlight.highlight.apply(this, arguments)
}))
})
function Rn(e, t) {
return '___' + e.toUpperCase() + t + '___'
}
;(Tn = Prism),
Object.defineProperties((Tn.languages['markup-templating'] = {}), {
buildPlaceholders: {
value: function (r, i, e, o) {
var a
r.language === i &&
((a = r.tokenStack = []),
(r.code = r.code.replace(e, function (e) {
if ('function' == typeof o && !o(e)) return e
for (var t, n = a.length; -1 !== r.code.indexOf((t = Rn(i, n))); ) ++n
return (a[n] = e), t
})),
(r.grammar = Tn.languages.markup))
},
},
tokenizePlaceholders: {
value: function (c, u) {
var p, h
c.language === u &&
c.tokenStack &&
((c.grammar = Tn.languages[u]),
(p = 0),
(h = Object.keys(c.tokenStack)),
(function e(t) {
for (var n = 0; n < t.length && !(p >= h.length); n++) {
var r,
i,
o,
a,
s,
l = t[n]
'string' == typeof l || (l.content && 'string' == typeof l.content)
? ((i = h[p]),
(o = c.tokenStack[i]),
(r = 'string' == typeof l ? l : l.content),
(s = Rn(u, i)),
-1 < (a = r.indexOf(s)) &&
(++p,
(i = r.substring(0, a)),
(o = new Tn.Token(u, Tn.tokenize(o, c.grammar), 'language-' + u, o)),
(a = r.substring(a + s.length)),
(s = []),
i && s.push.apply(s, e([i])),
s.push(o),
a && s.push.apply(s, e([a])),
'string' == typeof l ? t.splice.apply(t, [n, 1].concat(s)) : (l.content = s)))
: l.content && e(l.content)
}
return t
})(c.tokens))
},
},
})
function On(i, e) {
var o = this
;(this.config = i),
(this.router = e),
(this.cacheTree = {}),
(this.toc = []),
(this.cacheTOC = {}),
(this.linkTarget = i.externalLinkTarget || '_blank'),
(this.linkRel = '_blank' === this.linkTarget ? i.externalLinkRel || 'noopener' : ''),
(this.contentBase = e.getBasePath())
var t = this._initRenderer()
this.heading = t.heading
var a = r((e = i.markdown || {})) ? e(gn, t) : (gn.setOptions(y(e, { renderer: y(t, e.renderer) })), gn)
;(this._marked = a),
(this.compile = function (n) {
var r = !0,
e = s(function (e) {
r = !1
var t = ''
return n
? ((t = c(n) ? a(n) : a.parser(n)),
(t = i.noEmoji
? t
: t
.replace(/:\+1:/g, ':thumbsup:')
.replace(/:-1:/g, ':thumbsdown:')
.replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g, function (e) {
return e.replace(/:/g, '__colon__')
})
.replace(/:(\w+?):/gi, window.emojify || _n)
.replace(/__colon__/g, ':')),
xn.clear(),
t)
: n
})(n),
t = o.router.parse().file
return r ? (o.toc = o.cacheTOC[t]) : (o.cacheTOC[t] = [].concat(o.toc)), e
})
}
var $n = {},
Fn = {
markdown: function (e) {
return { url: e }
},
mermaid: function (e) {
return { url: e }
},
iframe: function (e, t) {
return { html: '' }
},
video: function (e, t) {
return { html: '' }
},
audio: function (e, t) {
return { html: '' }
},
code: function (e, t) {
var n = e.match(/\.(\w+)$/)
return 'md' === (n = t || (n && n[1])) && (n = 'markdown'), { url: e, lang: n }
},
}
;(On.prototype.compileEmbed = function (e, t) {
var n,
r,
i = Sn(t),
o = i.str,
i = i.config
if (((t = o), i.include))
return (
O(e) || (e = N(this.contentBase, F(this.router.getCurrentPath()), e)),
i.type && (r = Fn[i.type])
? ((n = r.call(this, e, t)).type = i.type)
: ((r = 'code'),
/\.(md|markdown)/.test(e)
? (r = 'markdown')
: /\.mmd/.test(e)
? (r = 'mermaid')
: /\.html?/.test(e)
? (r = 'iframe')
: /\.(mp4|ogg)/.test(e)
? (r = 'video')
: /\.mp3/.test(e) && (r = 'audio'),
((n = Fn[r].call(this, e, t)).type = r)),
(n.fragment = i.fragment),
n
)
}),
(On.prototype._matchNotCompileLink = function (e) {
for (var t = this.config.noCompileLinks || [], n = 0; n < t.length; n++) {
var r = t[n]
if (($n[r] || ($n[r] = new RegExp('^' + r + '$'))).test(e)) return e
}
}),
(On.prototype._initRenderer = function () {
var a,
s,
l,
c,
u,
p,
e = new gn.Renderer(),
t = this.linkTarget,
n = this.linkRel,
o = this.router,
r = this.contentBase,
h = this,
i = {}
return (
(i.heading = e.heading =
function (e, t) {
var n = Sn(e),
r = n.str,
i = n.config,
e = { level: t, title: An(r) }
;//g.test(r) && ((r = r.replace('\x3c!-- {docsify-ignore} --\x3e', '')), (e.title = An(r)), (e.ignoreSubHeading = !0)),
/{docsify-ignore}/g.test(r) && ((r = r.replace('{docsify-ignore}', '')), (e.title = An(r)), (e.ignoreSubHeading = !0)),
//g.test(r) && ((r = r.replace('\x3c!-- {docsify-ignore-all} --\x3e', '')), (e.title = An(r)), (e.ignoreAllSubs = !0)),
/{docsify-ignore-all}/g.test(r) && ((r = r.replace('{docsify-ignore-all}', '')), (e.title = An(r)), (e.ignoreAllSubs = !0))
;(n = xn(i.id || r)), (i = o.toURL(o.getCurrentPath(), { id: n }))
return (e.slug = i), h.toc.push(e), '' + r + ''
}),
(i.code = { renderer: e }.renderer.code =
function (e, t) {
void 0 === t && (t = 'markup')
var n = En.languages[t] || En.languages.markup
return '
' + En.highlight(e.replace(/@DOCSIFY_QM@/g, '`'), n, t) + '
'
}),
(i.link =
((n = (t = { renderer: e, router: o, linkTarget: t, linkRel: n, compilerClass: h }).renderer),
(a = t.router),
(s = t.linkTarget),
(l = t.linkRel),
(c = t.compilerClass),
(n.link = function (e, t, n) {
void 0 === t && (t = '')
var r = [],
i = Sn(t),
o = i.str,
i = i.config
return (
(s = i.target || s),
(l = '_blank' === s ? c.config.externalLinkRel || 'noopener' : ''),
(t = o),
O(e) || c._matchNotCompileLink(e) || i.ignore
? (O(e) || './' !== e.slice(0, 2) || (e = document.URL.replace(/\/(?!.*\/).*/, '/').replace('#/./', '') + e),
r.push(0 === e.indexOf('mailto:') ? '' : 'target="' + s + '"'),
r.push(0 !== e.indexOf('mailto:') && '' !== l ? ' rel="' + l + '"' : ''))
: (e === c.config.homepage && (e = 'README'), (e = a.toURL(e, null, a.getCurrentPath()))),
i.crossorgin && '_self' === s && 'history' === c.config.routerMode && -1 === c.config.crossOriginLinks.indexOf(e) && c.config.crossOriginLinks.push(e),
i.disabled && (r.push('disabled'), (e = 'javascript:void(0)')),
i.class && r.push('class="' + i.class + '"'),
i.id && r.push('id="' + i.id + '"'),
t && r.push('title="' + t + '"'),
'' + n + ''
)
}))),
(i.paragraph = { renderer: e }.renderer.paragraph =
function (e) {
e = /^!>/.test(e) ? vn('tip', e) : /^\?>/.test(e) ? vn('warn', e) : '
' + e + '
'
return e
}),
(i.image =
((r = (n = { renderer: e, contentBase: r, router: o }).renderer),
(u = n.contentBase),
(p = n.router),
(r.image = function (e, t, n) {
var r = e,
i = [],
o = Sn(t),
a = o.str,
o = o.config
return (
(t = a),
o['no-zoom'] && i.push('data-no-zoom'),
t && i.push('title="' + t + '"'),
o.size && ((t = (a = o.size.split('x'))[0]), (a = a[1]) ? i.push('width="' + t + '" height="' + a + '"') : i.push('width="' + t + '"')),
o.class && i.push('class="' + o.class + '"'),
o.id && i.push('id="' + o.id + '"'),
O(e) || (r = N(u, F(p.getCurrentPath()), e)),
0 < i.length
? ''
: ''
)
}))),
(i.list = { renderer: e }.renderer.list =
function (e, t, n) {
t = t ? 'ol' : 'ul'
return (
'<' +
t +
' ' +
[/
/.test(e.split('class="task-list"')[0]) ? 'class="task-list"' : '', n && 1 < n ? 'start="' + n + '"' : ''].join(' ').trim() +
'>' +
e +
'' +
t +
'>'
)
}),
(i.listitem = { renderer: e }.renderer.listitem =
function (e) {
return /^(]*>)/.test(e) ? '' : '
' + e + '
'
}),
(e.origin = i),
e
)
}),
(On.prototype.sidebar = function (e, t) {
var n = this.toc,
r = this.router.getCurrentPath(),
i = ''
if (e) i = this.compile(e)
else {
for (var o = 0; o < n.length; o++)
if (n[o].ignoreSubHeading) {
var a = n[o].level
n.splice(o, 1)
for (var s = o; s < n.length && a < n[s].level; s++) n.splice(s, 1) && s-- && o++
o--
}
;(t = this.cacheTree[r] || yn(n, t)), (i = mn(t, '
{inner}
'))
this.cacheTree[r] = t
}
return i
}),
(On.prototype.subSidebar = function (e) {
if (e) {
var t = this.router.getCurrentPath(),
n = this.cacheTree,
r = this.toc
r[0] && r[0].ignoreAllSubs && r.splice(0), r[0] && 1 === r[0].level && r.shift()
for (var i = 0; i < r.length; i++) r[i].ignoreSubHeading && r.splice(i, 1) && i--
e = n[t] || yn(r, e)
return (n[t] = e), (this.toc = []), mn(e)
}
this.toc = []
}),
(On.prototype.header = function (e, t) {
return this.heading(e, t)
}),
(On.prototype.article = function (e) {
return this.compile(e)
}),
(On.prototype.cover = function (e) {
var t = this.toc.slice(),
e = this.compile(e)
return (this.toc = t.slice()), e
})
var Cn,
Ln = function (e) {
var t = (function (e) {
e = e.match(/^[ \t]*(?=\S)/gm)
return e
? e.reduce(function (e, t) {
return Math.min(e, t.length)
}, 1 / 0)
: 0
})(e)
if (0 === t) return e
t = new RegExp('^[ \\t]{' + t + '}', 'gm')
return e.replace(t, '')
},
zn = {}
function Nn(e, r) {
var o = e.compiler,
i = e.raw
void 0 === i && (i = '')
var t = e.fetch,
e = zn[i]
if (e) {
var n = e.slice()
return (n.links = e.links), r(n)
}
var n = o._marked,
a = n.lexer(i),
s = [],
l = n.Lexer.rules.inline.link,
c = a.links
a.forEach(function (e, i) {
'paragraph' === e.type &&
(e.text = e.text.replace(new RegExp(l.source, 'g'), function (e, t, n, r) {
r = o.compileEmbed(n, r)
return r && s.push({ index: i, embed: r }), e
}))
})
var u = []
!(function (e, o) {
var t,
n = e.embedTokens,
a = e.compile,
s = (e.fetch, 0),
l = 1
if (!n.length) return o({})
for (; (t = n[s++]); ) {
var r = (function (i) {
return function (e) {
var t, n, r
e &&
('markdown' === i.embed.type
? ((n = i.embed.url.split('/')).pop(),
(n = n.join('/')),
(e = e.replace(/\[([^[\]]+)\]\(([^)]+)\)/g, function (e) {
var t = e.indexOf('(')
return '(.' === e.slice(t, t + 2)
? e.substring(0, t) + '(' + window.location.protocol + '//' + window.location.host + n + '/' + e.substring(t + 1, e.length - 1) + ')'
: e
})),
!0 === (($docsify.frontMatter || {}).installed || !1) && (e = $docsify.frontMatter.parseMarkdown(e)),
(t = a.lexer(e)))
: 'code' === i.embed.type
? (i.embed.fragment &&
((r = i.embed.fragment),
(r = new RegExp('(?:###|\\/\\/\\/)\\s*\\[' + r + '\\]([\\s\\S]*)(?:###|\\/\\/\\/)\\s*\\[' + r + '\\]')),
(e = Ln((e.match(r) || [])[1] || '').trim())),
(t = a.lexer('```' + i.embed.lang + '\n' + e.replace(/`/g, '@DOCSIFY_QM@') + '\n```\n')))
: 'mermaid' === i.embed.type
? ((t = [{ type: 'html', text: '
\n' + e + '\n
' }]).links = {})
: ((t = [{ type: 'html', text: e }]).links = {})),
o({ token: i, embedToken: t }),
++l >= s && o({})
}
})(t)
t.embed.url ? ce(t.embed.url).then(r) : r(t.embed.html)
}
})({ compile: n, embedTokens: s, fetch: t }, function (e) {
var t,
n = e.embedToken,
e = e.token
e
? ((t = e.index),
u.forEach(function (e) {
t > e.start && (t += e.length)
}),
y(c, n.links),
(a = a.slice(0, t).concat(n, a.slice(t + 1))),
u.push({ start: t, length: n.length - 1 }))
: ((zn[i] = a.concat()), (a.links = zn[i].links = c), r(a))
})
}
function Mn(e, t, n) {
var r, i, o, a
return (
(t =
'function' == typeof n
? n(t)
: 'string' == typeof n
? ((o = []),
(a = 0),
(r = n).replace(B, function (t, e, n) {
o.push(r.substring(a, n - 1)),
(a = n += t.length + 1),
o.push(
(i && i[t]) ||
function (e) {
return ('00' + ('string' == typeof Z[t] ? e[Z[t]]() : Z[t](e))).slice(-t.length)
}
)
}),
a !== r.length && o.push(r.substring(a)),
(function (e) {
for (var t = '', n = 0, r = e || new Date(); n < o.length; n++) t += 'string' == typeof o[n] ? o[n] : o[n](r)
return t
})(new Date(t)))
: t),
e.replace(/{docsify-updated}/g, t)
)
}
function Dn(e) {
function t(e) {
var t = Boolean(e.__vue__ && e.__vue__._isVue),
e = Boolean(e._vnode && e._vnode.__v_skip)
return t || e
}
var n = this.config,
r = b('.markdown-section'),
i = 'Vue' in window && window.Vue.version && Number(window.Vue.version.charAt(0))
if (((e = e || '
404 - Not found
'), 'Vue' in window))
for (var o = 0, a = k('.markdown-section > *').filter(t); o < a.length; o += 1) {
var s = a[o]
2 === i ? s.__vue__.$destroy() : 3 === i && s.__vue_app__.unmount()
}
if (
(this._renderTo(r, e),
n.loadSidebar || this._renderSidebar(),
(n.executeScript || ('Vue' in window && !1 !== n.executeScript)) &&
(!(e = k('.markdown-section>script').filter(function (e) {
return !/template/.test(e.type)
})[0]) ||
((e = e.innerText.trim()) && new Function(e)())),
'Vue' in window)
) {
var l,
c,
u = [],
p = Object.keys(n.vueComponents || {})
2 === i &&
p.length &&
p.forEach(function (e) {
window.Vue.options.components[e] || window.Vue.component(e, n.vueComponents[e])
}),
!Cn && n.vueGlobalOptions && 'function' == typeof n.vueGlobalOptions.data && (Cn = n.vueGlobalOptions.data()),
u.push.apply(
u,
Object.keys(n.vueMounts || {})
.map(function (e) {
return [b(r, e), n.vueMounts[e]]
})
.filter(function (e) {
var t = e[0]
e[1]
return t
})
),
(n.vueGlobalOptions || p.length) &&
((l = /{{2}[^{}]*}{2}/),
(c = /<[^>/]+\s([@:]|v-)[\w-:.[\]]+[=>\s]/),
u.push.apply(
u,
k('.markdown-section > *')
.filter(function (n) {
return !u.some(function (e) {
var t = e[0]
e[1]
return t === n
})
})
.filter(function (e) {
return e.tagName.toLowerCase() in (n.vueComponents || {}) || e.querySelector(p.join(',') || null) || l.test(e.outerHTML) || c.test(e.outerHTML)
})
.map(function (e) {
var t = y({}, n.vueGlobalOptions || {})
return (
Cn &&
(t.data = function () {
return Cn
}),
[e, t]
)
})
))
for (var h = 0, d = u; h < d.length; h += 1) {
var f,
g = d[h],
m = g[0],
v = g[1],
g = 'data-isvue'
m.matches('pre, script') ||
t(m) ||
m.querySelector('[' + g + ']') ||
(m.setAttribute(g, ''),
2 === i
? ((v.el = void 0), new window.Vue(v).$mount(m))
: 3 === i &&
((f = window.Vue.createApp(v)),
p.forEach(function (e) {
var t = n.vueComponents[e]
f.component(e, t)
}),
f.mount(m)))
}
}
}
function Pn(t, n, r, i, o, e) {
;(t = e ? t : t.replace(/\/$/, '')),
(t = F(t)) &&
ce(o.router.getFile(t + r) + n, !1, o.config.requestHeaders).then(i, function (e) {
return Pn(t, n, r, i, o)
})
}
var In = Object.freeze({
__proto__: null,
cached: s,
hyphenate: o,
hasOwn: l,
merge: y,
isPrimitive: c,
noop: u,
isFn: r,
isExternal: p,
inBrowser: !0,
isMobile: h,
supportsPushState: i,
parseQuery: E,
stringifyQuery: R,
isAbsolutePath: O,
removeParams: $,
getParentPath: F,
cleanPath: C,
resolvePath: L,
getPath: N,
replaceSlug: M,
endsWith: D,
})
var jn,
Hn,
qn = (function (e) {
function t() {
e.call(this),
(this.config = we(this)),
this.initLifecycle(),
this.initPlugin(),
this.callHook('init'),
this.initRouter(),
this.initRender(),
this.initEvent(),
this.initFetch(),
this.callHook('mounted')
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor = t).prototype.initPlugin = function () {
var t = this
;[].concat(this.config.plugins).forEach(function (e) {
return r(e) && e(t._lifecycle, t)
})
}),
t
)
})(
((Hn = Object),
(function (e) {
function t() {
e.apply(this, arguments)
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor = t).prototype._loadSideAndNav = function (e, t, n, r) {
var i = this
return function () {
if (!n) return r()
Pn(
e,
t,
n,
function (e) {
i._renderSidebar(e), r()
},
i,
!0
)
}
}),
(t.prototype._fetch = function (n) {
var r = this
void 0 === n && (n = u)
var i,
e,
t,
o,
a,
s = this.route.query,
l = this.route.path
p(l)
? (history.replaceState(null, '', '#'), this.router.normalize())
: ((i = R(s, ['id'])),
(t = (e = this.config).loadNavbar),
(s = e.requestHeaders),
(o = e.loadSidebar),
(a = this.router.getFile(l)),
(s = Un(a + i, 0, s)),
(this.isRemoteUrl = p(a)),
(this.isHTML = /\.html$/g.test(a)),
s.then(
function (e, t) {
return r._renderMain(e, t, r._loadSideAndNav(l, i, o, n))
},
function (e) {
r._fetchFallbackPage(l, i, n) || r._fetch404(a, i, n)
}
),
t &&
Pn(
l,
i,
t,
function (e) {
return r._renderNav(e)
},
this,
!0
))
}),
(t.prototype._fetchCover = function () {
var t = this,
e = this.config,
n = e.coverpage,
r = e.requestHeaders,
i = this.route.query,
o = F(this.route.path)
if (n) {
var a = null,
e = this.route.path
'string' == typeof n ? '/' === e && (a = n) : (a = Array.isArray(n) ? -1 < n.indexOf(e) && '_coverpage' : !0 === (e = n[e]) ? '_coverpage' : e)
var s = Boolean(a) && this.config.onlyCover
return (
a
? ((a = this.router.getFile(o + a)),
(this.coverIsHTML = /\.html$/g.test(a)),
ce(a + R(i, ['id']), !1, r).then(function (e) {
return t._renderCover(e, s)
}))
: this._renderCover(null, s),
s
)
}
}),
(t.prototype.$fetch = function (e, t) {
var n = this
void 0 === e && (e = u), void 0 === t && (t = this.$resetEvents.bind(this))
function r() {
n.callHook('doneEach'), e()
}
this._fetchCover()
? r()
: this._fetch(function () {
t(), r()
})
}),
(t.prototype._fetchFallbackPage = function (n, r, i) {
var o = this
void 0 === i && (i = u)
var e = this.config,
t = e.requestHeaders,
a = e.fallbackLanguages,
s = e.loadSidebar
if (!a) return !1
e = n.split('/')[1]
if (-1 === a.indexOf(e)) return !1
e = this.router.getFile(n.replace(new RegExp('^/' + e), ''))
return (
Un(e + r, 0, t).then(
function (e, t) {
return o._renderMain(e, t, o._loadSideAndNav(n, r, s, i))
},
function () {
return o._fetch404(n, r, i)
}
),
!0
)
}),
(t.prototype._fetch404 = function (e, t, n) {
var r = this
void 0 === n && (n = u)
var i = this.config,
o = i.loadSidebar,
a = i.requestHeaders,
i = i.notFoundPage,
s = this._loadSideAndNav(e, t, o, n)
if (i) {
e = (function (t, e) {
var n,
r = e.notFoundPage,
i = '_404' + (e.ext || '.md')
switch (typeof r) {
case 'boolean':
n = i
break
case 'string':
n = r
break
case 'object':
n =
((e = Object.keys(r)
.sort(function (e, t) {
return t.length - e.length
})
.filter(function (e) {
return t.match(new RegExp('^' + e))
})[0]) &&
r[e]) ||
i
}
return n
})(e, this.config)
return (
Un(this.router.getFile(e), 0, a).then(
function (e, t) {
return r._renderMain(e, t, s)
},
function () {
return r._renderMain(null, {}, s)
}
),
!0
)
}
return this._renderMain(null, {}, s), !1
}),
(t.prototype.initFetch = function () {
var e,
t = this,
n = this.config.loadSidebar
this.rendered
? ((e = de(this.router, '.sidebar-nav', !0, !0)),
n && e && (e.parentNode.innerHTML += window.__SUB_SIDEBAR__),
this._bindEventOnRendered(e),
this.$resetEvents(),
this.callHook('doneEach'),
this.callHook('ready'))
: this.$fetch(function (e) {
return t.callHook('ready')
})
}),
t
)
})(
(function (e) {
function t() {
e.apply(this, arguments)
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor = t).prototype.$resetEvents = function (e) {
var t = this,
n = this.config.auto2top
'history' !== e &&
(t.route.query.id && Oe(t.route.path, t.route.query.id), 'navigate' === e && n && (void 0 === (n = n) && (n = 0), ($e.scrollTop = !0 === n ? 0 : Number(n)))),
this.config.loadNavbar && de(this.router, 'nav')
}),
(t.prototype.initEvent = function () {
function t(e) {
return g.classList.toggle('close')
}
var e
;(e = 'button.sidebar-toggle'),
this.router,
null != (e = d(e)) &&
(x(e, 'click', function (e) {
e.stopPropagation(), t()
}),
h &&
x(g, 'click', function (e) {
return g.classList.contains('close') && t()
})),
(e = '.sidebar'),
this.router,
null != (e = d(e)) &&
x(e, 'click', function (e) {
e = e.target
'A' === e.nodeName && e.nextSibling && e.nextSibling.classList && e.nextSibling.classList.contains('app-sub-sidebar') && S(e.parentNode, 'collapse')
}),
this.config.coverpage ? h || x('scroll', he) : g.classList.add('sticky')
}),
t
)
})(
(function (e) {
function t() {
e.apply(this, arguments)
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor = t).prototype._renderTo = function (e, t, n) {
e = d(e)
e && (e[n ? 'outerHTML' : 'innerHTML'] = t)
}),
(t.prototype._renderSidebar = function (e) {
var t = this.config,
n = t.maxLevel,
r = t.subMaxLevel,
i = t.loadSidebar
if (t.hideSidebar)
return (
[document.querySelector('aside.sidebar'), document.querySelector('button.sidebar-toggle')].forEach(function (e) {
return e.parentNode.removeChild(e)
}),
(document.querySelector('section.content').style.right = 'unset'),
(document.querySelector('section.content').style.left = 'unset'),
(document.querySelector('section.content').style.position = 'relative'),
(document.querySelector('section.content').style.width = '100%'),
null
)
this._renderTo('.sidebar-nav', this.compiler.sidebar(e, n))
n = de(this.router, '.sidebar-nav', !0, !0)
i && n ? (n.parentNode.innerHTML += this.compiler.subSidebar(r) || '') : this.compiler.subSidebar(), this._bindEventOnRendered(n)
}),
(t.prototype._bindEventOnRendered = function (e) {
var t,
n = this.config.autoHeader
!(function (e) {
var t = b('.cover.show')
Te = t ? t.offsetHeight : 0
var t = d('.sidebar'),
n = []
null != t && (n = k(t, 'li'))
for (var r, i = 0, o = n.length; i < o; i += 1) {
var a,
s,
l = n[i],
c = l.querySelector('a')
c && ('/' !== (a = c.getAttribute('href')) && ((c = (s = e.parse(a)).query.id), (s = s.path), c && (a = Re(s, c))), a && (xe[decodeURIComponent(a)] = l))
}
h ||
((r = $(e.getCurrentPath())),
_('scroll', function () {
return Ee(r)
}),
x('scroll', function () {
return Ee(r)
}),
x(t, 'mouseover', function () {
_e = !0
}),
x(t, 'mouseleave', function () {
_e = !1
}))
})(this.router),
n && e && (n = (t = d('#main')).children[0]) && 'H1' !== n.tagName && w(t, v('div', this.compiler.header(e.innerText, 1)).children[0])
}),
(t.prototype._renderNav = function (e) {
e && this._renderTo('nav', this.compiler.compile(e)), this.config.loadNavbar && de(this.router, 'nav')
}),
(t.prototype._renderMain = function (r, i, o) {
var a = this
if ((void 0 === i && (i = {}), !r)) return Dn.call(this, r)
this.callHook('beforeEach', r, function (e) {
function t() {
i.updatedAt && (n = Mn(n, i.updatedAt, a.config.formatUpdated)),
a.callHook('afterEach', n, function (e) {
return Dn.call(a, e)
})
}
var n
a.isHTML
? ((n = a.result = r), t(), o())
: Nn({ compiler: a.compiler, raw: e }, function (e) {
;(n = a.compiler.compile(e)), (n = a.isRemoteUrl ? ae.sanitize(n, { ADD_TAGS: ['script'] }) : n), t(), o()
})
})
}),
(t.prototype._renderCover = function (e, t) {
var n,
r = d('.cover')
S(d('main'), t ? 'add' : 'remove', 'hidden'),
e
? (S(r, 'add', 'show'),
(t = (n = this.coverIsHTML ? e : this.compiler.cover(e)).trim().match('
([^<]*?)
$')) &&
('color' === t[2]
? (r.style.background = t[1] + (t[3] || ''))
: ((e = t[1]),
S(r, 'add', 'has-mask'),
O(t[1]) || (e = N(this.router.getBasePath(), t[1])),
(r.style.backgroundImage = 'url(' + e + ')'),
(r.style.backgroundSize = 'cover'),
(r.style.backgroundPosition = 'center center')),
(n = n.replace(t[0], ''))),
this._renderTo('.cover-main', n),
he())
: S(r, 'remove', 'show')
}),
(t.prototype._updateRender = function () {
var e, t, n, r
;(e = this),
(t = d('.app-name-link')),
(n = e.config.nameLink),
(r = e.route.path),
t &&
(c(e.config.nameLink)
? t.setAttribute('href', n)
: 'object' == typeof n &&
((e = Object.keys(n).filter(function (e) {
return -1 < r.indexOf(e)
})[0]),
t.setAttribute('href', n[e])))
}),
(t.prototype.initRender = function () {
var e = this.config
;(this.compiler = new On(e, this.router)), (window.__current_docsify_compiler__ = this.compiler)
var t,
n,
r,
i,
o,
a = e.el || '#app',
s = b('nav') || v('nav'),
l = b(a),
c = '',
u = g
l
? (e.repo &&
(c +=
((i = e.repo),
(a = e.cornerExternalLinkTarge),
i
? (/\/\//.test(i) || (i = 'https://github.com/' + i),
'')
: '')),
e.coverpage &&
(c +=
((r = ', 100%, 85%'),
'
\x3c!--cover--\x3e
')),
e.logo &&
((r = /^data:image/.test(e.logo)),
(t = /(?:http[s]?:)?\/\//.test(e.logo)),
(n = /^\./.test(e.logo)),
r || t || n || (e.logo = N(this.router.getBasePath(), e.logo))),
(c +=
((n = (t = e).name ? t.name : ''),
'' +
('') +
'\x3c!--main--\x3e')),
this._renderTo(l, c, !0))
: (this.rendered = !0),
e.mergeNavbar && h ? (u = b('.sidebar')) : (s.classList.add('app-nav'), e.repo || s.classList.add('no-badge')),
e.loadNavbar && w(u, s),
e.themeColor &&
(f.head.appendChild(v('div', '').firstElementChild),
(o = e.themeColor),
(window.CSS && window.CSS.supports && window.CSS.supports('(--v:red)')) ||
((e = k('style:not(.inserted),link')),
[].forEach.call(e, function (e) {
if ('STYLE' === e.nodeName) ue(e, o)
else if ('LINK' === e.nodeName) {
e = e.getAttribute('href')
if (!/\.css$/.test(e)) return
ce(e).then(function (e) {
e = v('style', e)
m.appendChild(e), ue(e, o)
})
}
}))),
this._updateRender(),
S(g, 'ready')
}),
t
)
})(
(function (n) {
function e() {
for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]
n.apply(this, e), (this.route = {})
}
return (
n && (e.__proto__ = n),
(((e.prototype = Object.create(n && n.prototype)).constructor = e).prototype.updateRender = function () {
this.router.normalize(), (this.route = this.router.parse()), g.setAttribute('data-page', this.route.file)
}),
(e.prototype.initRouter = function () {
var t = this,
e = this.config,
e = new ('history' === (e.routerMode || 'hash') && i ? q : H)(e)
;(this.router = e),
this.updateRender(),
(U = this.route),
e.onchange(function (e) {
t.updateRender(), t._updateRender(), U.path !== t.route.path ? (t.$fetch(u, t.$resetEvents.bind(t, e.source)), (U = t.route)) : t.$resetEvents(e.source)
})
}),
e
)
})(
(function (e) {
function t() {
e.apply(this, arguments)
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor = t).prototype.initLifecycle = function () {
var n = this
;(this._hooks = {}),
(this._lifecycle = {}),
['init', 'mounted', 'beforeEach', 'afterEach', 'doneEach', 'ready'].forEach(function (e) {
var t = (n._hooks[e] = [])
n._lifecycle[e] = function (e) {
return t.push(e)
}
})
}),
(t.prototype.callHook = function (e, n, r) {
void 0 === r && (r = u)
var i = this._hooks[e],
o = function (t) {
var e = i[t]
t >= i.length
? r(n)
: 'function' == typeof e
? 2 === e.length
? e(n, function (e) {
;(n = e), o(t + 1)
})
: ((e = e(n)), (n = void 0 === e ? n : e), o(t + 1))
: o(t + 1)
}
o(0)
}),
t
)
})(Hn)
)
)
)
))
)
function Un(e, t, n) {
return jn && jn.abort && jn.abort(), (jn = ce(e, !0, n))
}
;(window.Docsify = { util: In, dom: t, get: ce, slugify: xn, version: '4.12.2' }),
(window.DocsifyCompiler = On),
(window.marked = gn),
(window.Prism = En),
e(function (e) {
return new qn()
})
})()