/* Copyright (c) 2006, Ivan Sagalaev. All rights reserved. SPDX-License-Identifier: BSD-3-Clause */ 'use strict';const error$$module$third_party$javascript$highlightjs$src$lib$logger=message=>{console.error(message)};const warn$$module$third_party$javascript$highlightjs$src$lib$logger=(message,...args)=>{console.log(`WARN: ${message}`,...args)};const notice$$module$third_party$javascript$highlightjs$src$lib$logger=message=>{console.log(message)};const deprecated$$module$third_party$javascript$highlightjs$src$lib$logger=(version,message)=>{console.log(`Deprecated as of ${version}. ${message}`)}; var module$third_party$javascript$highlightjs$src$lib$logger={};module$third_party$javascript$highlightjs$src$lib$logger.deprecated=deprecated$$module$third_party$javascript$highlightjs$src$lib$logger;module$third_party$javascript$highlightjs$src$lib$logger.error=error$$module$third_party$javascript$highlightjs$src$lib$logger;module$third_party$javascript$highlightjs$src$lib$logger.notice=notice$$module$third_party$javascript$highlightjs$src$lib$logger; module$third_party$javascript$highlightjs$src$lib$logger.warn=warn$$module$third_party$javascript$highlightjs$src$lib$logger;const COMMON_KEYWORDS$$module$third_party$javascript$highlightjs$src$lib$compile_keywords=["of","and","for","in","not","or","if","then","parent","list","value"];const DEFAULT_KEYWORD_CLASSNAME$$module$third_party$javascript$highlightjs$src$lib$compile_keywords="keyword"; function compileKeywords$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(rawKeywords,caseInsensitive,className=DEFAULT_KEYWORD_CLASSNAME$$module$third_party$javascript$highlightjs$src$lib$compile_keywords){function compileList(className,keywordList){if(caseInsensitive)keywordList=keywordList.map(x=>{return x.toLowerCase()});keywordList.forEach(function(keyword){const pair=keyword.split("|");compiledKeywords[pair[0]]=[className,scoreForKeyword$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(pair[0], pair[1])]})}const compiledKeywords={};if(typeof rawKeywords==="string")compileList(className,rawKeywords.split(" "));else if(Array.isArray(rawKeywords))compileList(className,rawKeywords);else Object.keys(rawKeywords).forEach(function(className){Object.assign(compiledKeywords,compileKeywords$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(rawKeywords[className],caseInsensitive,className))});return compiledKeywords} function scoreForKeyword$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(keyword,providedScore){if(providedScore)return Number(providedScore);return commonKeyword$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(keyword)?0:1}function commonKeyword$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(keyword){return COMMON_KEYWORDS$$module$third_party$javascript$highlightjs$src$lib$compile_keywords.includes(keyword.toLowerCase())} var module$third_party$javascript$highlightjs$src$lib$compile_keywords={};module$third_party$javascript$highlightjs$src$lib$compile_keywords.compileKeywords=compileKeywords$$module$third_party$javascript$highlightjs$src$lib$compile_keywords;function escape$$module$third_party$javascript$highlightjs$src$lib$regex(value){return new RegExp(value.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function source$$module$third_party$javascript$highlightjs$src$lib$regex(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead$$module$third_party$javascript$highlightjs$src$lib$regex(re){return concat$$module$third_party$javascript$highlightjs$src$lib$regex("(?=",re,")")} function anyNumberOfTimes$$module$third_party$javascript$highlightjs$src$lib$regex(re){return concat$$module$third_party$javascript$highlightjs$src$lib$regex("(",re,")*")}function optional$$module$third_party$javascript$highlightjs$src$lib$regex(re){return concat$$module$third_party$javascript$highlightjs$src$lib$regex("(",re,")?")} function concat$$module$third_party$javascript$highlightjs$src$lib$regex(...args){const joined=args.map(x=>{return source$$module$third_party$javascript$highlightjs$src$lib$regex(x)}).join("");return joined}function either$$module$third_party$javascript$highlightjs$src$lib$regex(...args){const joined="("+args.map(x=>{return source$$module$third_party$javascript$highlightjs$src$lib$regex(x)}).join("|")+")";return joined} function countMatchGroups$$module$third_party$javascript$highlightjs$src$lib$regex(re){return(new RegExp(re.toString()+"|")).exec("").length-1}function startsWith$$module$third_party$javascript$highlightjs$src$lib$regex(re,lexeme){const match=re&&re.exec(lexeme);return match&&match.index===0} function join$$module$third_party$javascript$highlightjs$src$lib$regex(regexps,separator="|"){const backreferenceRe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;let numCaptures=0;let ret="";for(let i=0;i0)ret=ret+separator;ret=ret+"(";for(;re.length>0;){const match=backreferenceRe.exec(re);if(match==null){ret=ret+re;break}ret=ret+re.substring(0, match.index);re=re.substring(match.index+match[0].length);if(match[0][0]==="\\"&&match[1])ret=ret+("\\"+String(Number(match[1])+offset));else{ret=ret+match[0];if(match[0]==="(")numCaptures++}}ret=ret+")"}return ret}var module$third_party$javascript$highlightjs$src$lib$regex={};module$third_party$javascript$highlightjs$src$lib$regex.anyNumberOfTimes=anyNumberOfTimes$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.concat=concat$$module$third_party$javascript$highlightjs$src$lib$regex; module$third_party$javascript$highlightjs$src$lib$regex.countMatchGroups=countMatchGroups$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.either=either$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.escape=escape$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.join=join$$module$third_party$javascript$highlightjs$src$lib$regex; module$third_party$javascript$highlightjs$src$lib$regex.lookahead=lookahead$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.optional=optional$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.source=source$$module$third_party$javascript$highlightjs$src$lib$regex;module$third_party$javascript$highlightjs$src$lib$regex.startsWith=startsWith$$module$third_party$javascript$highlightjs$src$lib$regex;function skipIfhasPrecedingDot$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions(match,response){const before=match.input[match.index-1];if(before===".")response.ignoreMatch()} function beginKeywords$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions(mode,parent){if(!parent)return;if(!mode.beginKeywords)return;mode.begin="\\b("+mode.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)";mode.__beforeBegin=skipIfhasPrecedingDot$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions;mode.keywords=mode.keywords||mode.beginKeywords;delete mode.beginKeywords;if(mode.relevance===undefined)mode.relevance=0} function compileIllegal$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions(mode,_parent){if(!Array.isArray(mode.illegal))return;mode.illegal=either$$module$third_party$javascript$highlightjs$src$lib$regex(...mode.illegal)}function compileMatch$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions(mode,_parent){if(!mode.match)return;if(mode.begin||mode.end)throw new Error("begin & end are not supported with match");mode.begin=mode.match;delete mode.match} function compileRelevance$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions(mode,_parent){if(mode.relevance===undefined)mode.relevance=1}var module$third_party$javascript$highlightjs$src$lib$compiler_extensions={};module$third_party$javascript$highlightjs$src$lib$compiler_extensions.beginKeywords=beginKeywords$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions;module$third_party$javascript$highlightjs$src$lib$compiler_extensions.compileIllegal=compileIllegal$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions; module$third_party$javascript$highlightjs$src$lib$compiler_extensions.compileMatch=compileMatch$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions;module$third_party$javascript$highlightjs$src$lib$compiler_extensions.compileRelevance=compileRelevance$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions;function escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils(value){return value.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit$$module$third_party$javascript$highlightjs$src$lib$utils(original,...objects){const result=Object.create(null);for(const key in original)result[key]=original[key];objects.forEach(function(obj){for(const key in obj)result[key]=obj[key]});return result} var module$third_party$javascript$highlightjs$src$lib$utils={};module$third_party$javascript$highlightjs$src$lib$utils.escapeHTML=escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils;module$third_party$javascript$highlightjs$src$lib$utils.inherit=inherit$$module$third_party$javascript$highlightjs$src$lib$utils;function compileLanguage$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(language,{plugins}){function langRe(value,global){return new RegExp(source$$module$third_party$javascript$highlightjs$src$lib$regex(value),"m"+(language.case_insensitive?"i":"")+(global?"g":""))}function buildModeRegex(mode){const mm=new ResumableMultiRegex;mode.contains.forEach(term=>{return mm.addRule(term.begin,{rule:term,type:"begin"})});if(mode.terminatorEnd)mm.addRule(mode.terminatorEnd,{type:"end"});if(mode.illegal)mm.addRule(mode.illegal, {type:"illegal"});return mm}function compileMode(mode,parent){const cmode=mode;if(mode.compiled)return cmode;[compileMatch$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions].forEach(ext=>{return ext(mode,parent)});language.compilerExtensions.forEach(ext=>{return ext(mode,parent)});mode.__beforeBegin=null;[beginKeywords$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions,compileIllegal$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions,compileRelevance$$module$third_party$javascript$highlightjs$src$lib$compiler_extensions].forEach(ext=> {return ext(mode,parent)});mode.compiled=true;let keywordPattern=null;if(typeof mode.keywords==="object"){keywordPattern=mode.keywords.$pattern;delete mode.keywords.$pattern}if(mode.keywords)mode.keywords=compileKeywords$$module$third_party$javascript$highlightjs$src$lib$compile_keywords(mode.keywords,language.case_insensitive);if(mode.lexemes&&keywordPattern)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");keywordPattern=keywordPattern|| mode.lexemes||/\w+/;cmode.keywordPatternRe=langRe(keywordPattern,true);if(parent){if(!mode.begin)mode.begin=/\B|\b/;cmode.beginRe=langRe(mode.begin);if(mode.endSameAsBegin)mode.end=mode.begin;if(!mode.end&&!mode.endsWithParent)mode.end=/\B|\b/;if(mode.end)cmode.endRe=langRe(mode.end);cmode.terminatorEnd=source$$module$third_party$javascript$highlightjs$src$lib$regex(mode.end)||"";if(mode.endsWithParent&&parent.terminatorEnd)cmode.terminatorEnd+=(mode.end?"|":"")+parent.terminatorEnd}if(mode.illegal)cmode.illegalRe= langRe(mode.illegal);if(!mode.contains)mode.contains=[];mode.contains=[].concat(...mode.contains.map(function(c){return expandOrCloneMode$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(c==="self"?mode:c)}));mode.contains.forEach(function(c){compileMode(c,cmode)});if(mode.starts)compileMode(mode.starts,parent);cmode.matcher=buildModeRegex(cmode);return cmode}class MultiRegex{constructor(){this.matchIndexes={};this.regexes=[];this.matchAt=1;this.position=0}addRule(re,opts){opts.position= this.position++;this.matchIndexes[this.matchAt]=opts;this.regexes.push([opts,re]);this.matchAt+=countMatchGroups$$module$third_party$javascript$highlightjs$src$lib$regex(re)+1}compile(){if(this.regexes.length===0)this.exec=()=>{return null};const terminators=this.regexes.map(el=>{return el[1]});this.matcherRe=langRe(join$$module$third_party$javascript$highlightjs$src$lib$regex(terminators),true);this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;const match=this.matcherRe.exec(s);if(!match)return null; const i=match.findIndex((el,i)=>{return i>0&&el!==undefined});const matchData=this.matchIndexes[i];match.splice(0,i);return Object.assign(match,matchData)}}class ResumableMultiRegex{constructor(){this.rules=[];this.multiRegexes=[];this.count=0;this.lastIndex=0;this.regexIndex=0}getMatcher(index){if(this.multiRegexes[index])return this.multiRegexes[index];const matcher=new MultiRegex;this.rules.slice(index).forEach(([re,opts])=>{return matcher.addRule(re,opts)});matcher.compile();this.multiRegexes[index]= matcher;return matcher}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(re,opts){this.rules.push([re,opts]);if(opts.type==="begin")this.count++}exec(s){const m=this.getMatcher(this.regexIndex);m.lastIndex=this.lastIndex;let result=m.exec(s);if(this.resumingScanAtSamePosition())if(result&&result.index===this.lastIndex);else{const m2=this.getMatcher(0);m2.lastIndex=this.lastIndex+1;result=m2.exec(s)}if(result){this.regexIndex+=result.position+1;if(this.regexIndex=== this.count)this.considerAll()}return result}}if(!language.compilerExtensions)language.compilerExtensions=[];if(language.contains&&language.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");language.classNameAliases=inherit$$module$third_party$javascript$highlightjs$src$lib$utils(language.classNameAliases||{});return compileMode(language)} function dependencyOnParent$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(mode){if(!mode)return false;return mode.endsWithParent||dependencyOnParent$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(mode.starts)} function expandOrCloneMode$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(mode){if(mode.variants&&!mode.cachedVariants)mode.cachedVariants=mode.variants.map(function(variant){return inherit$$module$third_party$javascript$highlightjs$src$lib$utils(mode,{variants:null},variant)});if(mode.cachedVariants)return mode.cachedVariants;if(dependencyOnParent$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(mode))return inherit$$module$third_party$javascript$highlightjs$src$lib$utils(mode, {starts:mode.starts?inherit$$module$third_party$javascript$highlightjs$src$lib$utils(mode.starts):null});if(Object.isFrozen(mode))return inherit$$module$third_party$javascript$highlightjs$src$lib$utils(mode);return mode}var module$third_party$javascript$highlightjs$src$lib$mode_compiler={};module$third_party$javascript$highlightjs$src$lib$mode_compiler.compileLanguage=compileLanguage$$module$third_party$javascript$highlightjs$src$lib$mode_compiler;const MATCH_NOTHING_RE$$module$third_party$javascript$highlightjs$src$lib$modes=/\b\B/;const IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes="[a-zA-Z]\\w*";const UNDERSCORE_IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes="[a-zA-Z_]\\w*";const NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes="\\b\\d+(\\.\\d+)?";const C_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"; const BINARY_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes="\\b(0b[01]+)";const RE_STARTERS_RE$$module$third_party$javascript$highlightjs$src$lib$modes="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~"; const SHEBANG$$module$third_party$javascript$highlightjs$src$lib$modes=(opts={})=>{const beginShebang=/^#![ ]*\//;if(opts.binary)opts.begin=concat$$module$third_party$javascript$highlightjs$src$lib$regex(beginShebang,/.*\b/,opts.binary,/\b.*/);return inherit$$module$third_party$javascript$highlightjs$src$lib$utils({className:"meta",begin:beginShebang,end:/$/,relevance:0,"on:begin":(m,resp)=>{if(m.index!==0)resp.ignoreMatch()}},opts)}; const BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes={begin:"\\\\[\\s\\S]",relevance:0};const APOS_STRING_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes]};const QUOTE_STRING_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes]}; const PHRASAL_WORDS_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/}; const COMMENT$$module$third_party$javascript$highlightjs$src$lib$modes=function(begin,end,modeOptions={}){const mode=inherit$$module$third_party$javascript$highlightjs$src$lib$utils({className:"comment",begin,end,contains:[]},modeOptions);mode.contains.push(PHRASAL_WORDS_MODE$$module$third_party$javascript$highlightjs$src$lib$modes);mode.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0});return mode}; const C_LINE_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes=COMMENT$$module$third_party$javascript$highlightjs$src$lib$modes("//","$");const C_BLOCK_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes=COMMENT$$module$third_party$javascript$highlightjs$src$lib$modes("/\\*","\\*/");const HASH_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes=COMMENT$$module$third_party$javascript$highlightjs$src$lib$modes("#","$"); const NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"number",begin:NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0};const C_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"number",begin:C_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0}; const BINARY_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"number",begin:BINARY_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0};const CSS_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"number",begin:NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes+"("+"%|em|ex|ch|rem"+"|vw|vh|vmin|vmax"+"|cm|mm|in|pt|pc|px"+"|deg|grad|rad|turn"+"|s|ms"+"|Hz|kHz"+"|dpi|dpcm|dppx"+")?",relevance:0}; const REGEXP_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes,{begin:/\[/,end:/\]/,relevance:0,contains:[BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes]}]}]}; const TITLE_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"title",begin:IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0};const UNDERSCORE_TITLE_MODE$$module$third_party$javascript$highlightjs$src$lib$modes={className:"title",begin:UNDERSCORE_IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0}; const METHOD_GUARD$$module$third_party$javascript$highlightjs$src$lib$modes={begin:"\\.\\s*"+UNDERSCORE_IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes,relevance:0};const END_SAME_AS_BEGIN$$module$third_party$javascript$highlightjs$src$lib$modes=function(mode){return Object.assign(mode,{"on:begin":(m,resp)=>{resp.data._beginMatch=m[1]},"on:end":(m,resp)=>{if(resp.data._beginMatch!==m[1])resp.ignoreMatch()}})};var module$third_party$javascript$highlightjs$src$lib$modes={}; module$third_party$javascript$highlightjs$src$lib$modes.APOS_STRING_MODE=APOS_STRING_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.BACKSLASH_ESCAPE=BACKSLASH_ESCAPE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.BINARY_NUMBER_MODE=BINARY_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.BINARY_NUMBER_RE=BINARY_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.COMMENT=COMMENT$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.CSS_NUMBER_MODE=CSS_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.C_BLOCK_COMMENT_MODE=C_BLOCK_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.C_LINE_COMMENT_MODE=C_LINE_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.C_NUMBER_MODE=C_NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.C_NUMBER_RE=C_NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.END_SAME_AS_BEGIN=END_SAME_AS_BEGIN$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.HASH_COMMENT_MODE=HASH_COMMENT_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.IDENT_RE=IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.MATCH_NOTHING_RE=MATCH_NOTHING_RE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.METHOD_GUARD=METHOD_GUARD$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.NUMBER_MODE=NUMBER_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.NUMBER_RE=NUMBER_RE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.PHRASAL_WORDS_MODE=PHRASAL_WORDS_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.QUOTE_STRING_MODE=QUOTE_STRING_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.REGEXP_MODE=REGEXP_MODE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.RE_STARTERS_RE=RE_STARTERS_RE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.SHEBANG=SHEBANG$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.TITLE_MODE=TITLE_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;module$third_party$javascript$highlightjs$src$lib$modes.UNDERSCORE_IDENT_RE=UNDERSCORE_IDENT_RE$$module$third_party$javascript$highlightjs$src$lib$modes; module$third_party$javascript$highlightjs$src$lib$modes.UNDERSCORE_TITLE_MODE=UNDERSCORE_TITLE_MODE$$module$third_party$javascript$highlightjs$src$lib$modes;class Response$$module$third_party$javascript$highlightjs$src$lib$response{constructor(mode){if(mode.data===undefined)mode.data={};this.data=mode.data}ignoreMatch(){this.ignore=true}}var module$third_party$javascript$highlightjs$src$lib$response={};module$third_party$javascript$highlightjs$src$lib$response.default=Response$$module$third_party$javascript$highlightjs$src$lib$response;const SPAN_CLOSE$$module$third_party$javascript$highlightjs$src$lib$html_renderer="";const emitsWrappingTags$$module$third_party$javascript$highlightjs$src$lib$html_renderer=node=>{return!!node.kind}; class HTMLRenderer$$module$third_party$javascript$highlightjs$src$lib$html_renderer{constructor(parseTree,options){this.buffer="";this.classPrefix=options.classPrefix;parseTree.walk(this)}addText(text){this.buffer+=escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils(text)}openNode(node){if(!emitsWrappingTags$$module$third_party$javascript$highlightjs$src$lib$html_renderer(node))return;let className=node.kind;if(!node.sublanguage)className=`${this.classPrefix}${className}`;this.span(className)}closeNode(node){if(!emitsWrappingTags$$module$third_party$javascript$highlightjs$src$lib$html_renderer(node))return; this.buffer+=SPAN_CLOSE$$module$third_party$javascript$highlightjs$src$lib$html_renderer}value(){return this.buffer}span(className){this.buffer+=``}}var module$third_party$javascript$highlightjs$src$lib$html_renderer={};module$third_party$javascript$highlightjs$src$lib$html_renderer.default=HTMLRenderer$$module$third_party$javascript$highlightjs$src$lib$html_renderer;class TokenTree$$module$third_party$javascript$highlightjs$src$lib$token_tree{constructor(){this.rootNode={children:[]};this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(node){this.top.children.push(node)}openNode(kind){const node={kind,children:[]};this.add(node);this.stack.push(node)}closeNode(){if(this.stack.length>1)return this.stack.pop();return undefined}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode, null,4)}walk(builder){return this.constructor._walk(builder,this.rootNode)}static _walk(builder,node){if(typeof node==="string")builder.addText(node);else if(node.children){builder.openNode(node);node.children.forEach(child=>{return this._walk(builder,child)});builder.closeNode(node)}return builder}static _collapse(node){if(typeof node==="string")return;if(!node.children)return;if(node.children.every(el=>{return typeof el==="string"}))node.children=[node.children.join("")];else node.children.forEach(child=> {TokenTree$$module$third_party$javascript$highlightjs$src$lib$token_tree._collapse(child)})}} class TokenTreeEmitter$$module$third_party$javascript$highlightjs$src$lib$token_tree extends TokenTree$$module$third_party$javascript$highlightjs$src$lib$token_tree{constructor(options){super();this.options=options}addKeyword(text,kind){if(text==="")return;this.openNode(kind);this.addText(text);this.closeNode()}addText(text){if(text==="")return;this.add(text)}addSublanguage(emitter,name){const node=emitter.root;node.kind=name;node.sublanguage=true;this.add(node)}toHTML(){const renderer=new HTMLRenderer$$module$third_party$javascript$highlightjs$src$lib$html_renderer(this, this.options);return renderer.value()}finalize(){return true}}var module$third_party$javascript$highlightjs$src$lib$token_tree={};module$third_party$javascript$highlightjs$src$lib$token_tree.default=TokenTreeEmitter$$module$third_party$javascript$highlightjs$src$lib$token_tree;const mergeHTMLPlugin$$module$third_party$javascript$highlightjs$src$plugins$merge_html={"after:highlightBlock":({block,result,text})=>{const originalStream=nodeStream$$module$third_party$javascript$highlightjs$src$plugins$merge_html(block);if(!originalStream.length)return;const resultNode=document.createElement("div");resultNode.innerHTML=result.value;result.value=mergeStreams$$module$third_party$javascript$highlightjs$src$plugins$merge_html(originalStream,nodeStream$$module$third_party$javascript$highlightjs$src$plugins$merge_html(resultNode), text)}};function tag$$module$third_party$javascript$highlightjs$src$plugins$merge_html(node){return node.nodeName.toLowerCase()} function nodeStream$$module$third_party$javascript$highlightjs$src$plugins$merge_html(node){const result=[];(function _nodeStream(node,offset){for(let child=node.firstChild;child;child=child.nextSibling)if(child.nodeType===3)offset=offset+child.nodeValue.length;else if(child.nodeType===1){result.push({event:"start",offset:offset,node:child});offset=_nodeStream(child,offset);if(!tag$$module$third_party$javascript$highlightjs$src$plugins$merge_html(child).match(/br|hr|img|input/))result.push({event:"stop", offset:offset,node:child})}return offset})(node,0);return result} function mergeStreams$$module$third_party$javascript$highlightjs$src$plugins$merge_html(original,highlighted,value){function selectStream(){if(!original.length||!highlighted.length)return original.length?original:highlighted;if(original[0].offset!==highlighted[0].offset)return original[0].offset")}function close(node){result=result+("")}function render(event){(event.event==="start"?open:close)(event.node)}let processed=0;let result="";const nodeStack=[];for(;original.length||highlighted.length;){let stream=selectStream();result=result+escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils(value.substring(processed, stream[0].offset));processed=stream[0].offset;if(stream===original){nodeStack.reverse().forEach(close);do{render(stream.splice(0,1)[0]);stream=selectStream()}while(stream===original&&stream.length&&stream[0].offset===processed);nodeStack.reverse().forEach(open)}else{if(stream[0].event==="start")nodeStack.push(stream[0].node);else nodeStack.pop();render(stream.splice(0,1)[0])}}return result+escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils(value.substr(processed))} var module$third_party$javascript$highlightjs$src$plugins$merge_html={};module$third_party$javascript$highlightjs$src$plugins$merge_html.mergeHTMLPlugin=mergeHTMLPlugin$$module$third_party$javascript$highlightjs$src$plugins$merge_html;module$third_party$javascript$highlightjs$src$plugins$merge_html.mergeStreams=mergeStreams$$module$third_party$javascript$highlightjs$src$plugins$merge_html;module$third_party$javascript$highlightjs$src$plugins$merge_html.nodeStream=nodeStream$$module$third_party$javascript$highlightjs$src$plugins$merge_html;function hasValueOrEmptyAttribute$$module$third_party$javascript$highlightjs$src$plugins$vue(value){return Boolean(value||value==="")} function BuildVuePlugin$$module$third_party$javascript$highlightjs$src$plugins$vue(hljs){const Component={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:false}},computed:{className(){if(this.unknownLanguage)return"";return"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!hljs.getLanguage(this.language)){console.warn(`The language "${this.language}" you specified could not be found.`);this.unknownLanguage=true;return escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils(this.code)}let result= {};if(this.autoDetect){result=hljs.highlightAuto(this.code);this.detectedLanguage=result.language}else{result=hljs.highlight(this.language,this.code,this.ignoreIllegals);this.detectedLanguage=this.language}return result.value},autoDetect(){return!this.language||hasValueOrEmptyAttribute$$module$third_party$javascript$highlightjs$src$plugins$vue(this.autodetect)},ignoreIllegals(){return true}},render(createElement){return createElement("pre",{},[createElement("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}}; const VuePlugin={install(Vue){Vue.component("highlightjs",Component)}};return{Component,VuePlugin}}var module$third_party$javascript$highlightjs$src$plugins$vue={};module$third_party$javascript$highlightjs$src$plugins$vue.BuildVuePlugin=BuildVuePlugin$$module$third_party$javascript$highlightjs$src$plugins$vue;const escape$$module$third_party$javascript$highlightjs$src$highlight=escapeHTML$$module$third_party$javascript$highlightjs$src$lib$utils;const inherit$$module$third_party$javascript$highlightjs$src$highlight=inherit$$module$third_party$javascript$highlightjs$src$lib$utils;const NO_MATCH$$module$third_party$javascript$highlightjs$src$highlight=Symbol("nomatch"); const HLJS$$module$third_party$javascript$highlightjs$src$highlight=function(hljs){function shouldNotHighlight(languageName){return options.noHighlightRe.test(languageName)}function blockLanguage(block){let classes=block.className+" ";classes=classes+(block.parentNode?block.parentNode.className:"");const match=options.languageDetectRe.exec(classes);if(match){const language=getLanguage(match[1]);if(!language){warn$$module$third_party$javascript$highlightjs$src$lib$logger(LANGUAGE_NOT_FOUND.replace("{}", match[1]));warn$$module$third_party$javascript$highlightjs$src$lib$logger("Falling back to no-highlight mode for this block.",block)}return language?match[1]:"no-highlight"}return classes.split(/\s+/).find(_class=>{return shouldNotHighlight(_class)||getLanguage(_class)})}function highlight(languageName,code,ignoreIllegals,continuation){const context={code,language:languageName};fire("before:highlight",context);const result=context.result?context.result:_highlight(context.language,context.code,ignoreIllegals, continuation);result.code=context.code;fire("after:highlight",result);return result}function _highlight(languageName,code,ignoreIllegals,continuation){function keywordData(mode,match){const matchText=language.case_insensitive?match[0].toLowerCase():match[0];return Object.prototype.hasOwnProperty.call(mode.keywords,matchText)&&mode.keywords[matchText]}function processKeywords(){if(!top.keywords){emitter.addText(modeBuffer);return}let lastIndex=0;top.keywordPatternRe.lastIndex=0;let match=top.keywordPatternRe.exec(modeBuffer); let buf="";for(;match;){buf=buf+modeBuffer.substring(lastIndex,match.index);const data=keywordData(top,match);if(data){const [kind,keywordRelevance]=data;emitter.addText(buf);buf="";relevance=relevance+keywordRelevance;const cssClass=language.classNameAliases[kind]||kind;emitter.addKeyword(match[0],cssClass)}else buf=buf+match[0];lastIndex=top.keywordPatternRe.lastIndex;match=top.keywordPatternRe.exec(modeBuffer)}buf=buf+modeBuffer.substr(lastIndex);emitter.addText(buf)}function processSubLanguage(){if(modeBuffer=== "")return;let result=null;if(typeof top.subLanguage==="string"){if(!languages[top.subLanguage]){emitter.addText(modeBuffer);return}result=_highlight(top.subLanguage,modeBuffer,true,continuations[top.subLanguage]);continuations[top.subLanguage]=result.top}else result=highlightAuto(modeBuffer,top.subLanguage.length?top.subLanguage:null);if(top.relevance>0)relevance=relevance+result.relevance;emitter.addSublanguage(result.emitter,result.language)}function processBuffer(){if(top.subLanguage!=null)processSubLanguage(); else processKeywords();modeBuffer=""}function startNewMode(mode){if(mode.className)emitter.openNode(language.classNameAliases[mode.className]||mode.className);top=Object.create(mode,{parent:{value:top}});return top}function endOfMode(mode,match,matchPlusRemainder){let matched=startsWith$$module$third_party$javascript$highlightjs$src$lib$regex(mode.endRe,matchPlusRemainder);if(matched){if(mode["on:end"]){const resp=new Response$$module$third_party$javascript$highlightjs$src$lib$response(mode);mode["on:end"](match, resp);if(resp.ignore)matched=false}if(matched){for(;mode.endsParent&&mode.parent;)mode=mode.parent;return mode}}if(mode.endsWithParent)return endOfMode(mode.parent,match,matchPlusRemainder)}function doIgnore(lexeme){if(top.matcher.regexIndex===0){modeBuffer=modeBuffer+lexeme[0];return 1}else{resumeScanAtSamePosition=true;return 0}}function doBeginMatch(match){const lexeme=match[0];const newMode=match.rule;const resp=new Response$$module$third_party$javascript$highlightjs$src$lib$response(newMode); const beforeCallbacks=[newMode.__beforeBegin,newMode["on:begin"]];for(const cb of beforeCallbacks){if(!cb)continue;cb(match,resp);if(resp.ignore)return doIgnore(lexeme)}if(newMode&&newMode.endSameAsBegin)newMode.endRe=escape$$module$third_party$javascript$highlightjs$src$lib$regex(lexeme);if(newMode.skip)modeBuffer=modeBuffer+lexeme;else{if(newMode.excludeBegin)modeBuffer=modeBuffer+lexeme;processBuffer();if(!newMode.returnBegin&&!newMode.excludeBegin)modeBuffer=lexeme}startNewMode(newMode);return newMode.returnBegin? 0:lexeme.length}function doEndMatch(match){const lexeme=match[0];const matchPlusRemainder=codeToHighlight.substr(match.index);const endMode=endOfMode(top,match,matchPlusRemainder);if(!endMode)return NO_MATCH$$module$third_party$javascript$highlightjs$src$highlight;const origin=top;if(origin.skip)modeBuffer=modeBuffer+lexeme;else{if(!(origin.returnEnd||origin.excludeEnd))modeBuffer=modeBuffer+lexeme;processBuffer();if(origin.excludeEnd)modeBuffer=lexeme}do{if(top.className)emitter.closeNode();if(!top.skip&& !top.subLanguage)relevance=relevance+top.relevance;top=top.parent}while(top!==endMode.parent);if(endMode.starts){if(endMode.endSameAsBegin)endMode.starts.endRe=endMode.endRe;startNewMode(endMode.starts)}return origin.returnEnd?0:lexeme.length}function processContinuations(){const list=[];for(let current=top;current!==language;current=current.parent)if(current.className)list.unshift(current.className);list.forEach(item=>{return emitter.openNode(item)})}function processLexeme(textBeforeMatch,match){const lexeme= match&&match[0];modeBuffer=modeBuffer+textBeforeMatch;if(lexeme==null){processBuffer();return 0}if(lastMatch.type==="begin"&&match.type==="end"&&lastMatch.index===match.index&&lexeme===""){modeBuffer=modeBuffer+codeToHighlight.slice(match.index,match.index+1);if(!SAFE_MODE){const err=new Error("0 width match regex");err.languageName=languageName;err.badRule=lastMatch.rule;throw err;}return 1}lastMatch=match;if(match.type==="begin")return doBeginMatch(match);else if(match.type==="illegal"&&!ignoreIllegals){const err= new Error('Illegal lexeme "'+lexeme+'" for mode "'+(top.className||"")+'"');err.mode=top;throw err;}else if(match.type==="end"){const processed=doEndMatch(match);if(processed!==NO_MATCH$$module$third_party$javascript$highlightjs$src$highlight)return processed}if(match.type==="illegal"&&lexeme==="")return 1;if(iterations>1E5&&iterations>match.index*3){const err=new Error("potential infinite loop, way more iterations than matches");throw err;}modeBuffer=modeBuffer+lexeme;return lexeme.length} const codeToHighlight=code;let lastMatch={};const language=getLanguage(languageName);if(!language){error$$module$third_party$javascript$highlightjs$src$lib$logger(LANGUAGE_NOT_FOUND.replace("{}",languageName));throw new Error('Unknown language: "'+languageName+'"');}const md=compileLanguage$$module$third_party$javascript$highlightjs$src$lib$mode_compiler(language,{plugins});let result="";let top=continuation||md;const continuations={};const emitter=new options.__emitter(options);processContinuations(); let modeBuffer="";let relevance=0;let index=0;let iterations=0;let resumeScanAtSamePosition=false;try{top.matcher.considerAll();for(;;){iterations++;if(resumeScanAtSamePosition)resumeScanAtSamePosition=false;else top.matcher.considerAll();top.matcher.lastIndex=index;const match=top.matcher.exec(codeToHighlight);if(!match)break;const beforeMatch=codeToHighlight.substring(index,match.index);const processedCount=processLexeme(beforeMatch,match);index=match.index+processedCount}processLexeme(codeToHighlight.substr(index)); emitter.closeAllNodes();emitter.finalize();result=emitter.toHTML();return{relevance:Math.floor(relevance),value:result,language:languageName,illegal:false,emitter:emitter,top:top}}catch(err){if(err.message&&err.message.includes("Illegal"))return{illegal:true,illegalBy:{msg:err.message,context:codeToHighlight.slice(index-100,index+100),mode:err.mode},sofar:result,relevance:0,value:escape$$module$third_party$javascript$highlightjs$src$highlight(codeToHighlight),emitter:emitter};else if(SAFE_MODE)return{illegal:false, relevance:0,value:escape$$module$third_party$javascript$highlightjs$src$highlight(codeToHighlight),emitter:emitter,language:languageName,top:top,errorRaised:err};else throw err;}}function justTextHighlightResult(code){const result={relevance:0,emitter:new options.__emitter(options),value:escape$$module$third_party$javascript$highlightjs$src$highlight(code),illegal:false,top:PLAINTEXT_LANGUAGE};result.emitter.addText(code);return result}function highlightAuto(code,languageSubset){languageSubset=languageSubset|| options.languages||Object.keys(languages);const plaintext=justTextHighlightResult(code);const results=languageSubset.filter(getLanguage).filter(autoDetection).map(name=>{return _highlight(name,code,false)});results.unshift(plaintext);const sorted=results.sort((a,b)=>{if(a.relevance!==b.relevance)return b.relevance-a.relevance;if(a.language&&b.language)if(getLanguage(a.language).supersetOf===b.language)return 1;else if(getLanguage(b.language).supersetOf===a.language)return-1;return 0});const [best, secondBest]=sorted;const result=best;result.second_best=secondBest;return result}function fixMarkup(html){if(!(options.tabReplace||options.useBR))return html;return html.replace(fixMarkupRe,match=>{if(match==="\n")return options.useBR?"
":match;else if(options.tabReplace)return match.replace(/\t/g,options.tabReplace);return match})}function updateClassName(element,currentLang,resultLang){const language=currentLang?aliases[currentLang]:resultLang;element.classList.add("hljs");if(language)element.classList.add(language)} function highlightBlock(element){let node=null;const language=blockLanguage(element);if(shouldNotHighlight(language))return;fire("before:highlightBlock",{block:element,language:language});node=element;const text=node.textContent;const result=language?highlight(language,text,true):highlightAuto(text);fire("after:highlightBlock",{block:element,result,text});element.innerHTML=ttPolicy.createHTML(result.value);updateClassName(element,language,result.language);element.result={language:result.language, re:result.relevance,relavance:result.relevance};if(result.second_best)element.second_best={language:result.second_best.language,re:result.second_best.relevance,relavance:result.second_best.relevance}}function configure(userOptions){if(userOptions.useBR){deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.3.0","'useBR' will be removed entirely in v11.0");deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")}options= inherit$$module$third_party$javascript$highlightjs$src$highlight(options,userOptions)}function initHighlightingOnLoad(){deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead.");wantsHighlight=true}function highlightAll(){if(!domLoaded){wantsHighlight=true;return}const blocks=document.querySelectorAll("pre code");blocks.forEach(highlightBlock)}function boot(){domLoaded=true;if(wantsHighlight)highlightAll()} function registerLanguage(languageName,languageDefinition){let lang=null;try{lang=languageDefinition(hljs)}catch(error){error$$module$third_party$javascript$highlightjs$src$lib$logger("Language definition for '{}' could not be registered.".replace("{}",languageName));if(!SAFE_MODE)throw error;else error$$module$third_party$javascript$highlightjs$src$lib$logger(error);lang=PLAINTEXT_LANGUAGE}if(!lang.name)lang.name=languageName;languages[languageName]=lang;lang.rawDefinition=languageDefinition.bind(null, hljs);if(lang.aliases)registerAliases(lang.aliases,{languageName})}function listLanguages(){return Object.keys(languages)}function requireLanguage(name){deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.4.0","requireLanguage will be removed entirely in v11.");deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const lang=getLanguage(name);if(lang)return lang;const err=new Error("The '{}' language is required, but not loaded.".replace("{}", name));throw err;}function getLanguage(name){name=(name||"").toLowerCase();return languages[name]||languages[aliases[name]]}function registerAliases(aliasList,{languageName}){if(typeof aliasList==="string")aliasList=[aliasList];aliasList.forEach(alias=>{aliases[alias]=languageName})}function autoDetection(name){const lang=getLanguage(name);return lang&&!lang.disableAutodetect}function addPlugin(plugin){plugins.push(plugin)}function fire(event,args){const cb=event;plugins.forEach(function(plugin){if(plugin[cb])plugin[cb](args)})} function deprecateFixMarkup(arg){deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.2.0","fixMarkup will be removed entirely in v11.0");deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534");return fixMarkup(arg)}const languages=Object.create(null);const aliases=Object.create(null);const plugins=[];let SAFE_MODE=true;const fixMarkupRe=/(^(<[^>]+>|\t|)+|\n)/gm;const LANGUAGE_NOT_FOUND= "Could not find the language '{}', did you forget to load/include a language module?";const PLAINTEXT_LANGUAGE={disableAutodetect:true,name:"Plain text",contains:[]};let options={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:false,languages:null,__emitter:TokenTreeEmitter$$module$third_party$javascript$highlightjs$src$lib$token_tree};const brPlugin={"before:highlightBlock":({block})=>{if(options.useBR)block.innerHTML=block.innerHTML.replace(/\n/g, "").replace(//g,"\n")},"after:highlightBlock":({result})=>{if(options.useBR)result.value=result.value.replace(/\n/g,"
")}};const TAB_REPLACE_RE=/^(<[^>]+>|\t)+/gm;const tabReplacePlugin={"after:highlightBlock":({result})=>{if(options.tabReplace)result.value=result.value.replace(TAB_REPLACE_RE,m=>{return m.replace(/\t/g,options.tabReplace)})}};let ttPolicy={createHTML:s=>{return s}};if(typeof trustedTypes!="undefined")ttPolicy=trustedTypes.createPolicy("highlight.js",ttPolicy);const initHighlighting= ()=>{if(initHighlighting.called)return;initHighlighting.called=true;deprecated$$module$third_party$javascript$highlightjs$src$lib$logger("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");const blocks=document.querySelectorAll("pre code");blocks.forEach(highlightBlock)};let wantsHighlight=false;let domLoaded=false;if(typeof window!=="undefined"&&window.addEventListener)window.addEventListener("DOMContentLoaded",boot,false);Object.assign(hljs,{highlight,highlightAuto,highlightAll, fixMarkup:deprecateFixMarkup,highlightBlock,configure,initHighlighting,initHighlightingOnLoad,registerLanguage,listLanguages,getLanguage,registerAliases,requireLanguage,autoDetection,inherit:inherit$$module$third_party$javascript$highlightjs$src$highlight,addPlugin,vuePlugin:BuildVuePlugin$$module$third_party$javascript$highlightjs$src$plugins$vue(hljs).VuePlugin});hljs.debugMode=function(){SAFE_MODE=false};hljs.safeMode=function(){SAFE_MODE=true};hljs.versionString="10.6";Object.assign(hljs,module$third_party$javascript$highlightjs$src$lib$modes); hljs.addPlugin(brPlugin);hljs.addPlugin(mergeHTMLPlugin$$module$third_party$javascript$highlightjs$src$plugins$merge_html);hljs.addPlugin(tabReplacePlugin);return hljs};var $jscompDefaultExport$$module$third_party$javascript$highlightjs$src$highlight=HLJS$$module$third_party$javascript$highlightjs$src$highlight({});var module$third_party$javascript$highlightjs$src$highlight={};module$third_party$javascript$highlightjs$src$highlight.default=$jscompDefaultExport$$module$third_party$javascript$highlightjs$src$highlight;globalThis.hljs=$jscompDefaultExport$$module$third_party$javascript$highlightjs$src$highlight;var module$third_party$javascript$highlightjs$export_shims$export_core={};