You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
64 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
exports.id = "vendor-chunks/micromark-extension-gfm-autolink-literal";
exports.ids = ["vendor-chunks/micromark-extension-gfm-autolink-literal"];
exports.modules = {
/***/ "(ssr)/./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.js":
/*!*******************************************************************************!*\
!*** ./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ gfmAutolinkLiteralHtml: () => (/* binding */ gfmAutolinkLiteralHtml)\n/* harmony export */ });\n/* harmony import */ var micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-sanitize-uri */ \"(ssr)/./node_modules/micromark-util-sanitize-uri/dev/index.js\");\n/**\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-util-types').Handle} Handle\n * @typedef {import('micromark-util-types').CompileContext} CompileContext\n * @typedef {import('micromark-util-types').Token} Token\n */ \n/** @type {HtmlExtension} */ const gfmAutolinkLiteralHtml = {\n exit: {\n literalAutolinkEmail,\n literalAutolinkHttp,\n literalAutolinkWww\n }\n};\n/** @type {Handle} */ function literalAutolinkWww(token) {\n anchorFromToken.call(this, token, \"http://\");\n}\n/** @type {Handle} */ function literalAutolinkEmail(token) {\n anchorFromToken.call(this, token, \"mailto:\");\n}\n/** @type {Handle} */ function literalAutolinkHttp(token) {\n anchorFromToken.call(this, token);\n}\n/**\n * @this CompileContext\n * @param {Token} token\n * @param {string} [protocol]\n * @returns {void}\n */ function anchorFromToken(token, protocol) {\n const url = this.sliceSerialize(token);\n this.tag('<a href=\"' + (0,micromark_util_sanitize_uri__WEBPACK_IMPORTED_MODULE_0__.sanitizeUri)((protocol || \"\") + url) + '\">');\n this.raw(this.encode(url));\n this.tag(\"</a>\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbWljcm9tYXJrLWV4dGVuc2lvbi1nZm0tYXV0b2xpbmstbGl0ZXJhbC9kZXYvbGliL2h0bWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Q0FLQyxHQUVzRDtBQUV2RCwwQkFBMEIsR0FDbkIsTUFBTUMseUJBQXlCO0lBQ3BDQyxNQUFNO1FBQUNDO1FBQXNCQztRQUFxQkM7SUFBa0I7QUFDdEUsRUFBQztBQUVELG1CQUFtQixHQUNuQixTQUFTQSxtQkFBbUJDLEtBQUs7SUFDL0JDLGdCQUFnQkMsSUFBSSxDQUFDLElBQUksRUFBRUYsT0FBTztBQUNwQztBQUVBLG1CQUFtQixHQUNuQixTQUFTSCxxQkFBcUJHLEtBQUs7SUFDakNDLGdCQUFnQkMsSUFBSSxDQUFDLElBQUksRUFBRUYsT0FBTztBQUNwQztBQUVBLG1CQUFtQixHQUNuQixTQUFTRixvQkFBb0JFLEtBQUs7SUFDaENDLGdCQUFnQkMsSUFBSSxDQUFDLElBQUksRUFBRUY7QUFDN0I7QUFFQTs7Ozs7Q0FLQyxHQUNELFNBQVNDLGdCQUFnQkQsS0FBSyxFQUFFRyxRQUFRO0lBQ3RDLE1BQU1DLE1BQU0sSUFBSSxDQUFDQyxjQUFjLENBQUNMO0lBQ2hDLElBQUksQ0FBQ00sR0FBRyxDQUFDLGNBQWNaLHdFQUFXQSxDQUFDLENBQUNTLFlBQVksRUFBQyxJQUFLQyxPQUFPO0lBQzdELElBQUksQ0FBQ0csR0FBRyxDQUFDLElBQUksQ0FBQ0MsTUFBTSxDQUFDSjtJQUNyQixJQUFJLENBQUNFLEdBQUcsQ0FBQztBQUNYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvbWljcm9tYXJrLWV4dGVuc2lvbi1nZm0tYXV0b2xpbmstbGl0ZXJhbC9kZXYvbGliL2h0bWwuanM/NjFmNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ21pY3JvbWFyay11dGlsLXR5cGVzJykuSHRtbEV4dGVuc2lvbn0gSHRtbEV4dGVuc2lvblxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5IYW5kbGV9IEhhbmRsZVxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5Db21waWxlQ29udGV4dH0gQ29tcGlsZUNvbnRleHRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ21pY3JvbWFyay11dGlsLXR5cGVzJykuVG9rZW59IFRva2VuXG4gKi9cblxuaW1wb3J0IHtzYW5pdGl6ZVVyaX0gZnJvbSAnbWljcm9tYXJrLXV0aWwtc2FuaXRpemUtdXJpJ1xuXG4vKiogQHR5cGUge0h0bWxFeHRlbnNpb259ICovXG5leHBvcnQgY29uc3QgZ2ZtQXV0b2xpbmtMaXRlcmFsSHRtbCA9IHtcbiAgZXhpdDoge2xpdGVyYWxBdXRvbGlua0VtYWlsLCBsaXRlcmFsQXV0b2xpbmtIdHRwLCBsaXRlcmFsQXV0b2xpbmtXd3d9XG59XG5cbi8qKiBAdHlwZSB7SGFuZGxlfSAqL1xuZnVuY3Rpb24gbGl0ZXJhbEF1dG9saW5rV3d3KHRva2VuKSB7XG4gIGFuY2hvckZyb21Ub2tlbi5jYWxsKHRoaXMsIHRva2VuLCAnaHR0cDovLycpXG59XG5cbi8qKiBAdHlwZSB7SGFuZGxlfSAqL1xuZnVuY3Rpb24gbGl0ZXJhbEF1dG9saW5rRW1haWwodG9rZW4pIHtcbiAgYW5jaG9yRnJvbVRva2VuLmNhbGwodGhpcywgdG9rZW4sICdtYWlsdG86Jylcbn1cblxuLyoqIEB0eXBlIHtIYW5kbGV9ICovXG5mdW5jdGlvbiBsaXRlcmFsQXV0b2xpbmtIdHRwKHRva2VuKSB7XG4gIGFuY2hvckZyb21Ub2tlbi5jYWxsKHRoaXMsIHRva2VuKVxufVxuXG4vKipcbiAqIEB0aGlzIENvbXBpbGVDb250ZXh0XG4gKiBAcGFyYW0ge1Rva2VufSB0b2tlblxuICogQHBhcmFtIHtzdHJpbmd9IFtwcm90b2NvbF1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBhbmNob3JGcm9tVG9rZW4odG9rZW4sIHByb3RvY29sKSB7XG4gIGNvbnN0IHVybCA9IHRoaXMuc2xpY2VTZXJpYWxpemUodG9rZW4pXG4gIHRoaXMudGFnKCc8YSBocmVmPVwiJyArIHNhbml0aXplVXJpKChwcm90b2NvbCB8fCAnJykgKyB1cmwpICsgJ1wiPicpXG4gIHRoaXMucmF3KHRoaXMuZW5jb2RlKHVybCkpXG4gIHRoaXMudGFnKCc8L2E+Jylcbn1cbiJdLCJuYW1lcyI6WyJzYW5pdGl6ZVVyaSIsImdmbUF1dG9saW5rTGl0ZXJhbEh0bWwiLCJleGl0IiwibGl0ZXJhbEF1dG9saW5rRW1haWwiLCJsaXRlcmFsQXV0b2xpbmtIdHRwIiwibGl0ZXJhbEF1dG9saW5rV3d3IiwidG9rZW4iLCJhbmNob3JGcm9tVG9rZW4iLCJjYWxsIiwicHJvdG9jb2wiLCJ1cmwiLCJzbGljZVNlcmlhbGl6ZSIsInRhZyIsInJhdyIsImVuY29kZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js":
/*!*********************************************************************************!*\
!*** ./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ gfmAutolinkLiteral: () => (/* binding */ gfmAutolinkLiteral)\n/* harmony export */ });\n/* harmony import */ var uvu_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uvu/assert */ \"(ssr)/./node_modules/uvu/assert/index.mjs\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ \"(ssr)/./node_modules/micromark-util-character/dev/index.js\");\n/* harmony import */ var micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-symbol/codes.js */ \"(ssr)/./node_modules/micromark-util-symbol/codes.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */ \n\n\nconst www = {\n tokenize: tokenizeWww,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst punctuation = {\n tokenize: tokenizePunctuation,\n partial: true\n};\nconst namedCharacterReference = {\n tokenize: tokenizeNamedCharacterReference,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst httpAutolink = {\n tokenize: tokenizeHttpAutolink,\n previous: previousHttp\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\n/** @type {ConstructRecord} */ const text = {};\n/** @type {Extension} */ const gfmAutolinkLiteral = {\n text\n};\nlet code = micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.digit0;\n// Add alphanumerics.\nwhile(code < micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftCurlyBrace){\n text[code] = emailAutolink;\n code++;\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon) code = micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseA;\n else if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftSquareBracket) code = micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseA;\n}\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign] = emailAutolink;\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash] = emailAutolink;\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot] = emailAutolink;\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore] = emailAutolink;\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseH] = [\n emailAutolink,\n httpAutolink\n];\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseH] = [\n emailAutolink,\n httpAutolink\n];\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseW] = [\n emailAutolink,\n wwwAutolink\n];\ntext[micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseW] = [\n emailAutolink,\n wwwAutolink\n];\n/** @type {Tokenizer} */ function tokenizeEmailAutolink(effects, ok, nok) {\n const self = this;\n /** @type {boolean} */ let hasDot;\n /** @type {boolean|undefined} */ let hasDigitInLastSegment;\n return start;\n /** @type {State} */ function start(code) {\n if (!gfmAtext(code) || !previousEmail(self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code);\n }\n /** @type {State} */ function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code);\n return atext;\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.atSign) {\n effects.consume(code);\n return label;\n }\n return nok(code);\n }\n /** @type {State} */ function label(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {\n return effects.check(punctuation, done, dotContinuation)(code);\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore) {\n return effects.check(punctuation, nok, dashOrUnderscoreContinuation)(code);\n }\n if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(code)) {\n if (!hasDigitInLastSegment && (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiDigit)(code)) {\n hasDigitInLastSegment = true;\n }\n effects.consume(code);\n return label;\n }\n return done(code);\n }\n /** @type {State} */ function dotContinuation(code) {\n effects.consume(code);\n hasDot = true;\n hasDigitInLastSegment = undefined;\n return label;\n }\n /** @type {State} */ function dashOrUnderscoreContinuation(code) {\n effects.consume(code);\n return afterDashOrUnderscore;\n }\n /** @type {State} */ function afterDashOrUnderscore(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {\n return effects.check(punctuation, nok, dotContinuation)(code);\n }\n return label(code);\n }\n /** @type {State} */ function done(code) {\n if (hasDot && !hasDigitInLastSegment) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok(code);\n }\n return nok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizeWwwAutolink(effects, ok, nok) {\n const self = this;\n return start;\n /** @type {State} */ function start(code) {\n if (code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseW && code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseW || !previousWww(self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n // For `www.` we check instead of attempt, because when it matches, GH\n // treats it as part of a domain (yes, it says a valid domain must come\n // after `www.`, but thats not how its implemented by them).\n return effects.check(www, effects.attempt(domain, effects.attempt(path, done), nok), nok)(code);\n }\n /** @type {State} */ function done(code) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizeHttpAutolink(effects, ok, nok) {\n const self = this;\n return start;\n /** @type {State} */ function start(code) {\n if (code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseH && code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseH || !previousHttp(self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n effects.consume(code);\n return t1;\n }\n /** @type {State} */ function t1(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseT || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseT) {\n effects.consume(code);\n return t2;\n }\n return nok(code);\n }\n /** @type {State} */ function t2(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseT || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseT) {\n effects.consume(code);\n return p;\n }\n return nok(code);\n }\n /** @type {State} */ function p(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseP || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseP) {\n effects.consume(code);\n return s;\n }\n return nok(code);\n }\n /** @type {State} */ function s(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseS || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseS) {\n effects.consume(code);\n return colon;\n }\n return colon(code);\n }\n /** @type {State} */ function colon(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon) {\n effects.consume(code);\n return slash1;\n }\n return nok(code);\n }\n /** @type {State} */ function slash1(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {\n effects.consume(code);\n return slash2;\n }\n return nok(code);\n }\n /** @type {State} */ function slash2(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash) {\n effects.consume(code);\n return after;\n }\n return nok(code);\n }\n /** @type {State} */ function after(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiControl)(code) || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.unicodeWhitespace)(code) || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.unicodePunctuation)(code) ? nok(code) : effects.attempt(domain, effects.attempt(path, done), nok)(code);\n }\n /** @type {State} */ function done(code) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizeWww(effects, ok, nok) {\n return start;\n /** @type {State} */ function start(code) {\n (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseW || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseW, \"expected `w`\");\n effects.consume(code);\n return w2;\n }\n /** @type {State} */ function w2(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseW || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseW) {\n effects.consume(code);\n return w3;\n }\n return nok(code);\n }\n /** @type {State} */ function w3(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.uppercaseW || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lowercaseW) {\n effects.consume(code);\n return dot;\n }\n return nok(code);\n }\n /** @type {State} */ function dot(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {\n effects.consume(code);\n return after;\n }\n return nok(code);\n }\n /** @type {State} */ function after(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEnding)(code) ? nok(code) : ok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizeDomain(effects, ok, nok) {\n /** @type {boolean|undefined} */ let hasUnderscoreInLastSegment;\n /** @type {boolean|undefined} */ let hasUnderscoreInLastLastSegment;\n return domain;\n /** @type {State} */ function domain(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.ampersand) {\n return effects.check(namedCharacterReference, done, punctuationContinuation)(code);\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore) {\n return effects.check(punctuation, done, punctuationContinuation)(code);\n }\n // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so thats Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiControl)(code) || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.unicodeWhitespace)(code) || code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash && (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.unicodePunctuation)(code)) {\n return done(code);\n }\n effects.consume(code);\n return domain;\n }\n /** @type {State} */ function punctuationContinuation(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot) {\n hasUnderscoreInLastLastSegment = hasUnderscoreInLastSegment;\n hasUnderscoreInLastSegment = undefined;\n effects.consume(code);\n return domain;\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore) hasUnderscoreInLastSegment = true;\n effects.consume(code);\n return domain;\n }\n /** @type {State} */ function done(code) {\n if (!hasUnderscoreInLastLastSegment && !hasUnderscoreInLastSegment) {\n return ok(code);\n }\n return nok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizePath(effects, ok) {\n let balance = 0;\n return inPath;\n /** @type {State} */ function inPath(code) {\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.ampersand) {\n return effects.check(namedCharacterReference, ok, continuedPunctuation)(code);\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftParenthesis) {\n balance++;\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightParenthesis) {\n return effects.check(punctuation, parenAtPathEnd, continuedPunctuation)(code);\n }\n if (pathEnd(code)) {\n return ok(code);\n }\n if (trailingPunctuation(code)) {\n return effects.check(punctuation, ok, continuedPunctuation)(code);\n }\n effects.consume(code);\n return inPath;\n }\n /** @type {State} */ function continuedPunctuation(code) {\n effects.consume(code);\n return inPath;\n }\n /** @type {State} */ function parenAtPathEnd(code) {\n balance--;\n return balance < 0 ? ok(code) : continuedPunctuation(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizeNamedCharacterReference(effects, ok, nok) {\n return start;\n /** @type {State} */ function start(code) {\n (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.ampersand, \"expected `&`\");\n effects.consume(code);\n return inside;\n }\n /** @type {State} */ function inside(code) {\n if ((0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlpha)(code)) {\n effects.consume(code);\n return inside;\n }\n if (code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.semicolon) {\n effects.consume(code);\n return after;\n }\n return nok(code);\n }\n /** @type {State} */ function after(code) {\n // If the named character reference is followed by the end of the path, its\n // not continued punctuation.\n return pathEnd(code) ? ok(code) : nok(code);\n }\n}\n/** @type {Tokenizer} */ function tokenizePunctuation(effects, ok, nok) {\n return start;\n /** @type {State} */ function start(code) {\n (0,uvu_assert__WEBPACK_IMPORTED_MODULE_0__.ok)(code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || trailingPunctuation(code), \"expected punctuation\");\n effects.consume(code);\n return after;\n }\n /** @type {State} */ function after(code) {\n // Check the next.\n if (trailingPunctuation(code)) {\n effects.consume(code);\n return after;\n }\n // If the punctuation marker is followed by the end of the path, its not\n // continued punctuation.\n return pathEnd(code) ? ok(code) : nok(code);\n }\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */ function trailingPunctuation(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.exclamationMark || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.quotationMark || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.apostrophe || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.rightParenthesis || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.comma || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.colon || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.semicolon || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.questionMark || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.tilde;\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */ function pathEnd(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.lessThan || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEndingOrSpace)(code);\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */ function gfmAtext(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.plusSign || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dash || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.dot || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlphanumeric)(code);\n}\n/** @type {Previous} */ function previousWww(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.leftParenthesis || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.asterisk || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.underscore || code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.tilde || (0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.markdownLineEndingOrSpace)(code);\n}\n/** @type {Previous} */ function previousHttp(code) {\n return code === micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.eof || !(0,micromark_util_character__WEBPACK_IMPORTED_MODULE_2__.asciiAlpha)(code);\n}\n/** @type {Previous} */ function previousEmail(code) {\n return code !== micromark_util_symbol_codes_js__WEBPACK_IMPORTED_MODULE_1__.codes.slash && previousHttp(code);\n}\n/**\n * @param {Array<Event>} events\n * @returns {boolean}\n */ function previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while(index--){\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n // @ts-expect-error If weve seen this token, and it was marked as not\n // having any unbalanced bracket before it, we can exit.\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n // @ts-expect-error Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbWljcm9tYXJrLWV4dGVuc2lvbi1nZm0tYXV0b2xpbmstbGl0ZXJhbC9kZXYvbGliL3N5bnRheC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7O0NBUUMsR0FFc0M7QUFVTjtBQUNtQjtBQUVwRCxNQUFNVyxNQUFNO0lBQUNDLFVBQVVDO0lBQWFDLFNBQVM7QUFBSTtBQUNqRCxNQUFNQyxTQUFTO0lBQUNILFVBQVVJO0lBQWdCRixTQUFTO0FBQUk7QUFDdkQsTUFBTUcsT0FBTztJQUFDTCxVQUFVTTtJQUFjSixTQUFTO0FBQUk7QUFDbkQsTUFBTUssY0FBYztJQUFDUCxVQUFVUTtJQUFxQk4sU0FBUztBQUFJO0FBQ2pFLE1BQU1PLDBCQUEwQjtJQUM5QlQsVUFBVVU7SUFDVlIsU0FBUztBQUNYO0FBRUEsTUFBTVMsY0FBYztJQUFDWCxVQUFVWTtJQUFxQkMsVUFBVUM7QUFBVztBQUN6RSxNQUFNQyxlQUFlO0lBQUNmLFVBQVVnQjtJQUFzQkgsVUFBVUk7QUFBWTtBQUM1RSxNQUFNQyxnQkFBZ0I7SUFBQ2xCLFVBQVVtQjtJQUF1Qk4sVUFBVU87QUFBYTtBQUUvRSw0QkFBNEIsR0FDNUIsTUFBTUMsT0FBTyxDQUFDO0FBRWQsc0JBQXNCLEdBQ2YsTUFBTUMscUJBQXFCO0lBQUNEO0FBQUksRUFBQztBQUV4QyxJQUFJRSxPQUFPekIsaUVBQUtBLENBQUMwQixNQUFNO0FBRXZCLHFCQUFxQjtBQUNyQixNQUFPRCxPQUFPekIsaUVBQUtBLENBQUMyQixjQUFjLENBQUU7SUFDbENKLElBQUksQ0FBQ0UsS0FBSyxHQUFHTDtJQUNiSztJQUNBLElBQUlBLFNBQVN6QixpRUFBS0EsQ0FBQzRCLEtBQUssRUFBRUgsT0FBT3pCLGlFQUFLQSxDQUFDNkIsVUFBVTtTQUM1QyxJQUFJSixTQUFTekIsaUVBQUtBLENBQUM4QixpQkFBaUIsRUFBRUwsT0FBT3pCLGlFQUFLQSxDQUFDK0IsVUFBVTtBQUNwRTtBQUVBUixJQUFJLENB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LWV4dGVuc2lvbi1nZm0tYXV0b2xpbmstbGl0ZXJhbC9kZXYvbGliL3N5bnRheC5qcz80Mzk3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5FeHRlbnNpb259IEV4dGVuc2lvblxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5Db25zdHJ1Y3RSZWNvcmR9IENvbnN0cnVjdFJlY29yZFxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5Ub2tlbml6ZXJ9IFRva2VuaXplclxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5QcmV2aW91c30gUHJldmlvdXNcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ21pY3JvbWFyay11dGlsLXR5cGVzJykuU3RhdGV9IFN0YXRlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdtaWNyb21hcmstdXRpbC10eXBlcycpLkV2ZW50fSBFdmVudFxuICogQHR5cGVkZWYge2ltcG9ydCgnbWljcm9tYXJrLXV0aWwtdHlwZXMnKS5Db2RlfSBDb2RlXG4gKi9cblxuaW1wb3J0IHtvayBhcyBhc3NlcnR9IGZyb20gJ3V2dS9hc3NlcnQnXG5pbXBvcnQge1xuICBhc2NpaUFscGhhLFxuICBhc2NpaUFscGhhbnVtZXJpYyxcbiAgYXNjaWlDb250cm9sLFxuICBhc2NpaURpZ2l0LFxuICBtYXJrZG93bkxpbmVFbmRpbmdPclNwYWNlLFxuICBtYXJrZG93bkxpbmVFbmRpbmcsXG4gIHVuaWNvZGVQdW5jdHVhdGlvbixcbiAgdW5pY29kZVdoaXRlc3BhY2Vcbn0gZnJvbSAnbWljcm9tYXJrLXV0aWwtY2hhcmFjdGVyJ1xuaW1wb3J0IHtjb2Rlc30gZnJvbSAnbWljcm9tYXJrLXV0aWwtc3ltYm9sL2NvZGVzLmpzJ1xuXG5jb25zdCB3d3cgPSB7dG9rZW5pemU6IHRva2VuaXplV3d3LCBwYXJ0aWFsOiB0cnVlfVxuY29uc3QgZG9tYWluID0ge3Rva2VuaXplOiB0b2tlbml6ZURvbWFpbiwgcGFydGlhbDogdHJ1ZX1cbmNvbnN0IHBhdGggPSB7dG9rZW5pemU6IHRva2VuaXplUGF0aCwgcGFydGlhbDogdHJ1ZX1cbmNvbnN0IHB1bmN0dWF0aW9uID0ge3Rva2VuaXplOiB0b2tlbml6ZVB1bmN0dWF0aW9uLCBwYXJ0aWFsOiB0cnVlfVxuY29uc3QgbmFtZWRDaGFyYWN0ZXJSZWZlcmVuY2UgPSB7XG4gIHRva2VuaXplOiB0b2tlbml6ZU5hbWVkQ2hhcmFjdGVyUmVmZXJlbmNlLFxuICBwYXJ0aWFsOiB0cnVlXG59XG5cbmNvbnN0IHd3d0F1dG9saW5rID0ge3Rva2VuaXplOiB0b2tlbml6ZVd3d0F1dG9saW5rLCBwcmV2aW91czogcHJldmlvdXNXd3d9XG5jb25zdCBodHRwQXV0b2xpbmsgPSB7dG9rZW5pemU6IHRva2VuaXplSHR0cEF1dG9saW5rLCBwcmV2aW91czogcHJldmlvdXNIdHRwfVxuY29uc3QgZW1haWxBdXRvbGluayA9IHt0b2tlbml6ZTogdG9rZW5pemVFbWFpbEF1dG9saW5rLCBwcmV2aW91czogcHJldmlvdXNFbWFpbH1cblxuLyoqIEB0eXBlIHtDb25zdHJ1Y3RSZWNvcmR9ICovXG5jb25zdCB0ZXh0ID0ge31cblxuLyoqIEB0eXBlIHtFeHRlbnNpb259ICovXG5leHBvcnQgY29uc3QgZ2ZtQXV0b2xpbmtMaXRlcmFsID0ge3RleHR9XG5cbmxldCBjb2RlID0gY29kZXMuZGlnaXQwXG5cbi8vIEFkZCBhbHBoYW51bWVyaWNzLlxud2hpbGUgKGNvZGUgPCBjb2Rlcy5sZWZ0Q3VybHlCcmFjZSkge1xuICB0ZXh0W2NvZGVdID0gZW1haWxBdXRvbGlua1xuICBjb2RlKytcbiAgaWYgKGNvZGUgPT09IGNvZGVzLmNvbG9uKSBjb2RlID0gY29kZXMudXBwZXJjYXNlQVxuICBlbHNlIGlmIChjb2RlID09PSBjb2Rlcy5sZWZ0U3F1YXJlQnJhY2tldCkgY29kZSA9IGNvZGVzLmxvd2VyY2FzZUFcbn1cblxudGV4dFtjb2Rlcy5wbHVzU2lnbl0gPSBlbWFpbEF1dG9saW5rXG50ZXh0W2NvZGVzLmRhc2hdID0gZW1haWxBdXRvbGlua1xudGV4dFtjb2Rlcy5kb3RdID0gZW1haWxBdXRvbGlua1xudGV4dFtjb2Rlcy51bmRlcnNjb3JlXSA9IGVtYWlsQXV0b2xpbmtcbnRleHRbY29kZXMudXBwZXJjYXNlSF0gPSBbZW1haWxBdXRvbGluaywgaHR0cEF1dG9saW5rXVxudGV4dFtjb2Rlcy5sb3dlcmNhc2VIXSA9IFtlbWFpbEF1dG9saW5rLCBodHRwQXV0b2xpbmtdXG50ZXh0W2NvZGVzLnVwcGVyY2FzZVddID0gW2VtYWlsQXV0b2xpbmssIHd3d0F1dG9saW5rXVxudGV4dFtjb2Rlcy5sb3dlcmNhc2VXXSA9IFtlbWFpbEF1dG9saW5rLCB3d3dBdXRvbGlua11cblxuLyoqIEB0eXBlIHtUb2tlbml6ZXJ9ICovXG5mdW5jdGlvbiB0b2tlbml6ZUVtYWlsQXV0b2xpbmsoZWZmZWN0cywgb2ssIG5vaykge1xuICBjb25zdCBzZWxmID0gdGhpc1xuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXG4gIGxldCBoYXNEb3RcbiAgLyoqIEB0eXBlIHtib29sZWFufHVuZGVmaW5lZH0gKi9cbiAgbGV0IGhhc0RpZ2l0SW5MYXN0U2VnbWVudFxuXG4gIHJldHVybiBzdGFydFxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIHN0YXJ0KGNvZGUpIHtcbiAgICBpZiAoXG4gICAgICAhZ2ZtQXRleHQoY29kZSkgfHxcbiAgICAgICFwcmV2aW91c0VtYWlsKHNlbGYucHJldmlvdXMpIHx8XG4gICAgICBwcmV2aW91c1VuYmFsYW5jZWQoc2VsZi5ldmVudHMpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbm9rKGNvZGUpXG4gICAgfVxuXG4gICAgZWZmZWN0cy5lbnRlcignbGl0ZXJhbEF1dG9saW5rJylcbiAgICBlZmZlY3RzLmVudGVyKCdsaXRlcmFsQXV0b2xpbmtFbWFpbCcpXG4gICAgcmV0dXJuIGF0ZXh0KGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBhdGV4dChjb2RlKSB7XG4gICAgaWYgKGdmbUF0ZXh0KGNvZGUpKSB7XG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBhdGV4dFxuICAgIH1cblxuICAgIGlmIChjb2RlID09PSBjb2Rlcy5hdFNpZ24pIHtcbiAgICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgICAgcmV0dXJuIGxhYmVsXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vayhjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gbGFiZWwoY29kZSkge1xuICAgIGlmIChjb2RlID09PSBjb2Rlcy5kb3QpIHtcbiAgICAgIHJldHVybiBlZmZlY3RzLmNoZWNrKHB1bmN0dWF0aW9uLCBkb25lLCBkb3RDb250aW51YXRpb24pKGNvZGUpXG4gICAgfVxuXG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLmRhc2ggfHwgY29kZSA9PT0gY29kZXMudW5kZXJzY29yZSkge1xuICAgICAgcmV0dXJuIGVmZmVjdHMuY2hlY2socHVuY3R1YXRpb24sIG5vaywgZGFzaE9yVW5kZXJzY29yZUNvbnRpbnVhdGlvbikoY29kZSlcbiAgICB9XG5cbiAgICBpZiAoYXNjaWlBbHBoYW51bWVyaWMoY29kZSkpIHtcbiAgICAgIGlmICghaGFzRGlnaXRJbkxhc3RTZWdtZW50ICYmIGFzY2lpRGlnaXQoY29kZSkpIHtcbiAgICAgICAgaGFzRGlnaXRJbkxhc3RTZWdtZW50ID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBsYWJlbFxuICAgIH1cblxuICAgIHJldHVybiBkb25lKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBkb3RDb250aW51YXRpb24oY29kZSkge1xuICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgIGhhc0RvdCA9IHRydWVcbiAgICBoYXNEaWdpdEluTGFzdFNlZ21lbnQgPSB1bmRlZmluZWRcbiAgICByZXR1cm4gbGFiZWxcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGRhc2hPclVuZGVyc2NvcmVDb250aW51YXRpb24oY29kZSkge1xuICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgIHJldHVybiBhZnRlckRhc2hPclVuZGVyc2NvcmVcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGFmdGVyRGFzaE9yVW5kZXJzY29yZShjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLmRvdCkge1xuICAgICAgcmV0dXJuIGVmZmVjdHMuY2hlY2socHVuY3R1YXRpb24sIG5vaywgZG90Q29udGludWF0aW9uKShjb2RlKVxuICAgIH1cblxuICAgIHJldHVybiBsYWJlbChjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gZG9uZShjb2RlKSB7XG4gICAgaWYgKGhhc0RvdCAmJiAhaGFzRGlnaXRJbkxhc3RTZWdtZW50KSB7XG4gICAgICBlZmZlY3RzLmV4aXQoJ2xpdGVyYWxBdXRvbGlua0VtYWlsJylcbiAgICAgIGVmZmVjdHMuZXhpdCgnbGl0ZXJhbEF1dG9saW5rJylcbiAgICAgIHJldHVybiBvayhjb2RlKVxuICAgIH1cblxuICAgIHJldHVybiBub2soY29kZSlcbiAgfVxufVxuXG4vKiogQHR5cGUge1Rva2VuaXplcn0gKi9cbmZ1bmN0aW9uIHRva2VuaXplV3d3QXV0b2xpbmsoZWZmZWN0cywgb2ssIG5vaykge1xuICBjb25zdCBzZWxmID0gdGhpc1xuXG4gIHJldHVybiBzdGFydFxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIHN0YXJ0KGNvZGUpIHtcbiAgICBpZiAoXG4gICAgICAoY29kZSAhPT0gY29kZXMudXBwZXJjYXNlVyAmJiBjb2RlICE9PSBjb2Rlcy5sb3dlcmNhc2VXKSB8fFxuICAgICAgIXByZXZpb3VzV3d3KHNlbGYucHJldmlvdXMpIHx8XG4gICAgICBwcmV2aW91c1VuYmFsYW5jZWQoc2VsZi5ldmVudHMpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbm9rKGNvZGUpXG4gICAgfVxuXG4gICAgZWZmZWN0cy5lbnRlcignbGl0ZXJhbEF1dG9saW5rJylcbiAgICBlZmZlY3RzLmVudGVyKCdsaXRlcmFsQXV0b2xpbmtXd3cnKVxuICAgIC8vIEZvciBgd3d3LmAgd2UgY2hlY2sgaW5zdGVhZCBvZiBhdHRlbXB0LCBiZWNhdXNlIHdoZW4gaXQgbWF0Y2hlcywgR0hcbiAgICAvLyB0cmVhdHMgaXQgYXMgcGFydCBvZiBhIGRvbWFpbiAoeWVzLCBpdCBzYXlzIGEgdmFsaWQgZG9tYWluIG11c3QgY29tZVxuICAgIC8vIGFmdGVyIGB3d3cuYCwgYnV0IHRoYXTigJlzIG5vdCBob3cgaXTigJlzIGltcGxlbWVudGVkIGJ5IHRoZW0pLlxuICAgIHJldHVybiBlZmZlY3RzLmNoZWNrKFxuICAgICAgd3d3LFxuICAgICAgZWZmZWN0cy5hdHRlbXB0KGRvbWFpbiwgZWZmZWN0cy5hdHRlbXB0KHBhdGgsIGRvbmUpLCBub2spLFxuICAgICAgbm9rXG4gICAgKShjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gZG9uZShjb2RlKSB7XG4gICAgZWZmZWN0cy5leGl0KCdsaXRlcmFsQXV0b2xpbmtXd3cnKVxuICAgIGVmZmVjdHMuZXhpdCgnbGl0ZXJhbEF1dG9saW5rJylcbiAgICByZXR1cm4gb2soY29kZSlcbiAgfVxufVxuXG4vKiogQHR5cGUge1Rva2VuaXplcn0gKi9cbmZ1bmN0aW9uIHRva2VuaXplSHR0cEF1dG9saW5rKGVmZmVjdHMsIG9rLCBub2spIHtcbiAgY29uc3Qgc2VsZiA9IHRoaXNcblxuICByZXR1cm4gc3RhcnRcblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBzdGFydChjb2RlKSB7XG4gICAgaWYgKFxuICAgICAgKGNvZGUgIT09IGNvZGVzLnVwcGVyY2FzZUggJiYgY29kZSAhPT0gY29kZXMubG93ZXJjYXNlSCkgfHxcbiAgICAgICFwcmV2aW91c0h0dHAoc2VsZi5wcmV2aW91cykgfHxcbiAgICAgIHByZXZpb3VzVW5iYWxhbmNlZChzZWxmLmV2ZW50cylcbiAgICApIHtcbiAgICAgIHJldHVybiBub2soY29kZSlcbiAgICB9XG5cbiAgICBlZmZlY3RzLmVudGVyKCdsaXRlcmFsQXV0b2xpbmsnKVxuICAgIGVmZmVjdHMuZW50ZXIoJ2xpdGVyYWxBdXRvbGlua0h0dHAnKVxuICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgIHJldHVybiB0MVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gdDEoY29kZSkge1xuICAgIGlmIChjb2RlID09PSBjb2Rlcy51cHBlcmNhc2VUIHx8IGNvZGUgPT09IGNvZGVzLmxvd2VyY2FzZVQpIHtcbiAgICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgICAgcmV0dXJuIHQyXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vayhjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gdDIoY29kZSkge1xuICAgIGlmIChjb2RlID09PSBjb2Rlcy51cHBlcmNhc2VUIHx8IGNvZGUgPT09IGNvZGVzLmxvd2VyY2FzZVQpIHtcbiAgICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgICAgcmV0dXJuIHBcbiAgICB9XG5cbiAgICByZXR1cm4gbm9rKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBwKGNvZGUpIHtcbiAgICBpZiAoY29kZSA9PT0gY29kZXMudXBwZXJjYXNlUCB8fCBjb2RlID09PSBjb2Rlcy5sb3dlcmNhc2VQKSB7XG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBzXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vayhjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gcyhjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLnVwcGVyY2FzZVMgfHwgY29kZSA9PT0gY29kZXMubG93ZXJjYXNlUykge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gY29sb25cbiAgICB9XG5cbiAgICByZXR1cm4gY29sb24oY29kZSlcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGNvbG9uKGNvZGUpIHtcbiAgICBpZiAoY29kZSA9PT0gY29kZXMuY29sb24pIHtcbiAgICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgICAgcmV0dXJuIHNsYXNoMVxuICAgIH1cblxuICAgIHJldHVybiBub2soY29kZSlcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIHNsYXNoMShjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLnNsYXNoKSB7XG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBzbGFzaDJcbiAgICB9XG5cbiAgICByZXR1cm4gbm9rKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBzbGFzaDIoY29kZSkge1xuICAgIGlmIChjb2RlID09PSBjb2Rlcy5zbGFzaCkge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gYWZ0ZXJcbiAgICB9XG5cbiAgICByZXR1cm4gbm9rKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBhZnRlcihjb2RlKSB7XG4gICAgcmV0dXJuIGNvZGUgPT09IGNvZGVzLmVvZiB8fFxuICAgICAgYXNjaWlDb250cm9sKGNvZGUpIHx8XG4gICAgICB1bmljb2RlV2hpdGVzcGFjZShjb2RlKSB8fFxuICAgICAgdW5pY29kZVB1bmN0dWF0aW9uKGNvZGUpXG4gICAgICA/IG5vayhjb2RlKVxuICAgICAgOiBlZmZlY3RzLmF0dGVtcHQoZG9tYWluLCBlZmZlY3RzLmF0dGVtcHQocGF0aCwgZG9uZSksIG5vaykoY29kZSlcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGRvbmUoY29kZSkge1xuICAgIGVmZmVjdHMuZXhpdCgnbGl0ZXJhbEF1dG9saW5rSHR0cCcpXG4gICAgZWZmZWN0cy5leGl0KCdsaXRlcmFsQXV0b2xpbmsnKVxuICAgIHJldHVybiBvayhjb2RlKVxuICB9XG59XG5cbi8qKiBAdHlwZSB7VG9rZW5pemVyfSAqL1xuZnVuY3Rpb24gdG9rZW5pemVXd3coZWZmZWN0cywgb2ssIG5vaykge1xuICByZXR1cm4gc3RhcnRcblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBzdGFydChjb2RlKSB7XG4gICAgYXNzZXJ0KFxuICAgICAgY29kZSA9PT0gY29kZXMudXBwZXJjYXNlVyB8fCBjb2RlID09PSBjb2Rlcy5sb3dlcmNhc2VXLFxuICAgICAgJ2V4cGVjdGVkIGB3YCdcbiAgICApXG4gICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgcmV0dXJuIHcyXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiB3Mihjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLnVwcGVyY2FzZVcgfHwgY29kZSA9PT0gY29kZXMubG93ZXJjYXNlVykge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gdzNcbiAgICB9XG5cbiAgICByZXR1cm4gbm9rKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiB3Myhjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLnVwcGVyY2FzZVcgfHwgY29kZSA9PT0gY29kZXMubG93ZXJjYXNlVykge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gZG90XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vayhjb2RlKVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gZG90KGNvZGUpIHtcbiAgICBpZiAoY29kZSA9PT0gY29kZXMuZG90KSB7XG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBhZnRlclxuICAgIH1cblxuICAgIHJldHVybiBub2soY29kZSlcbiAgfVxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGFmdGVyKGNvZGUpIHtcbiAgICByZXR1cm4gY29kZSA9PT0gY29kZXMuZW9mIHx8IG1hcmtkb3duTGluZUVuZGluZyhjb2RlKSA/IG5vayhjb2RlKSA6IG9rKGNvZGUpXG4gIH1cbn1cblxuLyoqIEB0eXBlIHtUb2tlbml6ZXJ9ICovXG5mdW5jdGlvbiB0b2tlbml6ZURvbWFpbihlZmZlY3RzLCBvaywgbm9rKSB7XG4gIC8qKiBAdHlwZSB7Ym9vbGVhbnx1bmRlZmluZWR9ICovXG4gIGxldCBoYXNVbmRlcnNjb3JlSW5MYXN0U2VnbWVudFxuICAvKiogQHR5cGUge2Jvb2xlYW58dW5kZWZpbmVkfSAqL1xuICBsZXQgaGFzVW5kZXJzY29yZUluTGFzdExhc3RTZWdtZW50XG5cbiAgcmV0dXJuIGRvbWFpblxuXG4gIC8qKiBAdHlwZSB7U3RhdGV9ICovXG4gIGZ1bmN0aW9uIGRvbWFpbihjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLmFtcGVyc2FuZCkge1xuICAgICAgcmV0dXJuIGVmZmVjdHMuY2hlY2soXG4gICAgICAgIG5hbWVkQ2hhcmFjdGVyUmVmZXJlbmNlLFxuICAgICAgICBkb25lLFxuICAgICAgICBwdW5jdHVhdGlvbkNvbnRpbnVhdGlvblxuICAgICAgKShjb2RlKVxuICAgIH1cblxuICAgIGlmIChjb2RlID09PSBjb2Rlcy5kb3QgfHwgY29kZSA9PT0gY29kZXMudW5kZXJzY29yZSkge1xuICAgICAgcmV0dXJuIGVmZmVjdHMuY2hlY2socHVuY3R1YXRpb24sIGRvbmUsIHB1bmN0dWF0aW9uQ29udGludWF0aW9uKShjb2RlKVxuICAgIH1cblxuICAgIC8vIEdIIGRvY3VtZW50cyB0aGF0IG9ubHkgYWxwaGFudW1lcmljcyAob3RoZXIgdGhhbiBgLWAsIGAuYCwgYW5kIGBfYCkgY2FuXG4gICAgLy8gb2NjdXIsIHdoaWNoIHNvdW5kcyBsaWtlIEFTQ0lJIG9ubHksIGJ1dCB0aGV5IGFsc28gc3VwcG9ydCBgd3d3Lum7nueciy5jb21gLFxuICAgIC8vIHNvIHRoYXTigJlzIFVuaWNvZGUuXG4gICAgLy8gSW5zdGVhZCBvZiBzb21lIG5ldyBwcm9kdWN0aW9uIGZvciBVbmljb2RlIGFscGhhbnVtZXJpY3MsIG1hcmtkb3duXG4gICAgLy8gYWxyZWFkeSBoYXMgdGhhdCBmb3IgVW5pY29kZSBwdW5jdHVhdGlvbiBhbmQgd2hpdGVzcGFjZSwgc28gdXNlIHRob3NlLlxuICAgIGlmIChcbiAgICAgIGNvZGUgPT09IGNvZGVzLmVvZiB8fFxuICAgICAgYXNjaWlDb250cm9sKGNvZGUpIHx8XG4gICAgICB1bmljb2RlV2hpdGVzcGFjZShjb2RlKSB8fFxuICAgICAgKGNvZGUgIT09IGNvZGVzLmRhc2ggJiYgdW5pY29kZVB1bmN0dWF0aW9uKGNvZGUpKVxuICAgICkge1xuICAgICAgcmV0dXJuIGRvbmUoY29kZSlcbiAgICB9XG5cbiAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICByZXR1cm4gZG9tYWluXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBwdW5jdHVhdGlvbkNvbnRpbnVhdGlvbihjb2RlKSB7XG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLmRvdCkge1xuICAgICAgaGFzVW5kZXJzY29yZUluTGFzdExhc3RTZWdtZW50ID0gaGFzVW5kZXJzY29yZUluTGFzdFNlZ21lbnRcbiAgICAgIGhhc1VuZGVyc2NvcmVJbkxhc3RTZWdtZW50ID0gdW5kZWZpbmVkXG4gICAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICAgIHJldHVybiBkb21haW5cbiAgICB9XG5cbiAgICBpZiAoY29kZSA9PT0gY29kZXMudW5kZXJzY29yZSkgaGFzVW5kZXJzY29yZUluTGFzdFNlZ21lbnQgPSB0cnVlXG5cbiAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICByZXR1cm4gZG9tYWluXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBkb25lKGNvZGUpIHtcbiAgICBpZiAoIWhhc1VuZGVyc2NvcmVJbkxhc3RMYXN0U2VnbWVudCAmJiAhaGFzVW5kZXJzY29yZUluTGFzdFNlZ21lbnQpIHtcbiAgICAgIHJldHVybiBvayhjb2RlKVxuICAgIH1cblxuICAgIHJldHVybiBub2soY29kZSlcbiAgfVxufVxuXG4vKiogQHR5cGUge1Rva2VuaXplcn0gKi9cbmZ1bmN0aW9uIHRva2VuaXplUGF0aChlZmZlY3RzLCBvaykge1xuICBsZXQgYmFsYW5jZSA9IDBcblxuICByZXR1cm4gaW5QYXRoXG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gaW5QYXRoKGNvZGUpIHtcbiAgICBpZiAoY29kZSA9PT0gY29kZXMuYW1wZXJzYW5kKSB7XG4gICAgICByZXR1cm4gZWZmZWN0cy5jaGVjayhcbiAgICAgICAgbmFtZWRDaGFyYWN0ZXJSZWZlcmVuY2UsXG4gICAgICAgIG9rLFxuICAgICAgICBjb250aW51ZWRQdW5jdHVhdGlvblxuICAgICAgKShjb2RlKVxuICAgIH1cblxuICAgIGlmIChjb2RlID09PSBjb2Rlcy5sZWZ0UGFyZW50aGVzaXMpIHtcbiAgICAgIGJhbGFuY2UrK1xuICAgIH1cblxuICAgIGlmIChjb2RlID09PSBjb2Rlcy5yaWdodFBhcmVudGhlc2lzKSB7XG4gICAgICByZXR1cm4gZWZmZWN0cy5jaGVjayhcbiAgICAgICAgcHVuY3R1YXRpb24sXG4gICAgICAgIHBhcmVuQXRQYXRoRW5kLFxuICAgICAgICBjb250aW51ZWRQdW5jdHVhdGlvblxuICAgICAgKShjb2RlKVxuICAgIH1cblxuICAgIGlmIChwYXRoRW5kKGNvZGUpKSB7XG4gICAgICByZXR1cm4gb2soY29kZSlcbiAgICB9XG5cbiAgICBpZiAodHJhaWxpbmdQdW5jdHVhdGlvbihjb2RlKSkge1xuICAgICAgcmV0dXJuIGVmZmVjdHMuY2hlY2socHVuY3R1YXRpb24sIG9rLCBjb250aW51ZWRQdW5jdHVhdGlvbikoY29kZSlcbiAgICB9XG5cbiAgICBlZmZlY3RzLmNvbnN1bWUoY29kZSlcbiAgICByZXR1cm4gaW5QYXRoXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBjb250aW51ZWRQdW5jdHVhdGlvbihjb2RlKSB7XG4gICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgcmV0dXJuIGluUGF0aFxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gcGFyZW5BdFBhdGhFbmQoY29kZSkge1xuICAgIGJhbGFuY2UtLVxuICAgIHJldHVybiBiYWxhbmNlIDwgMCA/IG9rKGNvZGUpIDogY29udGludWVkUHVuY3R1YXRpb24oY29kZSlcbiAgfVxufVxuXG4vKiogQHR5cGUge1Rva2VuaXplcn0gKi9cbmZ1bmN0aW9uIHRva2VuaXplTmFtZWRDaGFyYWN0ZXJSZWZlcmVuY2UoZWZmZWN0cywgb2ssIG5vaykge1xuICByZXR1cm4gc3RhcnRcblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBzdGFydChjb2RlKSB7XG4gICAgYXNzZXJ0KGNvZGUgPT09IGNvZGVzLmFtcGVyc2FuZCwgJ2V4cGVjdGVkIGAmYCcpXG4gICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgcmV0dXJuIGluc2lkZVxuICB9XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gaW5zaWRlKGNvZGUpIHtcbiAgICBpZiAoYXNjaWlBbHBoYShjb2RlKSkge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gaW5zaWRlXG4gICAgfVxuXG4gICAgaWYgKGNvZGUgPT09IGNvZGVzLnNlbWljb2xvbikge1xuICAgICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgICByZXR1cm4gYWZ0ZXJcbiAgICB9XG5cbiAgICByZXR1cm4gbm9rKGNvZGUpXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBhZnRlcihjb2RlKSB7XG4gICAgLy8gSWYgdGhlIG5hbWVkIGNoYXJhY3RlciByZWZlcmVuY2UgaXMgZm9sbG93ZWQgYnkgdGhlIGVuZCBvZiB0aGUgcGF0aCwgaXTigJlzXG4gICAgLy8gbm90IGNvbnRpbnVlZCBwdW5jdHVhdGlvbi5cbiAgICByZXR1cm4gcGF0aEVuZChjb2RlKSA/IG9rKGNvZGUpIDogbm9rKGNvZGUpXG4gIH1cbn1cblxuLyoqIEB0eXBlIHtUb2tlbml6ZXJ9ICovXG5mdW5jdGlvbiB0b2tlbml6ZVB1bmN0dWF0aW9uKGVmZmVjdHMsIG9rLCBub2spIHtcbiAgcmV0dXJuIHN0YXJ0XG5cbiAgLyoqIEB0eXBlIHtTdGF0ZX0gKi9cbiAgZnVuY3Rpb24gc3RhcnQoY29kZSkge1xuICAgIGFzc2VydChcbiAgICAgIGNvZGUgPT09IGNvZGVzLmRhc2ggfHwgdHJhaWxpbmdQdW5jdHVhdGlvbihjb2RlKSxcbiAgICAgICdleHBlY3RlZCBwdW5jdHVhdGlvbidcbiAgICApXG4gICAgZWZmZWN0cy5jb25zdW1lKGNvZGUpXG4gICAgcmV0dXJuIGFmdGVyXG4gIH1cblxuICAvKiogQHR5cGUge1N0YXRlfSAqL1xuICBmdW5jdGlvbiBhZnRlcihjb2RlKSB7XG4gICAgLy8gQ2hlY2sgdGhlIG5leHQuXG4gICAgaWYgKHRyYWlsaW5nUHVuY3R1YXRpb24oY29kZSkpIHtcbiAgICAgIGVmZmVjdHMuY29uc3VtZShjb2RlKVxuICAgICAgcmV0dXJuIGFmdGVyXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHB1bmN0dWF0aW9uIG1hcmtlciBpcyBmb2xsb3dlZCBieSB0aGUgZW5kIG9mIHRoZSBwYXRoLCBpdOKAmXMgbm90XG4gICAgLy8gY29udGludWVkIHB1bmN0dWF0aW9uLlxuICAgIHJldHVybiBwYXRoRW5kKGNvZGUpID8gb2soY29kZSkgOiBub2soY29kZSlcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7Q29kZX0gY29kZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIHRyYWlsaW5nUHVuY3R1YXRpb24oY29kZSkge1xuICByZXR1cm4gKFxuICAgIGNvZGUgPT09IGNvZGVzLmV4Y2xhbWF0aW9uTWFyayB8fFxuICAgIGNvZGUgPT09IGNvZGVzLnF1b3RhdGlvbk1hcmsgfHxcbiAgICBjb2RlID09PSBjb2Rlcy5hcG9zdHJvcGhlIHx8XG4gICAgY29kZSA9PT0gY29kZXMucmlnaHRQYXJlbnRoZXNpcyB8fFxuICAgIGNvZGUgPT09IGNvZGVzLmFzdGVyaXNrIHx8XG4gICAgY29kZSA9PT0gY29kZXMuY29tbWEgfHxcbiAgICBjb2RlID09PSBjb2Rlcy5kb3QgfHxcbiAgICBjb2RlID09PSBjb2Rlcy5jb2xvbiB8fFxuICAgIGNvZGUgPT09IGNvZGVzLnNlbWljb2xvbiB8fFxuICAgIGNvZGUgPT09IGNvZGVzLmxlc3NUaGFuIHx8XG4gICAgY29kZSA9PT0gY29kZXMucXVlc3Rpb25NYXJrIHx8XG4gICAgY29kZSA9PT0gY29kZXMudW5kZXJzY29yZSB8fFxuICAgIGNvZGUgPT09IGNvZGVzLnRpbGRlXG4gIClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NvZGV9IGNvZGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBwYXRoRW5kKGNvZGUpIHtcbiAgcmV0dXJuIChcbiAgICBjb2RlID09PSBjb2Rlcy5lb2YgfHxcbiAgICBjb2RlID09PSBjb2Rlcy5sZXNzVGhhbiB8fFxuICAgIG1hcmtkb3duTGluZUVuZGluZ09yU3BhY2UoY29kZSlcbiAgKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7Q29kZX0gY29kZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGdmbUF0ZXh0KGNvZGUpIHtcbiAgcmV0dXJuIChcbiAgICBjb2RlID09PSBjb2Rlcy5wbHVzU2lnbiB8fFxuICAgIGNvZGUgPT09IGNvZGVzLmRhc2ggfHxcbiAgICBjb2RlID09PSBjb2Rlcy5kb3QgfHxcbiAgICBjb2RlID09PSBjb2Rlcy51bmRlcnNjb3JlIHx8XG4gICAgYXNjaWlBbHBoYW51bWVyaWMoY29kZSlcbiAgKVxufVxuXG4vKiogQHR5cGUge1ByZXZpb3VzfSAqL1xuZnVuY3Rpb24gcHJldmlvdXNXd3coY29kZSkge1xuICByZXR1cm4gKFxuICAgIGNvZGUgPT09IGNvZGVzLmVvZiB8fFxuICAgIGNvZGUgPT09IGNvZGVzLmxlZnRQYXJlbnRoZXNpcyB8fFxuICAgIGNvZGUgPT09IGNvZGVzLmFzdGVyaXNrIHx8XG4gICAgY29kZSA9PT0gY29kZXMudW5kZXJzY29yZSB8fFxuICAgIGNvZGUgPT09IGNvZGVzLnRpbGRlIHx8XG4gICAgbWFya2Rvd25MaW5lRW5kaW5nT3JTcGFjZShjb2RlKVxuICApXG59XG5cbi8qKiBAdHlwZSB7UHJldmlvdXN9ICovXG5mdW5jdGlvbiBwcmV2aW91c0h0dHAoY29kZSkge1xuICByZXR1cm4gY29kZSA9PT0gY29kZXMuZW9mIHx8ICFhc2NpaUFscGhhKGNvZGUpXG59XG5cbi8qKiBAdHlwZSB7UHJldmlvdXN9ICovXG5mdW5jdGlvbiBwcmV2aW91c0VtYWlsKGNvZGUpIHtcbiAgcmV0dXJuIGNvZGUgIT09IGNvZGVzLnNsYXNoICYmIHByZXZpb3VzSHR0cChjb2RlKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7QXJyYXk8RXZlbnQ+fSBldmVudHNcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBwcmV2aW91c1VuYmFsYW5jZWQoZXZlbnRzKSB7XG4gIGxldCBpbmRleCA9IGV2ZW50cy5sZW5ndGhcbiAgbGV0IHJlc3VsdCA9IGZhbHNlXG5cbiAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICBjb25zdCB0b2tlbiA9IGV2ZW50c1tpbmRleF1bMV1cblxuICAgIGlmIChcbiAgICAgICh0b2tlbi50eXBlID09PSAnbGFiZWxMaW5rJyB8fCB0b2tlbi50eXBlID09PSAnbGFiZWxJbWFnZScpICYmXG4gICAgICAhdG9rZW4uX2JhbGFuY2VkXG4gICAgKSB7XG4gICAgICByZXN1bHQgPSB0cnVlXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgSWYgd2XigJl2ZSBzZWVuIHRoaXMgdG9rZW4sIGFuZCBpdCB3YXMgbWFya2VkIGFzIG5vdFxuICAgIC8vIGhhdmluZyBhbnkgdW5iYWxhbmNlZCBicmFja2V0IGJlZm9yZSBpdCwgd2UgY2FuIGV4aXQuXG4gICAgaWYgKHRva2VuLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvKSB7XG4gICAgICByZXN1bHQgPSBmYWxzZVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoZXZlbnRzLmxlbmd0aCA+IDAgJiYgIXJlc3VsdCkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTWFyayB0aGUgbGFzdCB0b2tlbiBhcyDigJx3YWxrZWQgaW50b+KAnSB3L28gZmluZGluZ1xuICAgIC8vIGFueXRoaW5nLlxuICAgIGV2ZW50c1tldmVudHMubGVuZ3RoIC0gMV1bMV0uX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG8gPSB0cnVlXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsib2siLCJhc3NlcnQiLCJhc2NpaUFscGhhIiwiYXNjaWlBbHBoYW51bWVyaWMiLCJhc2NpaUNvbnRyb2wiLCJhc2NpaURpZ2l0IiwibWFya2Rvd25MaW5lRW5kaW5nT3JTcGFjZSIsIm1hcmtkb3duTGluZUVuZGluZyIsInVuaWNvZGVQdW5jdHVhdGlvbiIsInVuaWNvZGVXaGl0ZXNwYWNlIiwiY29kZXMiLCJ3d3ciLCJ0b2tlbml6ZSIsInRva2VuaXplV3d3IiwicGFydGlhbCIsImRvbWFpbiIsInRva2VuaXplRG9tYWluIiwicGF0aCIsInRva2VuaXplUGF0aCIsInB1bmN0dWF0aW9uIiwidG9rZW5pemVQdW5jdHVhdGlvbiIsIm5hbWVkQ2hhcmFjdGVyUmVmZXJlbmNlIiwidG9rZW5pemVOYW1lZENoYXJhY3RlclJlZmVyZW5jZSIsInd3d0F1dG9saW5rIiwidG9rZW5pemVXd3dBdXRvbGluayIsInByZXZpb3VzIiwicHJldmlvdXNXd3ciLCJodHRwQXV0b2xpbmsiLCJ0b2tlbml6ZUh0dHBBdXRvbGluayIsInByZXZpb3VzSHR0cCIsImVtYWlsQXV0b2xpbmsiLCJ0b2tlbml6ZUVtYWlsQXV0b2xpbmsiLCJwcmV2aW91c0VtYWlsIiwidGV4dCIsImdmbUF1dG9saW5rTGl0ZXJhbCIsImNvZGUiLCJkaWdpdDAiLCJsZWZ0Q3VybHlCcmFjZSIsImNvbG9uIiwidXBwZXJjYXNlQSIsImxlZnRTcXVhcmVCcmFja2V0IiwibG93ZXJjYXNlQSIsInBsdXNTaWduIiwiZGFzaCIsImRvdCIsInVuZGVyc2NvcmUiLCJ1cHBlcmNhc2VIIiwibG93ZXJjYXNlSCIsInVwcGVyY2FzZVciLCJsb3dlcmNhc2VXIiwiZWZmZWN0cyIsIm5vayIsInNlbGYiLCJoYXNEb3QiLCJoYXNEaWdpdEluTGFzdFNlZ21lbnQiLCJzdGFydCIsImdmbUF0ZXh0IiwicHJldmlvdXNVbmJhbGFuY2VkIiwiZXZlbnRzIiwiZW50ZXIiLCJhdGV4dCIsImNvbnN1bWUiLCJhdFNpZ24iLCJsYWJlbCIsImNoZWNrIiwiZG9uZSIsImRvdENvbnRpbnVhdGlvbiIsImRhc2hPclVuZGVyc2NvcmVDb250aW51YXRpb24iLCJ1bmRlZmluZWQiLCJhZnRlckRhc2hPclVuZGVyc2NvcmUiLCJleGl0IiwiYXR0ZW1wdCIsInQxIiwidXBwZXJjYXNlVCIsImxvd2VyY2FzZVQiLCJ0MiIsInAiLCJ1cHBlcmNhc2VQIiwibG93ZXJjYXNlUCIsInMiLCJ1cHBlcmNhc2VTIiwibG93ZXJjYXNlUyIsInNsYXNoMSIsInNsYXNoIiwic2xhc2gyIiwiYWZ0ZXIiLCJlb2YiLCJ3MiIsInczIiwiaGFzVW5kZXJzY29yZUluTGFzdFNlZ21lbnQiLCJoYXNVbmRlcnNjb3JlSW5MYXN0TGFzdFNlZ21lbnQiLCJhbXBlcnNhbmQiLCJwdW5jdHVhdGlvbkNvbnRpbnVhdGlvbiIsImJhbGFuY2UiLCJpblBhdGgiLCJjb250aW51ZWRQdW5jdHVhdGlvbiIsImxlZnRQYXJlbnRoZXNpcyIsInJpZ2h0UGFyZW50aGVzaXMiLCJwYXJlbkF0UGF0aEVuZCIsInBhdGhFbmQiLCJ0cmFpbGluZ1B1bmN0dWF0aW9uIiwiaW5zaWRlIiwic2VtaWNvbG9uIiwiZXhjbGFtYXRpb25NYXJrIiwicXVvdGF0aW9uTWFyayIsImFwb3N0cm9waGUiLCJhc3RlcmlzayIsImNvbW1hIiwibGVzc1RoYW4iLCJxdWVzdGlvbk1hcmsiLCJ0aWxkZSIsImluZGV4IiwibGVuZ3RoIiwicmVzdWx0IiwidG9rZW4iLCJ0eXBlIiwiX2JhbGFuY2VkIiwiX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js\n");
/***/ })
};
;