{"version":3,"sources":["jsdelivr-header.js","/npm/showdown-highlight@3.1.0/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,WAAa,QAAQ,wBAAwB,OAC7C,SAAW,QAAQ,YACnB,KAAO,QAAQ,gBACf,UAAY,UAqChB,OAAO,QAAU,WACb,IAAI,EAAO,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAC,EAC5E,EAAW,EAAK,IAChB,OAAmB,IAAb,GAAiC,EACvC,EAAsB,EAAK,eAC3B,OAAyC,IAAxB,GAA2C,EAuChE,MAAO,CAAC,CACJ,KAAM,SACN,OAvCS,SAAgB,EAAM,EAAW,GAC1C,IAAI,EACM,sBADN,EAEO,gBAFP,EAGO,IA8BX,OAAO,SAAS,OAAO,uBAAuB,GA3B5B,SAAqB,EAAY,EAAO,EAAM,GAC5D,EAAQ,WAAW,GAEnB,IAAI,GAAQ,EAAK,MAAM,sBAAwB,IAAI,GAEnD,IAAK,IAAS,EACV,OAAO,EAGX,GAAI,EAAK,SAAS,WAAY,CAC1B,IAAI,EAAY,EAAK,QAAQ,WAAa,UAAU,OACpD,EAAO,EAAK,MAAM,EAAG,GAAa,QAAU,EAAK,MAAM,EAC3D,MACI,EAAO,EAAK,MAAM,GAAI,GAAK,iBAO/B,OAJI,GAAO,IACP,EAAO,EAAK,QAAQ,QAAS,eAAkB,EAAO,aAAe,EAAO,OAG5E,GAAQ,KAAK,YAAY,GAClB,EAAO,KAAK,UAAU,EAAO,CAAE,SAAU,IAAQ,MAAQ,EAG7D,EAAO,KAAK,cAAc,GAAO,MAAQ,CACpD,GAEiE,EAAa,EAAc,EAChG,GAMJ","file":"/npm/showdown-highlight@3.1.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/showdown-highlight@3.1.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n\nvar decodeHtml = require(\"html-encoder-decoder\").decode,\n    showdown = require(\"showdown\"),\n    hljs = require(\"highlight.js\"),\n    classAttr = 'class=\"';\n\n/**\n * showdownHighlight\n * Highlight the code in the showdown input.\n *\n * Examples:\n *\n * ```js\n * let converter = new showdown.Converter({\n *     extensions: [showdownHighlight]\n * })\n * ```\n *\n * Enable the classes in the `<pre>` element:\n *\n * ```js\n * let converter = new showdown.Converter({\n *     extensions: [showdownHighlight({ pre: true })]\n * })\n * ```\n *\n *\n * If you want to disable language [auto detection](https://highlightjs.org/usage/)\n * feature of hljs, change `auto_detection` flag as `false`. With this option\n * turned off, `showdown-highlight` will not process any codeblocks with no\n * language specified.\n *\n * ```js\n * let converter = new showdown.Converter({\n *     extensions: [showdownHighlight({ auto_detection: false })]\n * })\n * ```\n *\n * @name showdownHighlight\n * @function\n */\nmodule.exports = function showdownHighlight() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref$pre = _ref.pre,\n        pre = _ref$pre === undefined ? false : _ref$pre,\n        _ref$auto_detection = _ref.auto_detection,\n        auto_detection = _ref$auto_detection === undefined ? true : _ref$auto_detection;\n\n    var filter = function filter(text, converter, options) {\n        var params = {\n            left: \"<pre><code\\\\b[^>]*>\",\n            right: \"</code></pre>\",\n            flags: \"g\"\n        };\n\n        var replacement = function replacement(wholeMatch, match, left, right) {\n            match = decodeHtml(match);\n\n            var lang = (left.match(/class=\\\"([^ \\\"]+)/) || [])[1];\n\n            if (!lang && !auto_detection) {\n                return wholeMatch;\n            }\n\n            if (left.includes(classAttr)) {\n                var attrIndex = left.indexOf(classAttr) + classAttr.length;\n                left = left.slice(0, attrIndex) + 'hljs ' + left.slice(attrIndex);\n            } else {\n                left = left.slice(0, -1) + ' class=\"hljs\">';\n            }\n\n            if (pre && lang) {\n                left = left.replace('<pre>', \"<pre class=\\\"\" + lang + \" language-\" + lang + \"\\\">\");\n            }\n\n            if (lang && hljs.getLanguage(lang)) {\n                return left + hljs.highlight(match, { language: lang }).value + right;\n            }\n\n            return left + hljs.highlightAuto(match).value + right;\n        };\n\n        return showdown.helper.replaceRecursiveRegExp(text, replacement, params.left, params.right, params.flags);\n    };\n\n    return [{\n        type: \"output\",\n        filter: filter\n    }];\n};"]}