From e4b0e697243f2d8b0a604eb688d08938a0e7acbb Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sat, 10 Nov 2018 02:39:38 +0000 Subject: [PATCH] feat(converter.makeMarkdown): add an HTML to MD converter Showdown now supports a simple HTML to Markdown converter. **Usage:** ``` var conv = new showdown.Converter(); var md = conv.makeMarkdown('a link'); ``` Closes #388, #233 --- Gruntfile.js | 1 + dist/showdown.js | 632 +++ dist/showdown.js.map | 2 +- dist/showdown.min.js | 2 +- dist/showdown.min.js.map | 2 +- package-lock.json | 4676 ++++++++++++++++++ package.json | 3 +- src/converter.js | 106 + src/helpers.js | 40 + src/subParsers/makeMarkdown/blockquote.js | 22 + src/subParsers/makeMarkdown/codeBlock.js | 7 + src/subParsers/makeMarkdown/codeSpan.js | 5 + src/subParsers/makeMarkdown/emphasis.js | 15 + src/subParsers/makeMarkdown/header.js | 17 + src/subParsers/makeMarkdown/hr.js | 5 + src/subParsers/makeMarkdown/image.js | 18 + src/subParsers/makeMarkdown/links.js | 20 + src/subParsers/makeMarkdown/list.js | 33 + src/subParsers/makeMarkdown/listItem.js | 25 + src/subParsers/makeMarkdown/node.js | 120 + src/subParsers/makeMarkdown/paragraph.js | 17 + src/subParsers/makeMarkdown/pre.js | 6 + src/subParsers/makeMarkdown/strikethrough.js | 15 + src/subParsers/makeMarkdown/strong.js | 15 + src/subParsers/makeMarkdown/table.js | 70 + src/subParsers/makeMarkdown/tableCell.js | 15 + src/subParsers/makeMarkdown/txt.js | 43 + test/bootstrap.js | 31 +- test/makeMd/blockquote.html | 4 + test/makeMd/blockquote.md | 1 + test/makeMd/codeblock.html | 8 + test/makeMd/codeblock.md | 9 + test/makeMd/codespan.html | 1 + test/makeMd/codespan.md | 1 + test/makeMd/emphasis.html | 1 + test/makeMd/emphasis.md | 1 + test/makeMd/heading.html | 6 + test/makeMd/heading.md | 11 + test/makeMd/hr.html | 3 + test/makeMd/hr.md | 3 + test/makeMd/image.html | 1 + test/makeMd/image.md | 1 + test/makeMd/link.html | 1 + test/makeMd/link.md | 1 + test/makeMd/list.html | 15 + test/makeMd/list.md | 19 + test/makeMd/other-html.html | 5 + test/makeMd/other-html.md | 9 + test/makeMd/paragraph.html | 3 + test/makeMd/paragraph.md | 1 + test/makeMd/strikethrough.html | 1 + test/makeMd/strikethrough.md | 1 + test/makeMd/strong.html | 1 + test/makeMd/strong.md | 1 + test/makeMd/table.html | 21 + test/makeMd/table.md | 4 + test/node/showdown.Converter.js | 21 + test/node/showdown.Converter.makeHtml.js | 21 - test/node/showdown.Converter.makeMarkdown.js | 25 + test/node/testsuite.makemd.js | 12 + 60 files changed, 6149 insertions(+), 27 deletions(-) create mode 100644 package-lock.json create mode 100644 src/subParsers/makeMarkdown/blockquote.js create mode 100644 src/subParsers/makeMarkdown/codeBlock.js create mode 100644 src/subParsers/makeMarkdown/codeSpan.js create mode 100644 src/subParsers/makeMarkdown/emphasis.js create mode 100644 src/subParsers/makeMarkdown/header.js create mode 100644 src/subParsers/makeMarkdown/hr.js create mode 100644 src/subParsers/makeMarkdown/image.js create mode 100644 src/subParsers/makeMarkdown/links.js create mode 100644 src/subParsers/makeMarkdown/list.js create mode 100644 src/subParsers/makeMarkdown/listItem.js create mode 100644 src/subParsers/makeMarkdown/node.js create mode 100644 src/subParsers/makeMarkdown/paragraph.js create mode 100644 src/subParsers/makeMarkdown/pre.js create mode 100644 src/subParsers/makeMarkdown/strikethrough.js create mode 100644 src/subParsers/makeMarkdown/strong.js create mode 100644 src/subParsers/makeMarkdown/table.js create mode 100644 src/subParsers/makeMarkdown/tableCell.js create mode 100644 src/subParsers/makeMarkdown/txt.js create mode 100644 test/makeMd/blockquote.html create mode 100644 test/makeMd/blockquote.md create mode 100644 test/makeMd/codeblock.html create mode 100644 test/makeMd/codeblock.md create mode 100644 test/makeMd/codespan.html create mode 100644 test/makeMd/codespan.md create mode 100644 test/makeMd/emphasis.html create mode 100644 test/makeMd/emphasis.md create mode 100644 test/makeMd/heading.html create mode 100644 test/makeMd/heading.md create mode 100644 test/makeMd/hr.html create mode 100644 test/makeMd/hr.md create mode 100644 test/makeMd/image.html create mode 100644 test/makeMd/image.md create mode 100644 test/makeMd/link.html create mode 100644 test/makeMd/link.md create mode 100644 test/makeMd/list.html create mode 100644 test/makeMd/list.md create mode 100644 test/makeMd/other-html.html create mode 100644 test/makeMd/other-html.md create mode 100644 test/makeMd/paragraph.html create mode 100644 test/makeMd/paragraph.md create mode 100644 test/makeMd/strikethrough.html create mode 100644 test/makeMd/strikethrough.md create mode 100644 test/makeMd/strong.html create mode 100644 test/makeMd/strong.md create mode 100644 test/makeMd/table.html create mode 100644 test/makeMd/table.md create mode 100644 test/node/showdown.Converter.makeMarkdown.js create mode 100644 test/node/testsuite.makemd.js diff --git a/Gruntfile.js b/Gruntfile.js index 68d96a69..9e85bd5f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -25,6 +25,7 @@ module.exports = function (grunt) { 'src/helpers.js', 'src/converter.js', 'src/subParsers/*.js', + 'src/subParsers/makeMarkdown/*.js', 'src/loader.js' ], dest: 'dist/<%= pkg.name %>.js' diff --git a/dist/showdown.js b/dist/showdown.js index dac7a1b2..d9f4ad72 100644 --- a/dist/showdown.js +++ b/dist/showdown.js @@ -716,6 +716,21 @@ showdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash return text; }; +/** + * Unescape HTML entities + * @param txt + * @returns {string} + */ +showdown.helper.unescapeHTMLEntities = function (txt) { + 'use strict'; + + return txt + .replace(/"/g, '"') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/&/g, '&'); +}; + var rgxFindMatchPos = function (str, left, right, flags) { 'use strict'; var f = flags || '', @@ -926,6 +941,31 @@ showdown.helper.encodeEmailAddress = function (mail) { return mail; }; +/** + * + * @param str + * @param targetLength + * @param padString + * @returns {string} + */ +showdown.helper.padEnd = function padEnd (str, targetLength, padString) { + 'use strict'; + /*jshint bitwise: false*/ + // eslint-disable-next-line space-infix-ops + targetLength = targetLength>>0; //floor if number or convert non-number to 0; + /*jshint bitwise: true*/ + padString = String(padString || ' '); + if (str.length > targetLength) { + return String(str); + } else { + targetLength = targetLength - str.length; + if (targetLength > padString.length) { + padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed + } + return String(str) + padString.slice(0,targetLength); + } +}; + /** * POLYFILLS */ @@ -2483,6 +2523,112 @@ showdown.Converter = function (converterOptions) { return text; }; + /** + * Converts an HTML string into a markdown string + * @param src + * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used. + * @returns {string} + */ + this.makeMarkdown = this.makeMd = function (src, HTMLParser) { + + // replace \r\n with \n + src = src.replace(/\r\n/g, '\n'); + src = src.replace(/\r/g, '\n'); // old macs + + // due to an edge case, we need to find this: > < + // to prevent removing of non silent white spaces + // ex: this is sparta + src = src.replace(/>[ \t]+¨NBSP;<'); + + if (!HTMLParser) { + if (window && window.document) { + HTMLParser = window.document; + } else { + throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM'); + } + } + + var doc = HTMLParser.createElement('div'); + doc.innerHTML = src; + + var globals = { + preList: substitutePreCodeTags(doc) + }; + + // remove all newlines and collapse spaces + clean(doc); + + // some stuff, like accidental reference links must now be escaped + // TODO + // doc.innerHTML = doc.innerHTML.replace(/\[[\S\t ]]/); + + var nodes = doc.childNodes, + mdDoc = ''; + + for (var i = 0; i < nodes.length; i++) { + mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals); + } + + function clean (node) { + for (var n = 0; n < node.childNodes.length; ++n) { + var child = node.childNodes[n]; + if (child.nodeType === 3) { + if (!/\S/.test(child.nodeValue)) { + node.removeChild(child); + --n; + } else { + child.nodeValue = child.nodeValue.split('\n').join(' '); + child.nodeValue = child.nodeValue.replace(/(\s)+/g, '$1'); + } + } else if (child.nodeType === 1) { + clean(child); + } + } + } + + // find all pre tags and replace contents with placeholder + // we need this so that we can remove all indentation from html + // to ease up parsing + function substitutePreCodeTags (doc) { + + var pres = doc.querySelectorAll('pre'), + presPH = []; + + for (var i = 0; i < pres.length; ++i) { + + if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') { + var content = pres[i].firstChild.innerHTML.trim(), + language = pres[i].firstChild.getAttribute('data-language') || ''; + + // if data-language attribute is not defined, then we look for class language-* + if (language === '') { + var classes = pres[i].firstChild.className.split(' '); + for (var c = 0; c < classes.length; ++c) { + var matches = classes[c].match(/^language-(.+)$/); + if (matches !== null) { + language = matches[1]; + break; + } + } + } + + // unescape html entities in content + content = showdown.helper.unescapeHTMLEntities(content); + + presPH.push(content); + pres[i].outerHTML = ''; + } else { + presPH.push(pres[i].innerHTML); + pres[i].innerHTML = ''; + pres[i].setAttribute('prenum', i.toString()); + } + } + return presPH; + } + + return mdDoc; + }; + /** * Set an option of this Converter instance * @param {string} key @@ -4489,6 +4635,492 @@ showdown.subParser('unescapeSpecialChars', function (text, options, globals) { return text; }); +showdown.subParser('makeMarkdown.blockquote', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals); + + if (innerTxt === '') { + continue; + } + txt += innerTxt; + } + } + // cleanup + txt = txt.trim(); + txt = '> ' + txt.split('\n').join('\n> '); + return txt; +}); + +showdown.subParser('makeMarkdown.codeBlock', function (node, globals) { + 'use strict'; + + var lang = node.getAttribute('language'), + num = node.getAttribute('precodenum'); + return '```' + lang + '\n' + globals.preList[num] + '\n```'; +}); + +showdown.subParser('makeMarkdown.codeSpan', function (node) { + 'use strict'; + + return '`' + node.innerHTML + '`'; +}); + +showdown.subParser('makeMarkdown.emphasis', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '*'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '*'; + } + return txt; +}); + +showdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) { + 'use strict'; + + var headerMark = new Array(headerLevel + 1).join('#'), + txt = ''; + + if (node.hasChildNodes()) { + txt = headerMark + ' '; + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + } + return txt; +}); + +showdown.subParser('makeMarkdown.hr', function () { + 'use strict'; + + return '---'; +}); + +showdown.subParser('makeMarkdown.image', function (node) { + 'use strict'; + + var txt = ''; + if (node.hasAttribute('src')) { + txt += '![' + node.getAttribute('alt') + ']('; + txt += '<' + node.getAttribute('src') + '>'; + if (node.hasAttribute('width') && node.hasAttribute('height')) { + txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height'); + } + + if (node.hasAttribute('title')) { + txt += ' "' + node.getAttribute('title') + '"'; + } + txt += ')'; + } + return txt; +}); + +showdown.subParser('makeMarkdown.links', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes() && node.hasAttribute('href')) { + var children = node.childNodes, + childrenLength = children.length; + txt = '['; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += ']('; + txt += '<' + node.getAttribute('href') + '>'; + if (node.hasAttribute('title')) { + txt += ' "' + node.getAttribute('title') + '"'; + } + txt += ')'; + } + return txt; +}); + +showdown.subParser('makeMarkdown.list', function (node, globals, type) { + 'use strict'; + + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var listItems = node.childNodes, + listItemsLenght = listItems.length, + listNum = node.getAttribute('start') || 1; + + for (var i = 0; i < listItemsLenght; ++i) { + if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') { + continue; + } + + // define the bullet to use in list + var bullet = ''; + if (type === 'ol') { + bullet = listNum.toString() + '. '; + } else { + bullet = '- '; + } + + // parse list item + txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals); + ++listNum; + } + + // add comment at the end to prevent consecutive lists to be parsed as one + txt += '\n\n'; + return txt.trim(); +}); + +showdown.subParser('makeMarkdown.listItem', function (node, globals) { + 'use strict'; + + var listItemTxt = ''; + + var children = node.childNodes, + childrenLenght = children.length; + + for (var i = 0; i < childrenLenght; ++i) { + listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + // if it's only one liner, we need to add a newline at the end + if (!/\n$/.test(listItemTxt)) { + listItemTxt += '\n'; + } else { + // it's multiparagraph, so we need to indent + listItemTxt = listItemTxt + .split('\n') + .join('\n ') + .replace(/^ {4}$/gm, '') + .replace(/\n\n+/g, '\n\n'); + } + + return listItemTxt; +}); + + + +showdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) { + 'use strict'; + + spansOnly = spansOnly || false; + + var txt = ''; + + // edge case of text without wrapper paragraph + if (node.nodeType === 3) { + return showdown.subParser('makeMarkdown.txt')(node, globals); + } + + // HTML comment + if (node.nodeType === 8) { + return '\n\n'; + } + + // process only node elements + if (node.nodeType !== 1) { + return ''; + } + + var tagName = node.tagName.toLowerCase(); + + switch (tagName) { + + // + // BLOCKS + // + case 'h1': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\n\n'; } + break; + case 'h2': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\n\n'; } + break; + case 'h3': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\n\n'; } + break; + case 'h4': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\n\n'; } + break; + case 'h5': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\n\n'; } + break; + case 'h6': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\n\n'; } + break; + + case 'p': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\n\n'; } + break; + + case 'blockquote': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\n\n'; } + break; + + case 'hr': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\n\n'; } + break; + + case 'ol': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\n\n'; } + break; + + case 'ul': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\n\n'; } + break; + + case 'precode': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\n\n'; } + break; + + case 'pre': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\n\n'; } + break; + + case 'table': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\n\n'; } + break; + + // + // SPANS + // + case 'code': + txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals); + break; + + case 'em': + case 'i': + txt = showdown.subParser('makeMarkdown.emphasis')(node, globals); + break; + + case 'strong': + case 'b': + txt = showdown.subParser('makeMarkdown.strong')(node, globals); + break; + + case 'del': + txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals); + break; + + case 'a': + txt = showdown.subParser('makeMarkdown.links')(node, globals); + break; + + case 'img': + txt = showdown.subParser('makeMarkdown.image')(node, globals); + break; + + default: + txt = node.outerHTML + '\n\n'; + } + + // common normalization + // TODO eventually + + return txt; +}); + +showdown.subParser('makeMarkdown.paragraph', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + } + + // some text normalization + txt = txt.trim(); + + return txt; +}); + +showdown.subParser('makeMarkdown.pre', function (node, globals) { + 'use strict'; + + var num = node.getAttribute('prenum'); + return '
' + globals.preList[num] + '
'; +}); + +showdown.subParser('makeMarkdown.strikethrough', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '~~'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '~~'; + } + return txt; +}); + +showdown.subParser('makeMarkdown.strong', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '**'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '**'; + } + return txt; +}); + +showdown.subParser('makeMarkdown.table', function (node, globals) { + 'use strict'; + + var txt = '', + tableArray = [[], []], + headings = node.querySelectorAll('thead>tr>th'), + rows = node.querySelectorAll('tbody>tr'), + i, ii; + for (i = 0; i < headings.length; ++i) { + var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals), + allign = '---'; + + if (headings[i].hasAttribute('style')) { + var style = headings[i].getAttribute('style').toLowerCase().replace(/\s/g, ''); + switch (style) { + case 'text-align:left;': + allign = ':---'; + break; + case 'text-align:right;': + allign = '---:'; + break; + case 'text-align:center;': + allign = ':---:'; + break; + } + } + tableArray[0][i] = headContent.trim(); + tableArray[1][i] = allign; + } + + for (i = 0; i < rows.length; ++i) { + var r = tableArray.push([]) - 1, + cols = rows[i].getElementsByTagName('td'); + + for (ii = 0; ii < headings.length; ++ii) { + var cellContent = ' '; + if (typeof cols[ii] !== 'undefined') { + cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals); + } + tableArray[r].push(cellContent); + } + } + + var cellSpacesCount = 3; + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + var strLen = tableArray[i][ii].length; + if (strLen > cellSpacesCount) { + cellSpacesCount = strLen; + } + } + } + + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + if (i === 1) { + if (tableArray[i][ii].slice(-1) === ':') { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':'; + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-'); + } + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount); + } + } + txt += '| ' + tableArray[i].join(' | ') + ' |\n'; + } + + return txt.trim(); +}); + +showdown.subParser('makeMarkdown.tableCell', function (node, globals) { + 'use strict'; + + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true); + } + return txt.trim(); +}); + +showdown.subParser('makeMarkdown.txt', function (node) { + 'use strict'; + + var txt = node.nodeValue; + + // multiple spaces are collapsed + txt = txt.replace(/ +/g, ' '); + + // replace the custom ¨NBSP; with a space + txt = txt.replace(/¨NBSP;/g, ' '); + + // ", <, > and & should replace escaped html entities + txt = showdown.helper.unescapeHTMLEntities(txt); + + // escape markdown magic characters + // emphasis, strong and strikethrough - can appear everywhere + // we also escape pipe (|) because of tables + // and escape ` because of code blocks and spans + txt = txt.replace(/([*_~|`])/g, '\\$1'); + + // escape > because of blockquotes + txt = txt.replace(/^(\s*)>/g, '\\$1>'); + + // hash character, only troublesome at the beginning of a line because of headers + txt = txt.replace(/^#/gm, '\\#'); + + // horizontal rules + txt = txt.replace(/^(\s*)([-=]{3,})(\s*)$/, '$1\\$2$3'); + + // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer + txt = txt.replace(/^( {0,3}\d+)\./gm, '$1\\.'); + + // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped) + txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\$2'); + + // images and links, ] followed by ( is problematic, so we escape it + txt = txt.replace(/]([\s]*)\(/g, '\\]$1\\('); + + // reference URIs must also be escaped + txt = txt.replace(/^ {0,3}\[([\S \t]*?)]:/gm, '\\[$1]:'); + + return txt; +}); + var root = this; // AMD Loader diff --git a/dist/showdown.js.map b/dist/showdown.js.map index 3522c4e0..0502d2c6 100644 --- a/dist/showdown.js.map +++ b/dist/showdown.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/options.js","../src/showdown.js","../src/helpers.js","../src/converter.js","../src/subParsers/anchors.js","../src/subParsers/autoLinks.js","../src/subParsers/blockGamut.js","../src/subParsers/blockQuotes.js","../src/subParsers/codeBlocks.js","../src/subParsers/codeSpans.js","../src/subParsers/completeHTMLDocument.js","../src/subParsers/detab.js","../src/subParsers/ellipsis.js","../src/subParsers/emoji.js","../src/subParsers/encodeAmpsAndAngles.js","../src/subParsers/encodeBackslashEscapes.js","../src/subParsers/encodeCode.js","../src/subParsers/escapeSpecialCharsWithinTagAttributes.js","../src/subParsers/githubCodeBlocks.js","../src/subParsers/hashBlock.js","../src/subParsers/hashCodeTags.js","../src/subParsers/hashElement.js","../src/subParsers/hashHTMLBlocks.js","../src/subParsers/hashHTMLSpans.js","../src/subParsers/hashPreCodeTags.js","../src/subParsers/headers.js","../src/subParsers/horizontalRule.js","../src/subParsers/images.js","../src/subParsers/italicsAndBold.js","../src/subParsers/lists.js","../src/subParsers/metadata.js","../src/subParsers/outdent.js","../src/subParsers/paragraphs.js","../src/subParsers/runExtension.js","../src/subParsers/spanGamut.js","../src/subParsers/strikethrough.js","../src/subParsers/stripLinkDefinitions.js","../src/subParsers/tables.js","../src/subParsers/underline.js","../src/subParsers/unescapeSpecialChars.js","../src/loader.js"],"names":[],"mappings":"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","file":"showdown.js","sourcesContent":["/**\n * Created by Tivie on 13-07-2015.\n */\n\nfunction getDefaultOpts (simple) {\n 'use strict';\n\n var defaultOptions = {\n omitExtraWLInCodeBlocks: {\n defaultValue: false,\n describe: 'Omit the default extra whiteline added to code blocks',\n type: 'boolean'\n },\n noHeaderId: {\n defaultValue: false,\n describe: 'Turn on/off generated header id',\n type: 'boolean'\n },\n prefixHeaderId: {\n defaultValue: false,\n describe: 'Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic \\'section-\\' prefix',\n type: 'string'\n },\n rawPrefixHeaderId: {\n defaultValue: false,\n describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the \" char is used in the prefix)',\n type: 'boolean'\n },\n ghCompatibleHeaderId: {\n defaultValue: false,\n describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)',\n type: 'boolean'\n },\n rawHeaderId: {\n defaultValue: false,\n describe: 'Remove only spaces, \\' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids',\n type: 'boolean'\n },\n headerLevelStart: {\n defaultValue: false,\n describe: 'The header blocks level start',\n type: 'integer'\n },\n parseImgDimensions: {\n defaultValue: false,\n describe: 'Turn on/off image dimension parsing',\n type: 'boolean'\n },\n simplifiedAutoLink: {\n defaultValue: false,\n describe: 'Turn on/off GFM autolink style',\n type: 'boolean'\n },\n excludeTrailingPunctuationFromURLs: {\n defaultValue: false,\n describe: 'Excludes trailing punctuation from links generated with autoLinking',\n type: 'boolean'\n },\n literalMidWordUnderscores: {\n defaultValue: false,\n describe: 'Parse midword underscores as literal underscores',\n type: 'boolean'\n },\n literalMidWordAsterisks: {\n defaultValue: false,\n describe: 'Parse midword asterisks as literal asterisks',\n type: 'boolean'\n },\n strikethrough: {\n defaultValue: false,\n describe: 'Turn on/off strikethrough support',\n type: 'boolean'\n },\n tables: {\n defaultValue: false,\n describe: 'Turn on/off tables support',\n type: 'boolean'\n },\n tablesHeaderId: {\n defaultValue: false,\n describe: 'Add an id to table headers',\n type: 'boolean'\n },\n ghCodeBlocks: {\n defaultValue: true,\n describe: 'Turn on/off GFM fenced code blocks support',\n type: 'boolean'\n },\n tasklists: {\n defaultValue: false,\n describe: 'Turn on/off GFM tasklist support',\n type: 'boolean'\n },\n smoothLivePreview: {\n defaultValue: false,\n describe: 'Prevents weird effects in live previews due to incomplete input',\n type: 'boolean'\n },\n smartIndentationFix: {\n defaultValue: false,\n description: 'Tries to smartly fix indentation in es6 strings',\n type: 'boolean'\n },\n disableForced4SpacesIndentedSublists: {\n defaultValue: false,\n description: 'Disables the requirement of indenting nested sublists by 4 spaces',\n type: 'boolean'\n },\n simpleLineBreaks: {\n defaultValue: false,\n description: 'Parses simple line breaks as
(GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\
foo\\
',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including ``, `` and `` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n","/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n","/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan \n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<>\", \"\"]\n * matchRecursiveRegExp(\"
test
\", \"]*>\", \"\", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof(console) === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '\":octocat:\"',\n 'showdown': 'S'\n};\n","/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n","/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]??(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return st + '' + mentions + '';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n","// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return lmc + '' + lnkTxt + '' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '' + mail + '';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n","/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n //

tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n","showdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with

 content, so we need to fix that:\n    bq = bq.replace(/(\\s*
[^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n      var pre = m1;\n      // attacklab: hack around Konqueror 3.5.4 bug:\n      pre = pre.replace(/^  /mg, '¨0');\n      pre = pre.replace(/¨0/g, '');\n      return pre;\n    });\n\n    return showdown.subParser('hashBlock')('
\\n' + bq + '\\n
', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n","/**\n * Process Markdown `
` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n  // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '¨0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n    codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n    codeblock = showdown.subParser('detab')(codeblock, options, globals);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
' + codeblock + end + '
';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n","/**\n *\n * * Backtick quotes are used for spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n *

Just type foo `bar` baz at the prompt.

\n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type `bar` ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof(text) === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '' + c + '';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n","/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '\\n',\n title = '',\n charset = '\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '' + globals.metadata.parsed.title + '\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '\\n';\n } else {\n charset = '\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '\\n';\n break;\n\n default:\n metadata += '\\n';\n }\n }\n }\n\n text = doctypeParsed + '\\n\\n' + title + charset + metadata + '\\n\\n' + text.trim() + '\\n\\n';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n","/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n","showdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n","/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n","/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n","/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n","/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(//g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n","/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n","/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '
' + codeblock + end + '
';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n","showdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n","/**\n * Hash and escape elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked \n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, ']*>', '', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n","showdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n","showdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}', 'gm');\n\n // PHP and ASP-style processor instructions ( and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n","/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n","/**\n * Hash and escape
 elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n  'use strict';\n  text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n  var repFunc = function (wholeMatch, match, left, right) {\n    // encode html entities\n    var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n    return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n  };\n\n  // Hash 
\n  text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}]*>\\\\s*]*>', '^ {0,3}\\\\s*
', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n","showdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '' + span + '';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n","/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('
', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n","/**\n * Turn Markdown image shortcuts into tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '\"'x \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n","showdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n","/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '
  • a
  • \n // instead of:\n //
    • - - a
    \n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '' + item + '\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n","/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n","/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n","/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

    tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

    ');\n str += '

    ';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n","/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n","/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like ``\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this]().\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '
    \\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '
    \\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n","showdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '' + txt + '';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n","/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n","showdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '' + header + '\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '' + subText + '\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '\\n\\n\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '\\n\\n\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '\\n';\n }\n tb += '\\n
    \\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n","showdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n","/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n","var root = this;\n\n// AMD Loader\nif (typeof define === 'function' && define.amd) {\n define(function () {\n 'use strict';\n return showdown;\n });\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/options.js","../src/showdown.js","../src/helpers.js","../src/converter.js","../src/subParsers/anchors.js","../src/subParsers/autoLinks.js","../src/subParsers/blockGamut.js","../src/subParsers/blockQuotes.js","../src/subParsers/codeBlocks.js","../src/subParsers/codeSpans.js","../src/subParsers/completeHTMLDocument.js","../src/subParsers/detab.js","../src/subParsers/ellipsis.js","../src/subParsers/emoji.js","../src/subParsers/encodeAmpsAndAngles.js","../src/subParsers/encodeBackslashEscapes.js","../src/subParsers/encodeCode.js","../src/subParsers/escapeSpecialCharsWithinTagAttributes.js","../src/subParsers/githubCodeBlocks.js","../src/subParsers/hashBlock.js","../src/subParsers/hashCodeTags.js","../src/subParsers/hashElement.js","../src/subParsers/hashHTMLBlocks.js","../src/subParsers/hashHTMLSpans.js","../src/subParsers/hashPreCodeTags.js","../src/subParsers/headers.js","../src/subParsers/horizontalRule.js","../src/subParsers/images.js","../src/subParsers/italicsAndBold.js","../src/subParsers/lists.js","../src/subParsers/metadata.js","../src/subParsers/outdent.js","../src/subParsers/paragraphs.js","../src/subParsers/runExtension.js","../src/subParsers/spanGamut.js","../src/subParsers/strikethrough.js","../src/subParsers/stripLinkDefinitions.js","../src/subParsers/tables.js","../src/subParsers/underline.js","../src/subParsers/unescapeSpecialChars.js","../src/subParsers/makeMarkdown/blockquote.js","../src/subParsers/makeMarkdown/codeBlock.js","../src/subParsers/makeMarkdown/codeSpan.js","../src/subParsers/makeMarkdown/emphasis.js","../src/subParsers/makeMarkdown/header.js","../src/subParsers/makeMarkdown/hr.js","../src/subParsers/makeMarkdown/image.js","../src/subParsers/makeMarkdown/links.js","../src/subParsers/makeMarkdown/list.js","../src/subParsers/makeMarkdown/listItem.js","../src/subParsers/makeMarkdown/node.js","../src/subParsers/makeMarkdown/paragraph.js","../src/subParsers/makeMarkdown/pre.js","../src/subParsers/makeMarkdown/strikethrough.js","../src/subParsers/makeMarkdown/strong.js","../src/subParsers/makeMarkdown/table.js","../src/subParsers/makeMarkdown/tableCell.js","../src/subParsers/makeMarkdown/txt.js","../src/loader.js"],"names":[],"mappings":"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","file":"showdown.js","sourcesContent":["/**\n * Created by Tivie on 13-07-2015.\n */\n\nfunction getDefaultOpts (simple) {\n 'use strict';\n\n var defaultOptions = {\n omitExtraWLInCodeBlocks: {\n defaultValue: false,\n describe: 'Omit the default extra whiteline added to code blocks',\n type: 'boolean'\n },\n noHeaderId: {\n defaultValue: false,\n describe: 'Turn on/off generated header id',\n type: 'boolean'\n },\n prefixHeaderId: {\n defaultValue: false,\n describe: 'Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic \\'section-\\' prefix',\n type: 'string'\n },\n rawPrefixHeaderId: {\n defaultValue: false,\n describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the \" char is used in the prefix)',\n type: 'boolean'\n },\n ghCompatibleHeaderId: {\n defaultValue: false,\n describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)',\n type: 'boolean'\n },\n rawHeaderId: {\n defaultValue: false,\n describe: 'Remove only spaces, \\' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids',\n type: 'boolean'\n },\n headerLevelStart: {\n defaultValue: false,\n describe: 'The header blocks level start',\n type: 'integer'\n },\n parseImgDimensions: {\n defaultValue: false,\n describe: 'Turn on/off image dimension parsing',\n type: 'boolean'\n },\n simplifiedAutoLink: {\n defaultValue: false,\n describe: 'Turn on/off GFM autolink style',\n type: 'boolean'\n },\n excludeTrailingPunctuationFromURLs: {\n defaultValue: false,\n describe: 'Excludes trailing punctuation from links generated with autoLinking',\n type: 'boolean'\n },\n literalMidWordUnderscores: {\n defaultValue: false,\n describe: 'Parse midword underscores as literal underscores',\n type: 'boolean'\n },\n literalMidWordAsterisks: {\n defaultValue: false,\n describe: 'Parse midword asterisks as literal asterisks',\n type: 'boolean'\n },\n strikethrough: {\n defaultValue: false,\n describe: 'Turn on/off strikethrough support',\n type: 'boolean'\n },\n tables: {\n defaultValue: false,\n describe: 'Turn on/off tables support',\n type: 'boolean'\n },\n tablesHeaderId: {\n defaultValue: false,\n describe: 'Add an id to table headers',\n type: 'boolean'\n },\n ghCodeBlocks: {\n defaultValue: true,\n describe: 'Turn on/off GFM fenced code blocks support',\n type: 'boolean'\n },\n tasklists: {\n defaultValue: false,\n describe: 'Turn on/off GFM tasklist support',\n type: 'boolean'\n },\n smoothLivePreview: {\n defaultValue: false,\n describe: 'Prevents weird effects in live previews due to incomplete input',\n type: 'boolean'\n },\n smartIndentationFix: {\n defaultValue: false,\n description: 'Tries to smartly fix indentation in es6 strings',\n type: 'boolean'\n },\n disableForced4SpacesIndentedSublists: {\n defaultValue: false,\n description: 'Disables the requirement of indenting nested sublists by 4 spaces',\n type: 'boolean'\n },\n simpleLineBreaks: {\n defaultValue: false,\n description: 'Parses simple line breaks as
    (GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\
    foo\\
    ',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including ``, `` and `` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n","/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n","/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\n/**\n * Unescape HTML entities\n * @param txt\n * @returns {string}\n */\nshowdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt\n .replace(/"/g, '\"')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/&/g, '&');\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan \n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<>\", \"\"]\n * matchRecursiveRegExp(\"
    test
    \", \"]*>\", \"\", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n *\n * @param str\n * @param targetLength\n * @param padString\n * @returns {string}\n */\nshowdown.helper.padEnd = function padEnd (str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n targetLength = targetLength>>0; //floor if number or convert non-number to 0;\n /*jshint bitwise: true*/\n padString = String(padString || ' ');\n if (str.length > targetLength) {\n return String(str);\n } else {\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return String(str) + padString.slice(0,targetLength);\n }\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof(console) === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '\":octocat:\"',\n 'showdown': 'S'\n};\n","/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Converts an HTML string into a markdown string\n * @param src\n * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.\n * @returns {string}\n */\n this.makeMarkdown = this.makeMd = function (src, HTMLParser) {\n\n // replace \\r\\n with \\n\n src = src.replace(/\\r\\n/g, '\\n');\n src = src.replace(/\\r/g, '\\n'); // old macs\n\n // due to an edge case, we need to find this: > <\n // to prevent removing of non silent white spaces\n // ex: this is sparta\n src = src.replace(/>[ \\t]+¨NBSP;<');\n\n if (!HTMLParser) {\n if (window && window.document) {\n HTMLParser = window.document;\n } else {\n throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');\n }\n }\n\n var doc = HTMLParser.createElement('div');\n doc.innerHTML = src;\n\n var globals = {\n preList: substitutePreCodeTags(doc)\n };\n\n // remove all newlines and collapse spaces\n clean(doc);\n\n // some stuff, like accidental reference links must now be escaped\n // TODO\n // doc.innerHTML = doc.innerHTML.replace(/\\[[\\S\\t ]]/);\n\n var nodes = doc.childNodes,\n mdDoc = '';\n\n for (var i = 0; i < nodes.length; i++) {\n mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);\n }\n\n function clean (node) {\n for (var n = 0; n < node.childNodes.length; ++n) {\n var child = node.childNodes[n];\n if (child.nodeType === 3) {\n if (!/\\S/.test(child.nodeValue)) {\n node.removeChild(child);\n --n;\n } else {\n child.nodeValue = child.nodeValue.split('\\n').join(' ');\n child.nodeValue = child.nodeValue.replace(/(\\s)+/g, '$1');\n }\n } else if (child.nodeType === 1) {\n clean(child);\n }\n }\n }\n\n // find all pre tags and replace contents with placeholder\n // we need this so that we can remove all indentation from html\n // to ease up parsing\n function substitutePreCodeTags (doc) {\n\n var pres = doc.querySelectorAll('pre'),\n presPH = [];\n\n for (var i = 0; i < pres.length; ++i) {\n\n if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {\n var content = pres[i].firstChild.innerHTML.trim(),\n language = pres[i].firstChild.getAttribute('data-language') || '';\n\n // if data-language attribute is not defined, then we look for class language-*\n if (language === '') {\n var classes = pres[i].firstChild.className.split(' ');\n for (var c = 0; c < classes.length; ++c) {\n var matches = classes[c].match(/^language-(.+)$/);\n if (matches !== null) {\n language = matches[1];\n break;\n }\n }\n }\n\n // unescape html entities in content\n content = showdown.helper.unescapeHTMLEntities(content);\n\n presPH.push(content);\n pres[i].outerHTML = '';\n } else {\n presPH.push(pres[i].innerHTML);\n pres[i].innerHTML = '';\n pres[i].setAttribute('prenum', i.toString());\n }\n }\n return presPH;\n }\n\n return mdDoc;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n","/**\n * Turn Markdown link shortcuts into XHTML
    tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]??(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return st + '' + mentions + '';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n","// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return lmc + '' + lnkTxt + '' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '' + mail + '';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n","/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n //

    tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n","showdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with

     content, so we need to fix that:\n    bq = bq.replace(/(\\s*
    [^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n      var pre = m1;\n      // attacklab: hack around Konqueror 3.5.4 bug:\n      pre = pre.replace(/^  /mg, '¨0');\n      pre = pre.replace(/¨0/g, '');\n      return pre;\n    });\n\n    return showdown.subParser('hashBlock')('
    \\n' + bq + '\\n
    ', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n","/**\n * Process Markdown `
    ` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n  // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '¨0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n    codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n    codeblock = showdown.subParser('detab')(codeblock, options, globals);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
    ' + codeblock + end + '
    ';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n","/**\n *\n * * Backtick quotes are used for spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n *

    Just type foo `bar` baz at the prompt.

    \n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type `bar` ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof(text) === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '' + c + '';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n","/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '\\n',\n title = '',\n charset = '\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '' + globals.metadata.parsed.title + '\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '\\n';\n } else {\n charset = '\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '\\n';\n break;\n\n default:\n metadata += '\\n';\n }\n }\n }\n\n text = doctypeParsed + '\\n\\n' + title + charset + metadata + '\\n\\n' + text.trim() + '\\n\\n';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n","/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n","showdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n","/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n","/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n","/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n","/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(//g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n","/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n","/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '
    ' + codeblock + end + '
    ';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n","showdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n","/**\n * Hash and escape elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked \n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, ']*>', '', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n","showdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n","showdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}', 'gm');\n\n // PHP and ASP-style processor instructions ( and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n","/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n","/**\n * Hash and escape
     elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n  'use strict';\n  text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n  var repFunc = function (wholeMatch, match, left, right) {\n    // encode html entities\n    var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n    return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n  };\n\n  // Hash 
    \n  text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}]*>\\\\s*]*>', '^ {0,3}\\\\s*
    ', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n","showdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '' + span + '';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n","/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('
    ', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n","/**\n * Turn Markdown image shortcuts into tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '\"'x \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n","showdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n","/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '
  • a
  • \n // instead of:\n //
    • - - a
    \n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '' + item + '\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n","/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n","/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n","/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

    tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

    ');\n str += '

    ';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n","/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n","/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like ``\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this]().\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '
    \\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '
    \\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n","showdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '' + txt + '';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n","/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n","showdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '' + header + '\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '' + subText + '\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '\\n\\n\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '\\n\\n\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '\\n';\n }\n tb += '\\n
    \\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n","showdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n","/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n","showdown.subParser('makeMarkdown.blockquote', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);\n\n if (innerTxt === '') {\n continue;\n }\n txt += innerTxt;\n }\n }\n // cleanup\n txt = txt.trim();\n txt = '> ' + txt.split('\\n').join('\\n> ');\n return txt;\n});\n","showdown.subParser('makeMarkdown.codeBlock', function (node, globals) {\n 'use strict';\n\n var lang = node.getAttribute('language'),\n num = node.getAttribute('precodenum');\n return '```' + lang + '\\n' + globals.preList[num] + '\\n```';\n});\n","showdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n});\n","showdown.subParser('makeMarkdown.emphasis', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '*';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '*';\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {\n 'use strict';\n\n var headerMark = new Array(headerLevel + 1).join('#'),\n txt = '';\n\n if (node.hasChildNodes()) {\n txt = headerMark + ' ';\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n});\n","showdown.subParser('makeMarkdown.image', function (node) {\n 'use strict';\n\n var txt = '';\n if (node.hasAttribute('src')) {\n txt += '![' + node.getAttribute('alt') + '](';\n txt += '<' + node.getAttribute('src') + '>';\n if (node.hasAttribute('width') && node.hasAttribute('height')) {\n txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');\n }\n\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.links', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes() && node.hasAttribute('href')) {\n var children = node.childNodes,\n childrenLength = children.length;\n txt = '[';\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '](';\n txt += '<' + node.getAttribute('href') + '>';\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.list', function (node, globals, type) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var listItems = node.childNodes,\n listItemsLenght = listItems.length,\n listNum = node.getAttribute('start') || 1;\n\n for (var i = 0; i < listItemsLenght; ++i) {\n if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {\n continue;\n }\n\n // define the bullet to use in list\n var bullet = '';\n if (type === 'ol') {\n bullet = listNum.toString() + '. ';\n } else {\n bullet = '- ';\n }\n\n // parse list item\n txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);\n ++listNum;\n }\n\n // add comment at the end to prevent consecutive lists to be parsed as one\n txt += '\\n\\n';\n return txt.trim();\n});\n","showdown.subParser('makeMarkdown.listItem', function (node, globals) {\n 'use strict';\n\n var listItemTxt = '';\n\n var children = node.childNodes,\n childrenLenght = children.length;\n\n for (var i = 0; i < childrenLenght; ++i) {\n listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n // if it's only one liner, we need to add a newline at the end\n if (!/\\n$/.test(listItemTxt)) {\n listItemTxt += '\\n';\n } else {\n // it's multiparagraph, so we need to indent\n listItemTxt = listItemTxt\n .split('\\n')\n .join('\\n ')\n .replace(/^ {4}$/gm, '')\n .replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n});\n","\n\nshowdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {\n 'use strict';\n\n spansOnly = spansOnly || false;\n\n var txt = '';\n\n // edge case of text without wrapper paragraph\n if (node.nodeType === 3) {\n return showdown.subParser('makeMarkdown.txt')(node, globals);\n }\n\n // HTML comment\n if (node.nodeType === 8) {\n return '\\n\\n';\n }\n\n // process only node elements\n if (node.nodeType !== 1) {\n return '';\n }\n\n var tagName = node.tagName.toLowerCase();\n\n switch (tagName) {\n\n //\n // BLOCKS\n //\n case 'h1':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n'; }\n break;\n case 'h2':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n'; }\n break;\n case 'h3':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n'; }\n break;\n case 'h4':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n'; }\n break;\n case 'h5':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n'; }\n break;\n case 'h6':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n'; }\n break;\n\n case 'p':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n'; }\n break;\n\n case 'blockquote':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n'; }\n break;\n\n case 'hr':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n'; }\n break;\n\n case 'ol':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n'; }\n break;\n\n case 'ul':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n'; }\n break;\n\n case 'precode':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n'; }\n break;\n\n case 'pre':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n'; }\n break;\n\n case 'table':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\n'; }\n break;\n\n //\n // SPANS\n //\n case 'code':\n txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);\n break;\n\n case 'em':\n case 'i':\n txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);\n break;\n\n case 'strong':\n case 'b':\n txt = showdown.subParser('makeMarkdown.strong')(node, globals);\n break;\n\n case 'del':\n txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);\n break;\n\n case 'a':\n txt = showdown.subParser('makeMarkdown.links')(node, globals);\n break;\n\n case 'img':\n txt = showdown.subParser('makeMarkdown.image')(node, globals);\n break;\n\n default:\n txt = node.outerHTML + '\\n\\n';\n }\n\n // common normalization\n // TODO eventually\n\n return txt;\n});\n","showdown.subParser('makeMarkdown.paragraph', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n\n // some text normalization\n txt = txt.trim();\n\n return txt;\n});\n","showdown.subParser('makeMarkdown.pre', function (node, globals) {\n 'use strict';\n\n var num = node.getAttribute('prenum');\n return '
    ' + globals.preList[num] + '
    ';\n});\n","showdown.subParser('makeMarkdown.strikethrough', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '~~';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '~~';\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.strong', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '**';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '**';\n }\n return txt;\n});\n","showdown.subParser('makeMarkdown.table', function (node, globals) {\n 'use strict';\n\n var txt = '',\n tableArray = [[], []],\n headings = node.querySelectorAll('thead>tr>th'),\n rows = node.querySelectorAll('tbody>tr'),\n i, ii;\n for (i = 0; i < headings.length; ++i) {\n var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),\n allign = '---';\n\n if (headings[i].hasAttribute('style')) {\n var style = headings[i].getAttribute('style').toLowerCase().replace(/\\s/g, '');\n switch (style) {\n case 'text-align:left;':\n allign = ':---';\n break;\n case 'text-align:right;':\n allign = '---:';\n break;\n case 'text-align:center;':\n allign = ':---:';\n break;\n }\n }\n tableArray[0][i] = headContent.trim();\n tableArray[1][i] = allign;\n }\n\n for (i = 0; i < rows.length; ++i) {\n var r = tableArray.push([]) - 1,\n cols = rows[i].getElementsByTagName('td');\n\n for (ii = 0; ii < headings.length; ++ii) {\n var cellContent = ' ';\n if (typeof cols[ii] !== 'undefined') {\n cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);\n }\n tableArray[r].push(cellContent);\n }\n }\n\n var cellSpacesCount = 3;\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n var strLen = tableArray[i][ii].length;\n if (strLen > cellSpacesCount) {\n cellSpacesCount = strLen;\n }\n }\n }\n\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n if (i === 1) {\n if (tableArray[i][ii].slice(-1) === ':') {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');\n }\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);\n }\n }\n txt += '| ' + tableArray[i].join(' | ') + ' |\\n';\n }\n\n return txt.trim();\n});\n","showdown.subParser('makeMarkdown.tableCell', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);\n }\n return txt.trim();\n});\n","showdown.subParser('makeMarkdown.txt', function (node) {\n 'use strict';\n\n var txt = node.nodeValue;\n\n // multiple spaces are collapsed\n txt = txt.replace(/ +/g, ' ');\n\n // replace the custom ¨NBSP; with a space\n txt = txt.replace(/¨NBSP;/g, ' ');\n\n // \", <, > and & should replace escaped html entities\n txt = showdown.helper.unescapeHTMLEntities(txt);\n\n // escape markdown magic characters\n // emphasis, strong and strikethrough - can appear everywhere\n // we also escape pipe (|) because of tables\n // and escape ` because of code blocks and spans\n txt = txt.replace(/([*_~|`])/g, '\\\\$1');\n\n // escape > because of blockquotes\n txt = txt.replace(/^(\\s*)>/g, '\\\\$1>');\n\n // hash character, only troublesome at the beginning of a line because of headers\n txt = txt.replace(/^#/gm, '\\\\#');\n\n // horizontal rules\n txt = txt.replace(/^(\\s*)([-=]{3,})(\\s*)$/, '$1\\\\$2$3');\n\n // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer\n txt = txt.replace(/^( {0,3}\\d+)\\./gm, '$1\\\\.');\n\n // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)\n txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\\\$2');\n\n // images and links, ] followed by ( is problematic, so we escape it\n txt = txt.replace(/]([\\s]*)\\(/g, '\\\\]$1\\\\(');\n\n // reference URIs must also be escaped\n txt = txt.replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, '\\\\[$1]:');\n\n return txt;\n});\n","var root = this;\n\n// AMD Loader\nif (typeof define === 'function' && define.amd) {\n define(function () {\n 'use strict';\n return showdown;\n });\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n"]} \ No newline at end of file diff --git a/dist/showdown.min.js b/dist/showdown.min.js index 84d57d2a..ee0c0557 100644 --- a/dist/showdown.min.js +++ b/dist/showdown.min.js @@ -1,3 +1,3 @@ /*! showdown v 1.8.7 - 10-11-2018 */ -(function(){function e(e){"use strict";var r={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as
    (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex:
    foo
    ",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(r));var t={};for(var a in r)r.hasOwnProperty(a)&&(t[a]=r[a].defaultValue);return t}function r(e,r){"use strict";var t=r?"Error in "+r+" extension->":"Error in unnamed extension",n={valid:!0,error:""};a.helper.isArray(e)||(e=[e]);for(var s=0;s-1,p=new RegExp(r+"|"+t,"g"+c.replace(/g/g,"")),d=new RegExp(r,c.replace(/g/g,"")),h=[];do{for(n=0;o=p.exec(e);)if(d.test(o[0]))n++||(i=(s=p.lastIndex)-o[0].length);else if(n&&!--n){l=o.index+o[0].length;var _={left:{start:i,end:s},match:{start:s,end:o.index},right:{start:o.index,end:l},wholeMatch:{start:i,end:l}};if(h.push(_),!u)return h}}while(n&&(p.lastIndex=s));return h};a.helper.matchRecursiveRegExp=function(e,r,t,a){"use strict";for(var n=c(e,r,t,a),s=[],o=0;o0){var p=[];0!==i[0].wholeMatch.start&&p.push(e.slice(0,i[0].wholeMatch.start));for(var d=0;d=0?n+(t||0):n},a.helper.splitAtIndex=function(e,r){"use strict";if(!a.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,r),e.substring(r)]},a.helper.encodeEmailAddress=function(e){"use strict";var r=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,function(e){if("@"===e)e=r[Math.floor(2*Math.random())](e);else{var t=Math.random();e=t>.9?r[2](e):t>.45?r[1](e):r[0](e)}return e})},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),a.helper.regexes={asteriskDashAndColon:/([*_:~])/g},a.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:"S"},a.Converter=function(e){"use strict";function t(e,t){if(t=t||null,a.helper.isString(e)){if(e=a.helper.stdExtName(e),t=e,a.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,t){"function"==typeof e&&(e=e(new a.Converter));a.helper.isArray(e)||(e=[e]);var n=r(e,t);if(!n.valid)throw Error(n.error);for(var s=0;s? ?(['"].*['"])?\)$/m)>-1)o="";else if(!o){if(s||(s=n.toLowerCase().replace(/ ?\n/g," ")),o="#"+s,a.helper.isUndefined(t.gUrls[s]))return e;o=t.gUrls[s],a.helper.isUndefined(t.gTitles[s])||(c=t.gTitles[s])}var u='
    "};return e=(e=t.converter._dispatch("anchors.before",e,r,t)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[([^\[\]]+)]()()()()()/g,n),r.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,function(e,t,n,s,o){if("\\"===n)return t+s;if(!a.helper.isString(r.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var i=r.ghMentionsLink.replace(/\{u}/g,o),l="";return r.openLinksInNewWindow&&(l=' target="¨E95Eblank"'),t+'"+s+""})),e=t.converter._dispatch("anchors.after",e,r,t)});var u=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,p=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,d=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,h=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,_=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,g=function(e){"use strict";return function(r,t,n,s,o,i,l){var c=n=n.replace(a.helper.regexes.asteriskDashAndColon,a.helper.escapeCharactersCallback),u="",p="",d=t||"",h=l||"";return/^www\./i.test(n)&&(n=n.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&i&&(u=i),e.openLinksInNewWindow&&(p=' target="¨E95Eblank"'),d+'"+c+""+u+h}},m=function(e,r){"use strict";return function(t,n,s){var o="mailto:";return n=n||"",s=a.subParser("unescapeSpecialChars")(s,e,r),e.encodeEmails?(o=a.helper.encodeEmailAddress(o+s),s=a.helper.encodeEmailAddress(s)):o+=s,n+''+s+""}};a.subParser("autoLinks",function(e,r,t){"use strict";return e=t.converter._dispatch("autoLinks.before",e,r,t),e=e.replace(d,g(r)),e=e.replace(_,m(r,t)),e=t.converter._dispatch("autoLinks.after",e,r,t)}),a.subParser("simplifiedAutoLinks",function(e,r,t){"use strict";return r.simplifiedAutoLink?(e=t.converter._dispatch("simplifiedAutoLinks.before",e,r,t),e=r.excludeTrailingPunctuationFromURLs?e.replace(p,g(r)):e.replace(u,g(r)),e=e.replace(h,m(r,t)),e=t.converter._dispatch("simplifiedAutoLinks.after",e,r,t)):e}),a.subParser("blockGamut",function(e,r,t){"use strict";return e=t.converter._dispatch("blockGamut.before",e,r,t),e=a.subParser("blockQuotes")(e,r,t),e=a.subParser("headers")(e,r,t),e=a.subParser("horizontalRule")(e,r,t),e=a.subParser("lists")(e,r,t),e=a.subParser("codeBlocks")(e,r,t),e=a.subParser("tables")(e,r,t),e=a.subParser("hashHTMLBlocks")(e,r,t),e=a.subParser("paragraphs")(e,r,t),e=t.converter._dispatch("blockGamut.after",e,r,t)}),a.subParser("blockQuotes",function(e,r,t){"use strict";e=t.converter._dispatch("blockQuotes.before",e,r,t),e+="\n\n";var n=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return r.splitAdjacentBlockquotes&&(n=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(n,function(e){return e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/¨0/g,""),e=e.replace(/^[ \t]+$/gm,""),e=a.subParser("githubCodeBlocks")(e,r,t),e=a.subParser("blockGamut")(e,r,t),e=e.replace(/(^|\n)/g,"$1 "),e=e.replace(/(\s*
    [^\r]+?<\/pre>)/gm,function(e,r){var t=r;return t=t.replace(/^  /gm,"¨0"),t=t.replace(/¨0/g,"")}),a.subParser("hashBlock")("
    \n"+e+"\n
    ",r,t)}),e=t.converter._dispatch("blockQuotes.after",e,r,t)}),a.subParser("codeBlocks",function(e,r,t){"use strict";e=t.converter._dispatch("codeBlocks.before",e,r,t);return e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,function(e,n,s){var o=n,i=s,l="\n";return o=a.subParser("outdent")(o,r,t),o=a.subParser("encodeCode")(o,r,t),o=a.subParser("detab")(o,r,t),o=o.replace(/^\n+/g,""),o=o.replace(/\n+$/g,""),r.omitExtraWLInCodeBlocks&&(l=""),o="
    "+o+l+"
    ",a.subParser("hashBlock")(o,r,t)+i}),e=e.replace(/¨0/,""),e=t.converter._dispatch("codeBlocks.after",e,r,t)}),a.subParser("codeSpans",function(e,r,t){"use strict";return void 0===(e=t.converter._dispatch("codeSpans.before",e,r,t))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(e,n,s,o){var i=o;return i=i.replace(/^([ \t]*)/g,""),i=i.replace(/[ \t]*$/g,""),i=a.subParser("encodeCode")(i,r,t),i=n+""+i+"",i=a.subParser("hashHTMLSpans")(i,r,t)}),e=t.converter._dispatch("codeSpans.after",e,r,t)}),a.subParser("completeHTMLDocument",function(e,r,t){"use strict";if(!r.completeHTMLDocument)return e;e=t.converter._dispatch("completeHTMLDocument.before",e,r,t);var a="html",n="\n",s="",o='\n',i="",l="";void 0!==t.metadata.parsed.doctype&&(n="\n","html"!==(a=t.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==a||(o=''));for(var c in t.metadata.parsed)if(t.metadata.parsed.hasOwnProperty(c))switch(c.toLowerCase()){case"doctype":break;case"title":s=""+t.metadata.parsed.title+"\n";break;case"charset":o="html"===a||"html5"===a?'\n':'\n';break;case"language":case"lang":i=' lang="'+t.metadata.parsed[c]+'"',l+='\n';break;default:l+='\n'}return e=n+"\n\n"+s+o+l+"\n\n"+e.trim()+"\n\n",e=t.converter._dispatch("completeHTMLDocument.after",e,r,t)}),a.subParser("detab",function(e,r,t){"use strict";return e=t.converter._dispatch("detab.before",e,r,t),e=e.replace(/\t(?=\t)/g," "),e=e.replace(/\t/g,"¨A¨B"),e=e.replace(/¨B(.+?)¨A/g,function(e,r){for(var t=r,a=4-t.length%4,n=0;n/g,">"),e=t.converter._dispatch("encodeAmpsAndAngles.after",e,r,t)}),a.subParser("encodeBackslashEscapes",function(e,r,t){"use strict";return e=t.converter._dispatch("encodeBackslashEscapes.before",e,r,t),e=e.replace(/\\(\\)/g,a.helper.escapeCharactersCallback),e=e.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("encodeBackslashEscapes.after",e,r,t)}),a.subParser("encodeCode",function(e,r,t){"use strict";return e=t.converter._dispatch("encodeCode.before",e,r,t),e=e.replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("encodeCode.after",e,r,t)}),a.subParser("escapeSpecialCharsWithinTagAttributes",function(e,r,t){"use strict";return e=(e=t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,r,t)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,a.helper.escapeCharactersCallback)}),e=e.replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,function(e){return e.replace(/([\\`*_~=|])/g,a.helper.escapeCharactersCallback)}),e=t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,r,t)}),a.subParser("githubCodeBlocks",function(e,r,t){"use strict";return r.ghCodeBlocks?(e=t.converter._dispatch("githubCodeBlocks.before",e,r,t),e+="¨0",e=e.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(e,n,s,o){var i=r.omitExtraWLInCodeBlocks?"":"\n";return o=a.subParser("encodeCode")(o,r,t),o=a.subParser("detab")(o,r,t),o=o.replace(/^\n+/g,""),o=o.replace(/\n+$/g,""),o="
    "+o+i+"
    ",o=a.subParser("hashBlock")(o,r,t),"\n\n¨G"+(t.ghCodeBlocks.push({text:e,codeblock:o})-1)+"G\n\n"}),e=e.replace(/¨0/,""),t.converter._dispatch("githubCodeBlocks.after",e,r,t)):e}),a.subParser("hashBlock",function(e,r,t){"use strict";return e=t.converter._dispatch("hashBlock.before",e,r,t),e=e.replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(t.gHtmlBlocks.push(e)-1)+"K\n\n",e=t.converter._dispatch("hashBlock.after",e,r,t)}),a.subParser("hashCodeTags",function(e,r,t){"use strict";e=t.converter._dispatch("hashCodeTags.before",e,r,t);return e=a.helper.replaceRecursiveRegExp(e,function(e,n,s,o){var i=s+a.subParser("encodeCode")(n,r,t)+o;return"¨C"+(t.gHtmlSpans.push(i)-1)+"C"},"]*>","
    ","gim"),e=t.converter._dispatch("hashCodeTags.after",e,r,t)}),a.subParser("hashElement",function(e,r,t){"use strict";return function(e,r){var a=r;return a=a.replace(/\n\n/g,"\n"),a=a.replace(/^\n/,""),a=a.replace(/\n+$/g,""),a="\n\n¨K"+(t.gHtmlBlocks.push(a)-1)+"K\n\n"}}),a.subParser("hashHTMLBlocks",function(e,r,t){"use strict";e=t.converter._dispatch("hashHTMLBlocks.before",e,r,t);var n=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],s=function(e,r,a,n){var s=e;return-1!==a.search(/\bmarkdown\b/)&&(s=a+t.converter.makeHtml(r)+n),"\n\n¨K"+(t.gHtmlBlocks.push(s)-1)+"K\n\n"};r.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,function(e,r){return"<"+r+">"}));for(var o=0;o]*>)","im"),c="<"+n[o]+"\\b[^>]*>",u="";-1!==(i=a.helper.regexIndexOf(e,l));){var p=a.helper.splitAtIndex(e,i),d=a.helper.replaceRecursiveRegExp(p[1],s,c,u,"im");if(d===p[1])break;e=p[0].concat(d)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,a.subParser("hashElement")(e,r,t)),e=a.helper.replaceRecursiveRegExp(e,function(e){return"\n\n¨K"+(t.gHtmlBlocks.push(e)-1)+"K\n\n"},"^ {0,3}\x3c!--","--\x3e","gm"),e=e.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,a.subParser("hashElement")(e,r,t)),e=t.converter._dispatch("hashHTMLBlocks.after",e,r,t)}),a.subParser("hashHTMLSpans",function(e,r,t){"use strict";function a(e){return"¨C"+(t.gHtmlSpans.push(e)-1)+"C"}return e=t.converter._dispatch("hashHTMLSpans.before",e,r,t),e=e.replace(/<[^>]+?\/>/gi,function(e){return a(e)}),e=e.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(e){return a(e)}),e=e.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(e){return a(e)}),e=e.replace(/<[^>]+?>/gi,function(e){return a(e)}),e=t.converter._dispatch("hashHTMLSpans.after",e,r,t)}),a.subParser("unhashHTMLSpans",function(e,r,t){"use strict";e=t.converter._dispatch("unhashHTMLSpans.before",e,r,t);for(var a=0;a]*>\\s*]*>","^ {0,3}\\s*
    ","gim"),e=t.converter._dispatch("hashPreCodeTags.after",e,r,t)}),a.subParser("headers",function(e,r,t){"use strict";function n(e){var n,s;if(r.customizedHeaderId){var o=e.match(/\{([^{]+?)}\s*$/);o&&o[1]&&(e=o[1])}return n=e,s=a.helper.isString(r.prefixHeaderId)?r.prefixHeaderId:!0===r.prefixHeaderId?"section-":"",r.rawPrefixHeaderId||(n=s+n),n=r.ghCompatibleHeaderId?n.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():r.rawHeaderId?n.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():n.replace(/[^\w]/g,"").toLowerCase(),r.rawPrefixHeaderId&&(n=s+n),t.hashLinkCounts[n]?n=n+"-"+t.hashLinkCounts[n]++:t.hashLinkCounts[n]=1,n}e=t.converter._dispatch("headers.before",e,r,t);var s=isNaN(parseInt(r.headerLevelStart))?1:parseInt(r.headerLevelStart),o=r.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,i=r.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=(e=e.replace(o,function(e,o){var i=a.subParser("spanGamut")(o,r,t),l=r.noHeaderId?"":' id="'+n(o)+'"',c=""+i+"";return a.subParser("hashBlock")(c,r,t)})).replace(i,function(e,o){var i=a.subParser("spanGamut")(o,r,t),l=r.noHeaderId?"":' id="'+n(o)+'"',c=s+1,u=""+i+"";return a.subParser("hashBlock")(u,r,t)});var l=r.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;return e=e.replace(l,function(e,o,i){var l=i;r.customizedHeaderId&&(l=i.replace(/\s?\{([^{]+?)}\s*$/,""));var c=a.subParser("spanGamut")(l,r,t),u=r.noHeaderId?"":' id="'+n(i)+'"',p=s-1+o.length,d=""+c+"";return a.subParser("hashBlock")(d,r,t)}),e=t.converter._dispatch("headers.after",e,r,t)}),a.subParser("horizontalRule",function(e,r,t){"use strict";e=t.converter._dispatch("horizontalRule.before",e,r,t);var n=a.subParser("hashBlock")("
    ",r,t);return e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,n),e=t.converter._dispatch("horizontalRule.after",e,r,t)}),a.subParser("images",function(e,r,t){"use strict";function n(e,r,n,s,o,i,l,c){var u=t.gUrls,p=t.gTitles,d=t.gDimensions;if(n=n.toLowerCase(),c||(c=""),e.search(/\(? ?(['"].*['"])?\)$/m)>-1)s="";else if(""===s||null===s){if(""!==n&&null!==n||(n=r.toLowerCase().replace(/ ?\n/g," ")),s="#"+n,a.helper.isUndefined(u[n]))return e;s=u[n],a.helper.isUndefined(p[n])||(c=p[n]),a.helper.isUndefined(d[n])||(o=d[n].width,i=d[n].height)}r=r.replace(/"/g,""").replace(a.helper.regexes.asteriskDashAndColon,a.helper.escapeCharactersCallback);var h=''+r+'"}return e=(e=t.converter._dispatch("images.before",e,r,t)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,n),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,function(e,r,t,a,s,o,i,l){return a=a.replace(/\s/g,""),n(e,r,t,a,s,o,0,l)}),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,n),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,n),e=e.replace(/!\[([^\[\]]+)]()()()()()/g,n),e=t.converter._dispatch("images.after",e,r,t)}),a.subParser("italicsAndBold",function(e,r,t){"use strict";function a(e,r,t){return r+e+t}return e=t.converter._dispatch("italicsAndBold.before",e,r,t),e=r.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,r){return a(r,"","")})).replace(/\b__(\S[\s\S]*?)__\b/g,function(e,r){return a(r,"","")})).replace(/\b_(\S[\s\S]*?)_\b/g,function(e,r){return a(r,"","")}):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/__(\S[\s\S]*?)__/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/_([^\s_][\s\S]*?)_/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e}),e=r.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")})).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")})).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")}):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/\*\*(\S[\s\S]*?)\*\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/\*([^\s*][\s\S]*?)\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e}),e=t.converter._dispatch("italicsAndBold.after",e,r,t)}),a.subParser("lists",function(e,r,t){"use strict";function n(e,n){t.gListLevel++,e=e.replace(/\n{2,}$/,"\n");var s=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,o=/\n[ \t]*\n(?!¨0)/.test(e+="¨0");return r.disableForced4SpacesIndentedSublists&&(s=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=e.replace(s,function(e,n,s,i,l,c,u){u=u&&""!==u.trim();var p=a.subParser("outdent")(l,r,t),d="";return c&&r.tasklists&&(d=' class="task-list-item" style="list-style-type: none;"',p=p.replace(/^[ \t]*\[(x|X| )?]/m,function(){var e='-1?(p=a.subParser("githubCodeBlocks")(p,r,t),p=a.subParser("blockGamut")(p,r,t)):(p=(p=a.subParser("lists")(p,r,t)).replace(/\n$/,""),p=(p=a.subParser("hashHTMLBlocks")(p,r,t)).replace(/\n\n+/g,"\n\n"),p=o?a.subParser("paragraphs")(p,r,t):a.subParser("spanGamut")(p,r,t)),p=p.replace("¨A",""),p=""+p+"\n"}),e=e.replace(/¨0/g,""),t.gListLevel--,n&&(e=e.replace(/\s+$/,"")),e}function s(e,r){if("ol"===r){var t=e.match(/^ *(\d+)\./);if(t&&"1"!==t[1])return' start="'+t[1]+'"'}return""}function o(e,t,a){var o=r.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,i=r.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,l="ul"===t?o:i,c="";if(-1!==e.search(l))!function r(u){var p=u.search(l),d=s(e,t);-1!==p?(c+="\n\n<"+t+d+">\n"+n(u.slice(0,p),!!a)+"\n",l="ul"===(t="ul"===t?"ol":"ul")?o:i,r(u.slice(p))):c+="\n\n<"+t+d+">\n"+n(u,!!a)+"\n"}(e);else{var u=s(e,t);c="\n\n<"+t+u+">\n"+n(e,!!a)+"\n"}return c}return e=t.converter._dispatch("lists.before",e,r,t),e+="¨0",e=t.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,r,t){return o(r,t.search(/[*+-]/g)>-1?"ul":"ol",!0)}):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,r,t,a){return o(t,a.search(/[*+-]/g)>-1?"ul":"ol",!1)}),e=e.replace(/¨0/,""),e=t.converter._dispatch("lists.after",e,r,t)}),a.subParser("metadata",function(e,r,t){"use strict";function a(e){t.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,function(e,r,a){return t.metadata.parsed[r]=a,""})}return r.metadata?(e=t.converter._dispatch("metadata.before",e,r,t),e=e.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(e,r,t){return a(t),"¨M"}),e=e.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(e,r,n){return r&&(t.metadata.format=r),a(n),"¨M"}),e=e.replace(/¨M/g,""),e=t.converter._dispatch("metadata.after",e,r,t)):e}),a.subParser("outdent",function(e,r,t){"use strict";return e=t.converter._dispatch("outdent.before",e,r,t),e=e.replace(/^(\t|[ ]{1,4})/gm,"¨0"),e=e.replace(/¨0/g,""),e=t.converter._dispatch("outdent.after",e,r,t)}),a.subParser("paragraphs",function(e,r,t){"use strict";for(var n=(e=(e=(e=t.converter._dispatch("paragraphs.before",e,r,t)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),s=[],o=n.length,i=0;i=0?s.push(l):l.search(/\S/)>=0&&(l=(l=a.subParser("spanGamut")(l,r,t)).replace(/^([ \t]*)/g,"

    "),l+="

    ",s.push(l))}for(o=s.length,i=0;i]*>\s*]*>/.test(u)&&(p=!0)}s[i]=u}return e=s.join("\n"),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),t.converter._dispatch("paragraphs.after",e,r,t)}),a.subParser("runExtension",function(e,r,t,a){"use strict";if(e.filter)r=e.filter(r,a.converter,t);else if(e.regex){var n=e.regex;n instanceof RegExp||(n=new RegExp(n,"g")),r=r.replace(n,e.replace)}return r}),a.subParser("spanGamut",function(e,r,t){"use strict";return e=t.converter._dispatch("spanGamut.before",e,r,t),e=a.subParser("codeSpans")(e,r,t),e=a.subParser("escapeSpecialCharsWithinTagAttributes")(e,r,t),e=a.subParser("encodeBackslashEscapes")(e,r,t),e=a.subParser("images")(e,r,t),e=a.subParser("anchors")(e,r,t),e=a.subParser("autoLinks")(e,r,t),e=a.subParser("simplifiedAutoLinks")(e,r,t),e=a.subParser("emoji")(e,r,t),e=a.subParser("underline")(e,r,t),e=a.subParser("italicsAndBold")(e,r,t),e=a.subParser("strikethrough")(e,r,t),e=a.subParser("ellipsis")(e,r,t),e=a.subParser("hashHTMLSpans")(e,r,t),e=a.subParser("encodeAmpsAndAngles")(e,r,t),r.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
    \n")):e=e.replace(/ +\n/g,"
    \n"),e=t.converter._dispatch("spanGamut.after",e,r,t)}),a.subParser("strikethrough",function(e,r,t){"use strict";return r.strikethrough&&(e=(e=t.converter._dispatch("strikethrough.before",e,r,t)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(e,n){return function(e){return r.simplifiedAutoLink&&(e=a.subParser("simplifiedAutoLinks")(e,r,t)),""+e+""}(n)}),e=t.converter._dispatch("strikethrough.after",e,r,t)),e}),a.subParser("stripLinkDefinitions",function(e,r,t){"use strict";var n=function(e,n,s,o,i,l,c){return n=n.toLowerCase(),s.match(/^data:.+?\/.+?;base64,/)?t.gUrls[n]=s.replace(/\s/g,""):t.gUrls[n]=a.subParser("encodeAmpsAndAngles")(s,r,t),l?l+c:(c&&(t.gTitles[n]=c.replace(/"|'/g,""")),r.parseImgDimensions&&o&&i&&(t.gDimensions[n]={width:o,height:i}),"")};return e=(e+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,n),e=e.replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,n),e=e.replace(/¨0/,"")}),a.subParser("tables",function(e,r,t){"use strict";function n(e){return/^:[ \t]*--*$/.test(e)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(e)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(e)?' style="text-align:center;"':""}function s(e,n){var s="";return e=e.trim(),(r.tablesHeaderId||r.tableHeaderId)&&(s=' id="'+e.replace(/ /g,"_").toLowerCase()+'"'),e=a.subParser("spanGamut")(e,r,t),""+e+"\n"}function o(e,n){return""+a.subParser("spanGamut")(e,r,t)+"\n"}function i(e){var i,l=e.split("\n");for(i=0;i\n\n\n",n=0;n\n";for(var s=0;s\n"}return t+="\n\n"}(d,_)}if(!r.tables)return e;return e=t.converter._dispatch("tables.before",e,r,t),e=e.replace(/\\(\|)/g,a.helper.escapeCharactersCallback),e=e.replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,i),e=e.replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,i),e=t.converter._dispatch("tables.after",e,r,t)}),a.subParser("underline",function(e,r,t){"use strict";return r.underline?(e=t.converter._dispatch("underline.before",e,r,t),e=r.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,r){return""+r+""})).replace(/\b__(\S[\s\S]*?)__\b/g,function(e,r){return""+r+""}):(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,r){return/\S$/.test(r)?""+r+"":e})).replace(/__(\S[\s\S]*?)__/g,function(e,r){return/\S$/.test(r)?""+r+"":e}),e=e.replace(/(_)/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("underline.after",e,r,t)):e}),a.subParser("unescapeSpecialChars",function(e,r,t){"use strict";return e=t.converter._dispatch("unescapeSpecialChars.before",e,r,t),e=e.replace(/¨E(\d+)E/g,function(e,r){var t=parseInt(r);return String.fromCharCode(t)}),e=t.converter._dispatch("unescapeSpecialChars.after",e,r,t)});"function"==typeof define&&define.amd?define(function(){"use strict";return a}):"undefined"!=typeof module&&module.exports?module.exports=a:this.showdown=a}).call(this); +(function(){function e(e){"use strict";var r={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as
    (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex:
    foo
    ",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(r));var t={};for(var a in r)r.hasOwnProperty(a)&&(t[a]=r[a].defaultValue);return t}function r(e,r){"use strict";var t=r?"Error in "+r+" extension->":"Error in unnamed extension",n={valid:!0,error:""};a.helper.isArray(e)||(e=[e]);for(var s=0;s").replace(/&/g,"&")};var c=function(e,r,t,a){"use strict";var n,s,o,i,l,c=a||"",u=c.indexOf("g")>-1,d=new RegExp(r+"|"+t,"g"+c.replace(/g/g,"")),p=new RegExp(r,c.replace(/g/g,"")),h=[];do{for(n=0;o=d.exec(e);)if(p.test(o[0]))n++||(i=(s=d.lastIndex)-o[0].length);else if(n&&!--n){l=o.index+o[0].length;var _={left:{start:i,end:s},match:{start:s,end:o.index},right:{start:o.index,end:l},wholeMatch:{start:i,end:l}};if(h.push(_),!u)return h}}while(n&&(d.lastIndex=s));return h};a.helper.matchRecursiveRegExp=function(e,r,t,a){"use strict";for(var n=c(e,r,t,a),s=[],o=0;o0){var d=[];0!==i[0].wholeMatch.start&&d.push(e.slice(0,i[0].wholeMatch.start));for(var p=0;p=0?n+(t||0):n},a.helper.splitAtIndex=function(e,r){"use strict";if(!a.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,r),e.substring(r)]},a.helper.encodeEmailAddress=function(e){"use strict";var r=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,function(e){if("@"===e)e=r[Math.floor(2*Math.random())](e);else{var t=Math.random();e=t>.9?r[2](e):t>.45?r[1](e):r[0](e)}return e})},a.helper.padEnd=function(e,r,t){"use strict";return r>>=0,t=String(t||" "),e.length>r?String(e):((r-=e.length)>t.length&&(t+=t.repeat(r/t.length)),String(e)+t.slice(0,r))},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),a.helper.regexes={asteriskDashAndColon:/([*_:~])/g},a.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:"S"},a.Converter=function(e){"use strict";function t(e,t){if(t=t||null,a.helper.isString(e)){if(e=a.helper.stdExtName(e),t=e,a.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,t){"function"==typeof e&&(e=e(new a.Converter));a.helper.isArray(e)||(e=[e]);var n=r(e,t);if(!n.valid)throw Error(n.error);for(var s=0;s[ \t]+¨NBSP;<"),!r){if(!window||!window.document)throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");r=window.document}var n=r.createElement("div");n.innerHTML=e;var s={preList:function(e){for(var r=e.querySelectorAll("pre"),t=[],n=0;n'}else t.push(r[n].innerHTML),r[n].innerHTML="",r[n].setAttribute("prenum",n.toString());return t}(n)};t(n);for(var o=n.childNodes,i="",l=0;l? ?(['"].*['"])?\)$/m)>-1)o="";else if(!o){if(s||(s=n.toLowerCase().replace(/ ?\n/g," ")),o="#"+s,a.helper.isUndefined(t.gUrls[s]))return e;o=t.gUrls[s],a.helper.isUndefined(t.gTitles[s])||(c=t.gTitles[s])}var u='"};return e=(e=t.converter._dispatch("anchors.before",e,r,t)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n),e=e.replace(/\[([^\[\]]+)]()()()()()/g,n),r.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,function(e,t,n,s,o){if("\\"===n)return t+s;if(!a.helper.isString(r.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var i=r.ghMentionsLink.replace(/\{u}/g,o),l="";return r.openLinksInNewWindow&&(l=' target="¨E95Eblank"'),t+'"+s+""})),e=t.converter._dispatch("anchors.after",e,r,t)});var u=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,d=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,p=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,h=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,_=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,g=function(e){"use strict";return function(r,t,n,s,o,i,l){var c=n=n.replace(a.helper.regexes.asteriskDashAndColon,a.helper.escapeCharactersCallback),u="",d="",p=t||"",h=l||"";return/^www\./i.test(n)&&(n=n.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&i&&(u=i),e.openLinksInNewWindow&&(d=' target="¨E95Eblank"'),p+'"+c+""+u+h}},m=function(e,r){"use strict";return function(t,n,s){var o="mailto:";return n=n||"",s=a.subParser("unescapeSpecialChars")(s,e,r),e.encodeEmails?(o=a.helper.encodeEmailAddress(o+s),s=a.helper.encodeEmailAddress(s)):o+=s,n+''+s+""}};a.subParser("autoLinks",function(e,r,t){"use strict";return e=t.converter._dispatch("autoLinks.before",e,r,t),e=e.replace(p,g(r)),e=e.replace(_,m(r,t)),e=t.converter._dispatch("autoLinks.after",e,r,t)}),a.subParser("simplifiedAutoLinks",function(e,r,t){"use strict";return r.simplifiedAutoLink?(e=t.converter._dispatch("simplifiedAutoLinks.before",e,r,t),e=r.excludeTrailingPunctuationFromURLs?e.replace(d,g(r)):e.replace(u,g(r)),e=e.replace(h,m(r,t)),e=t.converter._dispatch("simplifiedAutoLinks.after",e,r,t)):e}),a.subParser("blockGamut",function(e,r,t){"use strict";return e=t.converter._dispatch("blockGamut.before",e,r,t),e=a.subParser("blockQuotes")(e,r,t),e=a.subParser("headers")(e,r,t),e=a.subParser("horizontalRule")(e,r,t),e=a.subParser("lists")(e,r,t),e=a.subParser("codeBlocks")(e,r,t),e=a.subParser("tables")(e,r,t),e=a.subParser("hashHTMLBlocks")(e,r,t),e=a.subParser("paragraphs")(e,r,t),e=t.converter._dispatch("blockGamut.after",e,r,t)}),a.subParser("blockQuotes",function(e,r,t){"use strict";e=t.converter._dispatch("blockQuotes.before",e,r,t),e+="\n\n";var n=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return r.splitAdjacentBlockquotes&&(n=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(n,function(e){return e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/¨0/g,""),e=e.replace(/^[ \t]+$/gm,""),e=a.subParser("githubCodeBlocks")(e,r,t),e=a.subParser("blockGamut")(e,r,t),e=e.replace(/(^|\n)/g,"$1 "),e=e.replace(/(\s*
    [^\r]+?<\/pre>)/gm,function(e,r){var t=r;return t=t.replace(/^  /gm,"¨0"),t=t.replace(/¨0/g,"")}),a.subParser("hashBlock")("
    \n"+e+"\n
    ",r,t)}),e=t.converter._dispatch("blockQuotes.after",e,r,t)}),a.subParser("codeBlocks",function(e,r,t){"use strict";e=t.converter._dispatch("codeBlocks.before",e,r,t);return e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,function(e,n,s){var o=n,i=s,l="\n";return o=a.subParser("outdent")(o,r,t),o=a.subParser("encodeCode")(o,r,t),o=a.subParser("detab")(o,r,t),o=o.replace(/^\n+/g,""),o=o.replace(/\n+$/g,""),r.omitExtraWLInCodeBlocks&&(l=""),o="
    "+o+l+"
    ",a.subParser("hashBlock")(o,r,t)+i}),e=e.replace(/¨0/,""),e=t.converter._dispatch("codeBlocks.after",e,r,t)}),a.subParser("codeSpans",function(e,r,t){"use strict";return void 0===(e=t.converter._dispatch("codeSpans.before",e,r,t))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(e,n,s,o){var i=o;return i=i.replace(/^([ \t]*)/g,""),i=i.replace(/[ \t]*$/g,""),i=a.subParser("encodeCode")(i,r,t),i=n+""+i+"",i=a.subParser("hashHTMLSpans")(i,r,t)}),e=t.converter._dispatch("codeSpans.after",e,r,t)}),a.subParser("completeHTMLDocument",function(e,r,t){"use strict";if(!r.completeHTMLDocument)return e;e=t.converter._dispatch("completeHTMLDocument.before",e,r,t);var a="html",n="\n",s="",o='\n',i="",l="";void 0!==t.metadata.parsed.doctype&&(n="\n","html"!==(a=t.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==a||(o=''));for(var c in t.metadata.parsed)if(t.metadata.parsed.hasOwnProperty(c))switch(c.toLowerCase()){case"doctype":break;case"title":s=""+t.metadata.parsed.title+"\n";break;case"charset":o="html"===a||"html5"===a?'\n':'\n';break;case"language":case"lang":i=' lang="'+t.metadata.parsed[c]+'"',l+='\n';break;default:l+='\n'}return e=n+"\n\n"+s+o+l+"\n\n"+e.trim()+"\n\n",e=t.converter._dispatch("completeHTMLDocument.after",e,r,t)}),a.subParser("detab",function(e,r,t){"use strict";return e=t.converter._dispatch("detab.before",e,r,t),e=e.replace(/\t(?=\t)/g," "),e=e.replace(/\t/g,"¨A¨B"),e=e.replace(/¨B(.+?)¨A/g,function(e,r){for(var t=r,a=4-t.length%4,n=0;n/g,">"),e=t.converter._dispatch("encodeAmpsAndAngles.after",e,r,t)}),a.subParser("encodeBackslashEscapes",function(e,r,t){"use strict";return e=t.converter._dispatch("encodeBackslashEscapes.before",e,r,t),e=e.replace(/\\(\\)/g,a.helper.escapeCharactersCallback),e=e.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("encodeBackslashEscapes.after",e,r,t)}),a.subParser("encodeCode",function(e,r,t){"use strict";return e=t.converter._dispatch("encodeCode.before",e,r,t),e=e.replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("encodeCode.after",e,r,t)}),a.subParser("escapeSpecialCharsWithinTagAttributes",function(e,r,t){"use strict";return e=(e=t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,r,t)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,a.helper.escapeCharactersCallback)}),e=e.replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,function(e){return e.replace(/([\\`*_~=|])/g,a.helper.escapeCharactersCallback)}),e=t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,r,t)}),a.subParser("githubCodeBlocks",function(e,r,t){"use strict";return r.ghCodeBlocks?(e=t.converter._dispatch("githubCodeBlocks.before",e,r,t),e+="¨0",e=e.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(e,n,s,o){var i=r.omitExtraWLInCodeBlocks?"":"\n";return o=a.subParser("encodeCode")(o,r,t),o=a.subParser("detab")(o,r,t),o=o.replace(/^\n+/g,""),o=o.replace(/\n+$/g,""),o="
    "+o+i+"
    ",o=a.subParser("hashBlock")(o,r,t),"\n\n¨G"+(t.ghCodeBlocks.push({text:e,codeblock:o})-1)+"G\n\n"}),e=e.replace(/¨0/,""),t.converter._dispatch("githubCodeBlocks.after",e,r,t)):e}),a.subParser("hashBlock",function(e,r,t){"use strict";return e=t.converter._dispatch("hashBlock.before",e,r,t),e=e.replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(t.gHtmlBlocks.push(e)-1)+"K\n\n",e=t.converter._dispatch("hashBlock.after",e,r,t)}),a.subParser("hashCodeTags",function(e,r,t){"use strict";e=t.converter._dispatch("hashCodeTags.before",e,r,t);return e=a.helper.replaceRecursiveRegExp(e,function(e,n,s,o){var i=s+a.subParser("encodeCode")(n,r,t)+o;return"¨C"+(t.gHtmlSpans.push(i)-1)+"C"},"]*>","","gim"),e=t.converter._dispatch("hashCodeTags.after",e,r,t)}),a.subParser("hashElement",function(e,r,t){"use strict";return function(e,r){var a=r;return a=a.replace(/\n\n/g,"\n"),a=a.replace(/^\n/,""),a=a.replace(/\n+$/g,""),a="\n\n¨K"+(t.gHtmlBlocks.push(a)-1)+"K\n\n"}}),a.subParser("hashHTMLBlocks",function(e,r,t){"use strict";e=t.converter._dispatch("hashHTMLBlocks.before",e,r,t);var n=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],s=function(e,r,a,n){var s=e;return-1!==a.search(/\bmarkdown\b/)&&(s=a+t.converter.makeHtml(r)+n),"\n\n¨K"+(t.gHtmlBlocks.push(s)-1)+"K\n\n"};r.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,function(e,r){return"<"+r+">"}));for(var o=0;o]*>)","im"),c="<"+n[o]+"\\b[^>]*>",u="";-1!==(i=a.helper.regexIndexOf(e,l));){var d=a.helper.splitAtIndex(e,i),p=a.helper.replaceRecursiveRegExp(d[1],s,c,u,"im");if(p===d[1])break;e=d[0].concat(p)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,a.subParser("hashElement")(e,r,t)),e=a.helper.replaceRecursiveRegExp(e,function(e){return"\n\n¨K"+(t.gHtmlBlocks.push(e)-1)+"K\n\n"},"^ {0,3}\x3c!--","--\x3e","gm"),e=e.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,a.subParser("hashElement")(e,r,t)),e=t.converter._dispatch("hashHTMLBlocks.after",e,r,t)}),a.subParser("hashHTMLSpans",function(e,r,t){"use strict";function a(e){return"¨C"+(t.gHtmlSpans.push(e)-1)+"C"}return e=t.converter._dispatch("hashHTMLSpans.before",e,r,t),e=e.replace(/<[^>]+?\/>/gi,function(e){return a(e)}),e=e.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(e){return a(e)}),e=e.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(e){return a(e)}),e=e.replace(/<[^>]+?>/gi,function(e){return a(e)}),e=t.converter._dispatch("hashHTMLSpans.after",e,r,t)}),a.subParser("unhashHTMLSpans",function(e,r,t){"use strict";e=t.converter._dispatch("unhashHTMLSpans.before",e,r,t);for(var a=0;a]*>\\s*]*>","^ {0,3}\\s*
    ","gim"),e=t.converter._dispatch("hashPreCodeTags.after",e,r,t)}),a.subParser("headers",function(e,r,t){"use strict";function n(e){var n,s;if(r.customizedHeaderId){var o=e.match(/\{([^{]+?)}\s*$/);o&&o[1]&&(e=o[1])}return n=e,s=a.helper.isString(r.prefixHeaderId)?r.prefixHeaderId:!0===r.prefixHeaderId?"section-":"",r.rawPrefixHeaderId||(n=s+n),n=r.ghCompatibleHeaderId?n.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():r.rawHeaderId?n.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():n.replace(/[^\w]/g,"").toLowerCase(),r.rawPrefixHeaderId&&(n=s+n),t.hashLinkCounts[n]?n=n+"-"+t.hashLinkCounts[n]++:t.hashLinkCounts[n]=1,n}e=t.converter._dispatch("headers.before",e,r,t);var s=isNaN(parseInt(r.headerLevelStart))?1:parseInt(r.headerLevelStart),o=r.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,i=r.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=(e=e.replace(o,function(e,o){var i=a.subParser("spanGamut")(o,r,t),l=r.noHeaderId?"":' id="'+n(o)+'"',c=""+i+"";return a.subParser("hashBlock")(c,r,t)})).replace(i,function(e,o){var i=a.subParser("spanGamut")(o,r,t),l=r.noHeaderId?"":' id="'+n(o)+'"',c=s+1,u=""+i+"";return a.subParser("hashBlock")(u,r,t)});var l=r.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;return e=e.replace(l,function(e,o,i){var l=i;r.customizedHeaderId&&(l=i.replace(/\s?\{([^{]+?)}\s*$/,""));var c=a.subParser("spanGamut")(l,r,t),u=r.noHeaderId?"":' id="'+n(i)+'"',d=s-1+o.length,p=""+c+"";return a.subParser("hashBlock")(p,r,t)}),e=t.converter._dispatch("headers.after",e,r,t)}),a.subParser("horizontalRule",function(e,r,t){"use strict";e=t.converter._dispatch("horizontalRule.before",e,r,t);var n=a.subParser("hashBlock")("
    ",r,t);return e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,n),e=e.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,n),e=t.converter._dispatch("horizontalRule.after",e,r,t)}),a.subParser("images",function(e,r,t){"use strict";function n(e,r,n,s,o,i,l,c){var u=t.gUrls,d=t.gTitles,p=t.gDimensions;if(n=n.toLowerCase(),c||(c=""),e.search(/\(? ?(['"].*['"])?\)$/m)>-1)s="";else if(""===s||null===s){if(""!==n&&null!==n||(n=r.toLowerCase().replace(/ ?\n/g," ")),s="#"+n,a.helper.isUndefined(u[n]))return e;s=u[n],a.helper.isUndefined(d[n])||(c=d[n]),a.helper.isUndefined(p[n])||(o=p[n].width,i=p[n].height)}r=r.replace(/"/g,""").replace(a.helper.regexes.asteriskDashAndColon,a.helper.escapeCharactersCallback);var h=''+r+'"}return e=(e=t.converter._dispatch("images.before",e,r,t)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,n),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,function(e,r,t,a,s,o,i,l){return a=a.replace(/\s/g,""),n(e,r,t,a,s,o,0,l)}),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,n),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,n),e=e.replace(/!\[([^\[\]]+)]()()()()()/g,n),e=t.converter._dispatch("images.after",e,r,t)}),a.subParser("italicsAndBold",function(e,r,t){"use strict";function a(e,r,t){return r+e+t}return e=t.converter._dispatch("italicsAndBold.before",e,r,t),e=r.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,r){return a(r,"","")})).replace(/\b__(\S[\s\S]*?)__\b/g,function(e,r){return a(r,"","")})).replace(/\b_(\S[\s\S]*?)_\b/g,function(e,r){return a(r,"","")}):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/__(\S[\s\S]*?)__/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/_([^\s_][\s\S]*?)_/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e}),e=r.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")})).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")})).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(e,r,t){return a(t,r+"","")}):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/\*\*(\S[\s\S]*?)\*\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e})).replace(/\*([^\s*][\s\S]*?)\*/g,function(e,r){return/\S$/.test(r)?a(r,"",""):e}),e=t.converter._dispatch("italicsAndBold.after",e,r,t)}),a.subParser("lists",function(e,r,t){"use strict";function n(e,n){t.gListLevel++,e=e.replace(/\n{2,}$/,"\n");var s=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,o=/\n[ \t]*\n(?!¨0)/.test(e+="¨0");return r.disableForced4SpacesIndentedSublists&&(s=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=e.replace(s,function(e,n,s,i,l,c,u){u=u&&""!==u.trim();var d=a.subParser("outdent")(l,r,t),p="";return c&&r.tasklists&&(p=' class="task-list-item" style="list-style-type: none;"',d=d.replace(/^[ \t]*\[(x|X| )?]/m,function(){var e='-1?(d=a.subParser("githubCodeBlocks")(d,r,t),d=a.subParser("blockGamut")(d,r,t)):(d=(d=a.subParser("lists")(d,r,t)).replace(/\n$/,""),d=(d=a.subParser("hashHTMLBlocks")(d,r,t)).replace(/\n\n+/g,"\n\n"),d=o?a.subParser("paragraphs")(d,r,t):a.subParser("spanGamut")(d,r,t)),d=d.replace("¨A",""),d=""+d+"\n"}),e=e.replace(/¨0/g,""),t.gListLevel--,n&&(e=e.replace(/\s+$/,"")),e}function s(e,r){if("ol"===r){var t=e.match(/^ *(\d+)\./);if(t&&"1"!==t[1])return' start="'+t[1]+'"'}return""}function o(e,t,a){var o=r.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,i=r.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,l="ul"===t?o:i,c="";if(-1!==e.search(l))!function r(u){var d=u.search(l),p=s(e,t);-1!==d?(c+="\n\n<"+t+p+">\n"+n(u.slice(0,d),!!a)+"\n",l="ul"===(t="ul"===t?"ol":"ul")?o:i,r(u.slice(d))):c+="\n\n<"+t+p+">\n"+n(u,!!a)+"\n"}(e);else{var u=s(e,t);c="\n\n<"+t+u+">\n"+n(e,!!a)+"\n"}return c}return e=t.converter._dispatch("lists.before",e,r,t),e+="¨0",e=t.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,r,t){return o(r,t.search(/[*+-]/g)>-1?"ul":"ol",!0)}):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,r,t,a){return o(t,a.search(/[*+-]/g)>-1?"ul":"ol",!1)}),e=e.replace(/¨0/,""),e=t.converter._dispatch("lists.after",e,r,t)}),a.subParser("metadata",function(e,r,t){"use strict";function a(e){t.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,function(e,r,a){return t.metadata.parsed[r]=a,""})}return r.metadata?(e=t.converter._dispatch("metadata.before",e,r,t),e=e.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(e,r,t){return a(t),"¨M"}),e=e.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(e,r,n){return r&&(t.metadata.format=r),a(n),"¨M"}),e=e.replace(/¨M/g,""),e=t.converter._dispatch("metadata.after",e,r,t)):e}),a.subParser("outdent",function(e,r,t){"use strict";return e=t.converter._dispatch("outdent.before",e,r,t),e=e.replace(/^(\t|[ ]{1,4})/gm,"¨0"),e=e.replace(/¨0/g,""),e=t.converter._dispatch("outdent.after",e,r,t)}),a.subParser("paragraphs",function(e,r,t){"use strict";for(var n=(e=(e=(e=t.converter._dispatch("paragraphs.before",e,r,t)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),s=[],o=n.length,i=0;i=0?s.push(l):l.search(/\S/)>=0&&(l=(l=a.subParser("spanGamut")(l,r,t)).replace(/^([ \t]*)/g,"

    "),l+="

    ",s.push(l))}for(o=s.length,i=0;i]*>\s*]*>/.test(u)&&(d=!0)}s[i]=u}return e=s.join("\n"),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),t.converter._dispatch("paragraphs.after",e,r,t)}),a.subParser("runExtension",function(e,r,t,a){"use strict";if(e.filter)r=e.filter(r,a.converter,t);else if(e.regex){var n=e.regex;n instanceof RegExp||(n=new RegExp(n,"g")),r=r.replace(n,e.replace)}return r}),a.subParser("spanGamut",function(e,r,t){"use strict";return e=t.converter._dispatch("spanGamut.before",e,r,t),e=a.subParser("codeSpans")(e,r,t),e=a.subParser("escapeSpecialCharsWithinTagAttributes")(e,r,t),e=a.subParser("encodeBackslashEscapes")(e,r,t),e=a.subParser("images")(e,r,t),e=a.subParser("anchors")(e,r,t),e=a.subParser("autoLinks")(e,r,t),e=a.subParser("simplifiedAutoLinks")(e,r,t),e=a.subParser("emoji")(e,r,t),e=a.subParser("underline")(e,r,t),e=a.subParser("italicsAndBold")(e,r,t),e=a.subParser("strikethrough")(e,r,t),e=a.subParser("ellipsis")(e,r,t),e=a.subParser("hashHTMLSpans")(e,r,t),e=a.subParser("encodeAmpsAndAngles")(e,r,t),r.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
    \n")):e=e.replace(/ +\n/g,"
    \n"),e=t.converter._dispatch("spanGamut.after",e,r,t)}),a.subParser("strikethrough",function(e,r,t){"use strict";return r.strikethrough&&(e=(e=t.converter._dispatch("strikethrough.before",e,r,t)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(e,n){return function(e){return r.simplifiedAutoLink&&(e=a.subParser("simplifiedAutoLinks")(e,r,t)),""+e+""}(n)}),e=t.converter._dispatch("strikethrough.after",e,r,t)),e}),a.subParser("stripLinkDefinitions",function(e,r,t){"use strict";var n=function(e,n,s,o,i,l,c){return n=n.toLowerCase(),s.match(/^data:.+?\/.+?;base64,/)?t.gUrls[n]=s.replace(/\s/g,""):t.gUrls[n]=a.subParser("encodeAmpsAndAngles")(s,r,t),l?l+c:(c&&(t.gTitles[n]=c.replace(/"|'/g,""")),r.parseImgDimensions&&o&&i&&(t.gDimensions[n]={width:o,height:i}),"")};return e=(e+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,n),e=e.replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,n),e=e.replace(/¨0/,"")}),a.subParser("tables",function(e,r,t){"use strict";function n(e){return/^:[ \t]*--*$/.test(e)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(e)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(e)?' style="text-align:center;"':""}function s(e,n){var s="";return e=e.trim(),(r.tablesHeaderId||r.tableHeaderId)&&(s=' id="'+e.replace(/ /g,"_").toLowerCase()+'"'),e=a.subParser("spanGamut")(e,r,t),""+e+"\n"}function o(e,n){return""+a.subParser("spanGamut")(e,r,t)+"\n"}function i(e){var i,l=e.split("\n");for(i=0;i\n\n\n",n=0;n\n";for(var s=0;s\n"}return t+="\n\n"}(p,_)}if(!r.tables)return e;return e=t.converter._dispatch("tables.before",e,r,t),e=e.replace(/\\(\|)/g,a.helper.escapeCharactersCallback),e=e.replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,i),e=e.replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,i),e=t.converter._dispatch("tables.after",e,r,t)}),a.subParser("underline",function(e,r,t){"use strict";return r.underline?(e=t.converter._dispatch("underline.before",e,r,t),e=r.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,function(e,r){return""+r+""})).replace(/\b__(\S[\s\S]*?)__\b/g,function(e,r){return""+r+""}):(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,r){return/\S$/.test(r)?""+r+"":e})).replace(/__(\S[\s\S]*?)__/g,function(e,r){return/\S$/.test(r)?""+r+"":e}),e=e.replace(/(_)/g,a.helper.escapeCharactersCallback),e=t.converter._dispatch("underline.after",e,r,t)):e}),a.subParser("unescapeSpecialChars",function(e,r,t){"use strict";return e=t.converter._dispatch("unescapeSpecialChars.before",e,r,t),e=e.replace(/¨E(\d+)E/g,function(e,r){var t=parseInt(r);return String.fromCharCode(t)}),e=t.converter._dispatch("unescapeSpecialChars.after",e,r,t)}),a.subParser("makeMarkdown.blockquote",function(e,r){"use strict";var t="";if(e.hasChildNodes())for(var n=e.childNodes,s=n.length,o=0;o "+t.split("\n").join("\n> ")}),a.subParser("makeMarkdown.codeBlock",function(e,r){"use strict";var t=e.getAttribute("language"),a=e.getAttribute("precodenum");return"```"+t+"\n"+r.preList[a]+"\n```"}),a.subParser("makeMarkdown.codeSpan",function(e){"use strict";return"`"+e.innerHTML+"`"}),a.subParser("makeMarkdown.emphasis",function(e,r){"use strict";var t="";if(e.hasChildNodes()){t+="*";for(var n=e.childNodes,s=n.length,o=0;o",e.hasAttribute("width")&&e.hasAttribute("height")&&(r+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(r+=' "'+e.getAttribute("title")+'"'),r+=")"),r}),a.subParser("makeMarkdown.links",function(e,r){"use strict";var t="";if(e.hasChildNodes()&&e.hasAttribute("href")){var n=e.childNodes,s=n.length;t="[";for(var o=0;o",e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"}return t}),a.subParser("makeMarkdown.list",function(e,r,t){"use strict";var n="";if(!e.hasChildNodes())return"";for(var s=e.childNodes,o=s.length,i=e.getAttribute("start")||1,l=0;l"+r.preList[t]+"
    "}),a.subParser("makeMarkdown.strikethrough",function(e,r){"use strict";var t="";if(e.hasChildNodes()){t+="~~";for(var n=e.childNodes,s=n.length,o=0;otr>th"),l=e.querySelectorAll("tbody>tr");for(t=0;t_&&(_=g)}for(t=0;t/g,"\\$1>"),r=r.replace(/^#/gm,"\\#"),r=r.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),r=r.replace(/^( {0,3}\d+)\./gm,"$1\\."),r=r.replace(/^( {0,3})([+-])/gm,"$1\\$2"),r=r.replace(/]([\s]*)\(/g,"\\]$1\\("),r=r.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")});"function"==typeof define&&define.amd?define(function(){"use strict";return a}):"undefined"!=typeof module&&module.exports?module.exports=a:this.showdown=a}).call(this); //# sourceMappingURL=showdown.min.js.map diff --git a/dist/showdown.min.js.map b/dist/showdown.min.js.map index f30ab1b6..e20c1082 100644 --- a/dist/showdown.min.js.map +++ b/dist/showdown.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["showdown.js"],"names":["getDefaultOpts","simple","defaultOptions","omitExtraWLInCodeBlocks","defaultValue","describe","type","noHeaderId","prefixHeaderId","rawPrefixHeaderId","ghCompatibleHeaderId","rawHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","excludeTrailingPunctuationFromURLs","literalMidWordUnderscores","literalMidWordAsterisks","strikethrough","tables","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","smartIndentationFix","description","disableForced4SpacesIndentedSublists","simpleLineBreaks","requireSpaceBeforeHeadingText","ghMentions","ghMentionsLink","encodeEmails","openLinksInNewWindow","backslashEscapesHTMLTags","emoji","underline","completeHTMLDocument","metadata","splitAdjacentBlockquotes","JSON","parse","stringify","ret","opt","hasOwnProperty","validate","extension","name","errMsg","valid","error","showdown","helper","isArray","i","length","baseMsg","ext","isString","toLowerCase","isUndefined","listeners","filter","regex","ln","RegExp","replace","escapeCharactersCallback","wholeMatch","m1","charCodeAt","parsers","extensions","globalOptions","setFlavor","flavor","github","original","ghost","vanilla","allOn","options","allOptionsOn","setOption","key","value","this","getOption","getOptions","resetOptions","Error","preset","option","getFlavor","getFlavorOptions","getDefaultOptions","subParser","func","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","console","warn","a","String","isFunction","toString","call","Array","forEach","obj","callback","prop","s","escapeCharacters","text","charsToEscape","afterBackslash","regexString","rgxFindMatchPos","str","left","right","flags","t","m","start","end","f","g","indexOf","x","l","pos","exec","test","lastIndex","index","match","push","matchRecursiveRegExp","matchPos","results","slice","replaceRecursiveRegExp","replacement","repStr","finalStr","lng","bits","join","regexIndexOf","fromIndex","substring","search","splitAtIndex","encodeEmailAddress","mail","encode","ch","Math","floor","random","r","msg","alert","log","regexes","asteriskDashAndColon","emojis","+1","-1","100","1234","1st_place_medal","2nd_place_medal","3rd_place_medal","8ball","ab","abc","abcd","accept","aerial_tramway","airplane","alarm_clock","alembic","alien","ambulance","amphora","anchor","angel","anger","angry","anguished","ant","apple","aquarius","aries","arrow_backward","arrow_double_down","arrow_double_up","arrow_down","arrow_down_small","arrow_forward","arrow_heading_down","arrow_heading_up","arrow_left","arrow_lower_left","arrow_lower_right","arrow_right","arrow_right_hook","arrow_up","arrow_up_down","arrow_up_small","arrow_upper_left","arrow_upper_right","arrows_clockwise","arrows_counterclockwise","art","articulated_lorry","artificial_satellite","astonished","athletic_shoe","atm","atom_symbol","avocado","b","baby","baby_bottle","baby_chick","baby_symbol","back","bacon","badminton","baggage_claim","baguette_bread","balance_scale","balloon","ballot_box","ballot_box_with_check","bamboo","banana","bangbang","bank","bar_chart","barber","baseball","basketball","basketball_man","basketball_woman","bat","bath","bathtub","battery","beach_umbrella","bear","bed","bee","beer","beers","beetle","beginner","bell","bellhop_bell","bento","biking_man","bike","biking_woman","bikini","biohazard","bird","birthday","black_circle","black_flag","black_heart","black_joker","black_large_square","black_medium_small_square","black_medium_square","black_nib","black_small_square","black_square_button","blonde_man","blonde_woman","blossom","blowfish","blue_book","blue_car","blue_heart","blush","boar","boat","bomb","book","bookmark","bookmark_tabs","books","boom","boot","bouquet","bowing_man","bow_and_arrow","bowing_woman","bowling","boxing_glove","boy","bread","bride_with_veil","bridge_at_night","briefcase","broken_heart","bug","building_construction","bulb","bullettrain_front","bullettrain_side","burrito","bus","business_suit_levitating","busstop","bust_in_silhouette","busts_in_silhouette","butterfly","cactus","cake","calendar","call_me_hand","calling","camel","camera","camera_flash","camping","cancer","candle","candy","canoe","capital_abcd","capricorn","car","card_file_box","card_index","card_index_dividers","carousel_horse","carrot","cat","cat2","cd","chains","champagne","chart","chart_with_downwards_trend","chart_with_upwards_trend","checkered_flag","cheese","cherries","cherry_blossom","chestnut","chicken","children_crossing","chipmunk","chocolate_bar","christmas_tree","church","cinema","circus_tent","city_sunrise","city_sunset","cityscape","cl","clamp","clap","clapper","classical_building","clinking_glasses","clipboard","clock1","clock10","clock1030","clock11","clock1130","clock12","clock1230","clock130","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","closed_book","closed_lock_with_key","closed_umbrella","cloud","cloud_with_lightning","cloud_with_lightning_and_rain","cloud_with_rain","cloud_with_snow","clown_face","clubs","cocktail","coffee","coffin","cold_sweat","comet","computer","computer_mouse","confetti_ball","confounded","confused","congratulations","construction","construction_worker_man","construction_worker_woman","control_knobs","convenience_store","cookie","cool","policeman","copyright","corn","couch_and_lamp","couple","couple_with_heart_woman_man","couple_with_heart_man_man","couple_with_heart_woman_woman","couplekiss_man_man","couplekiss_man_woman","couplekiss_woman_woman","cow","cow2","cowboy_hat_face","crab","crayon","credit_card","crescent_moon","cricket","crocodile","croissant","crossed_fingers","crossed_flags","crossed_swords","crown","cry","crying_cat_face","crystal_ball","cucumber","cupid","curly_loop","currency_exchange","curry","custard","customs","cyclone","dagger","dancer","dancing_women","dancing_men","dango","dark_sunglasses","dart","dash","date","deciduous_tree","deer","department_store","derelict_house","desert","desert_island","desktop_computer","male_detective","diamond_shape_with_a_dot_inside","diamonds","disappointed","disappointed_relieved","dizzy","dizzy_face","do_not_litter","dog","dog2","dollar","dolls","dolphin","door","doughnut","dove","dragon","dragon_face","dress","dromedary_camel","drooling_face","droplet","drum","duck","dvd","e-mail","eagle","ear","ear_of_rice","earth_africa","earth_americas","earth_asia","egg","eggplant","eight_pointed_black_star","eight_spoked_asterisk","electric_plug","elephant","email","envelope_with_arrow","euro","european_castle","european_post_office","evergreen_tree","exclamation","expressionless","eye","eye_speech_bubble","eyeglasses","eyes","face_with_head_bandage","face_with_thermometer","fist_oncoming","factory","fallen_leaf","family_man_woman_boy","family_man_boy","family_man_boy_boy","family_man_girl","family_man_girl_boy","family_man_girl_girl","family_man_man_boy","family_man_man_boy_boy","family_man_man_girl","family_man_man_girl_boy","family_man_man_girl_girl","family_man_woman_boy_boy","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_girl_girl","family_woman_boy","family_woman_boy_boy","family_woman_girl","family_woman_girl_boy","family_woman_girl_girl","family_woman_woman_boy","family_woman_woman_boy_boy","family_woman_woman_girl","family_woman_woman_girl_boy","family_woman_woman_girl_girl","fast_forward","fax","fearful","feet","female_detective","ferris_wheel","ferry","field_hockey","file_cabinet","file_folder","film_projector","film_strip","fire","fire_engine","fireworks","first_quarter_moon","first_quarter_moon_with_face","fish","fish_cake","fishing_pole_and_fish","fist_raised","fist_left","fist_right","flashlight","fleur_de_lis","flight_arrival","flight_departure","floppy_disk","flower_playing_cards","flushed","fog","foggy","football","footprints","fork_and_knife","fountain","fountain_pen","four_leaf_clover","fox_face","framed_picture","free","fried_egg","fried_shrimp","fries","frog","frowning","frowning_face","frowning_man","frowning_woman","middle_finger","fuelpump","full_moon","full_moon_with_face","funeral_urn","game_die","gear","gem","gemini","gift","gift_heart","girl","globe_with_meridians","goal_net","goat","golf","golfing_man","golfing_woman","gorilla","grapes","green_apple","green_book","green_heart","green_salad","grey_exclamation","grey_question","grimacing","grin","grinning","guardsman","guardswoman","guitar","gun","haircut_woman","haircut_man","hamburger","hammer","hammer_and_pick","hammer_and_wrench","hamster","hand","handbag","handshake","hankey","hatched_chick","hatching_chick","headphones","hear_no_evil","heart","heart_decoration","heart_eyes","heart_eyes_cat","heartbeat","heartpulse","hearts","heavy_check_mark","heavy_division_sign","heavy_dollar_sign","heavy_heart_exclamation","heavy_minus_sign","heavy_multiplication_x","heavy_plus_sign","helicopter","herb","hibiscus","high_brightness","high_heel","hocho","hole","honey_pot","horse","horse_racing","hospital","hot_pepper","hotdog","hotel","hotsprings","hourglass","hourglass_flowing_sand","house","house_with_garden","houses","hugs","hushed","ice_cream","ice_hockey","ice_skate","icecream","id","ideograph_advantage","imp","inbox_tray","incoming_envelope","tipping_hand_woman","information_source","innocent","interrobang","iphone","izakaya_lantern","jack_o_lantern","japan","japanese_castle","japanese_goblin","japanese_ogre","jeans","joy","joy_cat","joystick","kaaba","keyboard","keycap_ten","kick_scooter","kimono","kiss","kissing","kissing_cat","kissing_closed_eyes","kissing_heart","kissing_smiling_eyes","kiwi_fruit","koala","koko","label","large_blue_circle","large_blue_diamond","large_orange_diamond","last_quarter_moon","last_quarter_moon_with_face","latin_cross","laughing","leaves","ledger","left_luggage","left_right_arrow","leftwards_arrow_with_hook","lemon","leo","leopard","level_slider","libra","light_rail","link","lion","lips","lipstick","lizard","lock","lock_with_ink_pen","lollipop","loop","loud_sound","loudspeaker","love_hotel","love_letter","low_brightness","lying_face","mag","mag_right","mahjong","mailbox","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","man","man_artist","man_astronaut","man_cartwheeling","man_cook","man_dancing","man_facepalming","man_factory_worker","man_farmer","man_firefighter","man_health_worker","man_in_tuxedo","man_judge","man_juggling","man_mechanic","man_office_worker","man_pilot","man_playing_handball","man_playing_water_polo","man_scientist","man_shrugging","man_singer","man_student","man_teacher","man_technologist","man_with_gua_pi_mao","man_with_turban","tangerine","mans_shoe","mantelpiece_clock","maple_leaf","martial_arts_uniform","mask","massage_woman","massage_man","meat_on_bone","medal_military","medal_sports","mega","melon","memo","men_wrestling","menorah","mens","metal","metro","microphone","microscope","milk_glass","milky_way","minibus","minidisc","mobile_phone_off","money_mouth_face","money_with_wings","moneybag","monkey","monkey_face","monorail","moon","mortar_board","mosque","motor_boat","motor_scooter","motorcycle","motorway","mount_fuji","mountain","mountain_biking_man","mountain_biking_woman","mountain_cableway","mountain_railway","mountain_snow","mouse","mouse2","movie_camera","moyai","mrs_claus","muscle","mushroom","musical_keyboard","musical_note","musical_score","mute","nail_care","name_badge","national_park","nauseated_face","necktie","negative_squared_cross_mark","nerd_face","neutral_face","new","new_moon","new_moon_with_face","newspaper","newspaper_roll","next_track_button","ng","no_good_man","no_good_woman","night_with_stars","no_bell","no_bicycles","no_entry","no_entry_sign","no_mobile_phones","no_mouth","no_pedestrians","no_smoking","non-potable_water","nose","notebook","notebook_with_decorative_cover","notes","nut_and_bolt","o","o2","ocean","octopus","oden","office","oil_drum","ok","ok_hand","ok_man","ok_woman","old_key","older_man","older_woman","om","on","oncoming_automobile","oncoming_bus","oncoming_police_car","oncoming_taxi","open_file_folder","open_hands","open_mouth","open_umbrella","ophiuchus","orange_book","orthodox_cross","outbox_tray","owl","ox","package","page_facing_up","page_with_curl","pager","paintbrush","palm_tree","pancakes","panda_face","paperclip","paperclips","parasol_on_ground","parking","part_alternation_mark","partly_sunny","passenger_ship","passport_control","pause_button","peace_symbol","peach","peanuts","pear","pen","pencil2","penguin","pensive","performing_arts","persevere","person_fencing","pouting_woman","phone","pick","pig","pig2","pig_nose","pill","pineapple","ping_pong","pisces","pizza","place_of_worship","plate_with_cutlery","play_or_pause_button","point_down","point_left","point_right","point_up","point_up_2","police_car","policewoman","poodle","popcorn","post_office","postal_horn","postbox","potable_water","potato","pouch","poultry_leg","pound","rage","pouting_cat","pouting_man","pray","prayer_beads","pregnant_woman","previous_track_button","prince","princess","printer","purple_heart","purse","pushpin","put_litter_in_its_place","question","rabbit","rabbit2","racehorse","racing_car","radio","radio_button","radioactive","railway_car","railway_track","rainbow","rainbow_flag","raised_back_of_hand","raised_hand_with_fingers_splayed","raised_hands","raising_hand_woman","raising_hand_man","ram","ramen","rat","record_button","recycle","red_circle","registered","relaxed","relieved","reminder_ribbon","repeat","repeat_one","rescue_worker_helmet","restroom","revolving_hearts","rewind","rhinoceros","ribbon","rice","rice_ball","rice_cracker","rice_scene","right_anger_bubble","ring","robot","rocket","rofl","roll_eyes","roller_coaster","rooster","rose","rosette","rotating_light","round_pushpin","rowing_man","rowing_woman","rugby_football","running_man","running_shirt_with_sash","running_woman","sa","sagittarius","sake","sandal","santa","satellite","saxophone","school","school_satchel","scissors","scorpion","scorpius","scream","scream_cat","scroll","seat","secret","see_no_evil","seedling","selfie","shallow_pan_of_food","shamrock","shark","shaved_ice","sheep","shell","shield","shinto_shrine","ship","shirt","shopping","shopping_cart","shower","shrimp","signal_strength","six_pointed_star","ski","skier","skull","skull_and_crossbones","sleeping","sleeping_bed","sleepy","slightly_frowning_face","slightly_smiling_face","slot_machine","small_airplane","small_blue_diamond","small_orange_diamond","small_red_triangle","small_red_triangle_down","smile","smile_cat","smiley","smiley_cat","smiling_imp","smirk","smirk_cat","smoking","snail","snake","sneezing_face","snowboarder","snowflake","snowman","snowman_with_snow","sob","soccer","soon","sos","sound","space_invader","spades","spaghetti","sparkle","sparkler","sparkles","sparkling_heart","speak_no_evil","speaker","speaking_head","speech_balloon","speedboat","spider","spider_web","spiral_calendar","spiral_notepad","spoon","squid","stadium","star","star2","star_and_crescent","star_of_david","stars","station","statue_of_liberty","steam_locomotive","stew","stop_button","stop_sign","stopwatch","straight_ruler","strawberry","stuck_out_tongue","stuck_out_tongue_closed_eyes","stuck_out_tongue_winking_eye","studio_microphone","stuffed_flatbread","sun_behind_large_cloud","sun_behind_rain_cloud","sun_behind_small_cloud","sun_with_face","sunflower","sunglasses","sunny","sunrise","sunrise_over_mountains","surfing_man","surfing_woman","sushi","suspension_railway","sweat","sweat_drops","sweat_smile","sweet_potato","swimming_man","swimming_woman","symbols","synagogue","syringe","taco","tada","tanabata_tree","taurus","taxi","tea","telephone_receiver","telescope","tennis","tent","thermometer","thinking","thought_balloon","ticket","tickets","tiger","tiger2","timer_clock","tipping_hand_man","tired_face","tm","toilet","tokyo_tower","tomato","tongue","top","tophat","tornado","trackball","tractor","traffic_light","train","train2","tram","triangular_flag_on_post","triangular_ruler","trident","triumph","trolleybus","trophy","tropical_drink","tropical_fish","truck","trumpet","tulip","tumbler_glass","turkey","turtle","tv","twisted_rightwards_arrows","two_hearts","two_men_holding_hands","two_women_holding_hands","u5272","u5408","u55b6","u6307","u6708","u6709","u6e80","u7121","u7533","u7981","u7a7a","umbrella","unamused","underage","unicorn","unlock","up","upside_down_face","v","vertical_traffic_light","vhs","vibration_mode","video_camera","video_game","violin","virgo","volcano","volleyball","vs","vulcan_salute","walking_man","walking_woman","waning_crescent_moon","waning_gibbous_moon","warning","wastebasket","watch","water_buffalo","watermelon","wave","wavy_dash","waxing_crescent_moon","wc","weary","wedding","weight_lifting_man","weight_lifting_woman","whale","whale2","wheel_of_dharma","wheelchair","white_check_mark","white_circle","white_flag","white_flower","white_large_square","white_medium_small_square","white_medium_square","white_small_square","white_square_button","wilted_flower","wind_chime","wind_face","wine_glass","wink","wolf","woman","woman_artist","woman_astronaut","woman_cartwheeling","woman_cook","woman_facepalming","woman_factory_worker","woman_farmer","woman_firefighter","woman_health_worker","woman_judge","woman_juggling","woman_mechanic","woman_office_worker","woman_pilot","woman_playing_handball","woman_playing_water_polo","woman_scientist","woman_shrugging","woman_singer","woman_student","woman_teacher","woman_technologist","woman_with_turban","womans_clothes","womans_hat","women_wrestling","womens","world_map","worried","wrench","writing_hand","yellow_heart","yen","yin_yang","yum","zap","zipper_mouth_face","zzz","octocat","Converter","converterOptions","_parseExtension","langExtensions","outputModifiers","legacyExtensionLoading","validExt","listen","setConvFlavor","parsed","raw","format","gOpt","_constructor","_dispatch","evtName","globals","ei","nText","makeHtml","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","rsp","rgx","rTrimInputText","addExtension","useExtension","extensionName","splice","language","output","getMetadata","getMetadataFormat","_setMetadataPair","_setMetadataFormat","_setMetadataRaw","writeAnchorTag","linkText","linkId","url","m5","m6","title","result","wm","st","escape","mentions","username","lnk","target","simpleURLRegex","simpleURLRegex2","delimUrlRegex","simpleMailRegex","delimMailRegex","replaceLink","leadingMagicChars","m2","m3","trailingPunctuation","trailingMagicChars","lnkTxt","append","lmc","tmc","replaceMail","href","bq","pre","codeblock","nextChar","c","doctype","doctypeParsed","charset","lang","meta","trim","leadingText","numSpaces","emojiCode","delim","blockText","blockTags","repFunc","txt","inside","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","concat","hashHTMLSpan","html","repText","limit","num","$1","headerId","prefix","customizedHeaderId","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","hashBlock","matchFound","hLevel","atxStyle","hText","span","header","writeImageTag","altText","width","height","gDims","parseInside","lead","processListItems","listStr","trimTrailing","isParagraphed","m4","taskbtn","checked","item","bulletStyle","otp","wm2","styleStartNumber","list","listType","res","parseConsecutiveLists","olRgx","ulRgx","counterRxg","parseCL","style","parseMetadataContents","content","wholematch","grafs","split","grafsOut","grafsOutIt","codeFlag","$2","re","replaceFunc","blankLines","parseStyles","sLine","parseHeaders","tableHeaderId","parseCells","cell","parseTable","rawTable","tableLines","rawHeaders","map","rawStyles","rawCells","headers","styles","cells","shift","row","ii","tb","tblLgn","buildTable","charCodeToReplace","fromCharCode","define","amd","module","exports"],"mappings":";CACA,WAKA,SAASA,EAAgBC,GACvB,aAEA,IAAIC,GACFC,yBACEC,cAAc,EACdC,SAAU,wDACVC,KAAM,WAERC,YACEH,cAAc,EACdC,SAAU,kCACVC,KAAM,WAERE,gBACEJ,cAAc,EACdC,SAAU,4JACVC,KAAM,UAERG,mBACEL,cAAc,EACdC,SAAU,uKACVC,KAAM,WAERI,sBACEN,cAAc,EACdC,SAAU,oIACVC,KAAM,WAERK,aACEP,cAAc,EACdC,SAAU,2JACVC,KAAM,WAERM,kBACER,cAAc,EACdC,SAAU,gCACVC,KAAM,WAERO,oBACET,cAAc,EACdC,SAAU,sCACVC,KAAM,WAERQ,oBACEV,cAAc,EACdC,SAAU,iCACVC,KAAM,WAERS,oCACEX,cAAc,EACdC,SAAU,sEACVC,KAAM,WAERU,2BACEZ,cAAc,EACdC,SAAU,mDACVC,KAAM,WAERW,yBACEb,cAAc,EACdC,SAAU,+CACVC,KAAM,WAERY,eACEd,cAAc,EACdC,SAAU,oCACVC,KAAM,WAERa,QACEf,cAAc,EACdC,SAAU,6BACVC,KAAM,WAERc,gBACEhB,cAAc,EACdC,SAAU,6BACVC,KAAM,WAERe,cACEjB,cAAc,EACdC,SAAU,6CACVC,KAAM,WAERgB,WACElB,cAAc,EACdC,SAAU,mCACVC,KAAM,WAERiB,mBACEnB,cAAc,EACdC,SAAU,kEACVC,KAAM,WAERkB,qBACEpB,cAAc,EACdqB,YAAa,kDACbnB,KAAM,WAERoB,sCACEtB,cAAc,EACdqB,YAAa,oEACbnB,KAAM,WAERqB,kBACEvB,cAAc,EACdqB,YAAa,gDACbnB,KAAM,WAERsB,+BACExB,cAAc,EACdqB,YAAa,6EACbnB,KAAM,WAERuB,YACEzB,cAAc,EACdqB,YAAa,2BACbnB,KAAM,WAERwB,gBACE1B,aAAc,yBACdqB,YAAa,yFACbnB,KAAM,UAERyB,cACE3B,cAAc,EACdqB,YAAa,0IACbnB,KAAM,WAER0B,sBACE5B,cAAc,EACdqB,YAAa,gCACbnB,KAAM,WAER2B,0BACE7B,cAAc,EACdqB,YAAa,oDACbnB,KAAM,WAER4B,OACE9B,cAA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","file":"showdown.min.js"} \ No newline at end of file +{"version":3,"sources":["showdown.js"],"names":["getDefaultOpts","simple","defaultOptions","omitExtraWLInCodeBlocks","defaultValue","describe","type","noHeaderId","prefixHeaderId","rawPrefixHeaderId","ghCompatibleHeaderId","rawHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","excludeTrailingPunctuationFromURLs","literalMidWordUnderscores","literalMidWordAsterisks","strikethrough","tables","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","smartIndentationFix","description","disableForced4SpacesIndentedSublists","simpleLineBreaks","requireSpaceBeforeHeadingText","ghMentions","ghMentionsLink","encodeEmails","openLinksInNewWindow","backslashEscapesHTMLTags","emoji","underline","completeHTMLDocument","metadata","splitAdjacentBlockquotes","JSON","parse","stringify","ret","opt","hasOwnProperty","validate","extension","name","errMsg","valid","error","showdown","helper","isArray","i","length","baseMsg","ext","isString","toLowerCase","isUndefined","listeners","filter","regex","ln","RegExp","replace","escapeCharactersCallback","wholeMatch","m1","charCodeAt","parsers","extensions","globalOptions","setFlavor","flavor","github","original","ghost","vanilla","allOn","options","allOptionsOn","setOption","key","value","this","getOption","getOptions","resetOptions","Error","preset","option","getFlavor","getFlavorOptions","getDefaultOptions","subParser","func","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","console","warn","a","String","isFunction","toString","call","Array","forEach","obj","callback","prop","s","escapeCharacters","text","charsToEscape","afterBackslash","regexString","unescapeHTMLEntities","txt","rgxFindMatchPos","str","left","right","flags","t","m","start","end","f","g","indexOf","x","l","pos","exec","test","lastIndex","index","match","push","matchRecursiveRegExp","matchPos","results","slice","replaceRecursiveRegExp","replacement","repStr","finalStr","lng","bits","join","regexIndexOf","fromIndex","substring","search","splitAtIndex","encodeEmailAddress","mail","encode","ch","Math","floor","random","r","padEnd","targetLength","padString","repeat","msg","alert","log","regexes","asteriskDashAndColon","emojis","+1","-1","100","1234","1st_place_medal","2nd_place_medal","3rd_place_medal","8ball","ab","abc","abcd","accept","aerial_tramway","airplane","alarm_clock","alembic","alien","ambulance","amphora","anchor","angel","anger","angry","anguished","ant","apple","aquarius","aries","arrow_backward","arrow_double_down","arrow_double_up","arrow_down","arrow_down_small","arrow_forward","arrow_heading_down","arrow_heading_up","arrow_left","arrow_lower_left","arrow_lower_right","arrow_right","arrow_right_hook","arrow_up","arrow_up_down","arrow_up_small","arrow_upper_left","arrow_upper_right","arrows_clockwise","arrows_counterclockwise","art","articulated_lorry","artificial_satellite","astonished","athletic_shoe","atm","atom_symbol","avocado","b","baby","baby_bottle","baby_chick","baby_symbol","back","bacon","badminton","baggage_claim","baguette_bread","balance_scale","balloon","ballot_box","ballot_box_with_check","bamboo","banana","bangbang","bank","bar_chart","barber","baseball","basketball","basketball_man","basketball_woman","bat","bath","bathtub","battery","beach_umbrella","bear","bed","bee","beer","beers","beetle","beginner","bell","bellhop_bell","bento","biking_man","bike","biking_woman","bikini","biohazard","bird","birthday","black_circle","black_flag","black_heart","black_joker","black_large_square","black_medium_small_square","black_medium_square","black_nib","black_small_square","black_square_button","blonde_man","blonde_woman","blossom","blowfish","blue_book","blue_car","blue_heart","blush","boar","boat","bomb","book","bookmark","bookmark_tabs","books","boom","boot","bouquet","bowing_man","bow_and_arrow","bowing_woman","bowling","boxing_glove","boy","bread","bride_with_veil","bridge_at_night","briefcase","broken_heart","bug","building_construction","bulb","bullettrain_front","bullettrain_side","burrito","bus","business_suit_levitating","busstop","bust_in_silhouette","busts_in_silhouette","butterfly","cactus","cake","calendar","call_me_hand","calling","camel","camera","camera_flash","camping","cancer","candle","candy","canoe","capital_abcd","capricorn","car","card_file_box","card_index","card_index_dividers","carousel_horse","carrot","cat","cat2","cd","chains","champagne","chart","chart_with_downwards_trend","chart_with_upwards_trend","checkered_flag","cheese","cherries","cherry_blossom","chestnut","chicken","children_crossing","chipmunk","chocolate_bar","christmas_tree","church","cinema","circus_tent","city_sunrise","city_sunset","cityscape","cl","clamp","clap","clapper","classical_building","clinking_glasses","clipboard","clock1","clock10","clock1030","clock11","clock1130","clock12","clock1230","clock130","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","closed_book","closed_lock_with_key","closed_umbrella","cloud","cloud_with_lightning","cloud_with_lightning_and_rain","cloud_with_rain","cloud_with_snow","clown_face","clubs","cocktail","coffee","coffin","cold_sweat","comet","computer","computer_mouse","confetti_ball","confounded","confused","congratulations","construction","construction_worker_man","construction_worker_woman","control_knobs","convenience_store","cookie","cool","policeman","copyright","corn","couch_and_lamp","couple","couple_with_heart_woman_man","couple_with_heart_man_man","couple_with_heart_woman_woman","couplekiss_man_man","couplekiss_man_woman","couplekiss_woman_woman","cow","cow2","cowboy_hat_face","crab","crayon","credit_card","crescent_moon","cricket","crocodile","croissant","crossed_fingers","crossed_flags","crossed_swords","crown","cry","crying_cat_face","crystal_ball","cucumber","cupid","curly_loop","currency_exchange","curry","custard","customs","cyclone","dagger","dancer","dancing_women","dancing_men","dango","dark_sunglasses","dart","dash","date","deciduous_tree","deer","department_store","derelict_house","desert","desert_island","desktop_computer","male_detective","diamond_shape_with_a_dot_inside","diamonds","disappointed","disappointed_relieved","dizzy","dizzy_face","do_not_litter","dog","dog2","dollar","dolls","dolphin","door","doughnut","dove","dragon","dragon_face","dress","dromedary_camel","drooling_face","droplet","drum","duck","dvd","e-mail","eagle","ear","ear_of_rice","earth_africa","earth_americas","earth_asia","egg","eggplant","eight_pointed_black_star","eight_spoked_asterisk","electric_plug","elephant","email","envelope_with_arrow","euro","european_castle","european_post_office","evergreen_tree","exclamation","expressionless","eye","eye_speech_bubble","eyeglasses","eyes","face_with_head_bandage","face_with_thermometer","fist_oncoming","factory","fallen_leaf","family_man_woman_boy","family_man_boy","family_man_boy_boy","family_man_girl","family_man_girl_boy","family_man_girl_girl","family_man_man_boy","family_man_man_boy_boy","family_man_man_girl","family_man_man_girl_boy","family_man_man_girl_girl","family_man_woman_boy_boy","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_girl_girl","family_woman_boy","family_woman_boy_boy","family_woman_girl","family_woman_girl_boy","family_woman_girl_girl","family_woman_woman_boy","family_woman_woman_boy_boy","family_woman_woman_girl","family_woman_woman_girl_boy","family_woman_woman_girl_girl","fast_forward","fax","fearful","feet","female_detective","ferris_wheel","ferry","field_hockey","file_cabinet","file_folder","film_projector","film_strip","fire","fire_engine","fireworks","first_quarter_moon","first_quarter_moon_with_face","fish","fish_cake","fishing_pole_and_fish","fist_raised","fist_left","fist_right","flashlight","fleur_de_lis","flight_arrival","flight_departure","floppy_disk","flower_playing_cards","flushed","fog","foggy","football","footprints","fork_and_knife","fountain","fountain_pen","four_leaf_clover","fox_face","framed_picture","free","fried_egg","fried_shrimp","fries","frog","frowning","frowning_face","frowning_man","frowning_woman","middle_finger","fuelpump","full_moon","full_moon_with_face","funeral_urn","game_die","gear","gem","gemini","gift","gift_heart","girl","globe_with_meridians","goal_net","goat","golf","golfing_man","golfing_woman","gorilla","grapes","green_apple","green_book","green_heart","green_salad","grey_exclamation","grey_question","grimacing","grin","grinning","guardsman","guardswoman","guitar","gun","haircut_woman","haircut_man","hamburger","hammer","hammer_and_pick","hammer_and_wrench","hamster","hand","handbag","handshake","hankey","hatched_chick","hatching_chick","headphones","hear_no_evil","heart","heart_decoration","heart_eyes","heart_eyes_cat","heartbeat","heartpulse","hearts","heavy_check_mark","heavy_division_sign","heavy_dollar_sign","heavy_heart_exclamation","heavy_minus_sign","heavy_multiplication_x","heavy_plus_sign","helicopter","herb","hibiscus","high_brightness","high_heel","hocho","hole","honey_pot","horse","horse_racing","hospital","hot_pepper","hotdog","hotel","hotsprings","hourglass","hourglass_flowing_sand","house","house_with_garden","houses","hugs","hushed","ice_cream","ice_hockey","ice_skate","icecream","id","ideograph_advantage","imp","inbox_tray","incoming_envelope","tipping_hand_woman","information_source","innocent","interrobang","iphone","izakaya_lantern","jack_o_lantern","japan","japanese_castle","japanese_goblin","japanese_ogre","jeans","joy","joy_cat","joystick","kaaba","keyboard","keycap_ten","kick_scooter","kimono","kiss","kissing","kissing_cat","kissing_closed_eyes","kissing_heart","kissing_smiling_eyes","kiwi_fruit","koala","koko","label","large_blue_circle","large_blue_diamond","large_orange_diamond","last_quarter_moon","last_quarter_moon_with_face","latin_cross","laughing","leaves","ledger","left_luggage","left_right_arrow","leftwards_arrow_with_hook","lemon","leo","leopard","level_slider","libra","light_rail","link","lion","lips","lipstick","lizard","lock","lock_with_ink_pen","lollipop","loop","loud_sound","loudspeaker","love_hotel","love_letter","low_brightness","lying_face","mag","mag_right","mahjong","mailbox","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","man","man_artist","man_astronaut","man_cartwheeling","man_cook","man_dancing","man_facepalming","man_factory_worker","man_farmer","man_firefighter","man_health_worker","man_in_tuxedo","man_judge","man_juggling","man_mechanic","man_office_worker","man_pilot","man_playing_handball","man_playing_water_polo","man_scientist","man_shrugging","man_singer","man_student","man_teacher","man_technologist","man_with_gua_pi_mao","man_with_turban","tangerine","mans_shoe","mantelpiece_clock","maple_leaf","martial_arts_uniform","mask","massage_woman","massage_man","meat_on_bone","medal_military","medal_sports","mega","melon","memo","men_wrestling","menorah","mens","metal","metro","microphone","microscope","milk_glass","milky_way","minibus","minidisc","mobile_phone_off","money_mouth_face","money_with_wings","moneybag","monkey","monkey_face","monorail","moon","mortar_board","mosque","motor_boat","motor_scooter","motorcycle","motorway","mount_fuji","mountain","mountain_biking_man","mountain_biking_woman","mountain_cableway","mountain_railway","mountain_snow","mouse","mouse2","movie_camera","moyai","mrs_claus","muscle","mushroom","musical_keyboard","musical_note","musical_score","mute","nail_care","name_badge","national_park","nauseated_face","necktie","negative_squared_cross_mark","nerd_face","neutral_face","new","new_moon","new_moon_with_face","newspaper","newspaper_roll","next_track_button","ng","no_good_man","no_good_woman","night_with_stars","no_bell","no_bicycles","no_entry","no_entry_sign","no_mobile_phones","no_mouth","no_pedestrians","no_smoking","non-potable_water","nose","notebook","notebook_with_decorative_cover","notes","nut_and_bolt","o","o2","ocean","octopus","oden","office","oil_drum","ok","ok_hand","ok_man","ok_woman","old_key","older_man","older_woman","om","on","oncoming_automobile","oncoming_bus","oncoming_police_car","oncoming_taxi","open_file_folder","open_hands","open_mouth","open_umbrella","ophiuchus","orange_book","orthodox_cross","outbox_tray","owl","ox","package","page_facing_up","page_with_curl","pager","paintbrush","palm_tree","pancakes","panda_face","paperclip","paperclips","parasol_on_ground","parking","part_alternation_mark","partly_sunny","passenger_ship","passport_control","pause_button","peace_symbol","peach","peanuts","pear","pen","pencil2","penguin","pensive","performing_arts","persevere","person_fencing","pouting_woman","phone","pick","pig","pig2","pig_nose","pill","pineapple","ping_pong","pisces","pizza","place_of_worship","plate_with_cutlery","play_or_pause_button","point_down","point_left","point_right","point_up","point_up_2","police_car","policewoman","poodle","popcorn","post_office","postal_horn","postbox","potable_water","potato","pouch","poultry_leg","pound","rage","pouting_cat","pouting_man","pray","prayer_beads","pregnant_woman","previous_track_button","prince","princess","printer","purple_heart","purse","pushpin","put_litter_in_its_place","question","rabbit","rabbit2","racehorse","racing_car","radio","radio_button","radioactive","railway_car","railway_track","rainbow","rainbow_flag","raised_back_of_hand","raised_hand_with_fingers_splayed","raised_hands","raising_hand_woman","raising_hand_man","ram","ramen","rat","record_button","recycle","red_circle","registered","relaxed","relieved","reminder_ribbon","repeat_one","rescue_worker_helmet","restroom","revolving_hearts","rewind","rhinoceros","ribbon","rice","rice_ball","rice_cracker","rice_scene","right_anger_bubble","ring","robot","rocket","rofl","roll_eyes","roller_coaster","rooster","rose","rosette","rotating_light","round_pushpin","rowing_man","rowing_woman","rugby_football","running_man","running_shirt_with_sash","running_woman","sa","sagittarius","sake","sandal","santa","satellite","saxophone","school","school_satchel","scissors","scorpion","scorpius","scream","scream_cat","scroll","seat","secret","see_no_evil","seedling","selfie","shallow_pan_of_food","shamrock","shark","shaved_ice","sheep","shell","shield","shinto_shrine","ship","shirt","shopping","shopping_cart","shower","shrimp","signal_strength","six_pointed_star","ski","skier","skull","skull_and_crossbones","sleeping","sleeping_bed","sleepy","slightly_frowning_face","slightly_smiling_face","slot_machine","small_airplane","small_blue_diamond","small_orange_diamond","small_red_triangle","small_red_triangle_down","smile","smile_cat","smiley","smiley_cat","smiling_imp","smirk","smirk_cat","smoking","snail","snake","sneezing_face","snowboarder","snowflake","snowman","snowman_with_snow","sob","soccer","soon","sos","sound","space_invader","spades","spaghetti","sparkle","sparkler","sparkles","sparkling_heart","speak_no_evil","speaker","speaking_head","speech_balloon","speedboat","spider","spider_web","spiral_calendar","spiral_notepad","spoon","squid","stadium","star","star2","star_and_crescent","star_of_david","stars","station","statue_of_liberty","steam_locomotive","stew","stop_button","stop_sign","stopwatch","straight_ruler","strawberry","stuck_out_tongue","stuck_out_tongue_closed_eyes","stuck_out_tongue_winking_eye","studio_microphone","stuffed_flatbread","sun_behind_large_cloud","sun_behind_rain_cloud","sun_behind_small_cloud","sun_with_face","sunflower","sunglasses","sunny","sunrise","sunrise_over_mountains","surfing_man","surfing_woman","sushi","suspension_railway","sweat","sweat_drops","sweat_smile","sweet_potato","swimming_man","swimming_woman","symbols","synagogue","syringe","taco","tada","tanabata_tree","taurus","taxi","tea","telephone_receiver","telescope","tennis","tent","thermometer","thinking","thought_balloon","ticket","tickets","tiger","tiger2","timer_clock","tipping_hand_man","tired_face","tm","toilet","tokyo_tower","tomato","tongue","top","tophat","tornado","trackball","tractor","traffic_light","train","train2","tram","triangular_flag_on_post","triangular_ruler","trident","triumph","trolleybus","trophy","tropical_drink","tropical_fish","truck","trumpet","tulip","tumbler_glass","turkey","turtle","tv","twisted_rightwards_arrows","two_hearts","two_men_holding_hands","two_women_holding_hands","u5272","u5408","u55b6","u6307","u6708","u6709","u6e80","u7121","u7533","u7981","u7a7a","umbrella","unamused","underage","unicorn","unlock","up","upside_down_face","v","vertical_traffic_light","vhs","vibration_mode","video_camera","video_game","violin","virgo","volcano","volleyball","vs","vulcan_salute","walking_man","walking_woman","waning_crescent_moon","waning_gibbous_moon","warning","wastebasket","watch","water_buffalo","watermelon","wave","wavy_dash","waxing_crescent_moon","wc","weary","wedding","weight_lifting_man","weight_lifting_woman","whale","whale2","wheel_of_dharma","wheelchair","white_check_mark","white_circle","white_flag","white_flower","white_large_square","white_medium_small_square","white_medium_square","white_small_square","white_square_button","wilted_flower","wind_chime","wind_face","wine_glass","wink","wolf","woman","woman_artist","woman_astronaut","woman_cartwheeling","woman_cook","woman_facepalming","woman_factory_worker","woman_farmer","woman_firefighter","woman_health_worker","woman_judge","woman_juggling","woman_mechanic","woman_office_worker","woman_pilot","woman_playing_handball","woman_playing_water_polo","woman_scientist","woman_shrugging","woman_singer","woman_student","woman_teacher","woman_technologist","woman_with_turban","womans_clothes","womans_hat","women_wrestling","womens","world_map","worried","wrench","writing_hand","yellow_heart","yen","yin_yang","yum","zap","zipper_mouth_face","zzz","octocat","Converter","converterOptions","_parseExtension","langExtensions","outputModifiers","legacyExtensionLoading","validExt","listen","setConvFlavor","parsed","raw","format","gOpt","_constructor","_dispatch","evtName","globals","ei","nText","makeHtml","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","rsp","rgx","rTrimInputText","makeMarkdown","makeMd","src","HTMLParser","clean","node","n","childNodes","child","nodeType","nodeValue","split","removeChild","window","document","doc","createElement","innerHTML","preList","pres","querySelectorAll","presPH","childElementCount","firstChild","tagName","content","trim","language","getAttribute","classes","className","c","matches","outerHTML","setAttribute","substitutePreCodeTags","nodes","mdDoc","addExtension","useExtension","extensionName","splice","output","getMetadata","getMetadataFormat","_setMetadataPair","_setMetadataFormat","_setMetadataRaw","writeAnchorTag","linkText","linkId","url","m5","m6","title","result","wm","st","escape","mentions","username","lnk","target","simpleURLRegex","simpleURLRegex2","delimUrlRegex","simpleMailRegex","delimMailRegex","replaceLink","leadingMagicChars","m2","m3","trailingPunctuation","trailingMagicChars","lnkTxt","append","lmc","tmc","replaceMail","href","bq","pre","codeblock","nextChar","doctype","doctypeParsed","charset","lang","meta","leadingText","numSpaces","emojiCode","delim","blockText","blockTags","repFunc","inside","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","concat","hashHTMLSpan","html","repText","limit","num","$1","headerId","prefix","customizedHeaderId","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","hashBlock","matchFound","hLevel","atxStyle","hText","span","header","writeImageTag","altText","width","height","gDims","parseInside","lead","processListItems","listStr","trimTrailing","isParagraphed","m4","taskbtn","checked","item","bulletStyle","otp","wm2","styleStartNumber","list","listType","res","parseConsecutiveLists","olRgx","ulRgx","counterRxg","parseCL","style","parseMetadataContents","wholematch","grafs","grafsOut","grafsOutIt","codeFlag","$2","re","replaceFunc","blankLines","parseStyles","sLine","parseHeaders","tableHeaderId","parseCells","cell","parseTable","rawTable","tableLines","rawHeaders","map","rawStyles","rawCells","headers","styles","cells","shift","row","ii","tb","tblLgn","buildTable","charCodeToReplace","fromCharCode","hasChildNodes","children","childrenLength","innerTxt","headerLevel","headerMark","hasAttribute","listItems","listItemsLenght","listNum","listItemTxt","childrenLenght","spansOnly","data","tableArray","headings","rows","headContent","allign","cols","getElementsByTagName","cellContent","cellSpacesCount","strLen","define","amd","module","exports"],"mappings":";CACA,WAKA,SAASA,EAAgBC,GACvB,aAEA,IAAIC,GACFC,yBACEC,cAAc,EACdC,SAAU,wDACVC,KAAM,WAERC,YACEH,cAAc,EACdC,SAAU,kCACVC,KAAM,WAERE,gBACEJ,cAAc,EACdC,SAAU,4JACVC,KAAM,UAERG,mBACEL,cAAc,EACdC,SAAU,uKACVC,KAAM,WAERI,sBACEN,cAAc,EACdC,SAAU,oIACVC,KAAM,WAERK,aACEP,cAAc,EACdC,SAAU,2JACVC,KAAM,WAERM,kBACER,cAAc,EACdC,SAAU,gCACVC,KAAM,WAERO,oBACET,cAAc,EACdC,SAAU,sCACVC,KAAM,WAERQ,oBACEV,cAAc,EACdC,SAAU,iCACVC,KAAM,WAERS,oCACEX,cAAc,EACdC,SAAU,sEACVC,KAAM,WAERU,2BACEZ,cAAc,EACdC,SAAU,mDACVC,KAAM,WAERW,yBACEb,cAAc,EACdC,SAAU,+CACVC,KAAM,WAERY,eACEd,cAAc,EACdC,SAAU,oCACVC,KAAM,WAERa,QACEf,cAAc,EACdC,SAAU,6BACVC,KAAM,WAERc,gBACEhB,cAAc,EACdC,SAAU,6BACVC,KAAM,WAERe,cACEjB,cAAc,EACdC,SAAU,6CACVC,KAAM,WAERgB,WACElB,cAAc,EACdC,SAAU,mCACVC,KAAM,WAERiB,mBACEnB,cAAc,EACdC,SAAU,kEACVC,KAAM,WAERkB,qBACEpB,cAAc,EACdqB,YAAa,kDACbnB,KAAM,WAERoB,sCACEtB,cAAc,EACdqB,YAAa,oEACbnB,KAAM,WAERqB,kBACEvB,cAAc,EACdqB,YAAa,gDACbnB,KAAM,WAERsB,+BACExB,cAAc,EACdqB,YAAa,6EACbnB,KAAM,WAERuB,YACEzB,cAAc,EACdqB,YAAa,2BACbnB,KAAM,WAERwB,gBACE1B,aAAc,yBACdqB,YAAa,yFACbnB,KAAM,UAERyB,cACE3B,cAAc,EACdqB,YAAa,0IACbnB,KAAM,WAER0B,sBACE5B,cAAc,EACdqB,YAAa,gCACbnB,KAAM,WAER2B,0BACE7B,cAAc,EACdqB,YAAa,oDACbnB,KAAM,WAER4B,OACE9B,cAA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","file":"showdown.min.js"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..bff43d67 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4676 @@ +{ + "name": "showdown", + "version": "1.8.7", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "JSONStream": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz", + "integrity": "sha1-aAq5rGVyqKGiB+CzhyHbHHeyFeU=", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", + "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "acorn-walk": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.0.tgz", + "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==", + "dev": true + }, + "ajv": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.2.tgz", + "integrity": "sha1-8WbDwRy8bLncwQKlvP5bcslSh+Y=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "~0.2.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true, + "optional": true + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "dev": true, + "requires": { + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "circular-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", + "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", + "dev": true + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "dependencies": { + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-width": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "coffeescript": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", + "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "conventional-changelog": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.0.tgz", + "integrity": "sha1-iuP7Wf63S77golgz7h+D2tSgeHQ=", + "dev": true, + "requires": { + "conventional-changelog-angular": "^1.0.0", + "conventional-changelog-atom": "^0.1.0", + "conventional-changelog-codemirror": "^0.1.0", + "conventional-changelog-core": "^1.3.0", + "conventional-changelog-ember": "^0.2.0", + "conventional-changelog-eslint": "^0.1.0", + "conventional-changelog-express": "^0.1.0", + "conventional-changelog-jquery": "^0.1.0", + "conventional-changelog-jscs": "^0.1.0", + "conventional-changelog-jshint": "^0.1.0" + } + }, + "conventional-changelog-angular": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz", + "integrity": "sha1-P2QYWXiqE6sJVMnkaniWn9WcaAE=", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "github-url-from-git": "^1.4.0", + "q": "^1.4.1" + } + }, + "conventional-changelog-atom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz", + "integrity": "sha1-Z6R8ZqQrL4kJ7xWHyZia4d5zC5I=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-codemirror": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz", + "integrity": "sha1-dXelkdv5tTjnoVCn7mL2WihyszQ=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-core": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.5.tgz", + "integrity": "sha1-XbdWba18DLddr0f7spdve/mSjB0=", + "dev": true, + "requires": { + "conventional-changelog-writer": "^2.0.3", + "conventional-commits-parser": "^2.1.0", + "dateformat": "^1.0.12", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "^1.3.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^1.2.3", + "lodash": "^4.0.0", + "normalize-package-data": "^2.3.5", + "q": "^1.4.1", + "read-pkg": "^1.1.0", + "read-pkg-up": "^1.0.1", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "conventional-changelog-writer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.3.tgz", + "integrity": "sha512-2E1h7UXL0fhRO5h0CxDZ5EBc5sfBZEQePvuZ+gPvApiRrICUyNDy/NQIP+2TBd4wKZQf2Zm7TxbzXHG5HkPIbA==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^1.1.1", + "dateformat": "^1.0.11", + "handlebars": "^4.0.2", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.0.0", + "meow": "^3.3.0", + "semver": "^5.0.1", + "split": "^1.0.0", + "through2": "^2.0.0" + } + }, + "conventional-commits-filter": { + "version": "1.1.6", + "resolved": "http://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz", + "integrity": "sha512-KcDgtCRKJCQhyk6VLT7zR+ZOyCnerfemE/CsR3iQpzRRFbLEs0Y6rwk3mpDvtOh04X223z+1xyJ582Stfct/0Q==", + "dev": true, + "requires": { + "is-subset": "^0.1.1", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "2.1.7", + "resolved": "http://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz", + "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==", + "dev": true, + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.0", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0", + "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "git-raw-commits": { + "version": "1.3.6", + "resolved": "http://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz", + "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "git-semver-tags": { + "version": "1.3.6", + "resolved": "http://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.6.tgz", + "integrity": "sha512-2jHlJnln4D/ECk9FxGEBh3k44wgYdWjWDtMmJPaecjoRmxKo3Y1Lh8GMYuOPu04CHw86NTAODchYjC5pnpMQig==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + } + } + }, + "conventional-changelog-ember": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz", + "integrity": "sha1-utcKiROGvDBGSEqPTx5aotwK0gg=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-eslint": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz", + "integrity": "sha1-pSQR6ZngUBzlALhWsKZD0DMJB+I=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-express": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz", + "integrity": "sha1-VcbIQcgRliA2wDe9vZZKVK4xD84=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-jquery": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", + "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-jscs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", + "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-jshint": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz", + "integrity": "sha1-AMq46aMxdIer2UxNhGcTQpGNKgc=", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.4.1" + } + }, + "conventional-github-releaser": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/conventional-github-releaser/-/conventional-github-releaser-1.1.13.tgz", + "integrity": "sha1-C+ezp8eGfoiL5SZHWlkP9ZMDUXw=", + "dev": true, + "requires": { + "conventional-changelog": "^1.1.0", + "dateformat": "^1.0.11", + "git-semver-tags": "^1.0.0", + "github": "^0.2.4", + "lodash.merge": "^4.0.2", + "meow": "^3.3.0", + "object-assign": "^4.0.1", + "q": "^1.4.1", + "semver": "^5.0.1", + "semver-regex": "^1.0.0", + "through2": "^2.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", + "dev": true + }, + "cssstyle": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true, + "optional": true + }, + "d": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + } + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "error-ex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", + "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.12", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", + "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", + "dev": true, + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", + "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.7", + "es6-symbol": "3" + } + }, + "es6-map": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", + "integrity": "sha1-o0sUe+IkdzpNfagHJ5TO+jYyuJc=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-iterator": "2", + "es6-set": "~0.1.3", + "es6-symbol": "~3.1.0", + "event-emitter": "~0.3.4" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true, + "optional": true + }, + "es6-set": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", + "integrity": "sha1-lRa2dhwpZLkv9HlFYjOiR9xwfOg=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-iterator": "2", + "es6-symbol": "3", + "event-emitter": "~0.3.4" + } + }, + "es6-symbol": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", + "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11" + } + }, + "es6-weak-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", + "integrity": "sha1-DSu9iCfrX7S6j5f7/qUNQ9sh6oE=", + "dev": true, + "requires": { + "d": "^0.1.1", + "es5-ext": "^0.10.8", + "es6-iterator": "2", + "es6-symbol": "3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "espree": { + "version": "3.5.4", + "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "dev": true, + "requires": { + "estraverse": "~4.1.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "estraverse": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", + "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", + "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.7" + } + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "optional": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "optional": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true, + "optional": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "optional": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "~5.0.0" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", + "dev": true, + "requires": { + "samsam": "1.x" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-pkg-repo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz", + "integrity": "sha1-Q8a0wEi3XdYE/FOI7ezeVX9jNd8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.1.2.tgz", + "integrity": "sha1-rs+bGyRHprVI1IZH9T7boKyth58=", + "dev": true, + "requires": { + "meow": "^3.3.0", + "semver": "^5.0.1" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "github": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/github/-/github-0.2.4.tgz", + "integrity": "sha1-JPp/DhP6EblGr5ETTFGYKpHOU4s=", + "dev": true, + "requires": { + "mime": "^1.2.11" + } + }, + "github-url-from-git": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", + "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=", + "dev": true + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz", + "integrity": "sha1-iFmTavADh0EmMFOznQ52yiQeQDQ=", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "grunt": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz", + "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", + "dev": true, + "requires": { + "coffeescript": "~1.10.0", + "dateformat": "~1.0.12", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.3.0", + "glob": "~7.0.0", + "grunt-cli": "~1.2.0", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~2.0.0", + "grunt-legacy-util": "~1.1.1", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.5.2", + "minimatch": "~3.0.2", + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "path-is-absolute": "~1.0.0", + "rimraf": "~2.6.2" + }, + "dependencies": { + "grunt-cli": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "grunt-contrib-clean": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", + "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", + "dev": true, + "requires": { + "async": "^1.5.2", + "rimraf": "^2.5.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "grunt-contrib-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "source-map": "^0.5.3" + } + }, + "grunt-contrib-jshint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", + "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "hooker": "^0.2.3", + "jshint": "~2.9.4" + } + }, + "grunt-contrib-uglify": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.2.1.tgz", + "integrity": "sha1-hFiUPrYFO63/gptvDJEmsepiTEo=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "maxmin": "^1.1.0", + "uglify-js": "~3.2.0", + "uri-path": "^1.0.0" + }, + "dependencies": { + "commander": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz", + "integrity": "sha1-RoY1xBaNBhRbkyM1bR2oTRSsSno=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "uglify-js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.0.tgz", + "integrity": "sha1-y0Ee5MoODK2/46ThodqX5voNGcE=", + "dev": true, + "requires": { + "commander": "~2.12.1", + "source-map": "~0.6.1" + } + } + } + }, + "grunt-conventional-changelog": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/grunt-conventional-changelog/-/grunt-conventional-changelog-6.1.0.tgz", + "integrity": "sha1-mL1b37Kw3mMWwFx8b6ykziTdFDU=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "concat-stream": "^1.5.0", + "conventional-changelog": "^1.1.0", + "plur": "^2.0.0", + "q": "^1.4.1" + } + }, + "grunt-conventional-github-releaser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-conventional-github-releaser/-/grunt-conventional-github-releaser-1.0.0.tgz", + "integrity": "sha1-7Tbg9V1orq6FrxSEBsPXAYJnuHU=", + "dev": true, + "requires": { + "chalk": "^1.1.0", + "conventional-github-releaser": "^1.1.0", + "plur": "^2.0.0" + } + }, + "grunt-endline": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/grunt-endline/-/grunt-endline-0.6.2.tgz", + "integrity": "sha1-lR7AF39zfqhGZrV3pwdDMmGwEWo=", + "dev": true + }, + "grunt-eslint": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-19.0.0.tgz", + "integrity": "sha1-u3TDeQYVmc7B9mFp3vKonYYthhs=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "eslint": "^3.0.0" + } + }, + "grunt-known-options": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", + "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", + "dev": true + }, + "grunt-legacy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", + "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", + "dev": true, + "requires": { + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.5" + } + }, + "grunt-legacy-log-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", + "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", + "dev": true, + "requires": { + "chalk": "~2.4.1", + "lodash": "~4.17.10" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-legacy-util": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", + "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", + "dev": true, + "requires": { + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.10", + "underscore.string": "~3.3.4", + "which": "~1.3.0" + }, + "dependencies": { + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "grunt-simple-mocha": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/grunt-simple-mocha/-/grunt-simple-mocha-0.4.1.tgz", + "integrity": "sha1-V5RJJJ6vCoGHj6cvPtq1FF1F/Xc=", + "dev": true, + "requires": { + "mocha": "*" + } + }, + "gzip-size": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", + "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", + "dev": true, + "requires": { + "browserify-zlib": "^0.1.4", + "concat-stream": "^1.4.1" + } + }, + "handlebars": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.6.tgz", + "integrity": "sha1-LORISFBTf5yXqAJtU5m5NcTtTtc=", + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "optional": true, + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", + "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.2.tgz", + "integrity": "sha1-HFHh71O6tt3BXbTZrE7BOezrNBA=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "interpret": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", + "integrity": "sha1-1Xn7f2k7hYAElHrzn6DbSfeVYCw=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "irregular-plurals": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.2.0.tgz", + "integrity": "sha1-OPKZg0uowAwwvpxVThNyaXUv86w=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", + "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true, + "requires": { + "tryit": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "dev": true + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-13.0.0.tgz", + "integrity": "sha512-Kmq4ASMNkgpY+YufE322EnIKoiz0UWY2DRkKlU7d5YrIW4xiVRhWFrZV1fr6w/ZNxQ50wGAH5gGRzydgnmkkvw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.2", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.0.1", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.0.9", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.3", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.4.3", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.0.0", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", + "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", + "dev": true + } + } + }, + "jshint": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz", + "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.10", + "minimatch": "~3.0.2", + "phantom": "~4.0.1", + "phantomjs-prebuilt": "~2.1.7", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x", + "unicode-5.2.0": "^0.7.5" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.0.tgz", + "integrity": "sha1-hfwkWx2SWazGlBlguQWt9k594Og=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-extend": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", + "integrity": "sha1-7G55QQ/5FORyZSq/oOYDwD1g6QU=", + "dev": true + }, + "kew": { + "version": "0.7.0", + "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz", + "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-grunt-tasks": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz", + "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "multimatch": "^2.0.0", + "pkg-up": "^1.0.0", + "resolve-pkg": "^0.1.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", + "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0" + } + }, + "lolex": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.1.tgz", + "integrity": "sha1-PSMZiURx6glQ72RpLq0qUxjP82I=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "maxmin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", + "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^1.0.0", + "pretty-bytes": "^1.0.0" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "~1.37.0" + } + }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "commander": { + "version": "2.15.1", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "modify-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz", + "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nise": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.0.tgz", + "integrity": "sha1-B51srbvLErow448cmZ82rU1rqlM=", + "dev": true, + "requires": { + "formatio": "^1.2.0", + "just-extend": "^1.1.26", + "lolex": "^1.6.0", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" + }, + "dependencies": { + "lolex": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=" + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-github-repo-url": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.3.0.tgz", + "integrity": "sha1-1N4C1o4uYPDWoYLnqMshtvOMcws=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true, + "optional": true + }, + "performance-now": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.0.0.tgz", + "integrity": "sha1-xEnO7v8oUL0J2RErfAMwER0WSIA=", + "dev": true + }, + "phantom": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz", + "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==", + "dev": true, + "optional": true, + "requires": { + "phantomjs-prebuilt": "^2.1.16", + "split": "^1.0.1", + "winston": "^2.4.0" + }, + "dependencies": { + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "optional": true, + "requires": { + "through": "2" + } + } + } + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "dev": true, + "optional": true, + "requires": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "^1.0.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "quiet-grunt": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/quiet-grunt/-/quiet-grunt-0.2.3.tgz", + "integrity": "sha1-8JCJeal9JCrC2NbuvP5Vj1nAYYQ=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + } + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "optional": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "dev": true, + "requires": { + "lodash": "^4.13.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "dev": true, + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-pkg": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", + "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=", + "dev": true, + "requires": { + "resolve-from": "^2.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + } + } + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "^1.3.0" + } + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=", + "dev": true + }, + "saxes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.3.tgz", + "integrity": "sha512-Nc5DXc5A+m3rUDtkS+vHlBWKT7mCKjJPyia7f8YMW773hsXVv2wEHQZGE0zs4+5PLwz9U5Sbl/94Cnd9vHV7Bg==", + "dev": true, + "requires": { + "xmlchars": "^1.3.1" + } + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", + "dev": true + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", + "dev": true + }, + "semver-sort": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz", + "integrity": "sha1-NP293GprK0FhOYw8TbpWJDv+qos=", + "dev": true, + "requires": { + "semver": "^5.0.3", + "semver-regex": "^1.0.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "sinon": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.1.2.tgz", + "integrity": "sha1-ZWEFIdkm+1N0LdhM1ZnwuJqC9EA=", + "dev": true, + "requires": { + "diff": "^3.1.0", + "formatio": "1.2.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^4.4.0", + "type-detect": "^4.0.0" + }, + "dependencies": { + "diff": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } + } + } + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "source-map-support": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz", + "integrity": "sha1-IBinrSvfj68mkeX92rJr7VorrKs=", + "dev": true, + "requires": { + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "^1.0.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "split": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", + "integrity": "sha1-xDlc5oOrzSVLwo/h2rtuXCfc/64=", + "dev": true, + "requires": { + "through": "2" + } + }, + "split2": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.1.1.tgz", + "integrity": "sha1-eh9VHhdqkOzTNF9yRqDP4XXvT9A=", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "optional": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "string-width": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", + "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true + }, + "text-extensions": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.4.0.tgz", + "integrity": "sha1-w4XS6Ah5/m75eJPhcJ2I2UU3Juk=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true, + "optional": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz", + "integrity": "sha1-Dj8mcLRAmbC0bChNE2p+9Jx0wuo=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", + "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", + "dev": true, + "optional": true, + "requires": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true, + "optional": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "underscore.string": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", + "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "dev": true, + "requires": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + } + }, + "unicode-5.2.0": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz", + "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==", + "dev": true + }, + "uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "w3c-xmlserializer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.0.tgz", + "integrity": "sha512-0et1+9uXYiIRAecx1D5Z1nk60+vimniGdIKl4XjeqkWi6acoHNlXMv1VR5jV+jF4ooeO08oWbYxeAJOcon1oMA==", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-mimetype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz", + "integrity": "sha512-5YSO1nMd5D1hY3WzAQV3PzZL83W3YeyR1yW9PcH26Weh1t+Vzh9B6XkDh7aXm83HBZ4nSMvkjvN2H2ySWIvBgw==", + "dev": true + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI=", + "requires": { + "isexe": "^1.1.1" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "winston": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", + "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", + "dev": true, + "optional": true, + "requires": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true, + "optional": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true, + "optional": true + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz", + "integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha1-ZULevZCArVF+xQSPtFTv6eTUqq4=", + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "yargs-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", + "requires": { + "camelcase": "^4.1.0" + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "optional": true, + "requires": { + "fd-slicer": "~1.0.1" + } + } + } +} diff --git a/package.json b/package.json index 891413a1..c1ae5bbc 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "devDependencies": { "chai": "^4.0.2", - "grunt": "^1.0.1", + "grunt": "^1.0.3", "grunt-contrib-clean": "^1.0.0", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-jshint": "^1.1.0", @@ -50,6 +50,7 @@ "grunt-endline": "^0.6.1", "grunt-eslint": "^19.0.0", "grunt-simple-mocha": "^0.4.0", + "jsdom": "^13.0.0", "load-grunt-tasks": "^3.2.0", "performance-now": "^2.0.0", "quiet-grunt": "^0.2.3", diff --git a/src/converter.js b/src/converter.js index fcd4f0f9..bf11cc90 100644 --- a/src/converter.js +++ b/src/converter.js @@ -343,6 +343,112 @@ showdown.Converter = function (converterOptions) { return text; }; + /** + * Converts an HTML string into a markdown string + * @param src + * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used. + * @returns {string} + */ + this.makeMarkdown = this.makeMd = function (src, HTMLParser) { + + // replace \r\n with \n + src = src.replace(/\r\n/g, '\n'); + src = src.replace(/\r/g, '\n'); // old macs + + // due to an edge case, we need to find this: > < + // to prevent removing of non silent white spaces + // ex: this is sparta + src = src.replace(/>[ \t]+¨NBSP;<'); + + if (!HTMLParser) { + if (window && window.document) { + HTMLParser = window.document; + } else { + throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM'); + } + } + + var doc = HTMLParser.createElement('div'); + doc.innerHTML = src; + + var globals = { + preList: substitutePreCodeTags(doc) + }; + + // remove all newlines and collapse spaces + clean(doc); + + // some stuff, like accidental reference links must now be escaped + // TODO + // doc.innerHTML = doc.innerHTML.replace(/\[[\S\t ]]/); + + var nodes = doc.childNodes, + mdDoc = ''; + + for (var i = 0; i < nodes.length; i++) { + mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals); + } + + function clean (node) { + for (var n = 0; n < node.childNodes.length; ++n) { + var child = node.childNodes[n]; + if (child.nodeType === 3) { + if (!/\S/.test(child.nodeValue)) { + node.removeChild(child); + --n; + } else { + child.nodeValue = child.nodeValue.split('\n').join(' '); + child.nodeValue = child.nodeValue.replace(/(\s)+/g, '$1'); + } + } else if (child.nodeType === 1) { + clean(child); + } + } + } + + // find all pre tags and replace contents with placeholder + // we need this so that we can remove all indentation from html + // to ease up parsing + function substitutePreCodeTags (doc) { + + var pres = doc.querySelectorAll('pre'), + presPH = []; + + for (var i = 0; i < pres.length; ++i) { + + if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') { + var content = pres[i].firstChild.innerHTML.trim(), + language = pres[i].firstChild.getAttribute('data-language') || ''; + + // if data-language attribute is not defined, then we look for class language-* + if (language === '') { + var classes = pres[i].firstChild.className.split(' '); + for (var c = 0; c < classes.length; ++c) { + var matches = classes[c].match(/^language-(.+)$/); + if (matches !== null) { + language = matches[1]; + break; + } + } + } + + // unescape html entities in content + content = showdown.helper.unescapeHTMLEntities(content); + + presPH.push(content); + pres[i].outerHTML = ''; + } else { + presPH.push(pres[i].innerHTML); + pres[i].innerHTML = ''; + pres[i].setAttribute('prenum', i.toString()); + } + } + return presPH; + } + + return mdDoc; + }; + /** * Set an option of this Converter instance * @param {string} key diff --git a/src/helpers.js b/src/helpers.js index 00dcba65..ff9d4339 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -140,6 +140,21 @@ showdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash return text; }; +/** + * Unescape HTML entities + * @param txt + * @returns {string} + */ +showdown.helper.unescapeHTMLEntities = function (txt) { + 'use strict'; + + return txt + .replace(/"/g, '"') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/&/g, '&'); +}; + var rgxFindMatchPos = function (str, left, right, flags) { 'use strict'; var f = flags || '', @@ -350,6 +365,31 @@ showdown.helper.encodeEmailAddress = function (mail) { return mail; }; +/** + * + * @param str + * @param targetLength + * @param padString + * @returns {string} + */ +showdown.helper.padEnd = function padEnd (str, targetLength, padString) { + 'use strict'; + /*jshint bitwise: false*/ + // eslint-disable-next-line space-infix-ops + targetLength = targetLength>>0; //floor if number or convert non-number to 0; + /*jshint bitwise: true*/ + padString = String(padString || ' '); + if (str.length > targetLength) { + return String(str); + } else { + targetLength = targetLength - str.length; + if (targetLength > padString.length) { + padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed + } + return String(str) + padString.slice(0,targetLength); + } +}; + /** * POLYFILLS */ diff --git a/src/subParsers/makeMarkdown/blockquote.js b/src/subParsers/makeMarkdown/blockquote.js new file mode 100644 index 00000000..143e5a8f --- /dev/null +++ b/src/subParsers/makeMarkdown/blockquote.js @@ -0,0 +1,22 @@ +showdown.subParser('makeMarkdown.blockquote', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals); + + if (innerTxt === '') { + continue; + } + txt += innerTxt; + } + } + // cleanup + txt = txt.trim(); + txt = '> ' + txt.split('\n').join('\n> '); + return txt; +}); diff --git a/src/subParsers/makeMarkdown/codeBlock.js b/src/subParsers/makeMarkdown/codeBlock.js new file mode 100644 index 00000000..bf8cf173 --- /dev/null +++ b/src/subParsers/makeMarkdown/codeBlock.js @@ -0,0 +1,7 @@ +showdown.subParser('makeMarkdown.codeBlock', function (node, globals) { + 'use strict'; + + var lang = node.getAttribute('language'), + num = node.getAttribute('precodenum'); + return '```' + lang + '\n' + globals.preList[num] + '\n```'; +}); diff --git a/src/subParsers/makeMarkdown/codeSpan.js b/src/subParsers/makeMarkdown/codeSpan.js new file mode 100644 index 00000000..da904295 --- /dev/null +++ b/src/subParsers/makeMarkdown/codeSpan.js @@ -0,0 +1,5 @@ +showdown.subParser('makeMarkdown.codeSpan', function (node) { + 'use strict'; + + return '`' + node.innerHTML + '`'; +}); diff --git a/src/subParsers/makeMarkdown/emphasis.js b/src/subParsers/makeMarkdown/emphasis.js new file mode 100644 index 00000000..283cd02b --- /dev/null +++ b/src/subParsers/makeMarkdown/emphasis.js @@ -0,0 +1,15 @@ +showdown.subParser('makeMarkdown.emphasis', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '*'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '*'; + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/header.js b/src/subParsers/makeMarkdown/header.js new file mode 100644 index 00000000..9a1b0c52 --- /dev/null +++ b/src/subParsers/makeMarkdown/header.js @@ -0,0 +1,17 @@ +showdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) { + 'use strict'; + + var headerMark = new Array(headerLevel + 1).join('#'), + txt = ''; + + if (node.hasChildNodes()) { + txt = headerMark + ' '; + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/hr.js b/src/subParsers/makeMarkdown/hr.js new file mode 100644 index 00000000..555451f1 --- /dev/null +++ b/src/subParsers/makeMarkdown/hr.js @@ -0,0 +1,5 @@ +showdown.subParser('makeMarkdown.hr', function () { + 'use strict'; + + return '---'; +}); diff --git a/src/subParsers/makeMarkdown/image.js b/src/subParsers/makeMarkdown/image.js new file mode 100644 index 00000000..b5fa0393 --- /dev/null +++ b/src/subParsers/makeMarkdown/image.js @@ -0,0 +1,18 @@ +showdown.subParser('makeMarkdown.image', function (node) { + 'use strict'; + + var txt = ''; + if (node.hasAttribute('src')) { + txt += '![' + node.getAttribute('alt') + ']('; + txt += '<' + node.getAttribute('src') + '>'; + if (node.hasAttribute('width') && node.hasAttribute('height')) { + txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height'); + } + + if (node.hasAttribute('title')) { + txt += ' "' + node.getAttribute('title') + '"'; + } + txt += ')'; + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/links.js b/src/subParsers/makeMarkdown/links.js new file mode 100644 index 00000000..6b23255a --- /dev/null +++ b/src/subParsers/makeMarkdown/links.js @@ -0,0 +1,20 @@ +showdown.subParser('makeMarkdown.links', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes() && node.hasAttribute('href')) { + var children = node.childNodes, + childrenLength = children.length; + txt = '['; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += ']('; + txt += '<' + node.getAttribute('href') + '>'; + if (node.hasAttribute('title')) { + txt += ' "' + node.getAttribute('title') + '"'; + } + txt += ')'; + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/list.js b/src/subParsers/makeMarkdown/list.js new file mode 100644 index 00000000..7882e1b5 --- /dev/null +++ b/src/subParsers/makeMarkdown/list.js @@ -0,0 +1,33 @@ +showdown.subParser('makeMarkdown.list', function (node, globals, type) { + 'use strict'; + + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var listItems = node.childNodes, + listItemsLenght = listItems.length, + listNum = node.getAttribute('start') || 1; + + for (var i = 0; i < listItemsLenght; ++i) { + if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') { + continue; + } + + // define the bullet to use in list + var bullet = ''; + if (type === 'ol') { + bullet = listNum.toString() + '. '; + } else { + bullet = '- '; + } + + // parse list item + txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals); + ++listNum; + } + + // add comment at the end to prevent consecutive lists to be parsed as one + txt += '\n\n'; + return txt.trim(); +}); diff --git a/src/subParsers/makeMarkdown/listItem.js b/src/subParsers/makeMarkdown/listItem.js new file mode 100644 index 00000000..bccd2a07 --- /dev/null +++ b/src/subParsers/makeMarkdown/listItem.js @@ -0,0 +1,25 @@ +showdown.subParser('makeMarkdown.listItem', function (node, globals) { + 'use strict'; + + var listItemTxt = ''; + + var children = node.childNodes, + childrenLenght = children.length; + + for (var i = 0; i < childrenLenght; ++i) { + listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + // if it's only one liner, we need to add a newline at the end + if (!/\n$/.test(listItemTxt)) { + listItemTxt += '\n'; + } else { + // it's multiparagraph, so we need to indent + listItemTxt = listItemTxt + .split('\n') + .join('\n ') + .replace(/^ {4}$/gm, '') + .replace(/\n\n+/g, '\n\n'); + } + + return listItemTxt; +}); diff --git a/src/subParsers/makeMarkdown/node.js b/src/subParsers/makeMarkdown/node.js new file mode 100644 index 00000000..67ab5852 --- /dev/null +++ b/src/subParsers/makeMarkdown/node.js @@ -0,0 +1,120 @@ + + +showdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) { + 'use strict'; + + spansOnly = spansOnly || false; + + var txt = ''; + + // edge case of text without wrapper paragraph + if (node.nodeType === 3) { + return showdown.subParser('makeMarkdown.txt')(node, globals); + } + + // HTML comment + if (node.nodeType === 8) { + return '\n\n'; + } + + // process only node elements + if (node.nodeType !== 1) { + return ''; + } + + var tagName = node.tagName.toLowerCase(); + + switch (tagName) { + + // + // BLOCKS + // + case 'h1': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\n\n'; } + break; + case 'h2': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\n\n'; } + break; + case 'h3': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\n\n'; } + break; + case 'h4': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\n\n'; } + break; + case 'h5': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\n\n'; } + break; + case 'h6': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\n\n'; } + break; + + case 'p': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\n\n'; } + break; + + case 'blockquote': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\n\n'; } + break; + + case 'hr': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\n\n'; } + break; + + case 'ol': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\n\n'; } + break; + + case 'ul': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\n\n'; } + break; + + case 'precode': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\n\n'; } + break; + + case 'pre': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\n\n'; } + break; + + case 'table': + if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\n\n'; } + break; + + // + // SPANS + // + case 'code': + txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals); + break; + + case 'em': + case 'i': + txt = showdown.subParser('makeMarkdown.emphasis')(node, globals); + break; + + case 'strong': + case 'b': + txt = showdown.subParser('makeMarkdown.strong')(node, globals); + break; + + case 'del': + txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals); + break; + + case 'a': + txt = showdown.subParser('makeMarkdown.links')(node, globals); + break; + + case 'img': + txt = showdown.subParser('makeMarkdown.image')(node, globals); + break; + + default: + txt = node.outerHTML + '\n\n'; + } + + // common normalization + // TODO eventually + + return txt; +}); diff --git a/src/subParsers/makeMarkdown/paragraph.js b/src/subParsers/makeMarkdown/paragraph.js new file mode 100644 index 00000000..f899d597 --- /dev/null +++ b/src/subParsers/makeMarkdown/paragraph.js @@ -0,0 +1,17 @@ +showdown.subParser('makeMarkdown.paragraph', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + } + + // some text normalization + txt = txt.trim(); + + return txt; +}); diff --git a/src/subParsers/makeMarkdown/pre.js b/src/subParsers/makeMarkdown/pre.js new file mode 100644 index 00000000..621701a9 --- /dev/null +++ b/src/subParsers/makeMarkdown/pre.js @@ -0,0 +1,6 @@ +showdown.subParser('makeMarkdown.pre', function (node, globals) { + 'use strict'; + + var num = node.getAttribute('prenum'); + return '
    ' + globals.preList[num] + '
    '; +}); diff --git a/src/subParsers/makeMarkdown/strikethrough.js b/src/subParsers/makeMarkdown/strikethrough.js new file mode 100644 index 00000000..0676b86c --- /dev/null +++ b/src/subParsers/makeMarkdown/strikethrough.js @@ -0,0 +1,15 @@ +showdown.subParser('makeMarkdown.strikethrough', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '~~'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '~~'; + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/strong.js b/src/subParsers/makeMarkdown/strong.js new file mode 100644 index 00000000..05ae9bca --- /dev/null +++ b/src/subParsers/makeMarkdown/strong.js @@ -0,0 +1,15 @@ +showdown.subParser('makeMarkdown.strong', function (node, globals) { + 'use strict'; + + var txt = ''; + if (node.hasChildNodes()) { + txt += '**'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals); + } + txt += '**'; + } + return txt; +}); diff --git a/src/subParsers/makeMarkdown/table.js b/src/subParsers/makeMarkdown/table.js new file mode 100644 index 00000000..1fb1f94a --- /dev/null +++ b/src/subParsers/makeMarkdown/table.js @@ -0,0 +1,70 @@ +showdown.subParser('makeMarkdown.table', function (node, globals) { + 'use strict'; + + var txt = '', + tableArray = [[], []], + headings = node.querySelectorAll('thead>tr>th'), + rows = node.querySelectorAll('tbody>tr'), + i, ii; + for (i = 0; i < headings.length; ++i) { + var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals), + allign = '---'; + + if (headings[i].hasAttribute('style')) { + var style = headings[i].getAttribute('style').toLowerCase().replace(/\s/g, ''); + switch (style) { + case 'text-align:left;': + allign = ':---'; + break; + case 'text-align:right;': + allign = '---:'; + break; + case 'text-align:center;': + allign = ':---:'; + break; + } + } + tableArray[0][i] = headContent.trim(); + tableArray[1][i] = allign; + } + + for (i = 0; i < rows.length; ++i) { + var r = tableArray.push([]) - 1, + cols = rows[i].getElementsByTagName('td'); + + for (ii = 0; ii < headings.length; ++ii) { + var cellContent = ' '; + if (typeof cols[ii] !== 'undefined') { + cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals); + } + tableArray[r].push(cellContent); + } + } + + var cellSpacesCount = 3; + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + var strLen = tableArray[i][ii].length; + if (strLen > cellSpacesCount) { + cellSpacesCount = strLen; + } + } + } + + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + if (i === 1) { + if (tableArray[i][ii].slice(-1) === ':') { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':'; + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-'); + } + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount); + } + } + txt += '| ' + tableArray[i].join(' | ') + ' |\n'; + } + + return txt.trim(); +}); diff --git a/src/subParsers/makeMarkdown/tableCell.js b/src/subParsers/makeMarkdown/tableCell.js new file mode 100644 index 00000000..b318ff13 --- /dev/null +++ b/src/subParsers/makeMarkdown/tableCell.js @@ -0,0 +1,15 @@ +showdown.subParser('makeMarkdown.tableCell', function (node, globals) { + 'use strict'; + + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true); + } + return txt.trim(); +}); diff --git a/src/subParsers/makeMarkdown/txt.js b/src/subParsers/makeMarkdown/txt.js new file mode 100644 index 00000000..a231bc4a --- /dev/null +++ b/src/subParsers/makeMarkdown/txt.js @@ -0,0 +1,43 @@ +showdown.subParser('makeMarkdown.txt', function (node) { + 'use strict'; + + var txt = node.nodeValue; + + // multiple spaces are collapsed + txt = txt.replace(/ +/g, ' '); + + // replace the custom ¨NBSP; with a space + txt = txt.replace(/¨NBSP;/g, ' '); + + // ", <, > and & should replace escaped html entities + txt = showdown.helper.unescapeHTMLEntities(txt); + + // escape markdown magic characters + // emphasis, strong and strikethrough - can appear everywhere + // we also escape pipe (|) because of tables + // and escape ` because of code blocks and spans + txt = txt.replace(/([*_~|`])/g, '\\$1'); + + // escape > because of blockquotes + txt = txt.replace(/^(\s*)>/g, '\\$1>'); + + // hash character, only troublesome at the beginning of a line because of headers + txt = txt.replace(/^#/gm, '\\#'); + + // horizontal rules + txt = txt.replace(/^(\s*)([-=]{3,})(\s*)$/, '$1\\$2$3'); + + // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer + txt = txt.replace(/^( {0,3}\d+)\./gm, '$1\\.'); + + // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped) + txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\$2'); + + // images and links, ] followed by ( is problematic, so we escape it + txt = txt.replace(/]([\s]*)\(/g, '\\]$1\\('); + + // reference URIs must also be escaped + txt = txt.replace(/^ {0,3}\[([\S \t]*?)]:/gm, '\\[$1]:'); + + return txt; +}); diff --git a/test/bootstrap.js b/test/bootstrap.js index 6519dc13..0ece6473 100644 --- a/test/bootstrap.js +++ b/test/bootstrap.js @@ -9,6 +9,8 @@ require('source-map-support').install(); require('chai').should(); var fs = require('fs'); + var jsdom = require('jsdom'); + var document = new jsdom.JSDOM('', {}).window.document; // jshint ignore:line function getTestSuite (dir) { return fs.readdirSync(dir) @@ -16,6 +18,12 @@ .map(map(dir)); } + function getHtmlToMdTestSuite (dir) { + return fs.readdirSync(dir) + .filter(filter()) + .map(map2(dir)); + } + function filter () { return function (file) { var ext = file.slice(-3); @@ -39,9 +47,27 @@ }; } - function assertion (testCase, converter) { + function map2 (dir) { + return function (file) { + var name = file.replace('.md', ''), + htmlPath = dir + name + '.html', + html = fs.readFileSync(htmlPath, 'utf8'), + mdPath = dir + name + '.md', + md = fs.readFileSync(mdPath, 'utf8'); + + return { + name: name, + input: html, + expected: md + }; + }; + } + + function assertion (testCase, converter, type) { return function () { - testCase.actual = converter.makeHtml(testCase.input); + //var conv = (type === 'makeMd') ? converter.makeMd : converter.makeHtml; + + testCase.actual = (type === 'makeMd') ? converter.makeMd(testCase.input, document) : converter.makeHtml(testCase.input); testCase = normalize(testCase); // Compare @@ -81,6 +107,7 @@ module.exports = { getTestSuite: getTestSuite, + getHtmlToMdTestSuite: getHtmlToMdTestSuite, assertion: assertion, normalize: normalize, showdown: require('../.build/showdown.js') diff --git a/test/makeMd/blockquote.html b/test/makeMd/blockquote.html new file mode 100644 index 00000000..be52feb1 --- /dev/null +++ b/test/makeMd/blockquote.html @@ -0,0 +1,4 @@ +
    some +multiline +blockquote +
    diff --git a/test/makeMd/blockquote.md b/test/makeMd/blockquote.md new file mode 100644 index 00000000..e9f4c8a5 --- /dev/null +++ b/test/makeMd/blockquote.md @@ -0,0 +1 @@ +> some multiline blockquote diff --git a/test/makeMd/codeblock.html b/test/makeMd/codeblock.html new file mode 100644 index 00000000..9ee4fc4a --- /dev/null +++ b/test/makeMd/codeblock.html @@ -0,0 +1,8 @@ +
    some code
    +
    + +
    
    +function foo() {
    +  return 'bar';
    +}
    +
    diff --git a/test/makeMd/codeblock.md b/test/makeMd/codeblock.md new file mode 100644 index 00000000..eea0ee3a --- /dev/null +++ b/test/makeMd/codeblock.md @@ -0,0 +1,9 @@ +``` +some code +``` + +```javascript +function foo() { + return 'bar'; +} +``` diff --git a/test/makeMd/codespan.html b/test/makeMd/codespan.html new file mode 100644 index 00000000..dfc06221 --- /dev/null +++ b/test/makeMd/codespan.html @@ -0,0 +1 @@ +some code span diff --git a/test/makeMd/codespan.md b/test/makeMd/codespan.md new file mode 100644 index 00000000..54e91501 --- /dev/null +++ b/test/makeMd/codespan.md @@ -0,0 +1 @@ +some `code` span diff --git a/test/makeMd/emphasis.html b/test/makeMd/emphasis.html new file mode 100644 index 00000000..ad219c89 --- /dev/null +++ b/test/makeMd/emphasis.html @@ -0,0 +1 @@ +foobar diff --git a/test/makeMd/emphasis.md b/test/makeMd/emphasis.md new file mode 100644 index 00000000..0f099381 --- /dev/null +++ b/test/makeMd/emphasis.md @@ -0,0 +1 @@ +*foobar* diff --git a/test/makeMd/heading.html b/test/makeMd/heading.html new file mode 100644 index 00000000..e4781119 --- /dev/null +++ b/test/makeMd/heading.html @@ -0,0 +1,6 @@ +

    foo h1

    +

    foo h2

    +

    foo h3

    +

    foo h4

    +
    foo h5
    +
    foo h6
    diff --git a/test/makeMd/heading.md b/test/makeMd/heading.md new file mode 100644 index 00000000..9c9efec0 --- /dev/null +++ b/test/makeMd/heading.md @@ -0,0 +1,11 @@ +# foo h1 + +## foo h2 + +### foo h3 + +#### foo h4 + +##### foo h5 + +###### foo h6 diff --git a/test/makeMd/hr.html b/test/makeMd/hr.html new file mode 100644 index 00000000..798dde80 --- /dev/null +++ b/test/makeMd/hr.html @@ -0,0 +1,3 @@ +
    + +
    diff --git a/test/makeMd/hr.md b/test/makeMd/hr.md new file mode 100644 index 00000000..853d812b --- /dev/null +++ b/test/makeMd/hr.md @@ -0,0 +1,3 @@ +--- + +--- diff --git a/test/makeMd/image.html b/test/makeMd/image.html new file mode 100644 index 00000000..a6301c7f --- /dev/null +++ b/test/makeMd/image.html @@ -0,0 +1 @@ +an image diff --git a/test/makeMd/image.md b/test/makeMd/image.md new file mode 100644 index 00000000..41e89a9a --- /dev/null +++ b/test/makeMd/image.md @@ -0,0 +1 @@ +![an image]( =200pxx300px "a title") diff --git a/test/makeMd/link.html b/test/makeMd/link.html new file mode 100644 index 00000000..a64f7b2c --- /dev/null +++ b/test/makeMd/link.html @@ -0,0 +1 @@ +some link diff --git a/test/makeMd/link.md b/test/makeMd/link.md new file mode 100644 index 00000000..414701d7 --- /dev/null +++ b/test/makeMd/link.md @@ -0,0 +1 @@ +[some link]( "a title") diff --git a/test/makeMd/list.html b/test/makeMd/list.html new file mode 100644 index 00000000..a36096dd --- /dev/null +++ b/test/makeMd/list.html @@ -0,0 +1,15 @@ +
      +
    • foo
    • +
    • bar
    • +
    • baz
    • +
    +
      +
    • foo

    • +
    • bar

    • +
    • baz
    • +
    +
      +
    1. one
    2. +
    3. 2
    4. +
    5. three
    6. +
    diff --git a/test/makeMd/list.md b/test/makeMd/list.md new file mode 100644 index 00000000..aa1f4843 --- /dev/null +++ b/test/makeMd/list.md @@ -0,0 +1,19 @@ +- foo +- bar +- baz + + + +- foo + +- bar + +- baz + + + +1. one +2. 2 +3. three + + diff --git a/test/makeMd/other-html.html b/test/makeMd/other-html.html new file mode 100644 index 00000000..42df3a4b --- /dev/null +++ b/test/makeMd/other-html.html @@ -0,0 +1,5 @@ +
    this is a div
    + + + + diff --git a/test/makeMd/other-html.md b/test/makeMd/other-html.md new file mode 100644 index 00000000..4383c8e0 --- /dev/null +++ b/test/makeMd/other-html.md @@ -0,0 +1,9 @@ +
    this is a div
    + + + + + + + + diff --git a/test/makeMd/paragraph.html b/test/makeMd/paragraph.html new file mode 100644 index 00000000..9838f730 --- /dev/null +++ b/test/makeMd/paragraph.html @@ -0,0 +1,3 @@ +

    a paragraph + of multi-line + text

    diff --git a/test/makeMd/paragraph.md b/test/makeMd/paragraph.md new file mode 100644 index 00000000..73ab64aa --- /dev/null +++ b/test/makeMd/paragraph.md @@ -0,0 +1 @@ +a paragraph of multi-line text diff --git a/test/makeMd/strikethrough.html b/test/makeMd/strikethrough.html new file mode 100644 index 00000000..859f38e9 --- /dev/null +++ b/test/makeMd/strikethrough.html @@ -0,0 +1 @@ +deleted text diff --git a/test/makeMd/strikethrough.md b/test/makeMd/strikethrough.md new file mode 100644 index 00000000..b9f9a781 --- /dev/null +++ b/test/makeMd/strikethrough.md @@ -0,0 +1 @@ +~~deleted text~~ diff --git a/test/makeMd/strong.html b/test/makeMd/strong.html new file mode 100644 index 00000000..773ea1f9 --- /dev/null +++ b/test/makeMd/strong.html @@ -0,0 +1 @@ +strong text diff --git a/test/makeMd/strong.md b/test/makeMd/strong.md new file mode 100644 index 00000000..34fbefa2 --- /dev/null +++ b/test/makeMd/strong.md @@ -0,0 +1 @@ +**strong text** diff --git a/test/makeMd/table.html b/test/makeMd/table.html new file mode 100644 index 00000000..38b40095 --- /dev/null +++ b/test/makeMd/table.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + +
    head 1head 2head 3
    foobarbaz
    abcccc
    diff --git a/test/makeMd/table.md b/test/makeMd/table.md new file mode 100644 index 00000000..8d87846d --- /dev/null +++ b/test/makeMd/table.md @@ -0,0 +1,4 @@ +| head 1 | head 2 | head 3 | +| ------ | ------ | ------ | +| foo | *bar* | baz | +| ~~a~~ | **b** | `cccc` | diff --git a/test/node/showdown.Converter.js b/test/node/showdown.Converter.js index 379671ae..a4cf6924 100644 --- a/test/node/showdown.Converter.js +++ b/test/node/showdown.Converter.js @@ -27,6 +27,27 @@ describe('showdown.Converter', function () { }); }); + describe('Converter.options extensions', function () { + var runCount; + showdown.extension('testext', function () { + return [{ + type: 'output', + filter: function (text) { + runCount = runCount + 1; + return text; + } + }]; + }); + + var converter = new showdown.Converter({extensions: ['testext']}); + + it('output extensions should run once', function () { + runCount = 0; + converter.makeHtml('# testext'); + runCount.should.equal(1); + }); + }); + describe('metadata methods', function () { var converter = new showdown.Converter(); diff --git a/test/node/showdown.Converter.makeHtml.js b/test/node/showdown.Converter.makeHtml.js index adbf0afa..3a8b2720 100644 --- a/test/node/showdown.Converter.makeHtml.js +++ b/test/node/showdown.Converter.makeHtml.js @@ -10,27 +10,6 @@ describe('showdown.Converter', function () { var showdown = require('../bootstrap').showdown; - describe('Converter.options extensions', function () { - var runCount; - showdown.extension('testext', function () { - return [{ - type: 'output', - filter: function (text) { - runCount = runCount + 1; - return text; - } - }]; - }); - - var converter = new showdown.Converter({extensions: ['testext']}); - - it('output extensions should run once', function () { - runCount = 0; - converter.makeHtml('# testext'); - runCount.should.equal(1); - }); - }); - describe('makeHtml() with option omitExtraWLInCodeBlocks', function () { var converter = new showdown.Converter({omitExtraWLInCodeBlocks: true}), text = 'var foo = bar;', diff --git a/test/node/showdown.Converter.makeMarkdown.js b/test/node/showdown.Converter.makeMarkdown.js new file mode 100644 index 00000000..a6d89561 --- /dev/null +++ b/test/node/showdown.Converter.makeMarkdown.js @@ -0,0 +1,25 @@ +/** + * Created by Estevao on 15-01-2015. + */ + +describe('showdown.Converter', function () { + 'use strict'; + + require('source-map-support').install(); + require('chai').should(); + var jsdom = require('jsdom'); + var document = new jsdom.JSDOM('', {}).window.document; // jshint ignore:line + var showdown = require('../bootstrap').showdown; + + describe('makeMarkdown()', function () { + var converter = new showdown.Converter(); + + it('should parse a simple html string', function () { + var html = 'a link\n'; + var md = '[a link]()'; + + converter.makeMd(html, document).should.equal(md); + }); + + }); +}); diff --git a/test/node/testsuite.makemd.js b/test/node/testsuite.makemd.js new file mode 100644 index 00000000..f7b2e32e --- /dev/null +++ b/test/node/testsuite.makemd.js @@ -0,0 +1,12 @@ +var bootstrap = require('../bootstrap.js'), + converter = new bootstrap.showdown.Converter(), + testsuite = bootstrap.getHtmlToMdTestSuite('test/makeMd/'), + assertion = bootstrap.assertion; + +describe('makeMd() standard testsuite', function () { + 'use strict'; + for (var i = 0; i < testsuite.length; ++i) { + it(testsuite[i].name.replace(/-/g, ' '), assertion(testsuite[i], converter, 'makeMd')); + } +}); +