{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/editor.js","webpack:///./app/javascript/packs/mountEditor.js","webpack:///./node_modules/marked/lib/marked.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Editor","el","toHtml","this","textarea","querySelector","preview","_handleClick","_emButton","_changeCurrentLine","line","cursorShift","match","_toggleBlockMark","innerHTML","file","cursor","selectionStart","currentText","slice","url","replace","substring","selectionEnd","sel","cb","button","addEventListener","mark","length","modifierFn","focus","newText","split","reduce","result","lineChange","setSelectionRange","endMark","text","textAroundCursor","_currentSelection","marked","require","window","Markdown","initEditor","document","factory","_typeof","iterator","obj","constructor","_defineProperties","target","props","descriptor","configurable","writable","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelperLoose","allowArrayLike","it","isArray","minLen","toString","from","test","_unsupportedIterableToArray","done","TypeError","next","defaults","fn","createCommonjsModule","getDefaults","baseUrl","breaks","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","unescapeTest","unescape","html","_","toLowerCase","charAt","String","fromCharCode","parseInt","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","protocol","domain","resolveUrl","base","href","rtrim","relativeBase","indexOf","str","invert","suffLen","currChar","substr","helpers","encode","regex","opt","source","val","getRegex","RegExp","prot","decodeURIComponent","e","encodeURI","exec","arguments","tableRow","count","cells","offset","escaped","curr","splice","push","trim","b","level","console","warn","pattern","defaults$1","rtrim$1","splitCells$1","_escape","findClosingBracket$1","outputLink","cap","link","raw","title","type","Tokenizer_1","Tokenizer","options","_proto","space","src","rules","block","newline","code","tokens","lastToken","trimRight","codeBlockStyle","fences","matchIndentToCode","indentToCode","map","node","matchIndentInNode","join","indentCodeCompensation","lang","heading","depth","nptable","item","header","align","hr","blockquote","list","bcurr","bnext","addBack","loose","istask","ischecked","bull","isordered","ordered","start","items","itemMatch","listItemStart","undefined","task","checked","pre","def","tag","table","lheading","paragraph","escape","inline","inLink","inRawBlock","lastParenIndex","linkLen","_escapes","reflink","links","nolink","strong","maskedSrc","prevChar","punctuation","endReg","endAst","endUnd","lastIndex","middle","index","em","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","startsWith","endsWith","br","del","autolink","prevCapZero","_backpedal","inlineText","noopTest$1","edit$1","merge$1","_paragraph","_label","_title","bullet","_tag","_comment","normal","reflinkSearch","_punctuation","_blockSkip","_overlapSkip","blockSkip","overlapSkip","_scheme","_email","_attribute","_href","_extended_email","defaults$2","block$1","inline$1","repeatString$1","out","charCodeAt","Math","random","Lexer_1","Lexer","lex","lexInline","inlineTokens","Constructor","protoProps","staticProps","blockTokens","top","token","errMsg","error","Error","j","k","l2","row","keepPrevChar","keys","includes","lastIndexOf","defaults$3","cleanUrl$1","escape$1","Renderer_1","Renderer","_code","infostring","quote","_html","slugger","slug","body","listitem","checkbox","tablerow","content","tablecell","flags","image","_text","TextRenderer_1","TextRenderer","Slugger_1","Slugger","seen","serialize","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","defaults$4","unescape$1","Parser_1","Parser","textRenderer","parse","parseInline","l3","cell","itemBody","unshift","merge$2","checkSanitizeDeprecation$1","escape$2","defaults$5","callback","err","pending","setTimeout","_tokens","message","setOptions","use","extension","opts","_loop","prop","prevRenderer","_len","args","_key","ret","apply","_loop2","prevTokenizer","_len2","_key2","_step","_iterator","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","parser","lexer"],"mappings":"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","file":"js/mountEditor-9794e566117bfed57824.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","class Editor {\n constructor({el, toHtml}) {\n this.el = el\n this.toHtml = toHtml\n this.textarea = el.querySelector('textarea')\n this.preview = el.querySelector('.me-preview')\n\n this._handleClick('.me-button-bold', () => {\n this._emButton('bold', '**')\n })\n\n this._handleClick('.me-button-italic', () => {\n this._emButton('italic', '*')\n })\n\n this._handleClick('.me-button-header', () => {\n this._changeCurrentLine(line => {\n let cursorShift\n\n if (line.match(/^#+ /)) {\n line = '#' + line\n cursorShift = 1\n } else {\n line = '# ' + line\n cursorShift = 2\n }\n\n return {line, cursorShift}\n })\n })\n\n this._handleClick('.me-button-quote', () => {\n this._toggleBlockMark('> ')\n })\n\n this._handleClick('.me-button-ul', () => {\n this._toggleBlockMark('* ')\n })\n\n this._handleClick('.me-button-ol', () => {\n this._toggleBlockMark('1. ')\n })\n\n this._handleClick('.me-button-preview', () => {\n this.preview.innerHTML = this.toHtml(this.textarea.value)\n })\n\n this._handleClick('.me-button-link', () => {\n this._emButton('link', '[', '](http://)')\n })\n }\n\n uploadStarted(file) {\n const cursor = this.textarea.selectionStart\n const currentText = this.textarea.value\n this.textarea.value = currentText.slice(0, cursor) + `` + currentText.slice(cursor)\n }\n\n uploadComplete(file, url) {\n this.textarea.value = this.textarea.value.replace(``, ``)\n }\n\n _currentSelection() {\n // Works in Firefox too (where window.getSelection().toString() returns \"\")\n return this.textarea.value.substring(this.textarea.selectionStart, this.textarea.selectionEnd)\n }\n\n _handleClick(sel, cb) {\n const button = this.el.querySelector(sel)\n if (button) {\n button.addEventListener('click', cb)\n }\n }\n\n _toggleBlockMark(mark) {\n this._changeCurrentLine(line => {\n let cursorShift\n\n if (line.slice(0, mark.length) == mark) {\n line = line.slice(mark.length)\n cursorShift = -mark.length\n } else {\n line = mark + line\n cursorShift = mark.length\n }\n\n return {line, cursorShift}\n })\n }\n\n _changeCurrentLine(modifierFn) {\n this.textarea.focus()\n\n const cursor = this.textarea.selectionStart\n let cursorShift\n\n let newText = this.textarea.value.split('\\n').reduce((result, line) => {\n if (result.length <= cursor && cursor <= (result + line).length) {\n const lineChange = modifierFn(line)\n line = lineChange.line\n cursorShift = lineChange.cursorShift\n }\n result = result + line + '\\n'\n return result\n }, '')\n\n // rm trailing new line\n this.textarea.value = newText.slice(0, newText.length-1)\n this.textarea.setSelectionRange(cursor+cursorShift, cursor+cursorShift)\n }\n\n _emButton(name, mark, endMark) {\n this.textarea.focus()\n endMark = endMark || mark\n const cursor = this.textarea.selectionStart\n const selectionEnd = this.textarea.selectionEnd\n const text = this.textarea.value\n const textAroundCursor = text.slice(cursor-mark.length, cursor) + text.slice(selectionEnd, selectionEnd+endMark.length)\n\n if (cursor != selectionEnd) {\n if (textAroundCursor == mark+endMark) {\n this.textarea.value = text.slice(0, cursor-mark.length) + this._currentSelection() + text.slice(selectionEnd+endMark.length)\n this.textarea.setSelectionRange(cursor - mark.length, selectionEnd-mark.length)\n } else {\n this.textarea.value = text.slice(0, cursor) + mark + this._currentSelection() + endMark + text.slice(selectionEnd)\n this.textarea.setSelectionRange(cursor+mark.length, selectionEnd+mark.length)\n }\n } else {\n if (cursor >= mark.length && cursor + endMark.length <= text.length) {\n if (textAroundCursor == mark+endMark) {\n this.textarea.value = text.slice(0, cursor-mark.length) + text.slice(cursor+endMark.length)\n this.textarea.setSelectionRange(cursor-mark.length, cursor-mark.length)\n } else {\n this.textarea.value = text.slice(0, cursor) + mark + endMark + text.slice(cursor)\n this.textarea.setSelectionRange(cursor+mark.length, cursor+mark.length)\n }\n } else {\n this.textarea.value = text.slice(0, cursor) + mark + endMark + text.slice(cursor)\n this.textarea.setSelectionRange(cursor+mark.length, cursor+mark.length)\n }\n }\n }\n}\n\nmodule.exports = Editor\n","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\nconst marked = require('marked')\nconst Editor = require('./editor')\n\nfunction initEditor(sel) {\n return new Editor({\n el: document.querySelector(sel),\n toHtml: marked,\n })\n}\n\nwindow.Markdown = {\n toHtml: marked,\n initEditor\n}\n","function _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\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.marked = factory());\n})(this, function () {\n 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n }\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var defaults = createCommonjsModule(function (module) {\n function getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n }\n\n module.exports = {\n defaults: getDefaults(),\n getDefaults: getDefaults,\n changeDefaults: changeDefaults\n };\n });\n var defaults_1 = defaults.defaults;\n var defaults_2 = defaults.getDefaults;\n var defaults_3 = defaults.changeDefaults;\n /**\n * Helpers\n */\n\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest = {\n exec: function noopTest() {}\n };\n\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n var helpers = {\n escape: escape,\n unescape: unescape,\n edit: edit,\n cleanUrl: cleanUrl,\n resolveUrl: resolveUrl,\n noopTest: noopTest,\n merge: merge,\n splitCells: splitCells,\n rtrim: rtrim,\n findClosingBracket: findClosingBracket,\n checkSanitizeDeprecation: checkSanitizeDeprecation,\n repeatString: repeatString\n };\n var defaults$1 = defaults.defaults;\n var rtrim$1 = helpers.rtrim,\n splitCells$1 = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket$1 = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n return {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text\n };\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: _escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$1;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src, tokens) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n return {\n raw: cap[0],\n text: cap[0].trimRight()\n };\n }\n\n var text = cap[0].replace(/^ {4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim$1(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: cap[2]\n };\n }\n };\n\n _proto.nptable = function nptable(src) {\n var cap = this.rules.block.nptable.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : [],\n raw: cap[0]\n };\n\n if (item.header.length === item.align.length) {\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i], item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var bull = cap[2];\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: raw,\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n }; // Get each top-level item.\n\n var itemMatch = cap[0].match(this.rules.block.item);\n var next = false,\n item,\n space,\n bcurr,\n bnext,\n addBack,\n loose,\n istask,\n ischecked;\n var l = itemMatch.length;\n bcurr = this.rules.block.listItemStart.exec(itemMatch[0]);\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item; // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n if (i !== l - 1) {\n bnext = this.rules.block.listItemStart.exec(itemMatch[i + 1]);\n\n if (bnext[1].length > bcurr[0].length || bnext[1].length > 3) {\n // nested list\n itemMatch.splice(i, 2, itemMatch[i] + '\\n' + itemMatch[i + 1]);\n i--;\n l--;\n continue;\n } else {\n if ( // different bullet style\n !this.options.pedantic || this.options.smartLists ? bnext[2][bnext[2].length - 1] !== bull[bull.length - 1] : isordered === (bnext[2].length === 1)) {\n addBack = itemMatch.slice(i + 1).join('\\n');\n list.raw = list.raw.substring(0, list.raw.length - addBack.length);\n i = l - 1;\n }\n }\n\n bcurr = bnext;\n } // Remove the list item's bullet\n // so it is seen as the next token.\n\n\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+[.)]) ?/, ''); // Outdent whatever the\n // list item contains. Hacky.\n\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n } // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n\n\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n list.loose = true;\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: istask,\n checked: ischecked,\n loose: loose,\n text: item\n });\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n return {\n type: this.options.sanitize ? 'paragraph' : 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''), item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n return {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n };\n }\n };\n\n _proto.text = function text(src, tokens) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n return {\n raw: cap[0],\n text: cap[0]\n };\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0]\n };\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src, inLink, inRawBlock) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!inLink && /^/i.test(cap[0])) {\n inLink = false;\n }\n\n if (!inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = true;\n } else if (inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: inLink,\n inRawBlock: inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var lastParenIndex = findClosingBracket$1(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n var token = outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0]);\n return token;\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n var token = outputLink(cap, link, cap[0]);\n return token;\n }\n };\n\n _proto.strong = function strong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.strong.start.exec(src);\n\n if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n maskedSrc = maskedSrc.slice(-1 * src.length);\n var endReg = match[0] === '**' ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd;\n endReg.lastIndex = 0;\n var cap;\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n cap = this.rules.inline.strong.middle.exec(maskedSrc.slice(0, match.index + 3));\n\n if (cap) {\n return {\n type: 'strong',\n raw: src.slice(0, cap[0].length),\n text: src.slice(2, cap[0].length - 2)\n };\n }\n }\n }\n };\n\n _proto.em = function em(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.em.start.exec(src);\n\n if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n maskedSrc = maskedSrc.slice(-1 * src.length);\n var endReg = match[0] === '*' ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd;\n endReg.lastIndex = 0;\n var cap;\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n cap = this.rules.inline.em.middle.exec(maskedSrc.slice(0, match.index + 2));\n\n if (cap) {\n return {\n type: 'em',\n raw: src.slice(0, cap[0].length),\n text: src.slice(1, cap[0].length - 1)\n };\n }\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = text.startsWith(' ') && text.endsWith(' ');\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2]\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, inRawBlock, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest$1 = helpers.noopTest,\n edit$1 = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?! {0,3}bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest$1,\n table: noopTest$1,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.item = /^( *)(bull) ?[^\\n]*(?:\\n(?! *bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.listItemStart = edit$1(/^( *)(bull)/).replace('bull', block.bullet).getRegex();\n block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /|$)/;\n block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge$1({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge$1({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' {0,3}\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.table = edit$1(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge$1({}, block.normal, {\n html: edit$1('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '| ' + text + '
\\n';\n }\n\n return '' + (escaped ? _code : escape$1(_code, true)) + '
\\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '' + (escaped ? _code : escape$1(_code, true)) + '
\\n' + quote + '
\\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '
\\n' : '
\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '' + type + '>\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
' + text + '
';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? 'An error occurred:
' + escape$2(e.message + '', true) + '';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge$2(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults$5;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge$2({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer_1();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop];\n\n renderer[prop] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var ret = extension.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (extension.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer_1();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop];\n\n tokenizer[prop] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = extension.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n }\n\n if (extension.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n extension.walkTokens(token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n marked.setOptions(opts);\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n };\n /**\n * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n try {\n var tokens = Lexer_1.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser_1.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '
An error occurred:
' + escape$2(e.message + '', true) + '';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser_1;\n marked.parser = Parser_1.parse;\n marked.Renderer = Renderer_1;\n marked.TextRenderer = TextRenderer_1;\n marked.Lexer = Lexer_1;\n marked.lexer = Lexer_1.lex;\n marked.Tokenizer = Tokenizer_1;\n marked.Slugger = Slugger_1;\n marked.parse = marked;\n var marked_1 = marked;\n return marked_1;\n});"],"sourceRoot":""}