{"version":3,"sources":["../node_modules/codemirror/mode/xml/xml.js","../node_modules/codemirror/mode/markdown/markdown.js"],"names":["CodeMirror","htmlConfig","autoSelfClosers","area","base","br","col","command","embed","frame","hr","img","input","keygen","link","meta","param","source","track","wbr","menuitem","implicitlyClosed","dd","li","optgroup","option","p","rp","rt","tbody","td","tfoot","th","tr","contextGrabbers","dt","address","article","aside","blockquote","dir","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","menu","nav","ol","pre","section","table","ul","thead","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","allowMissingTagName","defineMode","editorConf","config_","type","setStyle","indentUnit","config","defaults","htmlMode","prop","inText","stream","state","chain","parser","tokenize","ch","next","eat","match","inBlock","eatWhile","doctype","depth","inTag","baseState","tagName","tagStart","test","quote","closure","eol","isInAttribute","inAttribute","stringStartCol","column","style","terminator","Context","startOfLine","this","prev","context","indent","indented","hasOwnProperty","noIndent","popContext","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","current","attrState","matchClosing","closeState","closeStateErr","_stream","attrEqState","attrValueState","attrContinuedState","isInText","startState","baseIndent","token","sol","indentation","eatSpace","textAfter","fullLine","Pass","length","multilineTagIndentPastTag","multilineTagIndentFactor","alignCDATA","tagAfter","exec","grabbers","electricInput","blockCommentStart","blockCommentEnd","configuration","helperType","skipAttribute","xmlCurrentTag","name","close","xmlCurrentContext","cx","push","reverse","defineMIME","mimeModes","mod","__webpack_require__","cmCfg","modeCfg","getMode","htmlModeMissing","undefined","highlightFormatting","maxBlockquoteDepth","taskLists","strikethrough","emoji","fencedCodeBlockHighlighting","xml","tokenTypeOverrides","tokenTypes","code","list1","list2","list3","image","imageAltText","imageMarker","formatting","linkInline","linkEmail","linkText","linkHref","em","strong","tokenType","hrRE","listRE","taskListRE","atxHeaderRE","allowAtxHeaderWithoutSpace","setextHeaderRE","textRE","fencedCodeRE","linkDefRE","punctuation","switchInline","f","inline","switchBlock","block","blankLine","linkTitle","indentedCode","htmlBlock","exit","inner","innerMode","htmlState","mode","inlineNormal","blockNormal","trailingSpace","trailingSpaceNewLine","prevLine","thisLine","line","firstTokenOnLine","prevLineLineIsEmpty","string","prevLineIsIndentedCode","prevLineIsHr","prevLineIsList","list","maxNonCodeIndentation","listStack","lineIndentation","indentationDiff","pop","allowsInlineContinuation","fencedCodeEnd","isHr","skipToEnd","getType","setext","listType","taskList","fencedEndRE","RegExp","localMode","findModeByName","found","mime","mimes","localState","local","lookAhead","charAt","peek","footnoteLink","md_inside","indexOf","returnType","currListInd","hasExitedList","maxFencedEndInd","styles","i","taskOpen","join","taskClosed","listMod","handleText","text","matchCh","regex","replace","previousFormatting","count","t","formattingEscape","end","pos","atts","substring","start","backUp","len","before","after","leftFlanking","rightFlanking","setEm","setStrong","retType","endChar","returnState","linkRE",")","]","footnoteLinkInside","footnoteUrl","copyState","s","slice","closeBrackets","fold"],"mappings":"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","file":"static/js/3.8749ff85.chunk.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n(function (mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);else // Plain browser env\n mod(CodeMirror);\n})(function (CodeMirror) {\n \"use strict\";\n\n var htmlConfig = {\n autoSelfClosers: {\n 'area': true,\n 'base': true,\n 'br': true,\n 'col': true,\n 'command': true,\n 'embed': true,\n 'frame': true,\n 'hr': true,\n 'img': true,\n 'input': true,\n 'keygen': true,\n 'link': true,\n 'meta': true,\n 'param': true,\n 'source': true,\n 'track': true,\n 'wbr': true,\n 'menuitem': true\n },\n implicitlyClosed: {\n 'dd': true,\n 'li': true,\n 'optgroup': true,\n 'option': true,\n 'p': true,\n 'rp': true,\n 'rt': true,\n 'tbody': true,\n 'td': true,\n 'tfoot': true,\n 'th': true,\n 'tr': true\n },\n contextGrabbers: {\n 'dd': {\n 'dd': true,\n 'dt': true\n },\n 'dt': {\n 'dd': true,\n 'dt': true\n },\n 'li': {\n 'li': true\n },\n 'option': {\n 'option': true,\n 'optgroup': true\n },\n 'optgroup': {\n 'optgroup': true\n },\n 'p': {\n 'address': true,\n 'article': true,\n 'aside': true,\n 'blockquote': true,\n 'dir': true,\n 'div': true,\n 'dl': true,\n 'fieldset': true,\n 'footer': true,\n 'form': true,\n 'h1': true,\n 'h2': true,\n 'h3': true,\n 'h4': true,\n 'h5': true,\n 'h6': true,\n 'header': true,\n 'hgroup': true,\n 'hr': true,\n 'menu': true,\n 'nav': true,\n 'ol': true,\n 'p': true,\n 'pre': true,\n 'section': true,\n 'table': true,\n 'ul': true\n },\n 'rp': {\n 'rp': true,\n 'rt': true\n },\n 'rt': {\n 'rp': true,\n 'rt': true\n },\n 'tbody': {\n 'tbody': true,\n 'tfoot': true\n },\n 'td': {\n 'td': true,\n 'th': true\n },\n 'tfoot': {\n 'tbody': true\n },\n 'th': {\n 'td': true,\n 'th': true\n },\n 'thead': {\n 'tbody': true,\n 'tfoot': true\n },\n 'tr': {\n 'tr': true\n }\n },\n doNotIndent: {\n \"pre\": true\n },\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n };\n var xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n };\n CodeMirror.defineMode(\"xml\", function (editorConf, config_) {\n var indentUnit = editorConf.indentUnit;\n var config = {};\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig;\n\n for (var prop in defaults) {\n config[prop] = defaults[prop];\n }\n\n for (var prop in config_) {\n config[prop] = config_[prop];\n } // Return variables for tokenizers\n\n\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n\n if (ch == \">\" || ch == \"/\" && stream.eat(\">\")) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function closure(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n\n return \"string\";\n };\n\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function (stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n\n stream.next();\n }\n\n return style;\n };\n }\n\n function doctype(depth) {\n return function (stream, state) {\n var ch;\n\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName;\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || state.context && state.context.noIndent) this.noIndent = true;\n }\n\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n\n while (true) {\n if (!state.context) {\n return;\n }\n\n parentTagName = state.context.tagName;\n\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) || !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName && config.implicitlyClosed.hasOwnProperty(state.context.tagName)) popContext(state);\n\n if (state.context && state.context.tagName == tagName || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n\n popContext(state);\n return baseState;\n }\n\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName,\n tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n\n if (type == \"selfcloseTag\" || config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n\n return baseState;\n }\n\n setStyle = \"error\";\n return attrState;\n }\n\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n\n if (type == \"word\" && config.allowUnquoted) {\n setStyle = \"string\";\n return attrState;\n }\n\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function startState(baseIndent) {\n var state = {\n tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null,\n tagStart: null,\n context: null\n };\n if (baseIndent != null) state.baseIndent = baseIndent;\n return state;\n },\n token: function token(stream, state) {\n if (!state.tagName && stream.sol()) state.indented = stream.indentation();\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle) style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n\n return style;\n },\n indent: function indent(state, textAfter, fullLine) {\n var context = state.context; // Indent multi-line strings (e.g. css).\n\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented) return state.stringStartCol + 1;else return state.indented + indentUnit;\n }\n\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText) return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0; // Indent the starts of attribute names.\n\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false) return state.tagStart + state.tagName.length + 2;else return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n skipAttribute: function skipAttribute(state) {\n if (state.state == attrValueState) state.state = attrState;\n },\n xmlCurrentTag: function xmlCurrentTag(state) {\n return state.tagName ? {\n name: state.tagName,\n close: state.type == \"closeTag\"\n } : null;\n },\n xmlCurrentContext: function xmlCurrentContext(state) {\n var context = [];\n\n for (var cx = state.context; cx; cx = cx.prev) {\n if (cx.tagName) context.push(cx.tagName);\n }\n\n return context.reverse();\n }\n };\n });\n CodeMirror.defineMIME(\"text/xml\", \"xml\");\n CodeMirror.defineMIME(\"application/xml\", \"xml\");\n if (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\")) CodeMirror.defineMIME(\"text/html\", {\n name: \"xml\",\n htmlMode: true\n });\n});","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n(function (mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../meta\"));else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../meta\"], mod);else // Plain browser env\n mod(CodeMirror);\n})(function (CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"markdown\", function (cmCfg, modeCfg) {\n var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n var htmlModeMissing = htmlMode.name == \"null\";\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == \"null\" ? null : mode;\n } // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n\n\n if (modeCfg.highlightFormatting === undefined) modeCfg.highlightFormatting = false; // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n\n if (modeCfg.maxBlockquoteDepth === undefined) modeCfg.maxBlockquoteDepth = 0; // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false; // Turn on strikethrough syntax\n\n if (modeCfg.strikethrough === undefined) modeCfg.strikethrough = false;\n if (modeCfg.emoji === undefined) modeCfg.emoji = false;\n if (modeCfg.fencedCodeBlockHighlighting === undefined) modeCfg.fencedCodeBlockHighlighting = true;\n if (modeCfg.xml === undefined) modeCfg.xml = true; // Allow token types to be overridden by user-provided token types.\n\n if (modeCfg.tokenTypeOverrides === undefined) modeCfg.tokenTypeOverrides = {};\n var tokenTypes = {\n header: \"header\",\n code: \"comment\",\n quote: \"quote\",\n list1: \"variable-2\",\n list2: \"variable-3\",\n list3: \"keyword\",\n hr: \"hr\",\n image: \"image\",\n imageAltText: \"image-alt-text\",\n imageMarker: \"image-marker\",\n formatting: \"formatting\",\n linkInline: \"link\",\n linkEmail: \"link\",\n linkText: \"link\",\n linkHref: \"string\",\n em: \"em\",\n strong: \"strong\",\n strikethrough: \"strikethrough\",\n emoji: \"builtin\"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/,\n listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/,\n taskListRE = /^\\[(x| )\\](?=\\s)/i // Must follow listRE\n ,\n atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/,\n setextHeaderRE = /^ *(?:\\={1,}|-{1,})\\s*$/,\n textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~:]+/,\n fencedCodeRE = /^(~~~+|```+)[ \\t]*([\\w+#-]*)[^\\n`]*$/,\n linkDefRE = /^\\s*\\[[^\\]]+?\\]:.*$/ // naive link-definition\n ,\n punctuation = /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/,\n expandedTab = \" \"; // CommonMark specifies tab as 4 spaces\n\n function switchInline(stream, state, f) {\n state.f = state.inline = f;\n return f(stream, state);\n }\n\n function switchBlock(stream, state, f) {\n state.f = state.block = f;\n return f(stream, state);\n }\n\n function lineIsEmpty(line) {\n return !line || !/\\S/.test(line.string);\n } // Blocks\n\n\n function blankLine(state) {\n // Reset linkTitle state\n state.linkTitle = false;\n state.linkHref = false;\n state.linkText = false; // Reset EM state\n\n state.em = false; // Reset STRONG state\n\n state.strong = false; // Reset strikethrough state\n\n state.strikethrough = false; // Reset state.quote\n\n state.quote = 0; // Reset state.indentedCode\n\n state.indentedCode = false;\n\n if (state.f == htmlBlock) {\n var exit = htmlModeMissing;\n\n if (!exit) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState);\n exit = inner.mode.name == \"xml\" && inner.state.tagStart === null && !inner.state.context && inner.state.tokenize.isInText;\n }\n\n if (exit) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n } // Reset state.trailingSpace\n\n\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false; // Mark this line as blank\n\n state.prevLine = state.thisLine;\n state.thisLine = {\n stream: null\n };\n return null;\n }\n\n function blockNormal(stream, state) {\n var firstTokenOnLine = stream.column() === state.indentation;\n var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);\n var prevLineIsIndentedCode = state.indentedCode;\n var prevLineIsHr = state.prevLine.hr;\n var prevLineIsList = state.list !== false;\n var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;\n state.indentedCode = false;\n var lineIndentation = state.indentation; // compute once per line (on first token)\n\n if (state.indentationDiff === null) {\n state.indentationDiff = state.indentation;\n\n if (prevLineIsList) {\n state.list = null; // While this list item's marker's indentation is less than the deepest\n // list item's content's indentation,pop the deepest list item\n // indentation off the stack, and update block indentation state\n\n while (lineIndentation < state.listStack[state.listStack.length - 1]) {\n state.listStack.pop();\n\n if (state.listStack.length) {\n state.indentation = state.listStack[state.listStack.length - 1]; // less than the first list's indent -> the line is no longer a list\n } else {\n state.list = false;\n }\n }\n\n if (state.list !== false) {\n state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1];\n }\n }\n } // not comprehensive (currently only for setext detection purposes)\n\n\n var allowsInlineContinuation = !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header && (!prevLineIsList || !prevLineIsIndentedCode) && !state.prevLine.fencedCodeEnd;\n var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) && state.indentation <= maxNonCodeIndentation && stream.match(hrRE);\n var match = null;\n\n if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd || state.prevLine.header || prevLineLineIsEmpty)) {\n stream.skipToEnd();\n state.indentedCode = true;\n return tokenTypes.code;\n } else if (stream.eatSpace()) {\n return null;\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n state.quote = 0;\n state.header = match[1].length;\n state.thisLine.header = true;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {\n state.quote = firstTokenOnLine ? 1 : state.quote + 1;\n if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n stream.eatSpace();\n return getType(state);\n } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {\n var listType = match[1] ? \"ol\" : \"ul\";\n state.indentation = lineIndentation + stream.current().length;\n state.list = true;\n state.quote = 0; // Add this list item's content's indentation to the stack\n\n state.listStack.push(state.indentation); // Reset inline styles which shouldn't propagate aross list items\n\n state.em = false;\n state.strong = false;\n state.code = false;\n state.strikethrough = false;\n\n if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n state.taskList = true;\n }\n\n state.f = state.inline;\n if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n return getType(state);\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {\n state.quote = 0;\n state.fencedEndRE = new RegExp(match[1] + \"+ *$\"); // try switching mode\n\n state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2]);\n if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n state.f = state.block = local;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = -1;\n return getType(state); // SETEXT has lowest block-scope precedence after HR, so check it after\n // the others (code, blockquote, list...)\n } else if ( // if setext set, indicates line after ---/===\n state.setext || // line before ---/===\n (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false && !state.code && !isHr && !linkDefRE.test(stream.string) && (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))) {\n if (!state.setext) {\n state.header = match[0].charAt(0) == '=' ? 1 : 2;\n state.setext = state.header;\n } else {\n state.header = state.setext; // has no effect on type so we can reset it now\n\n state.setext = 0;\n stream.skipToEnd();\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n }\n\n state.thisLine.header = true;\n state.f = state.inline;\n return getType(state);\n } else if (isHr) {\n stream.skipToEnd();\n state.hr = true;\n state.thisLine.hr = true;\n return tokenTypes.hr;\n } else if (stream.peek() === '[') {\n return switchInline(stream, state, footnoteLink);\n }\n\n return switchInline(stream, state, state.inline);\n }\n\n function htmlBlock(stream, state) {\n var style = htmlMode.token(stream, state.htmlState);\n\n if (!htmlModeMissing) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState);\n\n if (inner.mode.name == \"xml\" && inner.state.tagStart === null && !inner.state.context && inner.state.tokenize.isInText || state.md_inside && stream.current().indexOf(\">\") > -1) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n\n return style;\n }\n\n function local(stream, state) {\n var currListInd = state.listStack[state.listStack.length - 1] || 0;\n var hasExitedList = state.indentation < currListInd;\n var maxFencedEndInd = currListInd + 3;\n\n if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n var returnType;\n if (!hasExitedList) returnType = getType(state);\n state.localMode = state.localState = null;\n state.block = blockNormal;\n state.f = inlineNormal;\n state.fencedEndRE = null;\n state.code = 0;\n state.thisLine.fencedCodeEnd = true;\n if (hasExitedList) return switchBlock(stream, state, state.block);\n return returnType;\n } else if (state.localMode) {\n return state.localMode.token(stream, state.localState);\n } else {\n stream.skipToEnd();\n return tokenTypes.code;\n }\n } // Inline\n\n\n function getType(state) {\n var styles = [];\n\n if (state.formatting) {\n styles.push(tokenTypes.formatting);\n if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\n for (var i = 0; i < state.formatting.length; i++) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\n if (state.formatting[i] === \"header\") {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n } // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n // Add `error` instead if the maximum blockquote nesting depth is passed\n\n\n if (state.formatting[i] === \"quote\") {\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n } else {\n styles.push(\"error\");\n }\n }\n }\n }\n\n if (state.taskOpen) {\n styles.push(\"meta\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.taskClosed) {\n styles.push(\"property\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.linkHref) {\n styles.push(tokenTypes.linkHref, \"url\");\n } else {\n // Only apply inline styles to non-url text\n if (state.strong) {\n styles.push(tokenTypes.strong);\n }\n\n if (state.em) {\n styles.push(tokenTypes.em);\n }\n\n if (state.strikethrough) {\n styles.push(tokenTypes.strikethrough);\n }\n\n if (state.emoji) {\n styles.push(tokenTypes.emoji);\n }\n\n if (state.linkText) {\n styles.push(tokenTypes.linkText);\n }\n\n if (state.code) {\n styles.push(tokenTypes.code);\n }\n\n if (state.image) {\n styles.push(tokenTypes.image);\n }\n\n if (state.imageAltText) {\n styles.push(tokenTypes.imageAltText, \"link\");\n }\n\n if (state.imageMarker) {\n styles.push(tokenTypes.imageMarker);\n }\n }\n\n if (state.header) {\n styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header);\n }\n\n if (state.quote) {\n styles.push(tokenTypes.quote); // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.quote + \"-\" + state.quote);\n } else {\n styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n }\n }\n\n if (state.list !== false) {\n var listMod = (state.listStack.length - 1) % 3;\n\n if (!listMod) {\n styles.push(tokenTypes.list1);\n } else if (listMod === 1) {\n styles.push(tokenTypes.list2);\n } else {\n styles.push(tokenTypes.list3);\n }\n }\n\n if (state.trailingSpaceNewLine) {\n styles.push(\"trailing-space-new-line\");\n } else if (state.trailingSpace) {\n styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n }\n\n return styles.length ? styles.join(' ') : null;\n }\n\n function handleText(stream, state) {\n if (stream.match(textRE, true)) {\n return getType(state);\n }\n\n return undefined;\n }\n\n function inlineNormal(stream, state) {\n var style = state.text(stream, state);\n if (typeof style !== 'undefined') return style;\n\n if (state.list) {\n // List marker (*, +, -, 1., etc)\n state.list = null;\n return getType(state);\n }\n\n if (state.taskList) {\n var taskOpen = stream.match(taskListRE, true)[1] === \" \";\n if (taskOpen) state.taskOpen = true;else state.taskClosed = true;\n if (modeCfg.highlightFormatting) state.formatting = \"task\";\n state.taskList = false;\n return getType(state);\n }\n\n state.taskOpen = false;\n state.taskClosed = false;\n\n if (state.header && stream.match(/^#+$/, true)) {\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n return getType(state);\n }\n\n var ch = stream.next(); // Matches link titles present on next line\n\n if (state.linkTitle) {\n state.linkTitle = false;\n var matchCh = ch;\n\n if (ch === '(') {\n matchCh = ')';\n }\n\n matchCh = (matchCh + '').replace(/([.?*+^\\[\\]\\\\(){}|-])/g, \"\\\\$1\");\n var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n\n if (stream.match(new RegExp(regex), true)) {\n return tokenTypes.linkHref;\n }\n } // If this block is changed, it may need to be updated in GFM mode\n\n\n if (ch === '`') {\n var previousFormatting = state.formatting;\n if (modeCfg.highlightFormatting) state.formatting = \"code\";\n stream.eatWhile('`');\n var count = stream.current().length;\n\n if (state.code == 0 && (!state.quote || count == 1)) {\n state.code = count;\n return getType(state);\n } else if (count == state.code) {\n // Must be exact\n var t = getType(state);\n state.code = 0;\n return t;\n } else {\n state.formatting = previousFormatting;\n return getType(state);\n }\n } else if (state.code) {\n return getType(state);\n }\n\n if (ch === '\\\\') {\n stream.next();\n\n if (modeCfg.highlightFormatting) {\n var type = getType(state);\n var formattingEscape = tokenTypes.formatting + \"-escape\";\n return type ? type + \" \" + formattingEscape : formattingEscape;\n }\n }\n\n if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n state.imageMarker = true;\n state.image = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n state.imageMarker = false;\n state.imageAltText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === ']' && state.imageAltText) {\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n var type = getType(state);\n state.imageAltText = false;\n state.image = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '[' && !state.image) {\n if (state.linkText && stream.match(/^.*?\\]/)) return getType(state);\n state.linkText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n return getType(state);\n }\n\n if (ch === ']' && state.linkText) {\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n state.linkText = false;\n state.inline = state.f = stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false) ? linkHref : inlineNormal;\n return type;\n }\n\n if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n\n if (type) {\n type += \" \";\n } else {\n type = \"\";\n }\n\n return type + tokenTypes.linkInline;\n }\n\n if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n\n if (type) {\n type += \" \";\n } else {\n type = \"\";\n }\n\n return type + tokenTypes.linkEmail;\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\\?|!\\[CDATA\\[|[a-z][a-z0-9-]*(?:\\s+[a-z_:.\\-]+(?:\\s*=\\s*[^>]+)?)*\\s*(?:>|$))/i, false)) {\n var end = stream.string.indexOf(\">\", stream.pos);\n\n if (end != -1) {\n var atts = stream.string.substring(stream.start, end);\n if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n }\n\n stream.backUp(1);\n state.htmlState = CodeMirror.startState(htmlMode);\n return switchBlock(stream, state, htmlBlock);\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^\\/\\w*?>/)) {\n state.md_inside = false;\n return \"tag\";\n } else if (ch === \"*\" || ch === \"_\") {\n var len = 1,\n before = stream.pos == 1 ? \" \" : stream.string.charAt(stream.pos - 2);\n\n while (len < 3 && stream.eat(ch)) {\n len++;\n }\n\n var after = stream.peek() || \" \"; // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis\n\n var leftFlanking = !/\\s/.test(after) && (!punctuation.test(after) || /\\s/.test(before) || punctuation.test(before));\n var rightFlanking = !/\\s/.test(before) && (!punctuation.test(before) || /\\s/.test(after) || punctuation.test(after));\n var setEm = null,\n setStrong = null;\n\n if (len % 2) {\n // Em\n if (!state.em && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before))) setEm = true;else if (state.em == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after))) setEm = false;\n }\n\n if (len > 1) {\n // Strong\n if (!state.strong && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before))) setStrong = true;else if (state.strong == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after))) setStrong = false;\n }\n\n if (setStrong != null || setEm != null) {\n if (modeCfg.highlightFormatting) state.formatting = setEm == null ? \"strong\" : setStrong == null ? \"em\" : \"strong em\";\n if (setEm === true) state.em = ch;\n if (setStrong === true) state.strong = ch;\n var t = getType(state);\n if (setEm === false) state.em = false;\n if (setStrong === false) state.strong = false;\n return t;\n }\n } else if (ch === ' ') {\n if (stream.eat('*') || stream.eat('_')) {\n // Probably surrounded by spaces\n if (stream.peek() === ' ') {\n // Surrounded by spaces, ignore\n return getType(state);\n } else {\n // Not surrounded by spaces, back up pointer\n stream.backUp(1);\n }\n }\n }\n\n if (modeCfg.strikethrough) {\n if (ch === '~' && stream.eatWhile(ch)) {\n if (state.strikethrough) {\n // Remove strikethrough\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n var t = getType(state);\n state.strikethrough = false;\n return t;\n } else if (stream.match(/^[^\\s]/, false)) {\n // Add strikethrough\n state.strikethrough = true;\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.match(/^~~/, true)) {\n // Probably surrounded by space\n if (stream.peek() === ' ') {\n // Surrounded by spaces, ignore\n return getType(state);\n } else {\n // Not surrounded by spaces, back up pointer\n stream.backUp(2);\n }\n }\n }\n }\n\n if (modeCfg.emoji && ch === \":\" && stream.match(/^(?:[a-z_\\d+][a-z_\\d+-]*|\\-[a-z_\\d+][a-z_\\d+-]*):/)) {\n state.emoji = true;\n if (modeCfg.highlightFormatting) state.formatting = \"emoji\";\n var retType = getType(state);\n state.emoji = false;\n return retType;\n }\n\n if (ch === ' ') {\n if (stream.match(/^ +$/, false)) {\n state.trailingSpace++;\n } else if (state.trailingSpace) {\n state.trailingSpaceNewLine = true;\n }\n }\n\n return getType(state);\n }\n\n function linkInline(stream, state) {\n var ch = stream.next();\n\n if (ch === \">\") {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n\n if (type) {\n type += \" \";\n } else {\n type = \"\";\n }\n\n return type + tokenTypes.linkInline;\n }\n\n stream.match(/^[^>]+/, true);\n return tokenTypes.linkInline;\n }\n\n function linkHref(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.next();\n\n if (ch === '(' || ch === '[') {\n state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\");\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n state.linkHref = true;\n return getType(state);\n }\n\n return 'error';\n }\n\n var linkRE = {\n \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\]]|\\\\.)*\\])*?(?=\\])/\n };\n\n function getLinkHrefInside(endChar) {\n return function (stream, state) {\n var ch = stream.next();\n\n if (ch === endChar) {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n var returnState = getType(state);\n state.linkHref = false;\n return returnState;\n }\n\n stream.match(linkRE[endChar]);\n state.linkHref = true;\n return getType(state);\n };\n }\n\n function footnoteLink(stream, state) {\n if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n state.f = footnoteLinkInside;\n stream.next(); // Consume [\n\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n state.linkText = true;\n return getType(state);\n }\n\n return switchInline(stream, state, inlineNormal);\n }\n\n function footnoteLinkInside(stream, state) {\n if (stream.match(/^\\]:/, true)) {\n state.f = state.inline = footnoteUrl;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var returnType = getType(state);\n state.linkText = false;\n return returnType;\n }\n\n stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n return tokenTypes.linkText;\n }\n\n function footnoteUrl(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if (stream.eatSpace()) {\n return null;\n } // Match URL\n\n\n stream.match(/^[^\\s]+/, true); // Check for link title\n\n if (stream.peek() === undefined) {\n // End of line, set flag to check next line\n state.linkTitle = true;\n } else {\n // More content on line, check if link title\n stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\\\\\|\\\\.)+\"|'(?:[^'\\\\]|\\\\\\\\|\\\\.)+'|\\((?:[^)\\\\]|\\\\\\\\|\\\\.)+\\)))?/, true);\n }\n\n state.f = state.inline = inlineNormal;\n return tokenTypes.linkHref + \" url\";\n }\n\n var mode = {\n startState: function startState() {\n return {\n f: blockNormal,\n prevLine: {\n stream: null\n },\n thisLine: {\n stream: null\n },\n block: blockNormal,\n htmlState: null,\n indentation: 0,\n inline: inlineNormal,\n text: handleText,\n formatting: false,\n linkText: false,\n linkHref: false,\n linkTitle: false,\n code: 0,\n em: false,\n strong: false,\n header: 0,\n setext: 0,\n hr: false,\n taskList: false,\n list: false,\n listStack: [],\n quote: 0,\n trailingSpace: 0,\n trailingSpaceNewLine: false,\n strikethrough: false,\n emoji: false,\n fencedEndRE: null\n };\n },\n copyState: function copyState(s) {\n return {\n f: s.f,\n prevLine: s.prevLine,\n thisLine: s.thisLine,\n block: s.block,\n htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n indentation: s.indentation,\n localMode: s.localMode,\n localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n inline: s.inline,\n text: s.text,\n formatting: false,\n linkText: s.linkText,\n linkTitle: s.linkTitle,\n linkHref: s.linkHref,\n code: s.code,\n em: s.em,\n strong: s.strong,\n strikethrough: s.strikethrough,\n emoji: s.emoji,\n header: s.header,\n setext: s.setext,\n hr: s.hr,\n taskList: s.taskList,\n list: s.list,\n listStack: s.listStack.slice(0),\n quote: s.quote,\n indentedCode: s.indentedCode,\n trailingSpace: s.trailingSpace,\n trailingSpaceNewLine: s.trailingSpaceNewLine,\n md_inside: s.md_inside,\n fencedEndRE: s.fencedEndRE\n };\n },\n token: function token(stream, state) {\n // Reset state.formatting\n state.formatting = false;\n\n if (stream != state.thisLine.stream) {\n state.header = 0;\n state.hr = false;\n\n if (stream.match(/^\\s*$/, true)) {\n blankLine(state);\n return null;\n }\n\n state.prevLine = state.thisLine;\n state.thisLine = {\n stream: stream\n }; // Reset state.taskList\n\n state.taskList = false; // Reset state.trailingSpace\n\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n\n if (!state.localState) {\n state.f = state.block;\n\n if (state.f != htmlBlock) {\n var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, expandedTab).length;\n state.indentation = indentation;\n state.indentationDiff = null;\n if (indentation > 0) return null;\n }\n }\n }\n\n return state.f(stream, state);\n },\n innerMode: function innerMode(state) {\n if (state.block == htmlBlock) return {\n state: state.htmlState,\n mode: htmlMode\n };\n if (state.localState) return {\n state: state.localState,\n mode: state.localMode\n };\n return {\n state: state,\n mode: mode\n };\n },\n indent: function indent(state, textAfter, line) {\n if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line);\n if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line);\n return CodeMirror.Pass;\n },\n blankLine: blankLine,\n getType: getType,\n blockCommentStart: \"\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"markdown\"\n };\n return mode;\n }, \"xml\");\n CodeMirror.defineMIME(\"text/markdown\", \"markdown\");\n CodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n});"],"sourceRoot":""}