hugo-theme-hello-friend/static/assets/prism.js
2021-11-01 14:33:13 +01:00

7 lines
186 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function(){var __webpack_modules__={"./assets/js/prism.js":
/*!****************************!*\
!*** ./assets/js/prism.js ***!
\****************************/function(module,__unused_webpack_exports,__webpack_require__){eval('/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+r+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */\nvar _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},\n Prism = function () {\n var e = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n t = 0,\n n = _self.Prism = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(e) {\n return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\\u00a0/g, " ");\n },\n type: function type(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n },\n objId: function objId(e) {\n return e.__id || Object.defineProperty(e, "__id", {\n value: ++t\n }), e.__id;\n },\n clone: function clone(e, t) {\n var a = n.util.type(e);\n\n switch (t = t || {}, a) {\n case "Object":\n if (t[n.util.objId(e)]) return t[n.util.objId(e)];\n var r = {};\n t[n.util.objId(e)] = r;\n\n for (var l in e) {\n e.hasOwnProperty(l) && (r[l] = n.util.clone(e[l], t));\n }\n\n return r;\n\n case "Array":\n if (t[n.util.objId(e)]) return t[n.util.objId(e)];\n var r = [];\n return t[n.util.objId(e)] = r, e.forEach(function (e, a) {\n r[a] = n.util.clone(e, t);\n }), r;\n }\n\n return e;\n }\n },\n languages: {\n extend: function extend(e, t) {\n var a = n.util.clone(n.languages[e]);\n\n for (var r in t) {\n a[r] = t[r];\n }\n\n return a;\n },\n insertBefore: function insertBefore(e, t, a, r) {\n r = r || n.languages;\n var l = r[e],\n i = {};\n\n for (var o in l) {\n if (l.hasOwnProperty(o)) {\n if (o == t) for (var s in a) {\n a.hasOwnProperty(s) && (i[s] = a[s]);\n }\n a.hasOwnProperty(o) || (i[o] = l[o]);\n }\n }\n\n var u = r[e];\n return r[e] = i, n.languages.DFS(n.languages, function (t, n) {\n n === u && t != e && (this[t] = i);\n }), i;\n },\n DFS: function DFS(e, t, a, r) {\n r = r || {};\n\n for (var l in e) {\n e.hasOwnProperty(l) && (t.call(e, l, e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? "Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r)));\n }\n }\n },\n plugins: {},\n highlightAll: function highlightAll(e, t) {\n n.highlightAllUnder(document, e, t);\n },\n highlightAllUnder: function highlightAllUnder(e, t, a) {\n var r = {\n callback: a,\n selector: \'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code\'\n };\n n.hooks.run("before-highlightall", r);\n\n for (var l, i = r.elements || e.querySelectorAll(r.selector), o = 0; l = i[o++];) {\n n.highlightElement(l, t === !0, r.callback);\n }\n },\n highlightElement: function highlightElement(t, a, r) {\n for (var l, i, o = t; o && !e.test(o.className);) {\n o = o.parentNode;\n }\n\n o && (l = (o.className.match(e) || [, ""])[1].toLowerCase(), i = n.languages[l]), t.className = t.className.replace(e, "").replace(/\\s+/g, " ") + " language-" + l, t.parentNode && (o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\\s+/g, " ") + " language-" + l));\n var s = t.textContent,\n u = {\n element: t,\n language: l,\n grammar: i,\n code: s\n };\n if (n.hooks.run("before-sanity-check", u), !u.code || !u.grammar) return u.code && (n.hooks.run("before-highlight", u), u.element.textContent = u.code, n.hooks.run("after-highlight", u)), n.hooks.run("complete", u), void 0;\n\n if (n.hooks.run("before-highlight", u), a && _self.Worker) {\n var g = new Worker(n.filename);\n g.onmessage = function (e) {\n u.highlightedCode = e.data, n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, n.hooks.run("after-highlight", u), n.hooks.run("complete", u), r && r.call(u.element);\n }, g.postMessage(JSON.stringify({\n language: u.language,\n code: u.code,\n immediateClose: !0\n }));\n } else u.highlightedCode = n.highlight(u.code, u.grammar, u.language), n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, n.hooks.run("after-highlight", u), n.hooks.run("complete", u), r && r.call(t);\n },\n highlight: function highlight(e, t, r) {\n var l = {\n code: e,\n grammar: t,\n language: r\n };\n return n.hooks.run("before-tokenize", l), l.tokens = n.tokenize(l.code, l.grammar), n.hooks.run("after-tokenize", l), a.stringify(n.util.encode(l.tokens), l.language);\n },\n matchGrammar: function matchGrammar(e, t, a, r, l, i, o) {\n var s = n.Token;\n\n for (var u in a) {\n if (a.hasOwnProperty(u) && a[u]) {\n if (u == o) return;\n var g = a[u];\n g = "Array" === n.util.type(g) ? g : [g];\n\n for (var c = 0; c < g.length; ++c) {\n var h = g[c],\n f = h.inside,\n d = !!h.lookbehind,\n m = !!h.greedy,\n p = 0,\n y = h.alias;\n\n if (m && !h.pattern.global) {\n var v = h.pattern.toString().match(/[imuy]*$/)[0];\n h.pattern = RegExp(h.pattern.source, v + "g");\n }\n\n h = h.pattern || h;\n\n for (var b = r, k = l; b < t.length; k += t[b].length, ++b) {\n var w = t[b];\n if (t.length > e.length) return;\n\n if (!(w instanceof s)) {\n if (m && b != t.length - 1) {\n h.lastIndex = k;\n\n var _ = h.exec(e);\n\n if (!_) break;\n\n for (var j = _.index + (d ? _[1].length : 0), P = _.index + _[0].length, A = b, x = k, O = t.length; O > A && (P > x || !t[A].type && !t[A - 1].greedy); ++A) {\n x += t[A].length, j >= x && (++b, k = x);\n }\n\n if (t[b] instanceof s) continue;\n I = A - b, w = e.slice(k, x), _.index -= k;\n } else {\n h.lastIndex = 0;\n\n var _ = h.exec(w),\n I = 1;\n }\n\n if (_) {\n d && (p = _[1] ? _[1].length : 0);\n\n var j = _.index + p,\n _ = _[0].slice(p),\n P = j + _.length,\n N = w.slice(0, j),\n S = w.slice(P),\n C = [b, I];\n\n N && (++b, k += N.length, C.push(N));\n var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m);\n if (C.push(E), S && C.push(S), Array.prototype.splice.apply(t, C), 1 != I && n.matchGrammar(e, t, a, b, k, !0, u), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, t) {\n var a = [e],\n r = t.rest;\n\n if (r) {\n for (var l in r) {\n t[l] = r[l];\n }\n\n delete t.rest;\n }\n\n return n.matchGrammar(e, a, t, 0, 0, !1), a;\n },\n hooks: {\n all: {},\n add: function add(e, t) {\n var a = n.hooks.all;\n a[e] = a[e] || [], a[e].push(t);\n },\n run: function run(e, t) {\n var a = n.hooks.all[e];\n if (a && a.length) for (var r, l = 0; r = a[l++];) {\n r(t);\n }\n }\n }\n },\n a = n.Token = function (e, t, n, a, r) {\n this.type = e, this.content = t, this.alias = n, this.length = 0 | (a || "").length, this.greedy = !!r;\n };\n\n if (a.stringify = function (e, t, r) {\n if ("string" == typeof e) return e;\n if ("Array" === n.util.type(e)) return e.map(function (n) {\n return a.stringify(n, t, e);\n }).join("");\n var l = {\n type: e.type,\n content: a.stringify(e.content, t, r),\n tag: "span",\n classes: ["token", e.type],\n attributes: {},\n language: t,\n parent: r\n };\n\n if (e.alias) {\n var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];\n Array.prototype.push.apply(l.classes, i);\n }\n\n n.hooks.run("wrap", l);\n var o = Object.keys(l.attributes).map(function (e) {\n return e + \'="\' + (l.attributes[e] || "").replace(/"/g, "&quot;") + \'"\';\n }).join(" ");\n return "<" + l.tag + \' class="\' + l.classes.join(" ") + \'"\' + (o ? " " + o : "") + ">" + l.content + "</" + l.tag + ">";\n }, !_self.document) return _self.addEventListener ? (n.disableWorkerMessageHandler || _self.addEventListener("message", function (e) {\n var t = JSON.parse(e.data),\n a = t.language,\n r = t.code,\n l = t.immediateClose;\n _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close();\n }, !1), _self.Prism) : _self.Prism;\n var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();\n return r && (n.filename = r.src, n.manual || r.hasAttribute("data-manual") || ("loading" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(n.highlightAll) : window.setTimeout(n.highlightAll, 16) : document.addEventListener("DOMContentLoaded", n.highlightAll))), _self.Prism;\n}();\n\n true && module.exports && (module.exports = Prism), "undefined" != typeof __webpack_require__.g && (__webpack_require__.g.Prism = Prism);\nPrism.languages.markup = {\n comment: /\x3c!--[\\s\\S]*?--\x3e/,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: /<!DOCTYPE[\\s\\S]+?>/i,\n cdata: /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s\'">=]+))?)*\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n "attr-value": {\n pattern: /=(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s\'">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /(^|[^\\\\])["\']/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n "attr-name": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside["attr-value"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add("wrap", function (a) {\n "entity" === a.type && (a.attributes.title = a.content.replace(/&amp;/, "&"));\n}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /url\\((?:(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /("|\')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n "function": /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n}, Prism.languages.css.atrule.inside.rest = Prism.languages.css, Prism.languages.markup && (Prism.languages.insertBefore("markup", "tag", {\n style: {\n pattern: /(<style[\\s\\S]*?>)[\\s\\S]*?(?=<\\/style>)/i,\n lookbehind: !0,\n inside: Prism.languages.css,\n alias: "language-css",\n greedy: !0\n }\n}), Prism.languages.insertBefore("inside", "attr-value", {\n "style-attr": {\n pattern: /\\s*style=("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n "attr-name": {\n pattern: /^\\s*style/i,\n inside: Prism.languages.markup.tag.inside\n },\n punctuation: /^\\s*=\\s*[\'"]|[\'"]\\s*$/,\n "attr-value": {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: "language-css"\n }\n}, Prism.languages.markup.tag));\nPrism.languages.clike = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0,\n greedy: !0\n }],\n string: {\n pattern: /(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n "class-name": {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: !0,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n "boolean": /\\b(?:true|false)\\b/,\n "function": /\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/\n};\nPrism.languages.javascript = Prism.languages.extend("clike", {\n "class-name": [Prism.languages.clike["class-name"], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: !0\n }],\n keyword: [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: !0\n }, /\\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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|var|void|while|with|yield)\\b/],\n number: /\\b(?:(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\\d+n|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n "function": /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\(|\\.(?:apply|bind|call)\\()/,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n}), Prism.languages.javascript["class-name"][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore("javascript", "keyword", {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF."\'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: !0,\n greedy: !0\n },\n "function-variable": {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n alias: "function"\n },\n parameter: [{\n pattern: /(function(?:\\s+[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)[^\\s()][^()]*?(?=\\s*\\))/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*=>)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n 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|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*\\{)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }],\n constant: /\\b[A-Z][A-Z\\d_]*\\b/\n}), Prism.languages.insertBefore("javascript", "string", {\n "template-string": {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n "interpolation-punctuation": {\n pattern: /^\\${|}$/,\n alias: "punctuation"\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {\n script: {\n pattern: /(<script[\\s\\S]*?>)[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: !0,\n inside: Prism.languages.javascript,\n alias: "language-javascript",\n greedy: !0\n }\n}), Prism.languages.js = Prism.languages.javascript;\nPrism.languages.actionscript = Prism.languages.extend("javascript", {\n keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n}), Prism.languages.actionscript["class-name"].alias = "function", Prism.languages.markup && Prism.languages.insertBefore("actionscript", "string", {\n xml: {\n pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=("|\')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: !0,\n inside: {\n rest: Prism.languages.markup\n }\n }\n});\nPrism.languages.apacheconf = {\n comment: /#.*/,\n "directive-inline": {\n pattern: /^(\\s*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: !0,\n alias: "property"\n },\n "directive-block": {\n pattern: /<\\/?\\b(?:AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\\b *.*>/i,\n inside: {\n "directive-block": {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: "tag"\n },\n "directive-block-parameter": {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /("|\').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: "attr-value"\n },\n punctuation: />/\n },\n alias: "tag"\n },\n "directive-flags": {\n pattern: /\\[(?:\\w,?)+\\]/,\n alias: "keyword"\n },\n string: {\n pattern: /("|\').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n};\nPrism.languages.applescript = {\n comment: [/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/, /--.+/, /#.+/],\n string: /"(?:\\\\.|[^"\\\\\\r\\n])*"/,\n number: /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/, /\\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn\'t) contain|contains?)|(?:is|isn\'t|is not) (?:in|contained by)|(?:(?:is|isn\'t|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn\'t) come|comes) (?:before|after)|(?:is|isn\'t|is not) equal(?: to)?|(?:(?:does not|doesn\'t) equal|equals|equal to|isn\'t|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\\b/],\n keyword: /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n "class": {\n pattern: /\\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\\b/,\n alias: "builtin"\n },\n punctuation: /[{}():,¬«»《》]/\n};\nPrism.languages.c = Prism.languages.extend("clike", {\n keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?/,\n number: /(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i\n}), Prism.languages.insertBefore("c", "string", {\n macro: {\n pattern: /(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: !0,\n alias: "property",\n inside: {\n string: {\n pattern: /(#\\s*include\\s*)(?:<.+?>|("|\')(?:\\\\?.)+?\\2)/,\n lookbehind: !0\n },\n directive: {\n pattern: /(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,\n lookbehind: !0,\n alias: "keyword"\n }\n }\n },\n constant: /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n}), delete Prism.languages.c["class-name"], delete Prism.languages.c["boolean"];\nPrism.languages.csharp = Prism.languages.extend("clike", {\n keyword: /\\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\\b/,\n string: [{\n pattern: /@("|\')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }, {\n pattern: /("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,\n greedy: !0\n }],\n "class-name": [{\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }],\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i,\n operator: />>=?|<<=?|[-=]>|([-+&|?])\\1|~|[-+*\\/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n}), Prism.languages.insertBefore("csharp", "class-name", {\n "generic-method": {\n pattern: /\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,\n inside: {\n "function": /^\\w+/,\n "class-name": {\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n keyword: Prism.languages.csharp.keyword,\n punctuation: /[<>(),.:]/\n }\n },\n preprocessor: {\n pattern: /(^\\s*)#.*/m,\n lookbehind: !0,\n alias: "property",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,\n lookbehind: !0,\n alias: "keyword"\n }\n }\n }\n}), Prism.languages.dotnet = Prism.languages.csharp;\n!function (e) {\n var t = {\n variable: [{\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n inside: {\n variable: [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: !0\n }, /^\\$\\(\\(/],\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, {\n pattern: /\\$\\([^)]+\\)|`[^`]+`/,\n greedy: !0,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, /\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]\n };\n e.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,\n alias: "important"\n },\n comment: {\n pattern: /(^|[^"{\\\\])#.*/,\n lookbehind: !0\n },\n string: [{\n pattern: /((?:^|[^<])<<\\s*)["\']?(\\w+?)["\']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: t\n }, {\n pattern: /(["\'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,\n greedy: !0,\n inside: t\n }],\n variable: t.variable,\n "function": {\n pattern: /(^|[\\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n keyword: {\n pattern: /(^|[\\s;|&])(?:let|:|\\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n "boolean": {\n pattern: /(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n operator: /&&?|\\|\\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/\n };\n var a = t.variable[1].inside;\n a.string = e.languages.bash.string, a["function"] = e.languages.bash["function"], a.keyword = e.languages.bash.keyword, a["boolean"] = e.languages.bash["boolean"], a.operator = e.languages.bash.operator, a.punctuation = e.languages.bash.punctuation, e.languages.shell = e.languages.bash;\n}(Prism);\nPrism.languages.cpp = Prism.languages.extend("c", {\n keyword: /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,\n "boolean": /\\b(?:true|false)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/\n}), Prism.languages.insertBefore("cpp", "keyword", {\n "class-name": {\n pattern: /(class\\s+)\\w+/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore("cpp", "string", {\n "raw-string": {\n pattern: /R"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1"/,\n alias: "string",\n greedy: !0\n }\n});\n!function (e) {\n var t = /#(?!\\{).+/,\n n = {\n pattern: /#\\{[^}]+\\}/,\n alias: "variable"\n };\n e.languages.coffeescript = e.languages.extend("javascript", {\n comment: t,\n string: [{\n pattern: /\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'/,\n greedy: !0\n }, {\n pattern: /"(?:\\\\[\\s\\S]|[^\\\\"])*"/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }],\n keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n "class-member": {\n pattern: /@(?!\\d)\\w+/,\n alias: "variable"\n }\n }), e.languages.insertBefore("coffeescript", "comment", {\n "multiline-comment": {\n pattern: /###[\\s\\S]+?###/,\n alias: "comment"\n },\n "block-regex": {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: "regex",\n inside: {\n comment: t,\n interpolation: n\n }\n }\n }), e.languages.insertBefore("coffeescript", "string", {\n "inline-javascript": {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: "punctuation"\n },\n rest: e.languages.javascript\n }\n },\n "multiline-string": [{\n pattern: /\'\'\'[\\s\\S]*?\'\'\'/,\n greedy: !0,\n alias: "string"\n }, {\n pattern: /"""[\\s\\S]*?"""/,\n greedy: !0,\n alias: "string",\n inside: {\n interpolation: n\n }\n }]\n }), e.languages.insertBefore("coffeescript", "keyword", {\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n }), delete e.languages.coffeescript["template-string"], e.languages.coffee = e.languages.coffeescript;\n}(Prism);\n!function (e) {\n e.languages.ruby = e.languages.extend("clike", {\n comment: [/#.*/, {\n pattern: /^=begin(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?=end/m,\n greedy: !0\n }],\n keyword: /\\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\\b/\n });\n var n = {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: "tag"\n },\n rest: e.languages.ruby\n }\n };\n delete e.languages.ruby.function, e.languages.insertBefore("ruby", "keyword", {\n regex: [{\n pattern: /%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,\n lookbehind: !0,\n greedy: !0\n }],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: {\n pattern: /(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n lookbehind: !0\n },\n "method-definition": {\n pattern: /(\\bdef\\s+)[\\w.]+/,\n lookbehind: !0,\n inside: {\n "function": /\\w+$/,\n rest: e.languages.ruby\n }\n }\n }), e.languages.insertBefore("ruby", "number", {\n builtin: /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\\b/,\n constant: /\\b[A-Z]\\w*(?:[?!]|\\b)/\n }), e.languages.ruby.string = [{\n pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /("|\')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }], e.languages.rb = e.languages.ruby;\n}(Prism);\nPrism.languages.csp = {\n directive: {\n pattern: /\\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,\n alias: "keyword"\n },\n safe: {\n pattern: /\'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=\\/]+)\'/,\n alias: "selector"\n },\n unsafe: {\n pattern: /(?:\'unsafe-inline\'|\'unsafe-eval\'|\'unsafe-hashed-attributes\'|\\*)/,\n alias: "function"\n }\n};\nPrism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: {\n "pseudo-element": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n "pseudo-class": /:[-\\w]+(?:\\(.*\\))?/,\n "class": /\\.[-:.\\w]+/,\n id: /#[-:.\\w]+/,\n attribute: /\\[[^\\]]+\\]/\n }\n}, Prism.languages.insertBefore("css", "property", {\n variable: {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore("css", "function", {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,8}/i,\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: {\n pattern: /(\\d)(?:%|[a-z]+)/,\n lookbehind: !0\n },\n number: /-?[\\d.]+/\n});\nPrism.languages.diff = {\n coord: [/^(?:\\*{3}|-{3}|\\+{3}).*$/m, /^@@.*@@$/m, /^\\d+.*$/m],\n deleted: /^[-<].*$/m,\n inserted: /^[+>].*$/m,\n diff: {\n pattern: /^!(?!!).+$/m,\n alias: "important"\n }\n};\nvar _django_template = {\n property: {\n pattern: /(?:{{|{%)[\\s\\S]*?(?:%}|}})/g,\n greedy: !0,\n inside: {\n string: {\n pattern: /("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n keyword: /\\b(?:\\||load|verbatim|widthratio|ssi|firstof|for|url|ifchanged|csrf_token|lorem|ifnotequal|autoescape|now|templatetag|debug|cycle|ifequal|regroup|comment|filter|endfilter|if|spaceless|with|extends|block|include|else|empty|endif|endfor|as|endblock|endautoescape|endverbatim|trans|endtrans|[Tt]rue|[Ff]alse|[Nn]one|in|is|static|macro|endmacro|call|endcall|set|endset|raw|endraw)\\b/,\n operator: /[-+=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,\n "function": /\\b(?:_|abs|add|addslashes|attr|batch|callable|capfirst|capitalize|center|count|cut|d|date|default|default_if_none|defined|dictsort|dictsortreversed|divisibleby|e|equalto|escape|escaped|escapejs|even|filesizeformat|first|float|floatformat|force_escape|forceescape|format|get_digit|groupby|indent|int|iriencode|iterable|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|list|ljust|lower|make_list|map|mapping|number|odd|phone2numeric|pluralize|pprint|random|reject|rejectattr|removetags|replace|reverse|rjust|round|safe|safeseq|sameas|select|selectattr|sequence|slice|slugify|sort|string|stringformat|striptags|sum|time|timesince|timeuntil|title|trim|truncate|truncatechars|truncatechars_html|truncatewords|truncatewords_html|undefined|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|xmlattr|yesno)\\b/,\n important: /\\b-?\\d+(?:\\.\\d+)?\\b/,\n variable: /\\b\\w+?\\b/,\n punctuation: /[[\\];(),.:]/\n }\n }\n};\nPrism.languages.django = Prism.languages.extend("markup", {\n comment: /(?:\x3c!--|{#)[\\s\\S]*?(?:#}|--\x3e)/\n}), Prism.languages.django.tag.pattern = /<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^>=]+))?)*\\s*\\/?>/i, Prism.languages.insertBefore("django", "entity", _django_template), Prism.languages.insertBefore("inside", "tag", _django_template, Prism.languages.django.tag), Prism.languages.javascript && (Prism.languages.insertBefore("inside", "string", _django_template, Prism.languages.django.script), Prism.languages.django.script.inside.string.inside = _django_template), Prism.languages.css && (Prism.languages.insertBefore("inside", "atrule", {\n tag: _django_template.property\n}, Prism.languages.django.style), Prism.languages.django.style.inside.string.inside = _django_template), Prism.languages.jinja2 = Prism.languages.django;\nPrism.languages.docker = {\n keyword: {\n pattern: /(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,\n lookbehind: !0\n },\n string: /("|\')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n comment: /#.*/,\n punctuation: /---|\\.\\.\\.|[:[\\]{}\\-,|>?]/\n}, Prism.languages.dockerfile = Prism.languages.docker;\nPrism.languages.elixir = {\n comment: {\n pattern: /#.*/m,\n lookbehind: !0\n },\n regex: {\n pattern: /~[rR](?:("""|\'\'\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|"\'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: !0\n },\n string: [{\n pattern: /~[cCsSwW](?:("""|\'\'\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|"\'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /("""|\'\'\')[\\s\\S]*?\\1/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /("|\')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {}\n }],\n atom: {\n pattern: /(^|[^:]):\\w+/,\n lookbehind: !0,\n alias: "symbol"\n },\n "attr-name": /\\w+:(?!:)/,\n capture: {\n pattern: /(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,\n lookbehind: !0,\n alias: "function"\n },\n argument: {\n pattern: /(^|[^&])&\\d+/,\n lookbehind: !0,\n alias: "variable"\n },\n attribute: {\n pattern: /@\\w+/,\n alias: "variable"\n },\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword: /\\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\\b/,\n "boolean": /\\b(?:true|false|nil)\\b/,\n operator: [/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/, {\n pattern: /([^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /([^>])>(?!>)/,\n lookbehind: !0\n }],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n}, Prism.languages.elixir.string.forEach(function (e) {\n e.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: "punctuation"\n },\n rest: Prism.languages.elixir\n }\n }\n };\n});\nPrism.languages.elm = {\n comment: /--.*|{-[\\s\\S]*?-}/,\n "char": {\n pattern: /\'(?:[^\\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\\']|\\d+|x[0-9a-fA-F]+))\'/,\n greedy: !0\n },\n string: [{\n pattern: /"""[\\s\\S]*?"""/,\n greedy: !0\n }, {\n pattern: /"(?:[^\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\"]|\\d+|x[0-9a-fA-F]+))*"/,\n greedy: !0\n }],\n import_statement: {\n pattern: /^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n inside: {\n keyword: /\\b(?:import|as|exposing)\\b/\n }\n },\n keyword: /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n builtin: /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[+\\-\\/*=.$<>:&|^?%#@~!]{2,}|[+\\-\\/*=$<>:&|^?%#@~!]/,\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n};\nPrism.languages["markup-templating"] = {}, Object.defineProperties(Prism.languages["markup-templating"], {\n buildPlaceholders: {\n value: function value(e, t, n, a) {\n e.language === t && (e.tokenStack = [], e.code = e.code.replace(n, function (n) {\n if ("function" == typeof a && !a(n)) return n;\n\n for (var r = e.tokenStack.length; -1 !== e.code.indexOf("___" + t.toUpperCase() + r + "___");) {\n ++r;\n }\n\n return e.tokenStack[r] = n, "___" + t.toUpperCase() + r + "___";\n }), e.grammar = Prism.languages.markup);\n }\n },\n tokenizePlaceholders: {\n value: function value(e, t) {\n if (e.language === t && e.tokenStack) {\n e.grammar = Prism.languages[t];\n\n var n = 0,\n a = Object.keys(e.tokenStack),\n r = function r(o) {\n if (!(n >= a.length)) for (var i = 0; i < o.length; i++) {\n var g = o[i];\n\n if ("string" == typeof g || g.content && "string" == typeof g.content) {\n var c = a[n],\n s = e.tokenStack[c],\n l = "string" == typeof g ? g : g.content,\n p = l.indexOf("___" + t.toUpperCase() + c + "___");\n\n if (p > -1) {\n ++n;\n\n var f,\n u = l.substring(0, p),\n _ = new Prism.Token(t, Prism.tokenize(s, e.grammar, t), "language-" + t, s),\n k = l.substring(p + ("___" + t.toUpperCase() + c + "___").length);\n\n if (u || k ? (f = [u, _, k].filter(function (e) {\n return !!e;\n }), r(f)) : f = _, "string" == typeof g ? Array.prototype.splice.apply(o, [i, 1].concat(f)) : g.content = f, n >= a.length) break;\n }\n } else g.content && "string" != typeof g.content && r(g.content);\n }\n };\n\n r(e.tokens);\n }\n }\n }\n});\nPrism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /"(?:\\\\.|[^\\\\"\\r\\n])*"/,\n greedy: !0\n },\n "quoted-function": {\n pattern: /\'(?:\\\\.|[^\\\\\'\\r\\n])+\'(?=\\()/,\n alias: "function"\n },\n "quoted-atom": {\n pattern: /\'(?:\\\\.|[^\\\\\'\\r\\n])+\'/,\n alias: "atom"\n },\n "boolean": /\\b(?:true|false)\\b/,\n keyword: /\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,\n number: [/\\$\\\\?./, /\\d+#[a-z0-9]+/i, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\n "function": /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: !0\n },\n operator: [/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/, {\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: !0\n }],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n};\nPrism.languages.fsharp = Prism.languages.extend("clike", {\n comment: [{\n pattern: /(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: {\n pattern: /(?:"""[\\s\\S]*?"""|@"(?:""|[^"])*"|"(?:\\\\[\\s\\S]|[^\\\\"])*")B?|\'(?:[^\\\\\']|\\\\.)\'B?/,\n greedy: !0\n },\n "class-name": {\n pattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: !0,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\\b/,\n number: [/\\b0x[\\da-fA-F]+(?:un|lf|LF)?\\b/, /\\b0b[01]+(?:y|uy)?\\b/, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i, /\\b\\d+(?:[IlLsy]|u[lsy]?|UL)?\\b/],\n operator: /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*\\/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n}), Prism.languages.insertBefore("fsharp", "keyword", {\n preprocessor: {\n pattern: /^[^\\r\\n\\S]*#.*/m,\n alias: "property",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: !0,\n alias: "keyword"\n }\n }\n }\n}), Prism.languages.insertBefore("fsharp", "punctuation", {\n "computation-expression": {\n pattern: /[_a-z]\\w*(?=\\s*\\{)/i,\n alias: "keyword"\n }\n}), Prism.languages.insertBefore("fsharp", "string", {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n "class-name": {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: !0\n },\n "annotation-content": {\n pattern: /[\\s\\S]*/,\n inside: Prism.languages.fsharp\n }\n }\n }\n});\n!function (e) {\n e.languages.flow = e.languages.extend("javascript", {}), e.languages.insertBefore("flow", "keyword", {\n type: [{\n pattern: /\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,\n alias: "tag"\n }]\n }), e.languages.flow["function-variable"].pattern = /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore("flow", "operator", {\n "flow-punctuation": {\n pattern: /\\{\\||\\|\\}/,\n alias: "punctuation"\n }\n }), "Array" !== e.util.type(e.languages.flow.keyword) && (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({\n pattern: /(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,\n lookbehind: !0\n });\n}(Prism);\nPrism.languages.git = {\n comment: /^#.*/m,\n deleted: /^[-].*/m,\n inserted: /^\\+.*/m,\n string: /("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n parameter: /\\s--?\\w+/m\n }\n },\n coord: /^@@.*@@$/m,\n commit_sha1: /^commit \\w{40}$/m\n};\nPrism.languages.go = Prism.languages.extend("clike", {\n keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n builtin: /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,\n "boolean": /\\b(?:_|iota|nil|true|false)\\b/,\n operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n number: /(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n string: {\n pattern: /(["\'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }\n}), delete Prism.languages.go["class-name"];\nPrism.languages.graphql = {\n comment: /#.*/,\n string: {\n pattern: /"(?:\\\\.|[^\\\\"\\r\\n])*"/,\n greedy: !0\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n "boolean": /\\b(?:true|false)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: "function"\n },\n "attr-name": /[a-z_]\\w*(?=\\s*:)/i,\n keyword: [{\n pattern: /(fragment\\s+(?!on)[a-z_]\\w*\\s+|\\.{3}\\s*)on\\b/,\n lookbehind: !0\n }, /\\b(?:query|fragment|mutation)\\b/],\n operator: /!|=|\\.{3}/,\n punctuation: /[!(){}\\[\\]:=,]/\n};\nPrism.languages.less = Prism.languages.extend("css", {\n comment: [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: !0\n }],\n atrule: {\n pattern: /@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,\n inside: {\n punctuation: /[:()]/\n }\n },\n selector: {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,\n inside: {\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n operator: /[+\\-*\\/]/\n}), Prism.languages.insertBefore("less", "property", {\n variable: [{\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, /@@?[\\w-]+/],\n "mixin-usage": {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,\n lookbehind: !0,\n alias: "function"\n }\n});\n!function (a) {\n a.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: "punctuation"\n },\n string: /(["\'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n "boolean": /\\b(?:true|false)\\b/,\n block: {\n pattern: /^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,\n lookbehind: !0,\n alias: "keyword"\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!"#%&\'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!"#%&\'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }, a.hooks.add("before-tokenize", function (e) {\n var n = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n a.languages["markup-templating"].buildPlaceholders(e, "handlebars", n);\n }), a.hooks.add("after-tokenize", function (e) {\n a.languages["markup-templating"].tokenizePlaceholders(e, "handlebars");\n });\n}(Prism);\nPrism.languages.haskell = {\n comment: {\n pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,\n lookbehind: !0\n },\n "char": /\'(?:[^\\\\\']|\\\\(?:[abfnrtv\\\\"\'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+))\'/,\n string: {\n pattern: /"(?:[^\\\\"]|\\\\(?:[abfnrtv\\\\"\'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\\\\s+\\\\)*"/,\n greedy: !0\n },\n keyword: /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n import_statement: {\n pattern: /((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w\']*)(?:\\.[A-Z][\\w\']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9\']*)(?:\\.[A-Z][\\w\']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: !0,\n inside: {\n keyword: /\\b(?:import|qualified|as|hiding)\\b/\n }\n },\n builtin: /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w\']*\\.)*[_a-z][\\w\']*`/,\n hvariable: /\\b(?:[A-Z][\\w\']*\\.)*[_a-z][\\w\']*\\b/,\n constant: /\\b(?:[A-Z][\\w\']*\\.)*[A-Z][\\w\']*\\b/,\n punctuation: /[{}[\\];(),.:]/\n};\n!function (t) {\n function a(t) {\n var a = t.replace(/^[a-z]+\\//, ""),\n e = "\\\\w+/(?:[\\\\w.-]+\\\\+)+" + a + "(?![+\\\\w.-])";\n return "(?:" + t + "|" + e + ")";\n }\n\n t.languages.http = {\n "request-line": {\n pattern: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,\n inside: {\n property: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\n "attr-name": /:\\w+/\n }\n },\n "response-status": {\n pattern: /^HTTP\\/1.[01] \\d+.*/m,\n inside: {\n property: {\n pattern: /(^HTTP\\/1.[01] )\\d+.*/i,\n lookbehind: !0\n }\n }\n },\n "header-name": {\n pattern: /^[\\w-]+:(?=.)/m,\n alias: "keyword"\n }\n };\n var e,\n n = t.languages,\n r = {\n "application/javascript": n.javascript,\n "application/json": n.json || n.javascript,\n "application/xml": n.xml,\n "text/xml": n.xml,\n "text/html": n.html,\n "text/css": n.css\n },\n i = {\n "application/json": !0,\n "application/xml": !0\n };\n\n for (var s in r) {\n if (r[s]) {\n e = e || {};\n var p = i[s] ? a(s) : s;\n e[s] = {\n pattern: RegExp("(content-type:\\\\s*" + p + "[\\\\s\\\\S]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*", "i"),\n lookbehind: !0,\n inside: {\n rest: r[s]\n }\n };\n }\n }\n\n e && t.languages.insertBefore("http", "header-name", e);\n}(Prism);\n!function (a) {\n var e = /\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n t = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n a.languages.java = a.languages.extend("clike", {\n "class-name": [t, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: e,\n "function": [a.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*\\/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), a.languages.insertBefore("java", "class-name", {\n annotation: {\n alias: "punctuation",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n "class-name": t,\n keyword: e,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);\nPrism.languages.json = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n property: {\n pattern: /"(?:\\\\.|[^\\\\"\\r\\n])*"(?=\\s*:)/,\n greedy: !0\n },\n string: {\n pattern: /"(?:\\\\.|[^\\\\"\\r\\n])*"(?!\\s*:)/,\n greedy: !0\n },\n number: /-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n "boolean": /\\b(?:true|false)\\b/,\n "null": /\\bnull\\b/\n}, Prism.languages.jsonp = Prism.languages.json;\n!function (e) {\n e.languages.kotlin = e.languages.extend("clike", {\n keyword: {\n pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: !0\n },\n "function": [/\\w+(?=\\s*\\()/, {\n pattern: /(\\.)\\w+(?=\\s*\\{)/,\n lookbehind: !0\n }],\n number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n }), delete e.languages.kotlin["class-name"], e.languages.insertBefore("kotlin", "string", {\n "raw-string": {\n pattern: /("""|\'\'\')[\\s\\S]*?\\1/,\n alias: "string"\n }\n }), e.languages.insertBefore("kotlin", "keyword", {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: "builtin"\n }\n }), e.languages.insertBefore("kotlin", "function", {\n label: {\n pattern: /\\w+@|@\\w+/,\n alias: "symbol"\n }\n });\n var n = [{\n pattern: /\\$\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^\\$\\{|\\}$/,\n alias: "variable"\n },\n rest: e.languages.kotlin\n }\n }, {\n pattern: /\\$\\w+/,\n alias: "variable"\n }];\n e.languages.kotlin.string.inside = e.languages.kotlin["raw-string"].inside = {\n interpolation: n\n };\n}(Prism);\n!function (a) {\n var e = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,\n n = {\n "equation-command": {\n pattern: e,\n alias: "regex"\n }\n };\n a.languages.latex = {\n comment: /%.*/m,\n cdata: {\n pattern: /(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0\n },\n equation: [{\n pattern: /\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: n,\n alias: "string"\n }, {\n pattern: /(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0,\n inside: n,\n alias: "string"\n }],\n keyword: {\n pattern: /(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n headline: {\n pattern: /(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,\n lookbehind: !0,\n alias: "class-name"\n },\n "function": {\n pattern: e,\n alias: "selector"\n },\n punctuation: /[[\\]{}&]/\n };\n}(Prism);\nPrism.languages.markdown = Prism.languages.extend("markup", {}), Prism.languages.insertBefore("markdown", "prolog", {\n blockquote: {\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: "punctuation"\n },\n code: [{\n pattern: /^(?: {4}|\\t).+/m,\n alias: "keyword"\n }, {\n pattern: /``.+?``|`[^`\\n]+`/,\n alias: "keyword"\n }, {\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: !0,\n inside: {\n "code-block": {\n pattern: /^(```.*(?:\\r?\\n|\\r))[\\s\\S]+?(?=(?:\\r?\\n|\\r)^```$)/m,\n lookbehind: !0\n },\n "code-language": {\n pattern: /^(```).+/,\n lookbehind: !0\n },\n punctuation: /```/\n }\n }],\n title: [{\n pattern: /\\S.*(?:\\r?\\n|\\r)(?:==+|--+)/,\n alias: "important",\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n pattern: /(^\\s*)#+.+/m,\n lookbehind: !0,\n alias: "important",\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n hr: {\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: !0,\n alias: "punctuation"\n },\n list: {\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: !0,\n alias: "punctuation"\n },\n "url-reference": {\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: !0\n },\n string: /(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: "url"\n },\n bold: {\n pattern: /(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^\\*\\*|^__|\\*\\*$|__$/\n }\n },\n italic: {\n pattern: /(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^[*_]|[*_]$/\n }\n },\n strike: {\n pattern: /(^|[^\\\\])(~~?)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^~~?|~~?$/\n }\n },\n url: {\n pattern: /!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)| ?\\[[^\\]\\n]*\\])/,\n inside: {\n variable: {\n pattern: /(!?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: !0\n },\n string: {\n pattern: /"(?:\\\\.|[^"\\\\])*"(?=\\)$)/\n }\n }\n }\n}), Prism.languages.markdown.bold.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.italic.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.strike.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.bold.inside.italic = Prism.languages.markdown.italic, Prism.languages.markdown.bold.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.italic.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.italic.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.strike.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.strike.inside.italic = Prism.languages.markdown.italic, Prism.hooks.add("after-tokenize", function (a) {\n function n(a) {\n if (a && "string" != typeof a) for (var e = 0, i = a.length; i > e; e++) {\n var r = a[e];\n\n if ("code" === r.type) {\n var t = r.content[1],\n s = r.content[3];\n\n if (t && s && "code-language" === t.type && "code-block" === s.type && "string" == typeof t.content) {\n var o = "language-" + t.content.trim().split(/\\s+/)[0].toLowerCase();\n s.alias ? "string" == typeof s.alias ? s.alias = [s.alias, o] : s.alias.push(o) : s.alias = [o];\n }\n } else n(r.content);\n }\n }\n\n "markdown" === a.language && n(a.tokens);\n}), Prism.hooks.add("wrap", function (a) {\n if ("code-block" === a.type) {\n for (var n = "", e = 0, i = a.classes.length; i > e; e++) {\n var r = a.classes[e],\n t = /language-(\\w+)/.exec(r);\n\n if (t) {\n n = t[1];\n break;\n }\n }\n\n var s = Prism.languages[n];\n\n if (s) {\n var o = a.content.replace(/&lt;/g, "<").replace(/&amp;/g, "&");\n a.content = Prism.highlight(o, s, n);\n }\n }\n}), Prism.languages.md = Prism.languages.markdown;\nPrism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: !0\n },\n string: {\n pattern: /(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n builtin: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n symbol: {\n pattern: /^[^:=\\r\\n]+(?=\\s*:(?!=))/m,\n inside: {\n variable: /\\$+(?:[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n keyword: [/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, {\n pattern: /(\\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \\t])/,\n lookbehind: !0\n }],\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n};\nPrism.languages.objectivec = Prism.languages.extend("c", {\n keyword: /\\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n string: /("|\')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\nPrism.languages.ocaml = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: [{\n pattern: /"(?:\\\\.|[^\\\\\\r\\n"])*"/,\n greedy: !0\n }, {\n pattern: /([\'`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: !0\n }],\n number: /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*\\.?[\\d_]*(?:e[+-]?[\\d_]+)?)/i,\n type: {\n pattern: /\\B[\'`]\\w*/,\n alias: "variable"\n },\n directive: {\n pattern: /\\B#\\w+/,\n alias: "function"\n },\n keyword: /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\\b/,\n "boolean": /\\b(?:false|true)\\b/,\n operator: /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\\b/,\n punctuation: /[(){}\\[\\]|_.,:;]/\n};\nPrism.languages.perl = {\n comment: [{\n pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0\n }, {\n pattern: /("|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\'(?:[^\'\\\\\\r\\n]|\\\\.)*\'/,\n greedy: !0\n }],\n regex: [{\n pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n greedy: !0\n }],\n variable: [/[&*$@%]\\{\\^[A-Z]+\\}/, /[&*$@%]\\^[A-Z_]/, /[&*$@%]#?(?=\\{)/, /[&*$@%]#?(?:(?:::)*\'?(?!\\d)[\\w$]+)+(?:::)*/i, /[&*$@%]\\d+/, /(?!%=)[$@%][!"#$%&\'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],\n filehandle: {\n pattern: /<(?![<=])\\S*>|\\b_\\b/,\n alias: "symbol"\n },\n vstring: {\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: "string"\n },\n "function": {\n pattern: /sub [a-z0-9_]+/i,\n inside: {\n keyword: /sub/\n }\n },\n keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n};\n!function (e) {\n e.languages.php = e.languages.extend("clike", {\n keyword: /\\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|null|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i,\n constant: /\\b[A-Z_][A-Z0-9_]*\\b/,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n }\n }), e.languages.insertBefore("php", "string", {\n "shell-comment": {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0,\n alias: "comment"\n }\n }), e.languages.insertBefore("php", "keyword", {\n delimiter: {\n pattern: /\\?>|<\\?(?:php|=)?/i,\n alias: "important"\n },\n variable: /\\$+(?:\\w+\\b|(?={))/i,\n "package": {\n pattern: /(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\\\/\n }\n }\n }), e.languages.insertBefore("php", "operator", {\n property: {\n pattern: /(->)[\\w]+/,\n lookbehind: !0\n }\n });\n var n = {\n pattern: /{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.php\n }\n };\n e.languages.insertBefore("php", "string", {\n "nowdoc-string": {\n pattern: /<<<\'([^\']+)\'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,\n greedy: !0,\n alias: "string",\n inside: {\n delimiter: {\n pattern: /^<<<\'[^\']+\'|[a-z_]\\w*;$/i,\n alias: "symbol",\n inside: {\n punctuation: /^<<<\'?|[\';]$/\n }\n }\n }\n },\n "heredoc-string": {\n pattern: /<<<(?:"([^"]+)"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,\n greedy: !0,\n alias: "string",\n inside: {\n delimiter: {\n pattern: /^<<<(?:"[^"]+"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: "symbol",\n inside: {\n punctuation: /^<<<"?|[";]$/\n }\n },\n interpolation: n\n }\n },\n "single-quoted-string": {\n pattern: /\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'/,\n greedy: !0,\n alias: "string"\n },\n "double-quoted-string": {\n pattern: /"(?:\\\\[\\s\\S]|[^\\\\"])*"/,\n greedy: !0,\n alias: "string",\n inside: {\n interpolation: n\n }\n }\n }), delete e.languages.php.string, e.hooks.add("before-tokenize", function (n) {\n if (/(?:<\\?php|<\\?)/gi.test(n.code)) {\n var t = /(?:<\\?php|<\\?)[\\s\\S]*?(?:\\?>|$)/gi;\n e.languages["markup-templating"].buildPlaceholders(n, "php", t);\n }\n }), e.hooks.add("after-tokenize", function (n) {\n e.languages["markup-templating"].tokenizePlaceholders(n, "php");\n });\n}(Prism);\nPrism.languages.insertBefore("php", "variable", {\n "this": /\\$this\\b/,\n global: /\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /static|self|parent/,\n punctuation: /::|\\\\/\n }\n }\n});\nPrism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: !0\n },\n variable: [{\n pattern: /@(["\'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: !0\n }, /@[\\w.$]+/],\n string: {\n pattern: /(^|[^@\\\\])("|\')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: !0,\n lookbehind: !0\n },\n "function": /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n "boolean": /\\b(?:TRUE|FALSE|NULL)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,\n operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n};\nPrism.languages.processing = Prism.languages.extend("clike", {\n keyword: /\\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n}), Prism.languages.insertBefore("processing", "number", {\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\\w*)\\b/,\n alias: "variable"\n }\n}), Prism.languages.processing["function"].pattern = /\\w+(?=\\s*\\()/, Prism.languages.processing["class-name"].alias = "variable";\nPrism.languages.scss = Prism.languages.extend("css", {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n atrule: {\n pattern: /@[\\w-]+(?:\\([^()]+\\)|[^(])*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /(?:[-a-z]+-)*url(?=\\()/i,\n selector: {\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()]|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}]+[:{][^}]+))/m,\n inside: {\n parent: {\n pattern: /&/,\n alias: "important"\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n}), Prism.languages.insertBefore("scss", "atrule", {\n keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: !0\n }]\n}), Prism.languages.insertBefore("scss", "important", {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n}), Prism.languages.insertBefore("scss", "function", {\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: "selector"\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: "keyword"\n },\n "boolean": /\\b(?:true|false)\\b/,\n "null": /\\bnull\\b/,\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: !0\n }\n}), Prism.languages.scss.atrule.inside.rest = Prism.languages.scss;\nPrism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0\n },\n "string-interpolation": {\n pattern: /(?:f|rf|fr)(?:("""|\'\'\')[\\s\\S]+?\\1|("|\')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: !0,\n inside: {\n "format-spec": {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: !0\n },\n "conversion-option": {\n pattern: /![sra](?=[:}]$)/,\n alias: "punctuation"\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n "triple-quoted-string": {\n pattern: /(?:[rub]|rb|br)?("""|\'\'\')[\\s\\S]+?\\1/i,\n greedy: !0,\n alias: "string"\n },\n string: {\n pattern: /(?:[rub]|rb|br)?("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: !0\n },\n "function": {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: !0\n },\n "class-name": {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: !0\n },\n decorator: {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/i,\n lookbehind: !0,\n alias: ["annotation", "punctuation"],\n inside: {\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n "boolean": /\\b(?:True|False|None)\\b/,\n number: /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python;\nPrism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /([\'"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n "percent-operator": {\n pattern: /%[^%\\s]*%/,\n alias: "operator"\n },\n "boolean": /\\b(?:TRUE|FALSE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [/\\b(?:NaN|Inf)\\b/, /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/],\n keyword: /\\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n};\n!function (t) {\n var n = t.util.clone(t.languages.javascript);\n t.languages.jsx = t.languages.extend("markup", n), t.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+\\s*(?:\\s+(?:[\\w.:-]+(?:=(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s{\'">=]+|\\{(?:\\{(?:\\{[^}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}))*\\s*\\/?)?>/i, t.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/i, t.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\\{)(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s\'">]+)/i, t.languages.jsx.tag.inside.tag.inside["class-name"] = /^[A-Z]\\w*$/, t.languages.insertBefore("inside", "attr-name", {\n spread: {\n pattern: /\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}/,\n inside: {\n punctuation: /\\.{3}|[{}.]/,\n "attr-value": /\\w+/\n }\n }\n }, t.languages.jsx.tag), t.languages.insertBefore("inside", "attr-value", {\n script: {\n pattern: /=(\\{(?:\\{(?:\\{[^}]*\\}|[^}])*\\}|[^}])+\\})/i,\n inside: {\n "script-punctuation": {\n pattern: /^=(?={)/,\n alias: "punctuation"\n },\n rest: t.languages.jsx\n },\n alias: "language-javascript"\n }\n }, t.languages.jsx.tag);\n\n var e = function e(t) {\n return t ? "string" == typeof t ? t : "string" == typeof t.content ? t.content : t.content.map(e).join("") : "";\n },\n a = function a(n) {\n for (var s = [], g = 0; g < n.length; g++) {\n var i = n[g],\n o = !1;\n\n if ("string" != typeof i && ("tag" === i.type && i.content[0] && "tag" === i.content[0].type ? "</" === i.content[0].content[0].content ? s.length > 0 && s[s.length - 1].tagName === e(i.content[0].content[1]) && s.pop() : "/>" === i.content[i.content.length - 1].content || s.push({\n tagName: e(i.content[0].content[1]),\n openedBraces: 0\n }) : s.length > 0 && "punctuation" === i.type && "{" === i.content ? s[s.length - 1].openedBraces++ : s.length > 0 && s[s.length - 1].openedBraces > 0 && "punctuation" === i.type && "}" === i.content ? s[s.length - 1].openedBraces-- : o = !0), (o || "string" == typeof i) && s.length > 0 && 0 === s[s.length - 1].openedBraces) {\n var p = e(i);\n g < n.length - 1 && ("string" == typeof n[g + 1] || "plain-text" === n[g + 1].type) && (p += e(n[g + 1]), n.splice(g + 1, 1)), g > 0 && ("string" == typeof n[g - 1] || "plain-text" === n[g - 1].type) && (p = e(n[g - 1]) + p, n.splice(g - 1, 1), g--), n[g] = new t.Token("plain-text", p, null, p);\n }\n\n i.content && "string" != typeof i.content && a(i.content);\n }\n };\n\n t.hooks.add("after-tokenize", function (t) {\n ("jsx" === t.language || "tsx" === t.language) && a(t.tokens);\n });\n}(Prism);\nPrism.languages.typescript = Prism.languages.extend("javascript", {\n keyword: /\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,\n builtin: /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n}), Prism.languages.ts = Prism.languages.typescript;\nPrism.languages.reason = Prism.languages.extend("clike", {\n comment: {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n },\n string: {\n pattern: /"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n"])*"/,\n greedy: !0\n },\n "class-name": /\\b[A-Z]\\w*/,\n keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?\'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n}), Prism.languages.insertBefore("reason", "class-name", {\n character: {\n pattern: /\'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^\'\\\\\\r\\n])\'/,\n alias: "string"\n },\n constructor: {\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: "variable"\n },\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: "symbol"\n }\n}), delete Prism.languages.reason.function;\n!function (e) {\n var i = "(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+",\n n = {\n css: {\n pattern: /\\{[^}]+\\}/,\n inside: {\n rest: e.languages.css\n }\n },\n "class-id": {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0,\n alias: "attr-value"\n },\n lang: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0,\n alias: "attr-value"\n },\n punctuation: /[\\\\\\/]\\d+|\\S/\n };\n e.languages.textile = e.languages.extend("markup", {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: !0,\n inside: {\n "block-tag": {\n pattern: RegExp("^[a-z]\\\\w*(?:" + i + "|[<>=()])*\\\\."),\n inside: {\n modifier: {\n pattern: RegExp("(^[a-z]\\\\w*)(?:" + i + "|[<>=()])+(?=\\\\.)"),\n lookbehind: !0,\n inside: n\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n list: {\n pattern: RegExp("^[*#]+(?:" + i + ")?\\\\s+.+", "m"),\n inside: {\n modifier: {\n pattern: RegExp("(^[*#]+)" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /^[*#]+/\n }\n },\n table: {\n pattern: RegExp("^(?:(?:" + i + "|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:" + i + "|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|", "m"),\n inside: {\n modifier: {\n pattern: RegExp("(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:" + i + "|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)"),\n lookbehind: !0,\n inside: n\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n pattern: RegExp("(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:" + i + ")?.+?\\\\1"),\n inside: {\n bold: {\n pattern: RegExp("(^(\\\\*\\\\*?)(?:" + i + ")?).+?(?=\\\\2)"),\n lookbehind: !0\n },\n italic: {\n pattern: RegExp("(^(__?)(?:" + i + ")?).+?(?=\\\\2)"),\n lookbehind: !0\n },\n cite: {\n pattern: RegExp("(^\\\\?\\\\?(?:" + i + ")?).+?(?=\\\\?\\\\?)"),\n lookbehind: !0,\n alias: "string"\n },\n code: {\n pattern: RegExp("(^@(?:" + i + ")?).+?(?=@)"),\n lookbehind: !0,\n alias: "keyword"\n },\n inserted: {\n pattern: RegExp("(^\\\\+(?:" + i + ")?).+?(?=\\\\+)"),\n lookbehind: !0\n },\n deleted: {\n pattern: RegExp("(^-(?:" + i + ")?).+?(?=-)"),\n lookbehind: !0\n },\n span: {\n pattern: RegExp("(^%(?:" + i + ")?).+?(?=%)"),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp("(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n "link-ref": {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\])\\S+$/,\n lookbehind: !0\n },\n punctuation: /[\\[\\]]/\n }\n },\n link: {\n pattern: RegExp(\'"(?:\' + i + \')?[^"]+":.+?(?=[^\\\\w/]?(?:\\\\s|$))\'),\n inside: {\n text: {\n pattern: RegExp(\'(^"(?:\' + i + \')?)[^"]+(?=")\'),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp(\'(^")\' + i),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[":]/\n }\n },\n image: {\n pattern: RegExp("!(?:" + i + "|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?"),\n inside: {\n source: {\n pattern: RegExp("(^!(?:" + i + "|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)"),\n lookbehind: !0,\n alias: "url"\n },\n modifier: {\n pattern: RegExp("(^!)(?:" + i + "|[<>=()])+"),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[!:]/\n }\n },\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: "comment",\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0\n },\n punctuation: /[()]/\n }\n },\n mark: {\n pattern: /\\b\\((?:TM|R|C)\\)/,\n alias: "comment",\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n });\n var t = {\n inline: e.languages.textile.phrase.inside.inline,\n link: e.languages.textile.phrase.inside.link,\n image: e.languages.textile.phrase.inside.image,\n footnote: e.languages.textile.phrase.inside.footnote,\n acronym: e.languages.textile.phrase.inside.acronym,\n mark: e.languages.textile.phrase.inside.mark\n };\n e.languages.textile.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s\'">=]+))?)*\\s*\\/?>/i, e.languages.textile.phrase.inside.inline.inside.bold.inside = t, e.languages.textile.phrase.inside.inline.inside.italic.inside = t, e.languages.textile.phrase.inside.inline.inside.inserted.inside = t, e.languages.textile.phrase.inside.inline.inside.deleted.inside = t, e.languages.textile.phrase.inside.inline.inside.span.inside = t, e.languages.textile.phrase.inside.table.inside.inline = t.inline, e.languages.textile.phrase.inside.table.inside.link = t.link, e.languages.textile.phrase.inside.table.inside.image = t.image, e.languages.textile.phrase.inside.table.inside.footnote = t.footnote, e.languages.textile.phrase.inside.table.inside.acronym = t.acronym, e.languages.textile.phrase.inside.table.inside.mark = t.mark;\n}(Prism);\nPrism.languages.rust = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /b?r(#*)"(?:\\\\.|(?!"\\1)[^\\\\\\r\\n])*"\\1/,\n greedy: !0\n }, {\n pattern: /b?"(?:\\\\.|[^\\\\\\r\\n"])*"/,\n greedy: !0\n }],\n "char": {\n pattern: /b?\'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t\'])\'/,\n alias: "string"\n },\n "lifetime-annotation": {\n pattern: /\'[^\\s>\']+/,\n alias: "symbol"\n },\n keyword: /\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n attribute: {\n pattern: /#!?\\[.+?\\]/,\n greedy: !0,\n alias: "attr-name"\n },\n "function": [/\\w+(?=\\s*\\()/, /\\w+!(?=\\s*\\(|\\[)/],\n "macro-rules": {\n pattern: /\\w+!/,\n alias: "function"\n },\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\\b/,\n "closure-params": {\n pattern: /\\|[^|]*\\|(?=\\s*[{-])/,\n inside: {\n punctuation: /[|:,]/,\n operator: /[&*]/\n }\n },\n punctuation: /[{}[\\];(),:]|\\.+|->/,\n operator: /[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<<?=?|>>?=?/\n};\n!function (e) {\n e.languages.sass = e.languages.extend("css", {\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore("sass", "atrule", {\n "atrule-line": {\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/m\n }\n }\n }), delete e.languages.sass.atrule;\n var t = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,\n a = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: !0\n }];\n e.languages.insertBefore("sass", "property", {\n "variable-line": {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n punctuation: /:/,\n variable: t,\n operator: a\n }\n },\n "property-line": {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,\n inside: {\n property: [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: !0\n }],\n punctuation: /:/,\n variable: t,\n operator: a,\n important: e.languages.sass.important\n }\n }\n }), delete e.languages.sass.property, delete e.languages.sass.important, e.languages.insertBefore("sass", "punctuation", {\n selector: {\n pattern: /([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,\n lookbehind: !0\n }\n });\n}(Prism);\n!function (n) {\n var t = {\n url: /url\\((["\']?).*?\\1\\)/i,\n string: {\n pattern: /("|\')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: !0\n },\n interpolation: null,\n func: null,\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,6}/i,\n number: /\\b\\d+(?:\\.\\d+)?%?/,\n "boolean": /\\b(?:true|false)\\b/,\n operator: [/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n punctuation: /[{}()\\[\\];:,]/\n };\n t.interpolation = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: "variable",\n inside: {\n delimiter: {\n pattern: /^{|}$/,\n alias: "punctuation"\n },\n rest: t\n }\n }, t.func = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n "function": /^[^(]+/,\n rest: t\n }\n }, n.languages.stylus = {\n comment: {\n pattern: /(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n "atrule-declaration": {\n pattern: /(^\\s*)@.+/m,\n lookbehind: !0,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: t\n }\n },\n "variable-declaration": {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,\n lookbehind: !0,\n inside: {\n variable: /^\\S+/,\n rest: t\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,\n lookbehind: !0,\n inside: {\n keyword: /^\\S+/,\n rest: t\n }\n },\n "property-declaration": {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: t.interpolation\n }\n },\n rest: t\n }\n },\n selector: {\n pattern: /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n interpolation: t.interpolation,\n punctuation: /[{},]/\n }\n },\n func: t.func,\n string: t.string,\n interpolation: t.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n };\n}(Prism);\nPrism.languages.scheme = {\n comment: /;.*/,\n string: {\n pattern: /"(?:[^"\\\\\\r\\n]|\\\\.)*"|\'[^()#\'\\s]+/,\n greedy: !0\n },\n character: {\n pattern: /#\\\\(?:u[a-fA-F\\d]{4}|[a-zA-Z]+|\\S)/,\n alias: "string"\n },\n keyword: {\n pattern: /(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\\s])/,\n lookbehind: !0\n },\n builtin: {\n pattern: /(\\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\\/cc|append|abs|apply|eval)\\b|null\\?|pair\\?|boolean\\?|eof-object\\?|char\\?|procedure\\?|number\\?|port\\?|string\\?|vector\\?|symbol\\?|bytevector\\?)(?=[()\\s])/,\n lookbehind: !0\n },\n number: {\n pattern: /(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,\n lookbehind: !0\n },\n "boolean": /#[tf]/,\n operator: {\n pattern: /(\\()(?:[-+*%\\/]|[<>]=?|=>?)/,\n lookbehind: !0\n },\n "function": {\n pattern: /(\\()[^()#\'\\s]+(?=[()\\s)])/,\n lookbehind: !0\n },\n punctuation: /[()\']/\n};\n!function (e) {\n e.languages.pug = {\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,\n lookbehind: !0\n },\n "multiline-script": {\n pattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n filter: {\n pattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n "filter-name": {\n pattern: /^:[\\w-]+/,\n alias: "variable"\n }\n }\n },\n "multiline-plain-text": {\n pattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: !0\n },\n "flow-control": {\n pattern: /(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,\n lookbehind: !0,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:if|unless|else|case|when|default|while)\\b/,\n alias: "keyword"\n },\n rest: e.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,\n lookbehind: !0\n },\n mixin: [{\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: !0,\n inside: {\n keyword: /^mixin/,\n "function": /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: !0,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: "function"\n },\n rest: e.languages.javascript\n }\n }],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n "plain-text": {\n pattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,\n lookbehind: !0\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: {\n rest: e.languages.javascript\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n "attr-value": {\n pattern: /(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n "attr-name": /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }],\n punctuation: /:/\n }\n },\n code: [{\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n }],\n punctuation: /[.\\-!=|]+/\n };\n\n for (var t = "(^([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r(?!\\\\n))(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+", n = [{\n filter: "atpl",\n language: "twig"\n }, {\n filter: "coffee",\n language: "coffeescript"\n }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", "mustache", "plates", {\n filter: "sass",\n language: "scss"\n }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {\n var s = n[i];\n s = "string" == typeof s ? {\n filter: s,\n language: s\n } : s, e.languages[s.language] && (a["filter-" + s.filter] = {\n pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"),\n lookbehind: !0,\n inside: {\n "filter-name": {\n pattern: /^:[\\w-]+/,\n alias: "variable"\n },\n rest: e.languages[s.language]\n }\n });\n }\n\n e.languages.insertBefore("pug", "filter", a);\n}(Prism);\nPrism.languages.swift = Prism.languages.extend("clike", {\n string: {\n pattern: /("|\')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,\n inside: {\n delimiter: {\n pattern: /^\\\\\\(|\\)$/,\n alias: "variable"\n }\n }\n }\n }\n },\n keyword: /\\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\\b/,\n number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n constant: /\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n atrule: /@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,\n builtin: /\\b(?:[A-Z]\\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\\b/\n}), Prism.languages.swift.string.inside.interpolation.inside.rest = Prism.languages.swift;\nPrism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: "string"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: "atrule"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: "important"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: "number"\n },\n "boolean": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: "important"\n },\n "null": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: "important"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)("|\')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;\n!function (e) {\n e.languages.haml = {\n "multiline-comment": {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,\n lookbehind: !0,\n alias: "comment"\n },\n "multiline-code": [{\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }],\n filter: {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: !0,\n inside: {\n "filter-name": {\n pattern: /^:[\\w-]+/,\n alias: "variable"\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: !0\n },\n tag: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n "attr-value": {\n pattern: /(=\\s*)(?:"(?:\\\\.|[^\\\\"\\r\\n])*"|[^)\\s]+)/,\n lookbehind: !0\n },\n "attr-name": /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n }, {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n rest: e.languages.ruby\n }\n }],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n },\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: "punctuation"\n },\n rest: e.languages.ruby\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: !0\n }\n };\n\n for (var t = "((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+", r = ["css", {\n filter: "coffee",\n language: "coffeescript"\n }, "erb", "javascript", "less", "markdown", "ruby", "scss", "textile"], n = {}, a = 0, i = r.length; i > a; a++) {\n var l = r[a];\n l = "string" == typeof l ? {\n filter: l,\n language: l\n } : l, e.languages[l.language] && (n["filter-" + l.filter] = {\n pattern: RegExp(t.replace("{{filter_name}}", l.filter)),\n lookbehind: !0,\n inside: {\n "filter-name": {\n pattern: /^:[\\w-]+/,\n alias: "variable"\n },\n rest: e.languages[l.language]\n }\n });\n }\n\n e.languages.insertBefore("haml", "filter", n);\n}(Prism);\n!function (e) {\n var d = "(?:[\\\\w-]+|\'[^\'\\n\\r]*\'|\\"(?:\\\\.|[^\\\\\\\\\\"\\r\\n])*\\")";\n e.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: !0\n },\n table: {\n pattern: RegExp("(\\\\[\\\\s*)" + d + "(?:\\\\s*\\\\.\\\\s*" + d + ")*(?=\\\\s*\\\\])"),\n lookbehind: !0,\n greedy: !0,\n alias: "class-name"\n },\n key: {\n pattern: RegExp("(^\\\\s*|[{,]\\\\s*)" + d + "(?:\\\\s*\\\\.\\\\s*" + d + ")*(?=\\\\s*=)", "m"),\n lookbehind: !0,\n greedy: !0,\n alias: "property"\n },\n string: {\n pattern: /"""(?:\\\\[\\s\\S]|[^\\\\])*?"""|\'\'\'[\\s\\S]*?\'\'\'|\'[^\'\\n\\r]*\'|"(?:\\\\.|[^\\\\"\\r\\n])*"/,\n greedy: !0\n },\n date: [{\n pattern: /\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?/i,\n alias: "number"\n }, {\n pattern: /\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?/i,\n alias: "number"\n }],\n number: /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?(?:inf|nan)\\b/,\n "boolean": /\\b(?:true|false)\\b/,\n punctuation: /[.,=[\\]{}]/\n };\n}(Prism);\nPrism.languages.twig = {\n comment: /\\{#[\\s\\S]*?#\\}/,\n tag: {\n pattern: /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,\n inside: {\n ld: {\n pattern: /^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,\n inside: {\n punctuation: /^(?:\\{\\{|\\{%)-?/,\n keyword: /\\w+/\n }\n },\n rd: {\n pattern: /-?(?:%\\}|\\}\\})$/,\n inside: {\n punctuation: /.*/\n }\n },\n string: {\n pattern: /("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^[\'"]|[\'"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n "boolean": /\\b(?:true|false|null)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [{\n pattern: /(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: !0\n }, /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],\n property: /\\b[a-zA-Z_]\\w*\\b/,\n punctuation: /[()\\[\\]{}:.,]/\n }\n },\n other: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.markup\n }\n};\nvar typescript = Prism.util.clone(Prism.languages.typescript);\nPrism.languages.tsx = Prism.languages.extend("jsx", typescript);\nPrism.languages.vim = {\n string: /"(?:[^"\\\\\\r\\n]|\\\\.)*"|\'(?:[^\'\\r\\n]|\'\')*\'/,\n comment: /".*/,\n "function": /\\w+(?=\\()/,\n keyword: /\\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin: /\\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n};\nPrism.languages["visual-basic"] = {\n comment: {\n pattern: /(?:[\']|REM\\b).*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,\n alias: "comment",\n greedy: !0\n },\n string: {\n pattern: /["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,\n greedy: !0\n },\n date: {\n pattern: /#[^\\S\\r\\n]*(?:\\d+([\\/-])\\d+\\1\\d+(?:[^\\S\\r\\n]+(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))?|(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))[^\\S\\r\\n]*#/i,\n alias: "builtin"\n },\n number: /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\n "boolean": /\\b(?:True|False|Nothing)\\b/i,\n keyword: /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: [/[+\\-*\\/\\\\^<=>&#@$%!]/, {\n pattern: /([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,\n lookbehind: !0\n }],\n punctuation: /[{}().,:?]/\n}, Prism.languages.vb = Prism.languages["visual-basic"];\nPrism.languages.wasm = {\n comment: [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: !0\n }],\n string: {\n pattern: /"(?:\\\\[\\s\\S]|[^"\\\\])*"/,\n greedy: !0\n },\n keyword: [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n }, {\n pattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n variable: /\\$[\\w!#$%&\'*+\\-.\\/:<=>?@\\\\^_`|~]+/i,\n number: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n};\n!function () {\n if ("undefined" != typeof self && self.Prism && self.document) {\n var e = "line-numbers",\n t = /\\n(?!$)/g,\n n = function n(e) {\n var n = r(e),\n s = n["white-space"];\n\n if ("pre-wrap" === s || "pre-line" === s) {\n var l = e.querySelector("code"),\n i = e.querySelector(".line-numbers-rows"),\n a = e.querySelector(".line-numbers-sizer"),\n o = l.textContent.split(t);\n a || (a = document.createElement("span"), a.className = "line-numbers-sizer", l.appendChild(a)), a.style.display = "block", o.forEach(function (e, t) {\n a.textContent = e || "\\n";\n var n = a.getBoundingClientRect().height;\n i.children[t].style.height = n + "px";\n }), a.textContent = "", a.style.display = "none";\n }\n },\n r = function r(e) {\n return e ? window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null : null;\n };\n\n window.addEventListener("resize", function () {\n Array.prototype.forEach.call(document.querySelectorAll("pre." + e), n);\n }), Prism.hooks.add("complete", function (e) {\n if (e.code) {\n var r = e.element.parentNode,\n s = /\\s*\\bline-numbers\\b\\s*/;\n\n if (r && /pre/i.test(r.nodeName) && (s.test(r.className) || s.test(e.element.className)) && !e.element.querySelector(".line-numbers-rows")) {\n s.test(e.element.className) && (e.element.className = e.element.className.replace(s, " ")), s.test(r.className) || (r.className += " line-numbers");\n var l,\n i = e.code.match(t),\n a = i ? i.length + 1 : 1,\n o = new Array(a + 1);\n o = o.join("<span></span>"), l = document.createElement("span"), l.setAttribute("aria-hidden", "true"), l.className = "line-numbers-rows", l.innerHTML = o, r.hasAttribute("data-start") && (r.style.counterReset = "linenumber " + (parseInt(r.getAttribute("data-start"), 10) - 1)), e.element.appendChild(l), n(r), Prism.hooks.run("line-numbers", e);\n }\n }\n }), Prism.hooks.add("line-numbers", function (e) {\n e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0;\n }), Prism.plugins.lineNumbers = {\n getLine: function getLine(t, n) {\n if ("PRE" === t.tagName && t.classList.contains(e)) {\n var r = t.querySelector(".line-numbers-rows"),\n s = parseInt(t.getAttribute("data-start"), 10) || 1,\n l = s + (r.children.length - 1);\n s > n && (n = s), n > l && (n = l);\n var i = n - s;\n return r.children[i];\n }\n }\n };\n }\n}();\n!function () {\n if ("undefined" != typeof self && self.Prism && self.document) {\n var t = [],\n e = {},\n n = function n() {};\n\n Prism.plugins.toolbar = {};\n\n var a = Prism.plugins.toolbar.registerButton = function (n, a) {\n var o;\n o = "function" == typeof a ? a : function (t) {\n var e;\n return "function" == typeof a.onClick ? (e = document.createElement("button"), e.type = "button", e.addEventListener("click", function () {\n a.onClick.call(this, t);\n })) : "string" == typeof a.url ? (e = document.createElement("a"), e.href = a.url) : e = document.createElement("span"), e.textContent = a.text, e;\n }, t.push(e[n] = o);\n },\n o = Prism.plugins.toolbar.hook = function (a) {\n var o = a.element.parentNode;\n\n if (o && /pre/i.test(o.nodeName) && !o.parentNode.classList.contains("code-toolbar")) {\n var r = document.createElement("div");\n r.classList.add("code-toolbar"), o.parentNode.insertBefore(r, o), r.appendChild(o);\n var i = document.createElement("div");\n i.classList.add("toolbar"), document.body.hasAttribute("data-toolbar-order") && (t = document.body.getAttribute("data-toolbar-order").split(",").map(function (t) {\n return e[t] || n;\n })), t.forEach(function (t) {\n var e = t(a);\n\n if (e) {\n var n = document.createElement("div");\n n.classList.add("toolbar-item"), n.appendChild(e), i.appendChild(n);\n }\n }), r.appendChild(i);\n }\n };\n\n a("label", function (t) {\n var e = t.element.parentNode;\n\n if (e && /pre/i.test(e.nodeName) && e.hasAttribute("data-label")) {\n var n,\n a,\n o = e.getAttribute("data-label");\n\n try {\n a = document.querySelector("template#" + o);\n } catch (r) {}\n\n return a ? n = a.content : (e.hasAttribute("data-url") ? (n = document.createElement("a"), n.href = e.getAttribute("data-url")) : n = document.createElement("span"), n.textContent = o), n;\n }\n }), Prism.hooks.add("complete", o);\n }\n}();\n!function () {\n function t(t) {\n "function" != typeof t || e(t) || r.push(t);\n }\n\n function e(t) {\n return "function" == typeof t ? r.filter(function (e) {\n return e.valueOf() === t.valueOf();\n })[0] : "string" == typeof t && t.length > 0 ? r.filter(function (e) {\n return e.name === t;\n })[0] : null;\n }\n\n function n(t) {\n if ("string" == typeof t && (t = e(t)), "function" == typeof t) {\n var n = r.indexOf(t);\n n >= 0 && r.splice(n, 1);\n }\n }\n\n function a() {\n Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function (t) {\n t.textContent = "";\n var e = document.createElement("code");\n e.textContent = i, t.appendChild(e);\n var n = t.getAttribute("data-adapter"),\n a = null;\n\n if (n) {\n if ("function" != typeof window[n]) return e.textContent = "JSONP adapter function \'" + n + "\' doesn\'t exist", void 0;\n a = window[n];\n }\n\n var u = "prismjsonp" + o++,\n f = document.createElement("a"),\n l = f.href = t.getAttribute("data-jsonp");\n f.href += (f.search ? "&" : "?") + (t.getAttribute("data-callback") || "callback") + "=" + u;\n var s = setTimeout(function () {\n e.textContent === i && (e.textContent = "Timeout loading \'" + l + "\'");\n }, 5e3),\n d = document.createElement("script");\n d.src = f.href, window[u] = function (n) {\n document.head.removeChild(d), clearTimeout(s), delete window[u];\n var o = "";\n if (a) o = a(n, t);else for (var i in r) {\n if (o = r[i](n, t), null !== o) break;\n }\n null === o ? e.textContent = "Cannot parse response (perhaps you need an adapter function?)" : (e.textContent = o, Prism.highlightElement(e));\n }, document.head.appendChild(d);\n });\n }\n\n if (self.Prism && self.document && document.querySelectorAll && [].filter) {\n var r = [];\n Prism.plugins.jsonphighlight = {\n registerAdapter: t,\n removeAdapter: n,\n highlight: a\n }, t(function (t) {\n if (t && t.meta && t.data) {\n if (t.meta.status && t.meta.status >= 400) return "Error: " + (t.data.message || t.meta.status);\n if ("string" == typeof t.data.content) return "function" == typeof atob ? atob(t.data.content.replace(/\\s/g, "")) : "Your browser cannot decode base64";\n }\n\n return null;\n }), t(function (t, e) {\n if (t && t.meta && t.data && t.data.files) {\n if (t.meta.status && t.meta.status >= 400) return "Error: " + (t.data.message || t.meta.status);\n var n = e.getAttribute("data-filename");\n if (null == n) for (var a in t.data.files) {\n if (t.data.files.hasOwnProperty(a)) {\n n = a;\n break;\n }\n }\n return void 0 !== t.data.files[n] ? t.data.files[n].content : "Error: unknown or missing gist file " + n;\n }\n\n return null;\n }), t(function (t) {\n return t && t.node && "string" == typeof t.data ? t.data : null;\n });\n var o = 0,\n i = "Loading…";\n a();\n }\n}();\n!function () {\n if ("undefined" != typeof self && self.Prism && self.document) {\n var e = /(?:^|\\s)command-line(?:\\s|$)/;\n Prism.hooks.add("before-highlight", function (t) {\n var a = t.vars = t.vars || {},\n n = a["command-line"] = a["command-line"] || {};\n if (n.complete || !t.code) return n.complete = !0, void 0;\n var r = t.element.parentNode;\n if (!r || !/pre/i.test(r.nodeName) || !e.test(r.className) && !e.test(t.element.className)) return n.complete = !0, void 0;\n if (t.element.querySelector(".command-line-prompt")) return n.complete = !0, void 0;\n var o = t.code.split("\\n");\n n.numberOfLines = o.length;\n var s = n.outputLines = [],\n i = r.getAttribute("data-output"),\n l = r.getAttribute("data-filter-output");\n\n if (i || "" === i) {\n i = i.split(",");\n\n for (var m = 0; m < i.length; m++) {\n var d = i[m].split("-"),\n p = parseInt(d[0], 10),\n c = 2 === d.length ? parseInt(d[1], 10) : p;\n\n if (!isNaN(p) && !isNaN(c)) {\n 1 > p && (p = 1), c > o.length && (c = o.length), p--, c--;\n\n for (var u = p; c >= u; u++) {\n s[u] = o[u], o[u] = "";\n }\n }\n }\n } else if (l) for (var m = 0; m < o.length; m++) {\n 0 === o[m].indexOf(l) && (s[m] = o[m].slice(l.length), o[m] = "");\n }\n\n t.code = o.join("\\n");\n }), Prism.hooks.add("before-insert", function (e) {\n var t = e.vars = e.vars || {},\n a = t["command-line"] = t["command-line"] || {};\n\n if (!a.complete) {\n for (var n = e.highlightedCode.split("\\n"), r = 0; r < a.outputLines.length; r++) {\n a.outputLines.hasOwnProperty(r) && (n[r] = a.outputLines[r]);\n }\n\n e.highlightedCode = n.join("\\n");\n }\n }), Prism.hooks.add("complete", function (t) {\n var a = t.vars = t.vars || {},\n n = a["command-line"] = a["command-line"] || {};\n\n if (!n.complete) {\n var r = t.element.parentNode;\n e.test(t.element.className) && (t.element.className = t.element.className.replace(e, " ")), e.test(r.className) || (r.className += " command-line");\n\n var o = function o(e, t) {\n return (r.getAttribute(e) || t).replace(/"/g, "&quot");\n },\n s = new Array(n.numberOfLines + 1),\n i = o("data-prompt", "");\n\n if ("" !== i) s = s.join(\'<span data-prompt="\' + i + \'"></span>\');else {\n var l = o("data-user", "user"),\n m = o("data-host", "localhost");\n s = s.join(\'<span data-user="\' + l + \'" data-host="\' + m + \'"></span>\');\n }\n var d = document.createElement("span");\n d.className = "command-line-prompt", d.innerHTML = s;\n\n for (var p = 0; p < n.outputLines.length; p++) {\n if (n.outputLines.hasOwnProperty(p)) {\n var c = d.children[p];\n c.removeAttribute("data-user"), c.removeAttribute("data-host"), c.removeAttribute("data-prompt");\n }\n }\n\n t.element.insertBefore(d, t.element.firstChild), n.complete = !0;\n }\n });\n }\n}();\n!function () {\n if ("undefined" != typeof self && self.Prism && self.document) {\n if (!Prism.plugins.toolbar) return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."), void 0;\n var o = window.ClipboardJS || void 0;\n o || "function" != "function" || (o = __webpack_require__(/*! clipboard */ "./node_modules/clipboard/dist/clipboard.js"));\n var e = [];\n\n if (!o) {\n var t = document.createElement("script"),\n n = document.querySelector("head");\n t.onload = function () {\n if (o = window.ClipboardJS) for (; e.length;) {\n e.pop()();\n }\n }, t.src = "https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js", n.appendChild(t);\n }\n\n Prism.plugins.toolbar.registerButton("copy-to-clipboard", function (t) {\n function n() {\n var e = new o(i, {\n text: function text() {\n return t.code;\n }\n });\n e.on("success", function () {\n i.textContent = "Copied!", r();\n }), e.on("error", function () {\n i.textContent = "Press Ctrl+C to copy", r();\n });\n }\n\n function r() {\n setTimeout(function () {\n i.textContent = "Copy";\n }, 5e3);\n }\n\n var i = document.createElement("a");\n return i.textContent = "Copy", o ? n() : e.push(n), i;\n });\n }\n}();\n\n//# sourceURL=webpack://hello-friend/./assets/js/prism.js?')},"./node_modules/clipboard/dist/clipboard.js":
/*!**************************************************!*\
!*** ./node_modules/clipboard/dist/clipboard.js ***!
\**************************************************/function(module){eval("/*!\n * clipboard.js v2.0.8\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 134:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __nested_webpack_require_622__) {\n\n\"use strict\";\n\n// EXPORTS\n__nested_webpack_require_622__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __nested_webpack_require_622__(279);\nvar tiny_emitter_default = /*#__PURE__*/__nested_webpack_require_622__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __nested_webpack_require_622__(370);\nvar listen_default = /*#__PURE__*/__nested_webpack_require_622__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __nested_webpack_require_622__(817);\nvar select_default = /*#__PURE__*/__nested_webpack_require_622__.n(src_select);\n;// CONCATENATED MODULE: ./src/clipboard-action.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar ClipboardAction = /*#__PURE__*/function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n this.selectedText = '';\n }\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: \"initSelection\",\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n */\n\n }, {\n key: \"createFakeElement\",\n value: function createFakeElement() {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n this.fakeElem = document.createElement('textarea'); // Prevent zooming on iOS\n\n this.fakeElem.style.fontSize = '12pt'; // Reset box model\n\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0'; // Move element out of screen horizontally\n\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = \"\".concat(yPosition, \"px\");\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n return this.fakeElem;\n }\n /**\n * Get's the value of fakeElem,\n * and makes a selection on it.\n */\n\n }, {\n key: \"selectFake\",\n value: function selectFake() {\n var _this = this;\n\n var fakeElem = this.createFakeElement();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n this.container.appendChild(fakeElem);\n this.selectedText = select_default()(fakeElem);\n this.copyText();\n this.removeFake();\n }\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: \"removeFake\",\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: \"selectTarget\",\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: \"copyText\",\n value: function copyText() {\n var succeeded;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: \"handleResult\",\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: \"clearSelection\",\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: \"destroy\",\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: \"action\",\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: \"target\",\n set: function set(target) {\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (ClipboardAction);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction clipboard_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction clipboard_createClass(Constructor, protoProps, staticProps) { if (protoProps) clipboard_defineProperties(Constructor.prototype, protoProps); if (staticProps) clipboard_defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n clipboard_classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __nested_webpack_require_17417__) {\n\nvar closest = __nested_webpack_require_17417__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __nested_webpack_require_20781__) {\n\nvar is = __nested_webpack_require_20781__(879);\nvar delegate = __nested_webpack_require_20781__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __nested_webpack_require_26163__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_26163__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__nested_webpack_require_26163__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__nested_webpack_require_26163__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__nested_webpack_require_26163__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__nested_webpack_require_26163__.o(definition, key) && !__nested_webpack_require_26163__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__nested_webpack_require_26163__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __nested_webpack_require_26163__(134);\n/******/ })()\n.default;\n});\n\n//# sourceURL=webpack://hello-friend/./node_modules/clipboard/dist/clipboard.js?")}},__webpack_module_cache__={};function __webpack_require__(n){var e=__webpack_module_cache__[n];if(void 0!==e)return e.exports;var t=__webpack_module_cache__[n]={exports:{}};return __webpack_modules__[n].call(t.exports,t,t.exports,__webpack_require__),t.exports}__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}();var __webpack_exports__=__webpack_require__("./assets/js/prism.js")})();