2023-09-14 17:10:23 +00:00
/ * !
Highlight . js v11 . 5.1 ( git : b8f233c8e2 )
( c ) 2006 - 2022 Ivan Sagalaev and other contributors
License : BSD - 3 - Clause
* /
var hljs = function ( ) { "use strict" ; var e = { exports : { } } ; function t ( e ) {
return e instanceof Map ? e . clear = e . delete = e . set = ( ) => {
throw Error ( "map is read-only" ) } : e instanceof Set && ( e . add = e . clear = e . delete = ( ) => {
throw Error ( "set is read-only" )
} ) , Object . freeze ( e ) , Object . getOwnPropertyNames ( e ) . forEach ( ( n => { var i = e [ n ]
; "object" != typeof i || Object . isFrozen ( i ) || t ( i ) } ) ) , e }
e . exports = t , e . exports . default = t ; var n = e . exports ; class i { constructor ( e ) {
void 0 === e . data && ( e . data = { } ) , this . data = e . data , this . isMatchIgnored = ! 1 }
ignoreMatch ( ) { this . isMatchIgnored = ! 0 } } function r ( e ) {
return e . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /"/g , """ ) . replace ( /'/g , "'" )
} function s ( e , ... t ) { const n = Object . create ( null ) ; for ( const t in e ) n [ t ] = e [ t ]
; return t . forEach ( ( e => { for ( const t in e ) n [ t ] = e [ t ] } ) ) , n } const o = e => ! ! e . kind
; class a { constructor ( e , t ) {
this . buffer = "" , this . classPrefix = t . classPrefix , e . walk ( this ) } addText ( e ) {
this . buffer += r ( e ) } openNode ( e ) { if ( ! o ( e ) ) return ; let t = e . kind
; t = e . sublanguage ? "language-" + t : ( ( e , { prefix : t } ) => { if ( e . includes ( "." ) ) {
const n = e . split ( "." )
; return [ ` ${ t } ${ n . shift ( ) } ` , ... n . map ( ( ( e , t ) => ` ${ e } ${ "_" . repeat ( t + 1 ) } ` ) ) ] . join ( " " )
} return ` ${ t } ${ e } ` } ) ( t , { prefix : this . classPrefix } ) , this . span ( t ) } closeNode ( e ) {
o ( e ) && ( this . buffer += "</span>" ) } value ( ) { return this . buffer } span ( e ) {
this . buffer += ` <span class=" ${ e } "> ` } } class c { constructor ( ) { this . rootNode = {
children : [ ] } , this . stack = [ this . rootNode ] } get top ( ) {
return this . stack [ this . stack . length - 1 ] } get root ( ) { return this . rootNode } add ( e ) {
this . top . children . push ( e ) } openNode ( e ) { const t = { kind : e , children : [ ] }
; this . add ( t ) , this . stack . push ( t ) } closeNode ( ) {
if ( this . stack . length > 1 ) return this . stack . pop ( ) } closeAllNodes ( ) {
for ( ; this . closeNode ( ) ; ) ; } toJSON ( ) { return JSON . stringify ( this . rootNode , null , 4 ) }
walk ( e ) { return this . constructor . _walk ( e , this . rootNode ) } static _walk ( e , t ) {
return "string" == typeof t ? e . addText ( t ) : t . children && ( e . openNode ( t ) ,
t . children . forEach ( ( t => this . _walk ( e , t ) ) ) , e . closeNode ( t ) ) , e } static _collapse ( e ) {
"string" != typeof e && e . children && ( e . children . every ( ( e => "string" == typeof e ) ) ? e . children = [ e . children . join ( "" ) ] : e . children . forEach ( ( e => {
c . _collapse ( e ) } ) ) ) } } class l extends c { constructor ( e ) { super ( ) , this . options = e }
addKeyword ( e , t ) { "" !== e && ( this . openNode ( t ) , this . addText ( e ) , this . closeNode ( ) ) }
addText ( e ) { "" !== e && this . add ( e ) } addSublanguage ( e , t ) { const n = e . root
; n . kind = t , n . sublanguage = ! 0 , this . add ( n ) } toHTML ( ) {
return new a ( this , this . options ) . value ( ) } finalize ( ) { return ! 0 } } function g ( e ) {
return e ? "string" == typeof e ? e : e . source : null } function d ( e ) { return f ( "(?=" , e , ")" ) }
function u ( e ) { return f ( "(?:" , e , ")*" ) } function h ( e ) { return f ( "(?:" , e , ")?" ) }
function f ( ... e ) { return e . map ( ( e => g ( e ) ) ) . join ( "" ) } function p ( ... e ) { const t = ( e => {
const t = e [ e . length - 1 ]
; return "object" == typeof t && t . constructor === Object ? ( e . splice ( e . length - 1 , 1 ) , t ) : { }
} ) ( e ) ; return "(" + ( t . capture ? "" : "?:" ) + e . map ( ( e => g ( e ) ) ) . join ( "|" ) + ")" }
function b ( e ) { return RegExp ( e . toString ( ) + "|" ) . exec ( "" ) . length - 1 }
const m = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
; function E ( e , { joinWith : t } ) { let n = 0 ; return e . map ( ( e => { n += 1 ; const t = n
; let i = g ( e ) , r = "" ; for ( ; i . length > 0 ; ) { const e = m . exec ( i ) ; if ( ! e ) { r += i ; break }
r += i . substring ( 0 , e . index ) ,
i = i . substring ( e . index + e [ 0 ] . length ) , "\\" === e [ 0 ] [ 0 ] && e [ 1 ] ? r += "\\" + ( Number ( e [ 1 ] ) + t ) : ( r += e [ 0 ] ,
"(" === e [ 0 ] && n ++ ) } return r } ) ) . map ( ( e => ` ( ${ e } ) ` ) ) . join ( t ) }
const x = "[a-zA-Z]\\w*" , w = "[a-zA-Z_]\\w*" , y = "\\b\\d+(\\.\\d+)?" , _ = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)" , k = "\\b(0b[01]+)" , v = {
begin : "\\\\[\\s\\S]" , relevance : 0 } , O = { scope : "string" , begin : "'" , end : "'" ,
illegal : "\\n" , contains : [ v ] } , N = { scope : "string" , begin : '"' , end : '"' , illegal : "\\n" ,
contains : [ v ] } , M = ( e , t , n = { } ) => { const i = s ( { scope : "comment" , begin : e , end : t ,
contains : [ ] } , n ) ; i . contains . push ( { scope : "doctag" ,
begin : "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)" ,
end : /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/ , excludeBegin : ! 0 , relevance : 0 } )
; const r = p ( "I" , "a" , "is" , "so" , "us" , "to" , "at" , "if" , "in" , "it" , "on" , /[A-Za-z]+['](d|ve|re|ll|t|s|n)/ , /[A-Za-z]+[-][a-z]+/ , /[A-Za-z][a-z]{2,}/ )
; return i . contains . push ( { begin : f ( /[ ]+/ , "(" , r , /[.]?[:]?([.][ ]|[ ])/ , "){3}" ) } ) , i
} , S = M ( "//" , "$" ) , R = M ( "/\\*" , "\\*/" ) , j = M ( "#" , "$" ) ; var A = Object . freeze ( {
_ _proto _ _ : null , MATCH _NOTHING _RE : /\b\B/ , IDENT _RE : x , UNDERSCORE _IDENT _RE : w ,
NUMBER _RE : y , C _NUMBER _RE : _ , BINARY _NUMBER _RE : k ,
RE _STARTERS _RE : "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~" ,
SHEBANG : ( e = { } ) => { const t = /^#![ ]*\//
; return e . binary && ( e . begin = f ( t , /.*\b/ , e . binary , /\b.*/ ) ) , s ( { scope : "meta" , begin : t ,
end : /$/ , relevance : 0 , "on:begin" : ( e , t ) => { 0 !== e . index && t . ignoreMatch ( ) } } , e ) } ,
BACKSLASH _ESCAPE : v , APOS _STRING _MODE : O , QUOTE _STRING _MODE : N , PHRASAL _WORDS _MODE : {
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/
} , COMMENT : M , C _LINE _COMMENT _MODE : S , C _BLOCK _COMMENT _MODE : R , HASH _COMMENT _MODE : j ,
NUMBER _MODE : { scope : "number" , begin : y , relevance : 0 } , C _NUMBER _MODE : { scope : "number" ,
begin : _ , relevance : 0 } , BINARY _NUMBER _MODE : { scope : "number" , begin : k , relevance : 0 } ,
REGEXP _MODE : { begin : /(?=\/[^/\n]*\/)/ , contains : [ { scope : "regexp" , begin : /\// ,
end : /\/[gimuy]*/ , illegal : /\n/ , contains : [ v , { begin : /\[/ , end : /\]/ , relevance : 0 ,
contains : [ v ] } ] } ] } , TITLE _MODE : { scope : "title" , begin : x , relevance : 0 } ,
UNDERSCORE _TITLE _MODE : { scope : "title" , begin : w , relevance : 0 } , METHOD _GUARD : {
begin : "\\.\\s*[a-zA-Z_]\\w*" , relevance : 0 } , END _SAME _AS _BEGIN : e => Object . assign ( e , {
"on:begin" : ( e , t ) => { t . data . _beginMatch = e [ 1 ] } , "on:end" : ( e , t ) => {
t . data . _beginMatch !== e [ 1 ] && t . ignoreMatch ( ) } } ) } ) ; function I ( e , t ) {
"." === e . input [ e . index - 1 ] && t . ignoreMatch ( ) } function T ( e , t ) {
void 0 !== e . className && ( e . scope = e . className , delete e . className ) } function L ( e , t ) {
t && e . beginKeywords && ( e . begin = "\\b(" + e . beginKeywords . split ( " " ) . join ( "|" ) + ")(?!\\.)(?=\\b|\\s)" ,
e . _ _beforeBegin = I , e . keywords = e . keywords || e . beginKeywords , delete e . beginKeywords ,
void 0 === e . relevance && ( e . relevance = 0 ) ) } function B ( e , t ) {
Array . isArray ( e . illegal ) && ( e . illegal = p ( ... e . illegal ) ) } function D ( e , t ) {
if ( e . match ) {
if ( e . begin || e . end ) throw Error ( "begin & end are not supported with match" )
; e . begin = e . match , delete e . match } } function H ( e , t ) {
void 0 === e . relevance && ( e . relevance = 1 ) } const P = ( e , t ) => { if ( ! e . beforeMatch ) return
; if ( e . starts ) throw Error ( "beforeMatch cannot be used with starts" )
; const n = Object . assign ( { } , e ) ; Object . keys ( e ) . forEach ( ( t => { delete e [ t ]
} ) ) , e . keywords = n . keywords , e . begin = f ( n . beforeMatch , d ( n . begin ) ) , e . starts = {
relevance : 0 , contains : [ Object . assign ( n , { endsParent : ! 0 } ) ]
} , e . relevance = 0 , delete n . beforeMatch
} , C = [ "of" , "and" , "for" , "in" , "not" , "or" , "if" , "then" , "parent" , "list" , "value" ]
; function $ ( e , t , n = "keyword" ) { const i = Object . create ( null )
; return "string" == typeof e ? r ( n , e . split ( " " ) ) : Array . isArray ( e ) ? r ( n , e ) : Object . keys ( e ) . forEach ( ( n => {
Object . assign ( i , $ ( e [ n ] , t , n ) ) } ) ) , i ; function r ( e , n ) {
t && ( n = n . map ( ( e => e . toLowerCase ( ) ) ) ) , n . forEach ( ( t => { const n = t . split ( "|" )
; i [ n [ 0 ] ] = [ e , U ( n [ 0 ] , n [ 1 ] ) ] } ) ) } } function U ( e , t ) {
return t ? Number ( t ) : ( e => C . includes ( e . toLowerCase ( ) ) ) ( e ) ? 0 : 1 } const z = { } , K = e => {
console . error ( e ) } , W = ( e , ... t ) => { console . log ( "WARN: " + e , ... t ) } , X = ( e , t ) => {
z [ ` ${ e } / ${ t } ` ] || ( console . log ( ` Deprecated as of ${ e } . ${ t } ` ) , z [ ` ${ e } / ${ t } ` ] = ! 0 )
} , G = Error ( ) ; function Z ( e , t , { key : n } ) { let i = 0 ; const r = e [ n ] , s = { } , o = { }
; for ( let e = 1 ; e <= t . length ; e ++ ) o [ e + i ] = r [ e ] , s [ e + i ] = ! 0 , i += b ( t [ e - 1 ] )
; e [ n ] = o , e [ n ] . _emit = s , e [ n ] . _multi = ! 0 } function F ( e ) { ( e => {
e . scope && "object" == typeof e . scope && null !== e . scope && ( e . beginScope = e . scope ,
delete e . scope ) } ) ( e ) , "string" == typeof e . beginScope && ( e . beginScope = {
_wrap : e . beginScope } ) , "string" == typeof e . endScope && ( e . endScope = { _wrap : e . endScope
} ) , ( e => { if ( Array . isArray ( e . begin ) ) {
if ( e . skip || e . excludeBegin || e . returnBegin ) throw K ( "skip, excludeBegin, returnBegin not compatible with beginScope: {}" ) ,
G
; if ( "object" != typeof e . beginScope || null === e . beginScope ) throw K ( "beginScope must be object" ) ,
G ; Z ( e , e . begin , { key : "beginScope" } ) , e . begin = E ( e . begin , { joinWith : "" } ) } } ) ( e ) , ( e => {
if ( Array . isArray ( e . end ) ) {
if ( e . skip || e . excludeEnd || e . returnEnd ) throw K ( "skip, excludeEnd, returnEnd not compatible with endScope: {}" ) ,
G
; if ( "object" != typeof e . endScope || null === e . endScope ) throw K ( "endScope must be object" ) ,
G ; Z ( e , e . end , { key : "endScope" } ) , e . end = E ( e . end , { joinWith : "" } ) } } ) ( e ) } function V ( e ) {
function t ( t , n ) {
return RegExp ( g ( t ) , "m" + ( e . case _insensitive ? "i" : "" ) + ( e . unicodeRegex ? "u" : "" ) + ( n ? "g" : "" ) )
} class n { constructor ( ) {
this . matchIndexes = { } , this . regexes = [ ] , this . matchAt = 1 , this . position = 0 }
addRule ( e , t ) {
t . position = this . position ++ , this . matchIndexes [ this . matchAt ] = t , this . regexes . push ( [ t , e ] ) ,
this . matchAt += b ( e ) + 1 } compile ( ) { 0 === this . regexes . length && ( this . exec = ( ) => null )
; const e = this . regexes . map ( ( e => e [ 1 ] ) ) ; this . matcherRe = t ( E ( e , { joinWith : "|"
} ) , ! 0 ) , this . lastIndex = 0 } exec ( e ) { this . matcherRe . lastIndex = this . lastIndex
; const t = this . matcherRe . exec ( e ) ; if ( ! t ) return null
; const n = t . findIndex ( ( ( e , t ) => t > 0 && void 0 !== e ) ) , i = this . matchIndexes [ n ]
; return t . splice ( 0 , n ) , Object . assign ( t , i ) } } class i { constructor ( ) {
this . rules = [ ] , this . multiRegexes = [ ] ,
this . count = 0 , this . lastIndex = 0 , this . regexIndex = 0 } getMatcher ( e ) {
if ( this . multiRegexes [ e ] ) return this . multiRegexes [ e ] ; const t = new n
; return this . rules . slice ( e ) . forEach ( ( ( [ e , n ] ) => t . addRule ( e , n ) ) ) ,
t . compile ( ) , this . multiRegexes [ e ] = t , t } resumingScanAtSamePosition ( ) {
return 0 !== this . regexIndex } considerAll ( ) { this . regexIndex = 0 } addRule ( e , t ) {
this . rules . push ( [ e , t ] ) , "begin" === t . type && this . count ++ } exec ( e ) {
const t = this . getMatcher ( this . regexIndex ) ; t . lastIndex = this . lastIndex
; let n = t . exec ( e )
; if ( this . resumingScanAtSamePosition ( ) ) if ( n && n . index === this . lastIndex ) ; else {
const t = this . getMatcher ( 0 ) ; t . lastIndex = this . lastIndex + 1 , n = t . exec ( e ) }
return n && ( this . regexIndex += n . position + 1 ,
this . regexIndex === this . count && this . considerAll ( ) ) , n } }
if ( e . compilerExtensions || ( e . compilerExtensions = [ ] ) ,
e . contains && e . contains . includes ( "self" ) ) throw Error ( "ERR: contains `self` is not supported at the top-level of a language. See documentation." )
; return e . classNameAliases = s ( e . classNameAliases || { } ) , function n ( r , o ) { const a = r
; if ( r . isCompiled ) return a
; [ T , D , F , P ] . forEach ( ( e => e ( r , o ) ) ) , e . compilerExtensions . forEach ( ( e => e ( r , o ) ) ) ,
r . _ _beforeBegin = null , [ L , B , H ] . forEach ( ( e => e ( r , o ) ) ) , r . isCompiled = ! 0 ; let c = null
; return "object" == typeof r . keywords && r . keywords . $pattern && ( r . keywords = Object . assign ( { } , r . keywords ) ,
c = r . keywords . $pattern ,
delete r . keywords . $pattern ) , c = c || /\w+/ , r . keywords && ( r . keywords = $ ( r . keywords , e . case _insensitive ) ) ,
a . keywordPatternRe = t ( c , ! 0 ) ,
o && ( r . begin || ( r . begin = /\B|\b/ ) , a . beginRe = t ( a . begin ) , r . end || r . endsWithParent || ( r . end = /\B|\b/ ) ,
r . end && ( a . endRe = t ( a . end ) ) ,
a . terminatorEnd = g ( a . end ) || "" , r . endsWithParent && o . terminatorEnd && ( a . terminatorEnd += ( r . end ? "|" : "" ) + o . terminatorEnd ) ) ,
r . illegal && ( a . illegalRe = t ( r . illegal ) ) ,
r . contains || ( r . contains = [ ] ) , r . contains = [ ] . concat ( ... r . contains . map ( ( e => ( e => ( e . variants && ! e . cachedVariants && ( e . cachedVariants = e . variants . map ( ( t => s ( e , {
variants : null } , t ) ) ) ) , e . cachedVariants ? e . cachedVariants : q ( e ) ? s ( e , {
starts : e . starts ? s ( e . starts ) : null
} ) : Object . isFrozen ( e ) ? s ( e ) : e ) ) ( "self" === e ? r : e ) ) ) ) , r . contains . forEach ( ( e => { n ( e , a )
} ) ) , r . starts && n ( r . starts , o ) , a . matcher = ( e => { const t = new i
; return e . contains . forEach ( ( e => t . addRule ( e . begin , { rule : e , type : "begin"
} ) ) ) , e . terminatorEnd && t . addRule ( e . terminatorEnd , { type : "end"
} ) , e . illegal && t . addRule ( e . illegal , { type : "illegal" } ) , t } ) ( a ) , a } ( e ) } function q ( e ) {
return ! ! e && ( e . endsWithParent || q ( e . starts ) ) } class J extends Error {
constructor ( e , t ) { super ( e ) , this . name = "HTMLInjectionError" , this . html = t } }
const Y = r , Q = s , ee = Symbol ( "nomatch" ) ; var te = ( e => {
const t = Object . create ( null ) , r = Object . create ( null ) , s = [ ] ; let o = ! 0
; const a = "Could not find the language '{}', did you forget to load/include a language module?" , c = {
disableAutodetect : ! 0 , name : "Plain text" , contains : [ ] } ; let g = {
ignoreUnescapedHTML : ! 1 , throwUnescapedHTML : ! 1 , noHighlightRe : /^(no-?highlight)$/i ,
languageDetectRe : /\blang(?:uage)?-([\w-]+)\b/i , classPrefix : "hljs-" ,
cssSelector : "pre code" , languages : null , _ _emitter : l } ; function b ( e ) {
return g . noHighlightRe . test ( e ) } function m ( e , t , n ) { let i = "" , r = ""
; "object" == typeof t ? ( i = e ,
n = t . ignoreIllegals , r = t . language ) : ( X ( "10.7.0" , "highlight(lang, code, ...args) has been deprecated." ) ,
X ( "10.7.0" , "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277" ) ,
r = e , i = t ) , void 0 === n && ( n = ! 0 ) ; const s = { code : i , language : r } ; N ( "before:highlight" , s )
; const o = s . result ? s . result : E ( s . language , s . code , n )
; return o . code = s . code , N ( "after:highlight" , o ) , o } function E ( e , n , r , s ) {
const c = Object . create ( null ) ; function l ( ) { if ( ! O . keywords ) return void M . addText ( S )
; let e = 0 ; O . keywordPatternRe . lastIndex = 0 ; let t = O . keywordPatternRe . exec ( S ) , n = ""
; for ( ; t ; ) { n += S . substring ( e , t . index )
; const r = y . case _insensitive ? t [ 0 ] . toLowerCase ( ) : t [ 0 ] , s = ( i = r , O . keywords [ i ] ) ; if ( s ) {
const [ e , i ] = s
; if ( M . addText ( n ) , n = "" , c [ r ] = ( c [ r ] || 0 ) + 1 , c [ r ] <= 7 && ( R += i ) , e . startsWith ( "_" ) ) n += t [ 0 ] ; else {
const n = y . classNameAliases [ e ] || e ; M . addKeyword ( t [ 0 ] , n ) } } else n += t [ 0 ]
; e = O . keywordPatternRe . lastIndex , t = O . keywordPatternRe . exec ( S ) } var i
; n += S . substr ( e ) , M . addText ( n ) } function d ( ) { null != O . subLanguage ? ( ( ) => {
if ( "" === S ) return ; let e = null ; if ( "string" == typeof O . subLanguage ) {
if ( ! t [ O . subLanguage ] ) return void M . addText ( S )
; e = E ( O . subLanguage , S , ! 0 , N [ O . subLanguage ] ) , N [ O . subLanguage ] = e . _top
} else e = x ( S , O . subLanguage . length ? O . subLanguage : null )
; O . relevance > 0 && ( R += e . relevance ) , M . addSublanguage ( e . _emitter , e . language )
} ) ( ) : l ( ) , S = "" } function u ( e , t ) { let n = 1 ; const i = t . length - 1 ; for ( ; n <= i ; ) {
if ( ! e . _emit [ n ] ) { n ++ ; continue } const i = y . classNameAliases [ e [ n ] ] || e [ n ] , r = t [ n ]
; i ? M . addKeyword ( r , i ) : ( S = r , l ( ) , S = "" ) , n ++ } } function h ( e , t ) {
return e . scope && "string" == typeof e . scope && M . openNode ( y . classNameAliases [ e . scope ] || e . scope ) ,
e . beginScope && ( e . beginScope . _wrap ? ( M . addKeyword ( S , y . classNameAliases [ e . beginScope . _wrap ] || e . beginScope . _wrap ) ,
S = "" ) : e . beginScope . _multi && ( u ( e . beginScope , t ) , S = "" ) ) , O = Object . create ( e , { parent : {
value : O } } ) , O } function f ( e , t , n ) { let r = ( ( e , t ) => { const n = e && e . exec ( t )
; return n && 0 === n . index } ) ( e . endRe , n ) ; if ( r ) { if ( e [ "on:end" ] ) { const n = new i ( e )
; e [ "on:end" ] ( t , n ) , n . isMatchIgnored && ( r = ! 1 ) } if ( r ) {
for ( ; e . endsParent && e . parent ; ) e = e . parent ; return e } }
if ( e . endsWithParent ) return f ( e . parent , t , n ) } function p ( e ) {
return 0 === O . matcher . regexIndex ? ( S += e [ 0 ] , 1 ) : ( I = ! 0 , 0 ) } function b ( e ) {
const t = e [ 0 ] , i = n . substr ( e . index ) , r = f ( O , e , i ) ; if ( ! r ) return ee ; const s = O
; O . endScope && O . endScope . _wrap ? ( d ( ) ,
M . addKeyword ( t , O . endScope . _wrap ) ) : O . endScope && O . endScope . _multi ? ( d ( ) ,
u ( O . endScope , e ) ) : s . skip ? S += t : ( s . returnEnd || s . excludeEnd || ( S += t ) ,
d ( ) , s . excludeEnd && ( S = t ) ) ; do {
O . scope && M . closeNode ( ) , O . skip || O . subLanguage || ( R += O . relevance ) , O = O . parent
} while ( O !== r . parent ) ; return r . starts && h ( r . starts , e ) , s . returnEnd ? 0 : t . length }
let m = { } ; function w ( t , s ) { const a = s && s [ 0 ] ; if ( S += t , null == a ) return d ( ) , 0
; if ( "begin" === m . type && "end" === s . type && m . index === s . index && "" === a ) {
if ( S += n . slice ( s . index , s . index + 1 ) , ! o ) { const t = Error ( ` 0 width match regex ( ${ e } ) ` )
; throw t . languageName = e , t . badRule = m . rule , t } return 1 }
if ( m = s , "begin" === s . type ) return ( e => {
const t = e [ 0 ] , n = e . rule , r = new i ( n ) , s = [ n . _ _beforeBegin , n [ "on:begin" ] ]
; for ( const n of s ) if ( n && ( n ( e , r ) , r . isMatchIgnored ) ) return p ( t )
; return n . skip ? S += t : ( n . excludeBegin && ( S += t ) ,
d ( ) , n . returnBegin || n . excludeBegin || ( S = t ) ) , h ( n , e ) , n . returnBegin ? 0 : t . length } ) ( s )
; if ( "illegal" === s . type && ! r ) {
const e = Error ( 'Illegal lexeme "' + a + '" for mode "' + ( O . scope || "<unnamed>" ) + '"' )
; throw e . mode = O , e } if ( "end" === s . type ) { const e = b ( s ) ; if ( e !== ee ) return e }
if ( "illegal" === s . type && "" === a ) return 1
; if ( A > 1e5 && A > 3 * s . index ) throw Error ( "potential infinite loop, way more iterations than matches" )
; return S += a , a . length } const y = k ( e )
; if ( ! y ) throw K ( a . replace ( "{}" , e ) ) , Error ( 'Unknown language: "' + e + '"' )
; const _ = V ( y ) ; let v = "" , O = s || _ ; const N = { } , M = new g . _ _emitter ( g ) ; ( ( ) => { const e = [ ]
; for ( let t = O ; t !== y ; t = t . parent ) t . scope && e . unshift ( t . scope )
; e . forEach ( ( e => M . openNode ( e ) ) ) } ) ( ) ; let S = "" , R = 0 , j = 0 , A = 0 , I = ! 1 ; try {
for ( O . matcher . considerAll ( ) ; ; ) {
A ++ , I ? I = ! 1 : O . matcher . considerAll ( ) , O . matcher . lastIndex = j
; const e = O . matcher . exec ( n ) ; if ( ! e ) break ; const t = w ( n . substring ( j , e . index ) , e )
; j = e . index + t } return w ( n . substr ( j ) ) , M . closeAllNodes ( ) , M . finalize ( ) , v = M . toHTML ( ) , {
language : e , value : v , relevance : R , illegal : ! 1 , _emitter : M , _top : O } } catch ( t ) {
if ( t . message && t . message . includes ( "Illegal" ) ) return { language : e , value : Y ( n ) ,
illegal : ! 0 , relevance : 0 , _illegalBy : { message : t . message , index : j ,
context : n . slice ( j - 100 , j + 100 ) , mode : t . mode , resultSoFar : v } , _emitter : M } ; if ( o ) return {
language : e , value : Y ( n ) , illegal : ! 1 , relevance : 0 , errorRaised : t , _emitter : M , _top : O }
; throw t } } function x ( e , n ) { n = n || g . languages || Object . keys ( t ) ; const i = ( e => {
const t = { value : Y ( e ) , illegal : ! 1 , relevance : 0 , _top : c , _emitter : new g . _ _emitter ( g ) }
; return t . _emitter . addText ( e ) , t } ) ( e ) , r = n . filter ( k ) . filter ( O ) . map ( ( t => E ( t , e , ! 1 ) ) )
; r . unshift ( i ) ; const s = r . sort ( ( ( e , t ) => {
if ( e . relevance !== t . relevance ) return t . relevance - e . relevance
; if ( e . language && t . language ) { if ( k ( e . language ) . supersetOf === t . language ) return 1
; if ( k ( t . language ) . supersetOf === e . language ) return - 1 } return 0 } ) ) , [ o , a ] = s , l = o
; return l . secondBest = a , l } function w ( e ) { let t = null ; const n = ( e => {
let t = e . className + " " ; t += e . parentNode ? e . parentNode . className : ""
; const n = g . languageDetectRe . exec ( t ) ; if ( n ) { const t = k ( n [ 1 ] )
; return t || ( W ( a . replace ( "{}" , n [ 1 ] ) ) ,
W ( "Falling back to no-highlight mode for this block." , e ) ) , t ? n [ 1 ] : "no-highlight" }
return t . split ( /\s+/ ) . find ( ( e => b ( e ) || k ( e ) ) ) } ) ( e ) ; if ( b ( n ) ) return
; if ( N ( "before:highlightElement" , { el : e , language : n
} ) , e . children . length > 0 && ( g . ignoreUnescapedHTML || ( console . warn ( "One of your code blocks includes unescaped HTML. This is a potentially serious security risk." ) ,
console . warn ( "https://github.com/highlightjs/highlight.js/wiki/security" ) ,
console . warn ( "The element with unescaped HTML:" ) ,
console . warn ( e ) ) , g . throwUnescapedHTML ) ) throw new J ( "One of your code blocks includes unescaped HTML." , e . innerHTML )
; t = e ; const i = t . textContent , s = n ? m ( i , { language : n , ignoreIllegals : ! 0 } ) : x ( i )
; e . innerHTML = s . value , ( ( e , t , n ) => { const i = t && r [ t ] || n
; e . classList . add ( "hljs" ) , e . classList . add ( "language-" + i )
} ) ( e , n , s . language ) , e . result = { language : s . language , re : s . relevance ,
relevance : s . relevance } , s . secondBest && ( e . secondBest = {
language : s . secondBest . language , relevance : s . secondBest . relevance
} ) , N ( "after:highlightElement" , { el : e , result : s , text : i } ) } let y = ! 1 ; function _ ( ) {
"loading" !== document . readyState ? document . querySelectorAll ( g . cssSelector ) . forEach ( w ) : y = ! 0
} function k ( e ) { return e = ( e || "" ) . toLowerCase ( ) , t [ e ] || t [ r [ e ] ] }
function v ( e , { languageName : t } ) { "string" == typeof e && ( e = [ e ] ) , e . forEach ( ( e => {
r [ e . toLowerCase ( ) ] = t } ) ) } function O ( e ) { const t = k ( e )
; return t && ! t . disableAutodetect } function N ( e , t ) { const n = e ; s . forEach ( ( e => {
e [ n ] && e [ n ] ( t ) } ) ) }
"undefined" != typeof window && window . addEventListener && window . addEventListener ( "DOMContentLoaded" , ( ( ) => {
y && _ ( ) } ) , ! 1 ) , Object . assign ( e , { highlight : m , highlightAuto : x , highlightAll : _ ,
highlightElement : w ,
highlightBlock : e => ( X ( "10.7.0" , "highlightBlock will be removed entirely in v12.0" ) ,
X ( "10.7.0" , "Please use highlightElement now." ) , w ( e ) ) , configure : e => { g = Q ( g , e ) } ,
initHighlighting : ( ) => {
_ ( ) , X ( "10.6.0" , "initHighlighting() deprecated. Use highlightAll() now." ) } ,
initHighlightingOnLoad : ( ) => {
_ ( ) , X ( "10.6.0" , "initHighlightingOnLoad() deprecated. Use highlightAll() now." )
} , registerLanguage : ( n , i ) => { let r = null ; try { r = i ( e ) } catch ( e ) {
if ( K ( "Language definition for '{}' could not be registered." . replace ( "{}" , n ) ) ,
! o ) throw e ; K ( e ) , r = c }
r . name || ( r . name = n ) , t [ n ] = r , r . rawDefinition = i . bind ( null , e ) , r . aliases && v ( r . aliases , {
languageName : n } ) } , unregisterLanguage : e => { delete t [ e ]
; for ( const t of Object . keys ( r ) ) r [ t ] === e && delete r [ t ] } ,
listLanguages : ( ) => Object . keys ( t ) , getLanguage : k , registerAliases : v ,
autoDetection : O , inherit : Q , addPlugin : e => { ( e => {
e [ "before:highlightBlock" ] && ! e [ "before:highlightElement" ] && ( e [ "before:highlightElement" ] = t => {
e [ "before:highlightBlock" ] ( Object . assign ( { block : t . el } , t ) )
} ) , e [ "after:highlightBlock" ] && ! e [ "after:highlightElement" ] && ( e [ "after:highlightElement" ] = t => {
e [ "after:highlightBlock" ] ( Object . assign ( { block : t . el } , t ) ) } ) } ) ( e ) , s . push ( e ) }
} ) , e . debugMode = ( ) => { o = ! 1 } , e . safeMode = ( ) => { o = ! 0
} , e . versionString = "11.5.1" , e . regex = { concat : f , lookahead : d , either : p , optional : h ,
anyNumberOfTimes : u } ; for ( const e in A ) "object" == typeof A [ e ] && n ( A [ e ] )
; return Object . assign ( e , A ) , e } ) ( { } ) ; return te } ( )
; "object" == typeof exports && "undefined" != typeof module && ( module . exports = hljs ) ; /*! `bash` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => { const s = e . regex , t = { } , n = { begin : /\$\{/ ,
end : /\}/ , contains : [ "self" , { begin : /:-/ , contains : [ t ] } ] } ; Object . assign ( t , {
className : "variable" , variants : [ {
begin : s . concat ( /\$[\w\d#@][\w\d_]*/ , "(?![\\w\\d])(?![$])" ) } , n ] } ) ; const a = {
className : "subst" , begin : /\$\(/ , end : /\)/ , contains : [ e . BACKSLASH _ESCAPE ] } , i = {
begin : /<<-?\s*(?=\w+)/ , starts : { contains : [ e . END _SAME _AS _BEGIN ( { begin : /(\w+)/ ,
end : /(\w+)/ , className : "string" } ) ] } } , c = { className : "string" , begin : /"/ , end : /"/ ,
contains : [ e . BACKSLASH _ESCAPE , t , a ] } ; a . contains . push ( c ) ; const o = { begin : /\$\(\(/ ,
end : /\)\)/ , contains : [ { begin : /\d+#[0-9a-f]+/ , className : "number" } , e . NUMBER _MODE , t ]
} , r = e . SHEBANG ( { binary : "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)" , relevance : 10
} ) , l = { className : "function" , begin : /\w[\w\d_]*\s*\(\s*\)\s*\{/ , returnBegin : ! 0 ,
contains : [ e . inherit ( e . TITLE _MODE , { begin : /\w[\w\d_]*/ } ) ] , relevance : 0 } ; return {
name : "Bash" , aliases : [ "sh" ] , keywords : { $pattern : /\b[a-z][a-z0-9._-]+\b/ ,
keyword : [ "if" , "then" , "else" , "elif" , "fi" , "for" , "while" , "in" , "do" , "done" , "case" , "esac" , "function" ] ,
literal : [ "true" , "false" ] ,
built _in : [ "break" , "cd" , "continue" , "eval" , "exec" , "exit" , "export" , "getopts" , "hash" , "pwd" , "readonly" , "return" , "shift" , "test" , "times" , "trap" , "umask" , "unset" , "alias" , "bind" , "builtin" , "caller" , "command" , "declare" , "echo" , "enable" , "help" , "let" , "local" , "logout" , "mapfile" , "printf" , "read" , "readarray" , "source" , "type" , "typeset" , "ulimit" , "unalias" , "set" , "shopt" , "autoload" , "bg" , "bindkey" , "bye" , "cap" , "chdir" , "clone" , "comparguments" , "compcall" , "compctl" , "compdescribe" , "compfiles" , "compgroups" , "compquote" , "comptags" , "comptry" , "compvalues" , "dirs" , "disable" , "disown" , "echotc" , "echoti" , "emulate" , "fc" , "fg" , "float" , "functions" , "getcap" , "getln" , "history" , "integer" , "jobs" , "kill" , "limit" , "log" , "noglob" , "popd" , "print" , "pushd" , "pushln" , "rehash" , "sched" , "setcap" , "setopt" , "stat" , "suspend" , "ttyctl" , "unfunction" , "unhash" , "unlimit" , "unsetopt" , "vared" , "wait" , "whence" , "where" , "which" , "zcompile" , "zformat" , "zftp" , "zle" , "zmodload" , "zparseopts" , "zprof" , "zpty" , "zregexparse" , "zsocket" , "zstyle" , "ztcp" , "chcon" , "chgrp" , "chown" , "chmod" , "cp" , "dd" , "df" , "dir" , "dircolors" , "ln" , "ls" , "mkdir" , "mkfifo" , "mknod" , "mktemp" , "mv" , "realpath" , "rm" , "rmdir" , "shred" , "sync" , "touch" , "truncate" , "vdir" , "b2sum" , "base32" , "base64" , "cat" , "cksum" , "comm" , "csplit" , "cut" , "expand" , "fmt" , "fold" , "head" , "join" , "md5sum" , "nl" , "numfmt" , "od" , "paste" , "ptx" , "pr" , "sha1sum" , "sha224sum" , "sha256sum" , "sha384sum" , "sha512sum" , "shuf" , "sort" , "split" , "sum" , "tac" , "tail" , "tr" , "tsort" , "unexpand" , "uniq" , "wc" , "arch" , "basename" , "chroot" , "date" , "dirname" , "du" , "echo" , "env" , "expr" , "factor" , "groups" , "hostid" , "id" , "link" , "logname" , "nice" , "nohup" , "nproc" , "pathchk" , "pinky" , "printenv" , "printf" , "pwd" , "readlink" , "runcon" , "seq" , "sleep" , "stat" , "stdbuf" , "stty" , "tee" , "test" , "timeout" , "tty" , "uname" , "unlink" , "uptime" , "users" , "who" , "whoami" , "yes" ]
} , contains : [ r , e . SHEBANG ( ) , l , o , e . HASH _COMMENT _MODE , i , { match : /(\/[a-z._-]+)+/ } , c , {
className : "" , begin : /\\"/ } , { className : "string" , begin : /'/ , end : /'/ } , t ] } } } ) ( )
; hljs . registerLanguage ( "bash" , e ) } ) ( ) ; /*! `cpp` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => { const t = e . regex , a = e . COMMENT ( "//" , "$" , {
contains : [ { begin : /\\\n/ } ]
} ) , n = "[a-zA-Z_]\\w*::" , r = "(?!struct)(decltype\\(auto\\)|" + t . optional ( n ) + "[a-zA-Z_]\\w*" + t . optional ( "<[^<>]+>" ) + ")" , i = {
className : "type" , begin : "\\b[a-z\\d_]*_t\\b" } , s = { className : "string" , variants : [ {
begin : '(u8?|U|L)?"' , end : '"' , illegal : "\\n" , contains : [ e . BACKSLASH _ESCAPE ] } , {
begin : "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)" ,
end : "'" , illegal : "." } , e . END _SAME _AS _BEGIN ( {
begin : /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/ , end : /\)([^()\\ ]{0,16})"/ } ) ] } , c = {
className : "number" , variants : [ { begin : "\\b(0b[01']+)" } , {
begin : "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
} , {
begin : "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
} ] , relevance : 0 } , o = { className : "meta" , begin : /#\s*[a-z]+\b/ , end : /$/ , keywords : {
keyword : "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
} , contains : [ { begin : /\\\n/ , relevance : 0 } , e . inherit ( s , { className : "string" } ) , {
className : "string" , begin : /<.*?>/ } , a , e . C _BLOCK _COMMENT _MODE ] } , l = {
className : "title" , begin : t . optional ( n ) + e . IDENT _RE , relevance : 0
} , d = t . optional ( n ) + e . IDENT _RE + "\\s*\\(" , u = {
type : [ "bool" , "char" , "char16_t" , "char32_t" , "char8_t" , "double" , "float" , "int" , "long" , "short" , "void" , "wchar_t" , "unsigned" , "signed" , "const" , "static" ] ,
keyword : [ "alignas" , "alignof" , "and" , "and_eq" , "asm" , "atomic_cancel" , "atomic_commit" , "atomic_noexcept" , "auto" , "bitand" , "bitor" , "break" , "case" , "catch" , "class" , "co_await" , "co_return" , "co_yield" , "compl" , "concept" , "const_cast|10" , "consteval" , "constexpr" , "constinit" , "continue" , "decltype" , "default" , "delete" , "do" , "dynamic_cast|10" , "else" , "enum" , "explicit" , "export" , "extern" , "false" , "final" , "for" , "friend" , "goto" , "if" , "import" , "inline" , "module" , "mutable" , "namespace" , "new" , "noexcept" , "not" , "not_eq" , "nullptr" , "operator" , "or" , "or_eq" , "override" , "private" , "protected" , "public" , "reflexpr" , "register" , "reinterpret_cast|10" , "requires" , "return" , "sizeof" , "static_assert" , "static_cast|10" , "struct" , "switch" , "synchronized" , "template" , "this" , "thread_local" , "throw" , "transaction_safe" , "transaction_safe_dynamic" , "true" , "try" , "typedef" , "typeid" , "typename" , "union" , "using" , "virtual" , "volatile" , "while" , "xor" , "xor_eq" ] ,
literal : [ "NULL" , "false" , "nullopt" , "nullptr" , "true" ] , built _in : [ "_Pragma" ] ,
_type _hints : [ "any" , "auto_ptr" , "barrier" , "binary_semaphore" , "bitset" , "complex" , "condition_variable" , "condition_variable_any" , "counting_semaphore" , "deque" , "false_type" , "future" , "imaginary" , "initializer_list" , "istringstream" , "jthread" , "latch" , "lock_guard" , "multimap" , "multiset" , "mutex" , "optional" , "ostringstream" , "packaged_task" , "pair" , "promise" , "priority_queue" , "queue" , "recursive_mutex" , "recursive_timed_mutex" , "scoped_lock" , "set" , "shared_future" , "shared_lock" , "shared_mutex" , "shared_timed_mutex" , "shared_ptr" , "stack" , "string_view" , "stringstream" , "timed_mutex" , "thread" , "true_type" , "tuple" , "unique_lock" , "unique_ptr" , "unordered_map" , "unordered_multimap" , "unordered_multiset" , "unordered_set" , "variant" , "vector" , "weak_ptr" , "wstring" , "wstring_view" ]
} , p = { className : "function.dispatch" , relevance : 0 , keywords : {
_hint : [ "abort" , "abs" , "acos" , "apply" , "as_const" , "asin" , "atan" , "atan2" , "calloc" , "ceil" , "cerr" , "cin" , "clog" , "cos" , "cosh" , "cout" , "declval" , "endl" , "exchange" , "exit" , "exp" , "fabs" , "floor" , "fmod" , "forward" , "fprintf" , "fputs" , "free" , "frexp" , "fscanf" , "future" , "invoke" , "isalnum" , "isalpha" , "iscntrl" , "isdigit" , "isgraph" , "islower" , "isprint" , "ispunct" , "isspace" , "isupper" , "isxdigit" , "labs" , "launder" , "ldexp" , "log" , "log10" , "make_pair" , "make_shared" , "make_shared_for_overwrite" , "make_tuple" , "make_unique" , "malloc" , "memchr" , "memcmp" , "memcpy" , "memset" , "modf" , "move" , "pow" , "printf" , "putchar" , "puts" , "realloc" , "scanf" , "sin" , "sinh" , "snprintf" , "sprintf" , "sqrt" , "sscanf" , "std" , "stderr" , "stdin" , "stdout" , "strcat" , "strchr" , "strcmp" , "strcpy" , "strcspn" , "strlen" , "strncat" , "strncmp" , "strncpy" , "strpbrk" , "strrchr" , "strspn" , "strstr" , "swap" , "tan" , "tanh" , "terminate" , "to_underlying" , "tolower" , "toupper" , "vfprintf" , "visit" , "vprintf" , "vsprintf" ]
} ,
begin : t . concat ( /\b/ , /(?!decltype)/ , /(?!if)/ , /(?!for)/ , /(?!switch)/ , /(?!while)/ , e . IDENT _RE , t . lookahead ( /(<[^<>]+>|)\s*\(/ ) )
} , _ = [ p , o , i , a , e . C _BLOCK _COMMENT _MODE , c , s ] , m = { variants : [ { begin : /=/ , end : /;/ } , {
begin : /\(/ , end : /\)/ } , { beginKeywords : "new throw return else" , end : /;/ } ] ,
keywords : u , contains : _ . concat ( [ { begin : /\(/ , end : /\)/ , keywords : u ,
contains : _ . concat ( [ "self" ] ) , relevance : 0 } ] ) , relevance : 0 } , g = { className : "function" ,
begin : "(" + r + "[\\*&\\s]+)+" + d , returnBegin : ! 0 , end : /[{;=]/ , excludeEnd : ! 0 ,
keywords : u , illegal : /[^\w\s\*&:<>.]/ , contains : [ { begin : "decltype\\(auto\\)" ,
keywords : u , relevance : 0 } , { begin : d , returnBegin : ! 0 , contains : [ l ] , relevance : 0 } , {
begin : /::/ , relevance : 0 } , { begin : /:/ , endsWithParent : ! 0 , contains : [ s , c ] } , {
relevance : 0 , match : /,/ } , { className : "params" , begin : /\(/ , end : /\)/ , keywords : u ,
relevance : 0 , contains : [ a , e . C _BLOCK _COMMENT _MODE , s , c , i , { begin : /\(/ , end : /\)/ ,
keywords : u , relevance : 0 , contains : [ "self" , a , e . C _BLOCK _COMMENT _MODE , s , c , i ] } ]
} , i , a , e . C _BLOCK _COMMENT _MODE , o ] } ; return { name : "C++" ,
aliases : [ "cc" , "c++" , "h++" , "hpp" , "hh" , "hxx" , "cxx" ] , keywords : u , illegal : "</" ,
classNameAliases : { "function.dispatch" : "built_in" } ,
contains : [ ] . concat ( m , g , p , _ , [ o , {
begin : "\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)" ,
end : ">" , keywords : u , contains : [ "self" , i ] } , { begin : e . IDENT _RE + "::" , keywords : u } , {
match : [ /\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/ , /\s+/ , /\w+/ ] ,
className : { 1 : "keyword" , 3 : "title.class" } } ] ) } } } ) ( ) ; hljs . registerLanguage ( "cpp" , e )
} ) ( ) ; /*! `ruby` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const n = e . regex , a = "([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)" , s = n . either ( /\b([A-Z]+[a-z0-9]+)+/ , /\b([A-Z]+[a-z0-9]+)+[A-Z]+/ ) , i = n . concat ( s , /(::\w+)*/ ) , r = {
"variable.constant" : [ "__FILE__" , "__LINE__" ] ,
"variable.language" : [ "self" , "super" ] ,
keyword : [ "alias" , "and" , "attr_accessor" , "attr_reader" , "attr_writer" , "begin" , "BEGIN" , "break" , "case" , "class" , "defined" , "do" , "else" , "elsif" , "end" , "END" , "ensure" , "for" , "if" , "in" , "include" , "module" , "next" , "not" , "or" , "redo" , "require" , "rescue" , "retry" , "return" , "then" , "undef" , "unless" , "until" , "when" , "while" , "yield" ] ,
built _in : [ "proc" , "lambda" ] , literal : [ "true" , "false" , "nil" ] } , c = {
className : "doctag" , begin : "@[A-Za-z]+" } , t = { begin : "#<" , end : ">"
} , b = [ e . COMMENT ( "#" , "$" , { contains : [ c ] } ) , e . COMMENT ( "^=begin" , "^=end" , {
contains : [ c ] , relevance : 10 } ) , e . COMMENT ( "^__END__" , e . MATCH _NOTHING _RE ) ] , l = {
className : "subst" , begin : /#\{/ , end : /\}/ , keywords : r } , d = { className : "string" ,
contains : [ e . BACKSLASH _ESCAPE , l ] , variants : [ { begin : /'/ , end : /'/ } , { begin : /"/ , end : /"/
} , { begin : /`/ , end : /`/ } , { begin : /%[qQwWx]?\(/ , end : /\)/ } , { begin : /%[qQwWx]?\[/ ,
end : /\]/ } , { begin : /%[qQwWx]?\{/ , end : /\}/ } , { begin : /%[qQwWx]?</ , end : />/ } , {
begin : /%[qQwWx]?\// , end : /\// } , { begin : /%[qQwWx]?%/ , end : /%/ } , { begin : /%[qQwWx]?-/ ,
end : /-/ } , { begin : /%[qQwWx]?\|/ , end : /\|/ } , { begin : /\B\?(\\\d{1,3})/ } , {
begin : /\B\?(\\x[A-Fa-f0-9]{1,2})/ } , { begin : /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/ } , {
begin : /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/ } , {
begin : /\B\?\\(c|C-)[\x20-\x7e]/ } , { begin : /\B\?\\?\S/ } , {
begin : n . concat ( /<<[-~]?'?/ , n . lookahead ( /(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/ ) ) ,
contains : [ e . END _SAME _AS _BEGIN ( { begin : /(\w+)/ , end : /(\w+)/ ,
contains : [ e . BACKSLASH _ESCAPE , l ] } ) ] } ] } , g = "[0-9](_?[0-9])*" , o = { className : "number" ,
relevance : 0 , variants : [ {
begin : ` \\ b([1-9](_?[0-9])*|0)( \\ .( ${ g } ))?([eE][+-]?( ${ g } )|r)?i? \\ b ` } , {
begin : "\\b0[dD][0-9](_?[0-9])*r?i?\\b" } , { begin : "\\b0[bB][0-1](_?[0-1])*r?i?\\b"
} , { begin : "\\b0[oO][0-7](_?[0-7])*r?i?\\b" } , {
begin : "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b" } , {
begin : "\\b0(_?[0-7])+r?i?\\b" } ] } , _ = { variants : [ { match : /\(\)/ } , {
className : "params" , begin : /\(/ , end : /(?=\))/ , excludeBegin : ! 0 , endsParent : ! 0 ,
keywords : r } ] } , u = [ d , { variants : [ { match : [ /class\s+/ , i , /\s+<\s+/ , i ] } , {
match : [ /class\s+/ , i ] } ] , scope : { 2 : "title.class" , 4 : "title.class.inherited" } ,
keywords : r } , { relevance : 0 , match : [ i , /\.new[ (]/ ] , scope : { 1 : "title.class" } } , {
relevance : 0 , match : /\b[A-Z][A-Z_0-9]+\b/ , className : "variable.constant" } , {
match : [ /def/ , /\s+/ , a ] , scope : { 1 : "keyword" , 3 : "title.function" } , contains : [ _ ] } , {
begin : e . IDENT _RE + "::" } , { className : "symbol" ,
begin : e . UNDERSCORE _IDENT _RE + "(!|\\?)?:" , relevance : 0 } , { className : "symbol" ,
begin : ":(?!\\s)" , contains : [ d , { begin : a } ] , relevance : 0 } , o , { className : "variable" ,
begin : "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])" } , {
className : "params" , begin : /\|/ , end : /\|/ , excludeBegin : ! 0 , excludeEnd : ! 0 ,
relevance : 0 , keywords : r } , { begin : "(" + e . RE _STARTERS _RE + "|unless)\\s*" ,
keywords : "unless" , contains : [ { className : "regexp" , contains : [ e . BACKSLASH _ESCAPE , l ] ,
illegal : /\n/ , variants : [ { begin : "/" , end : "/[a-z]*" } , { begin : /%r\{/ , end : /\}[a-z]*/ } , {
begin : "%r\\(" , end : "\\)[a-z]*" } , { begin : "%r!" , end : "![a-z]*" } , { begin : "%r\\[" ,
end : "\\][a-z]*" } ] } ] . concat ( t , b ) , relevance : 0 } ] . concat ( t , b )
; l . contains = u , _ . contains = u ; const w = [ { begin : /^\s*=>/ , starts : { end : "$" , contains : u }
} , { className : "meta.prompt" ,
begin : "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])" ,
starts : { end : "$" , keywords : r , contains : u } } ] ; return b . unshift ( t ) , { name : "Ruby" ,
aliases : [ "rb" , "gemspec" , "podspec" , "thor" , "irb" ] , keywords : r , illegal : /\/\*/ ,
contains : [ e . SHEBANG ( { binary : "ruby" } ) ] . concat ( w ) . concat ( b ) . concat ( u ) } } } ) ( )
; hljs . registerLanguage ( "ruby" , e ) } ) ( ) ; /*! `yaml` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const n = "true false yes no null" , a = "[\\w#;/?:@&=+$,.~*'()[\\]]+" , s = {
className : "string" , relevance : 0 , variants : [ { begin : /'/ , end : /'/ } , { begin : /"/ , end : /"/
} , { begin : /\S+/ } ] , contains : [ e . BACKSLASH _ESCAPE , { className : "template-variable" ,
variants : [ { begin : /\{\{/ , end : /\}\}/ } , { begin : /%\{/ , end : /\}/ } ] } ] } , i = e . inherit ( s , {
variants : [ { begin : /'/ , end : /'/ } , { begin : /"/ , end : /"/ } , { begin : /[^\s,{}[\]]+/ } ] } ) , l = {
end : "," , endsWithParent : ! 0 , excludeEnd : ! 0 , keywords : n , relevance : 0 } , t = { begin : /\{/ ,
end : /\}/ , contains : [ l ] , illegal : "\\n" , relevance : 0 } , g = { begin : "\\[" , end : "\\]" ,
contains : [ l ] , illegal : "\\n" , relevance : 0 } , b = [ { className : "attr" , variants : [ {
begin : "\\w[\\w :\\/.-]*:(?=[ \t]|$)" } , { begin : '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' } , {
begin : "'\\w[\\w :\\/.-]*':(?=[ \t]|$)" } ] } , { className : "meta" , begin : "^---\\s*$" ,
relevance : 10 } , { className : "string" ,
begin : "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*" } , {
begin : "<%[%=-]?" , end : "[%-]?%>" , subLanguage : "ruby" , excludeBegin : ! 0 , excludeEnd : ! 0 ,
relevance : 0 } , { className : "type" , begin : "!\\w+!" + a } , { className : "type" ,
begin : "!<" + a + ">" } , { className : "type" , begin : "!" + a } , { className : "type" , begin : "!!" + a
} , { className : "meta" , begin : "&" + e . UNDERSCORE _IDENT _RE + "$" } , { className : "meta" ,
begin : "\\*" + e . UNDERSCORE _IDENT _RE + "$" } , { className : "bullet" , begin : "-(?=[ ]|$)" ,
relevance : 0 } , e . HASH _COMMENT _MODE , { beginKeywords : n , keywords : { literal : n } } , {
className : "number" ,
begin : "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"
} , { className : "number" , begin : e . C _NUMBER _RE + "\\b" , relevance : 0 } , t , g , s ] , r = [ ... b ]
; return r . pop ( ) , r . push ( i ) , l . contains = r , { name : "YAML" , case _insensitive : ! 0 ,
aliases : [ "yml" ] , contains : b } } } ) ( ) ; hljs . registerLanguage ( "yaml" , e ) } ) ( ) ; /*! `css` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict"
; const e = [ "a" , "abbr" , "address" , "article" , "aside" , "audio" , "b" , "blockquote" , "body" , "button" , "canvas" , "caption" , "cite" , "code" , "dd" , "del" , "details" , "dfn" , "div" , "dl" , "dt" , "em" , "fieldset" , "figcaption" , "figure" , "footer" , "form" , "h1" , "h2" , "h3" , "h4" , "h5" , "h6" , "header" , "hgroup" , "html" , "i" , "iframe" , "img" , "input" , "ins" , "kbd" , "label" , "legend" , "li" , "main" , "mark" , "menu" , "nav" , "object" , "ol" , "p" , "q" , "quote" , "samp" , "section" , "span" , "strong" , "summary" , "sup" , "table" , "tbody" , "td" , "textarea" , "tfoot" , "th" , "thead" , "time" , "tr" , "ul" , "var" , "video" ] , i = [ "any-hover" , "any-pointer" , "aspect-ratio" , "color" , "color-gamut" , "color-index" , "device-aspect-ratio" , "device-height" , "device-width" , "display-mode" , "forced-colors" , "grid" , "height" , "hover" , "inverted-colors" , "monochrome" , "orientation" , "overflow-block" , "overflow-inline" , "pointer" , "prefers-color-scheme" , "prefers-contrast" , "prefers-reduced-motion" , "prefers-reduced-transparency" , "resolution" , "scan" , "scripting" , "update" , "width" , "min-width" , "max-width" , "min-height" , "max-height" ] , r = [ "active" , "any-link" , "blank" , "checked" , "current" , "default" , "defined" , "dir" , "disabled" , "drop" , "empty" , "enabled" , "first" , "first-child" , "first-of-type" , "fullscreen" , "future" , "focus" , "focus-visible" , "focus-within" , "has" , "host" , "host-context" , "hover" , "indeterminate" , "in-range" , "invalid" , "is" , "lang" , "last-child" , "last-of-type" , "left" , "link" , "local-link" , "not" , "nth-child" , "nth-col" , "nth-last-child" , "nth-last-col" , "nth-last-of-type" , "nth-of-type" , "only-child" , "only-of-type" , "optional" , "out-of-range" , "past" , "placeholder-shown" , "read-only" , "read-write" , "required" , "right" , "root" , "scope" , "target" , "target-within" , "user-invalid" , "valid" , "visited" , "where" ] , t = [ "after" , "backdrop" , "before" , "cue" , "cue-region" , "first-letter" , "first-line" , "grammar-error" , "marker" , "part" , "placeholder" , "selection" , "slotted" , "spelling-error" ] , o = [ "align-content" , "align-items" , "align-self" , "all" , "animation" , "animation-delay" , "animation-direction" , "animation-duration" , "animation-fill-mode" , "animation-iteration-count" , "animation-name" , "animation-play-state" , "animation-timing-function" , "backface-visibility" , "background" , "background-attachment" , "background-blend-mode" , "background-clip" , "background-color" , "background-image" , "background-origin" , "background-position" , "background-repeat" , "background-size" , "block-size" , "border" , "border-block" , "border-block-color" , "border-block-end" , "border-block-end-color" , "border-block-end-style" , "border-block-end-width" , "border-block-start" , "border-block-start-color" , "border-block-start-style" , "border-block-start-width" , "border-block-style" , "border-block-width" , "border-bottom" , "border-bottom-color" , "border-bottom-left-radius" , "border-bottom-right-radius" , "border-bottom-style" , "border-bottom-width" , "border-collapse" , "border-color" , "border-image" , "border-image-outset" , "border-image-repeat" , "border-image-slice" , "border-image-source" , "border-image-width" , "border-inline" , "border-inline-color" , "border-inline-end" , "border-inline-end-color" , "border-inline-end-style" , "border-inline-end-width" , "border-inline-start" , "border-inline-start-color" , "border-inline-start-style" , "border-inline-start-width" , "border-inline-style" , "border-inline-width" , "border-left" , "border-left-color" , "border-left-style" , "border-left-width" , "border-radius" , "border-right" , "border-right-color" , "border-right-style" , "border-right-width" , "border-spacing" , "border-style" , "border-top" , "border-top-color" , "border-top-left-radius" , "border-top-right-radius" , "border-top-style" , "border-top-width" , "border-width" , "bottom" , "box-decoration-break" , "box-shadow" , "box-sizing" , "break-after" , "break-before" , "break-inside" , "caption-side" , "caret-color" , "clear" , "clip" , "clip-path" , "clip-rule" , "color" , "column-count" , "column-fill" , "column-gap" , "column-rule" , "column-rule-color" , "column-rule-style" , "column-rule-width" , "column-span" , "column-width" , "columns" , "contain" , "content" , "content-visibility" , "counter-increment" , "counter-reset" , "cue" , "cue-after" , "cue-before" , "cursor" , "direction" , "display" , "empty-cells" , "filter" , "flex" , "flex-basis" , "flex-direction" , "flex-flow" , "flex-grow" , "flex-shrink" , "flex-wrap" , "float" , "flow" , " fon
; return n => { const a = n . regex , l = ( e => ( { IMPORTANT : { scope : "meta" , begin : "!important" } ,
BLOCK _COMMENT : e . C _BLOCK _COMMENT _MODE , HEXCOLOR : { scope : "number" ,
begin : /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/ } , FUNCTION _DISPATCH : {
className : "built_in" , begin : /[\w-]+(?=\()/ } , ATTRIBUTE _SELECTOR _MODE : {
scope : "selector-attr" , begin : /\[/ , end : /\]/ , illegal : "$" ,
contains : [ e . APOS _STRING _MODE , e . QUOTE _STRING _MODE ] } , CSS _NUMBER _MODE : {
scope : "number" ,
begin : e . NUMBER _RE + "(%|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 } , CSS _VARIABLE : { className : "attr" , begin : /--[A-Za-z][A-Za-z0-9_-]*/ }
} ) ) ( n ) , s = [ n . APOS _STRING _MODE , n . QUOTE _STRING _MODE ] ; return { name : "CSS" ,
case _insensitive : ! 0 , illegal : /[=|'\$]/ , keywords : { keyframePosition : "from to" } ,
classNameAliases : { keyframePosition : "selector-tag" } , contains : [ l . BLOCK _COMMENT , {
begin : /-(webkit|moz|ms|o)-(?=[a-z])/ } , l . CSS _NUMBER _MODE , {
className : "selector-id" , begin : /#[A-Za-z0-9_-]+/ , relevance : 0 } , {
className : "selector-class" , begin : "\\.[a-zA-Z-][a-zA-Z0-9_-]*" , relevance : 0
} , l . ATTRIBUTE _SELECTOR _MODE , { className : "selector-pseudo" , variants : [ {
begin : ":(" + r . join ( "|" ) + ")" } , { begin : ":(:)?(" + t . join ( "|" ) + ")" } ] } , l . CSS _VARIABLE , {
className : "attribute" , begin : "\\b(" + o . join ( "|" ) + ")\\b" } , { begin : /:/ , end : /[;}{]/ ,
contains : [ l . BLOCK _COMMENT , l . HEXCOLOR , l . IMPORTANT , l . CSS _NUMBER _MODE , ... s , {
begin : /(url|data-uri)\(/ , end : /\)/ , relevance : 0 , keywords : { built _in : "url data-uri"
} , contains : [ { className : "string" , begin : /[^)]/ , endsWithParent : ! 0 , excludeEnd : ! 0 } ]
} , l . FUNCTION _DISPATCH ] } , { begin : a . lookahead ( /@/ ) , end : "[{;]" , relevance : 0 ,
illegal : /:/ , contains : [ { className : "keyword" , begin : /@-?\w[\w]*(-\w+)*/ } , {
begin : /\s/ , endsWithParent : ! 0 , excludeEnd : ! 0 , relevance : 0 , keywords : {
$pattern : /[a-z-]+/ , keyword : "and or not only" , attribute : i . join ( " " ) } , contains : [ {
begin : /[a-z-]+(?=:)/ , className : "attribute" } , ... s , l . CSS _NUMBER _MODE ] } ] } , {
className : "selector-tag" , begin : "\\b(" + e . join ( "|" ) + ")\\b" } ] } } } ) ( )
; hljs . registerLanguage ( "css" , e ) } ) ( ) ; /*! `r` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const a = e . regex , n = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/ , i = a . either ( /0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/ , /0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/ , /(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/ ) , s = /[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/ , t = a . either ( /[()]/ , /[{}]/ , /\[\[/ , /[[\]]/ , /\\/ , /,/ )
; return { name : "R" , keywords : { $pattern : n ,
keyword : "function if in break next repeat else for while" ,
literal : "NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10" ,
built _in : "LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"
} , contains : [ e . COMMENT ( /#'/ , /$/ , { contains : [ { scope : "doctag" , match : /@examples/ ,
starts : { end : a . lookahead ( a . either ( /\n^#'\s*(?=@[a-zA-Z]+)/ , /\n^(?!#')/ ) ) ,
endsParent : ! 0 } } , { scope : "doctag" , begin : "@param" , end : /$/ , contains : [ {
scope : "variable" , variants : [ { match : n } , { match : /`(?:\\.|[^`\\])+`/ } ] , endsParent : ! 0
} ] } , { scope : "doctag" , match : /@[a-zA-Z]+/ } , { scope : "keyword" , match : /\\[a-zA-Z]+/ } ]
} ) , e . HASH _COMMENT _MODE , { scope : "string" , contains : [ e . BACKSLASH _ESCAPE ] ,
variants : [ e . END _SAME _AS _BEGIN ( { begin : /[rR]"(-*)\(/ , end : /\)(-*)"/
} ) , e . END _SAME _AS _BEGIN ( { begin : /[rR]"(-*)\{/ , end : /\}(-*)"/
} ) , e . END _SAME _AS _BEGIN ( { begin : /[rR]"(-*)\[/ , end : /\](-*)"/
} ) , e . END _SAME _AS _BEGIN ( { begin : /[rR]'(-*)\(/ , end : /\)(-*)'/
} ) , e . END _SAME _AS _BEGIN ( { begin : /[rR]'(-*)\{/ , end : /\}(-*)'/
} ) , e . END _SAME _AS _BEGIN ( { begin : /[rR]'(-*)\[/ , end : /\](-*)'/ } ) , { begin : '"' , end : '"' ,
relevance : 0 } , { begin : "'" , end : "'" , relevance : 0 } ] } , { relevance : 0 , variants : [ { scope : {
1 : "operator" , 2 : "number" } , match : [ s , i ] } , { scope : { 1 : "operator" , 2 : "number" } ,
match : [ /%[^%]*%/ , i ] } , { scope : { 1 : "punctuation" , 2 : "number" } , match : [ t , i ] } , { scope : {
2 : "number" } , match : [ /[^a-zA-Z0-9._]|^/ , i ] } ] } , { scope : { 3 : "operator" } ,
match : [ n , /\s+/ , /<-/ , /\s+/ ] } , { scope : "operator" , relevance : 0 , variants : [ { match : s } , {
match : /%[^%]*%/ } ] } , { scope : "punctuation" , relevance : 0 , match : t } , { begin : "`" , end : "`" ,
contains : [ { begin : /\\./ } ] } ] } } } ) ( ) ; hljs . registerLanguage ( "r" , e ) } ) ( ) ; /*! `julia` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const r = "[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*" , t = { $pattern : r ,
keyword : [ "baremodule" , "begin" , "break" , "catch" , "ccall" , "const" , "continue" , "do" , "else" , "elseif" , "end" , "export" , "false" , "finally" , "for" , "function" , "global" , "if" , "import" , "in" , "isa" , "let" , "local" , "macro" , "module" , "quote" , "return" , "true" , "try" , "using" , "where" , "while" ] ,
literal : [ "ARGS" , "C_NULL" , "DEPOT_PATH" , "ENDIAN_BOM" , "ENV" , "Inf" , "Inf16" , "Inf32" , "Inf64" , "InsertionSort" , "LOAD_PATH" , "MergeSort" , "NaN" , "NaN16" , "NaN32" , "NaN64" , "PROGRAM_FILE" , "QuickSort" , "RoundDown" , "RoundFromZero" , "RoundNearest" , "RoundNearestTiesAway" , "RoundNearestTiesUp" , "RoundToZero" , "RoundUp" , "VERSION|0" , "devnull" , "false" , "im" , "missing" , "nothing" , "pi" , "stderr" , "stdin" , "stdout" , "true" , "undef" , "\u03c0" , "\u212f" ] ,
built _in : [ "AbstractArray" , "AbstractChannel" , "AbstractChar" , "AbstractDict" , "AbstractDisplay" , "AbstractFloat" , "AbstractIrrational" , "AbstractMatrix" , "AbstractRange" , "AbstractSet" , "AbstractString" , "AbstractUnitRange" , "AbstractVecOrMat" , "AbstractVector" , "Any" , "ArgumentError" , "Array" , "AssertionError" , "BigFloat" , "BigInt" , "BitArray" , "BitMatrix" , "BitSet" , "BitVector" , "Bool" , "BoundsError" , "CapturedException" , "CartesianIndex" , "CartesianIndices" , "Cchar" , "Cdouble" , "Cfloat" , "Channel" , "Char" , "Cint" , "Cintmax_t" , "Clong" , "Clonglong" , "Cmd" , "Colon" , "Complex" , "ComplexF16" , "ComplexF32" , "ComplexF64" , "CompositeException" , "Condition" , "Cptrdiff_t" , "Cshort" , "Csize_t" , "Cssize_t" , "Cstring" , "Cuchar" , "Cuint" , "Cuintmax_t" , "Culong" , "Culonglong" , "Cushort" , "Cvoid" , "Cwchar_t" , "Cwstring" , "DataType" , "DenseArray" , "DenseMatrix" , "DenseVecOrMat" , "DenseVector" , "Dict" , "DimensionMismatch" , "Dims" , "DivideError" , "DomainError" , "EOFError" , "Enum" , "ErrorException" , "Exception" , "ExponentialBackOff" , "Expr" , "Float16" , "Float32" , "Float64" , "Function" , "GlobalRef" , "HTML" , "IO" , "IOBuffer" , "IOContext" , "IOStream" , "IdDict" , "IndexCartesian" , "IndexLinear" , "IndexStyle" , "InexactError" , "InitError" , "Int" , "Int128" , "Int16" , "Int32" , "Int64" , "Int8" , "Integer" , "InterruptException" , "InvalidStateException" , "Irrational" , "KeyError" , "LinRange" , "LineNumberNode" , "LinearIndices" , "LoadError" , "MIME" , "Matrix" , "Method" , "MethodError" , "Missing" , "MissingException" , "Module" , "NTuple" , "NamedTuple" , "Nothing" , "Number" , "OrdinalRange" , "OutOfMemoryError" , "OverflowError" , "Pair" , "PartialQuickSort" , "PermutedDimsArray" , "Pipe" , "ProcessFailedException" , "Ptr" , "QuoteNode" , "Rational" , "RawFD" , "ReadOnlyMemoryError" , "Real" , "ReentrantLock" , "Ref" , "Regex" , "RegexMatch" , "RoundingMode" , "SegmentationFault" , "Set" , "Signed" , "Some" , "StackOverflowError" , "StepRange" , "StepRangeLen" , "StridedArray" , "StridedMatrix" , "StridedVecOrMat" , "StridedVector" , "String" , "StringIndexError" , "SubArray" , "SubString" , "SubstitutionString" , "Symbol" , "SystemError" , "Task" , "TaskFailedException" , "Text" , "TextDisplay" , "Timer" , "Tuple" , "Type" , "TypeError" , "TypeVar" , "UInt" , "UInt128" , "UInt16" , "UInt32" , "UInt64" , "UInt8" , "UndefInitializer" , "UndefKeywordError" , "UndefRefError" , "UndefVarError" , "Union" , "UnionAll" , "UnitRange" , "Unsigned" , "Val" , "Vararg" , "VecElement" , "VecOrMat" , "Vector" , "VersionNumber" , "WeakKeyDict" , "WeakRef" ]
} , n = { keywords : t , illegal : /<\// } , a = { className : "subst" , begin : /\$\(/ , end : /\)/ ,
keywords : t } , i = { className : "variable" , begin : "\\$" + r } , o = { className : "string" ,
contains : [ e . BACKSLASH _ESCAPE , a , i ] , variants : [ { begin : /\w*"""/ , end : /"""\w*/ ,
relevance : 10 } , { begin : /\w*"/ , end : /"\w*/ } ] } , s = { className : "string" ,
contains : [ e . BACKSLASH _ESCAPE , a , i ] , begin : "`" , end : "`" } , l = { className : "meta" ,
begin : "@" + r } ; return n . name = "Julia" , n . contains = [ { className : "number" ,
begin : /(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/ ,
relevance : 0 } , { className : "string" , begin : /'(.|\\[xXuU][a-zA-Z0-9]+)'/ } , o , s , l , {
className : "comment" , variants : [ { begin : "#=" , end : "=#" , relevance : 10 } , { begin : "#" ,
end : "$" } ] } , e . HASH _COMMENT _MODE , { className : "keyword" ,
begin : "\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b" } , { begin : /<:/
} ] , a . contains = n . contains , n } } ) ( ) ; hljs . registerLanguage ( "julia" , e ) } ) ( ) ; /*! `c` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => { const n = e . regex , t = e . COMMENT ( "//" , "$" , {
contains : [ { begin : /\\\n/ } ]
} ) , s = "[a-zA-Z_]\\w*::" , a = "(decltype\\(auto\\)|" + n . optional ( s ) + "[a-zA-Z_]\\w*" + n . optional ( "<[^<>]+>" ) + ")" , r = {
className : "type" , variants : [ { begin : "\\b[a-z\\d_]*_t\\b" } , {
match : /\batomic_[a-z]{3,6}\b/ } ] } , i = { className : "string" , variants : [ {
begin : '(u8?|U|L)?"' , end : '"' , illegal : "\\n" , contains : [ e . BACKSLASH _ESCAPE ] } , {
begin : "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)" ,
end : "'" , illegal : "." } , e . END _SAME _AS _BEGIN ( {
begin : /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/ , end : /\)([^()\\ ]{0,16})"/ } ) ] } , l = {
className : "number" , variants : [ { begin : "\\b(0b[01']+)" } , {
begin : "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"
} , {
begin : "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
} ] , relevance : 0 } , o = { className : "meta" , begin : /#\s*[a-z]+\b/ , end : /$/ , keywords : {
keyword : "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
} , contains : [ { begin : /\\\n/ , relevance : 0 } , e . inherit ( i , { className : "string" } ) , {
className : "string" , begin : /<.*?>/ } , t , e . C _BLOCK _COMMENT _MODE ] } , c = {
className : "title" , begin : n . optional ( s ) + e . IDENT _RE , relevance : 0
} , d = n . optional ( s ) + e . IDENT _RE + "\\s*\\(" , u = {
keyword : [ "asm" , "auto" , "break" , "case" , "continue" , "default" , "do" , "else" , "enum" , "extern" , "for" , "fortran" , "goto" , "if" , "inline" , "register" , "restrict" , "return" , "sizeof" , "struct" , "switch" , "typedef" , "union" , "volatile" , "while" , "_Alignas" , "_Alignof" , "_Atomic" , "_Generic" , "_Noreturn" , "_Static_assert" , "_Thread_local" , "alignas" , "alignof" , "noreturn" , "static_assert" , "thread_local" , "_Pragma" ] ,
type : [ "float" , "double" , "signed" , "unsigned" , "int" , "short" , "long" , "char" , "void" , "_Bool" , "_Complex" , "_Imaginary" , "_Decimal32" , "_Decimal64" , "_Decimal128" , "const" , "static" , "complex" , "bool" , "imaginary" ] ,
literal : "true false NULL" ,
built _in : "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"
} , g = [ o , r , t , e . C _BLOCK _COMMENT _MODE , l , i ] , m = { variants : [ { begin : /=/ , end : /;/ } , {
begin : /\(/ , end : /\)/ } , { beginKeywords : "new throw return else" , end : /;/ } ] ,
keywords : u , contains : g . concat ( [ { begin : /\(/ , end : /\)/ , keywords : u ,
contains : g . concat ( [ "self" ] ) , relevance : 0 } ] ) , relevance : 0 } , p = {
begin : "(" + a + "[\\*&\\s]+)+" + d , returnBegin : ! 0 , end : /[{;=]/ , excludeEnd : ! 0 ,
keywords : u , illegal : /[^\w\s\*&:<>.]/ , contains : [ { begin : "decltype\\(auto\\)" ,
keywords : u , relevance : 0 } , { begin : d , returnBegin : ! 0 , contains : [ e . inherit ( c , {
className : "title.function" } ) ] , relevance : 0 } , { relevance : 0 , match : /,/ } , {
className : "params" , begin : /\(/ , end : /\)/ , keywords : u , relevance : 0 ,
contains : [ t , e . C _BLOCK _COMMENT _MODE , i , l , r , { begin : /\(/ , end : /\)/ , keywords : u ,
relevance : 0 , contains : [ "self" , t , e . C _BLOCK _COMMENT _MODE , i , l , r ] } ]
} , r , t , e . C _BLOCK _COMMENT _MODE , o ] } ; return { name : "C" , aliases : [ "h" ] , keywords : u ,
disableAutodetect : ! 0 , illegal : "</" , contains : [ ] . concat ( m , p , g , [ o , {
begin : e . IDENT _RE + "::" , keywords : u } , { className : "class" ,
beginKeywords : "enum class struct union" , end : /[{;:<>=]/ , contains : [ {
beginKeywords : "final class struct" } , e . TITLE _MODE ] } ] ) , exports : { preprocessor : o ,
strings : i , keywords : u } } } } ) ( ) ; hljs . registerLanguage ( "c" , e ) } ) ( ) ; /*! `plaintext` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var t = ( ( ) => { "use strict" ; return t => ( { name : "Plain text" ,
aliases : [ "text" , "txt" ] , disableAutodetect : ! 0 } ) } ) ( )
; hljs . registerLanguage ( "plaintext" , t ) } ) ( ) ; /*! `python` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const n = e . regex , a = /[\p{XID_Start}_]\p{XID_Continue}*/u , i = [ "and" , "as" , "assert" , "async" , "await" , "break" , "class" , "continue" , "def" , "del" , "elif" , "else" , "except" , "finally" , "for" , "from" , "global" , "if" , "import" , "in" , "is" , "lambda" , "nonlocal|10" , "not" , "or" , "pass" , "raise" , "return" , "try" , "while" , "with" , "yield" ] , s = {
$pattern : /[A-Za-z]\w+|__\w+__/ , keyword : i ,
built _in : [ "__import__" , "abs" , "all" , "any" , "ascii" , "bin" , "bool" , "breakpoint" , "bytearray" , "bytes" , "callable" , "chr" , "classmethod" , "compile" , "complex" , "delattr" , "dict" , "dir" , "divmod" , "enumerate" , "eval" , "exec" , "filter" , "float" , "format" , "frozenset" , "getattr" , "globals" , "hasattr" , "hash" , "help" , "hex" , "id" , "input" , "int" , "isinstance" , "issubclass" , "iter" , "len" , "list" , "locals" , "map" , "max" , "memoryview" , "min" , "next" , "object" , "oct" , "open" , "ord" , "pow" , "print" , "property" , "range" , "repr" , "reversed" , "round" , "set" , "setattr" , "slice" , "sorted" , "staticmethod" , "str" , "sum" , "super" , "tuple" , "type" , "vars" , "zip" ] ,
literal : [ "__debug__" , "Ellipsis" , "False" , "None" , "NotImplemented" , "True" ] ,
type : [ "Any" , "Callable" , "Coroutine" , "Dict" , "List" , "Literal" , "Generic" , "Optional" , "Sequence" , "Set" , "Tuple" , "Type" , "Union" ]
} , t = { className : "meta" , begin : /^(>>>|\.\.\.) / } , r = { className : "subst" , begin : /\{/ ,
end : /\}/ , keywords : s , illegal : /#/ } , l = { begin : /\{\{/ , relevance : 0 } , b = {
className : "string" , contains : [ e . BACKSLASH _ESCAPE ] , variants : [ {
begin : /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/ , end : /'''/ ,
contains : [ e . BACKSLASH _ESCAPE , t ] , relevance : 10 } , {
begin : /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/ , end : /"""/ ,
contains : [ e . BACKSLASH _ESCAPE , t ] , relevance : 10 } , {
begin : /([fF][rR]|[rR][fF]|[fF])'''/ , end : /'''/ ,
contains : [ e . BACKSLASH _ESCAPE , t , l , r ] } , { begin : /([fF][rR]|[rR][fF]|[fF])"""/ ,
end : /"""/ , contains : [ e . BACKSLASH _ESCAPE , t , l , r ] } , { begin : /([uU]|[rR])'/ , end : /'/ ,
relevance : 10 } , { begin : /([uU]|[rR])"/ , end : /"/ , relevance : 10 } , {
begin : /([bB]|[bB][rR]|[rR][bB])'/ , end : /'/ } , { begin : /([bB]|[bB][rR]|[rR][bB])"/ ,
end : /"/ } , { begin : /([fF][rR]|[rR][fF]|[fF])'/ , end : /'/ ,
contains : [ e . BACKSLASH _ESCAPE , l , r ] } , { begin : /([fF][rR]|[rR][fF]|[fF])"/ , end : /"/ ,
contains : [ e . BACKSLASH _ESCAPE , l , r ] } , e . APOS _STRING _MODE , e . QUOTE _STRING _MODE ]
} , o = "[0-9](_?[0-9])*" , c = ` ( \\ b( ${ o } ))? \\ .( ${ o } )| \\ b( ${ o } ) \\ . ` , d = "\\b|" + i . join ( "|" ) , g = {
className : "number" , relevance : 0 , variants : [ {
begin : ` ( \\ b( ${ o } )|( ${ c } ))[eE][+-]?( ${ o } )[jJ]?(?= ${ d } ) ` } , { begin : ` ( ${ c } )[jJ]? ` } , {
begin : ` \\ b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?= ${ d } ) ` } , {
begin : ` \\ b0[bB](_?[01])+[lL]?(?= ${ d } ) ` } , { begin : ` \\ b0[oO](_?[0-7])+[lL]?(?= ${ d } ) `
} , { begin : ` \\ b0[xX](_?[0-9a-fA-F])+[lL]?(?= ${ d } ) ` } , { begin : ` \\ b( ${ o } )[jJ](?= ${ d } ) `
} ] } , p = { className : "comment" , begin : n . lookahead ( /# type:/ ) , end : /$/ , keywords : s ,
contains : [ { begin : /# type:/ } , { begin : /#/ , end : /\b\B/ , endsWithParent : ! 0 } ] } , m = {
className : "params" , variants : [ { className : "" , begin : /\(\s*\)/ , skip : ! 0 } , { begin : /\(/ ,
end : /\)/ , excludeBegin : ! 0 , excludeEnd : ! 0 , keywords : s ,
contains : [ "self" , t , g , b , e . HASH _COMMENT _MODE ] } ] } ; return r . contains = [ b , g , t ] , {
name : "Python" , aliases : [ "py" , "gyp" , "ipython" ] , unicodeRegex : ! 0 , keywords : s ,
illegal : /(<\/|->|\?)|=>/ , contains : [ t , g , { begin : /\bself\b/ } , { beginKeywords : "if" ,
relevance : 0 } , b , p , e . HASH _COMMENT _MODE , { match : [ /\bdef/ , /\s+/ , a ] , scope : {
1 : "keyword" , 3 : "title.function" } , contains : [ m ] } , { variants : [ {
match : [ /\bclass/ , /\s+/ , a , /\s*/ , /\(\s*/ , a , /\s*\)/ ] } , { match : [ /\bclass/ , /\s+/ , a ] } ] ,
scope : { 1 : "keyword" , 3 : "title.class" , 6 : "title.class.inherited" } } , {
className : "meta" , begin : /^[\t ]*@/ , end : /(?=#)|$/ , contains : [ g , m , b ] } ] } } } ) ( )
; hljs . registerLanguage ( "python" , e ) } ) ( ) ; /*! `ini` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => { const n = e . regex , a = { className : "number" ,
relevance : 0 , variants : [ { begin : /([+-]+)?[\d]+_[\d_]+/ } , { begin : e . NUMBER _RE } ]
} , s = e . COMMENT ( ) ; s . variants = [ { begin : /;/ , end : /$/ } , { begin : /#/ , end : /$/ } ] ; const i = {
className : "variable" , variants : [ { begin : /\$[\w\d"][\w\d_]*/ } , { begin : /\$\{(.*?)\}/
} ] } , t = { className : "literal" , begin : /\bon|off|true|false|yes|no\b/ } , r = {
className : "string" , contains : [ e . BACKSLASH _ESCAPE ] , variants : [ { begin : "'''" ,
end : "'''" , relevance : 10 } , { begin : '"""' , end : '"""' , relevance : 10 } , { begin : '"' , end : '"'
} , { begin : "'" , end : "'" } ] } , l = { begin : /\[/ , end : /\]/ , contains : [ s , t , i , r , a , "self" ] ,
relevance : 0 } , c = n . either ( /[A-Za-z0-9_-]+/ , /"(\\"|[^"])*"/ , /'[^']*'/ ) ; return {
name : "TOML, also INI" , aliases : [ "toml" ] , case _insensitive : ! 0 , illegal : /\S/ ,
contains : [ s , { className : "section" , begin : /\[+/ , end : /\]+/ } , {
begin : n . concat ( c , "(\\s*\\.\\s*" , c , ")*" , n . lookahead ( /\s*=\s*[^#\s]/ ) ) ,
className : "attr" , starts : { end : /$/ , contains : [ s , l , t , i , r , a ] } } ] } } } ) ( )
; hljs . registerLanguage ( "ini" , e ) } ) ( ) ; /*! `julia-repl` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var a = ( ( ) => { "use strict" ; return a => ( { name : "Julia REPL" , contains : [ { className : "meta.prompt" , begin : /^julia>/ , relevance : 10 , starts : { end : /^(?![ ]{6})/ ,
subLanguage : "julia" } } , { className : "meta.pkg" , begin : /^\(.*\) pkg>/ , relevance : 10 , starts : { end : /^(?![ ]{6})/ ,
subLanguage : "julia" } } , { className : "meta.shell" , begin : /^shell>/ , relevance : 10 , starts : { end : /^(?![ ]{6})/ ,
subLanguage : "julia" } } ] , aliases : [ "jldoctest" ] } ) } ) ( )
; hljs . registerLanguage ( "julia-repl" , a ) } ) ( ) ; /*! `xml` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => {
const a = e . regex , n = a . concat ( /[A-Z_]/ , a . optional ( /[A-Z0-9_.-]*:/ ) , /[A-Z0-9_.-]*/ ) , s = {
className : "symbol" , begin : /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ } , t = { begin : /\s/ ,
contains : [ { className : "keyword" , begin : /#?[a-z_][a-z1-9_-]+/ , illegal : /\n/ } ]
} , i = e . inherit ( t , { begin : /\(/ , end : /\)/ } ) , c = e . inherit ( e . APOS _STRING _MODE , {
className : "string" } ) , l = e . inherit ( e . QUOTE _STRING _MODE , { className : "string" } ) , r = {
endsWithParent : ! 0 , illegal : /</ , relevance : 0 , contains : [ { className : "attr" ,
begin : /[A-Za-z0-9._:-]+/ , relevance : 0 } , { begin : /=\s*/ , relevance : 0 , contains : [ {
className : "string" , endsParent : ! 0 , variants : [ { begin : /"/ , end : /"/ , contains : [ s ] } , {
begin : /'/ , end : /'/ , contains : [ s ] } , { begin : /[^\s"'=<>`]+/ } ] } ] } ] } ; return {
name : "HTML, XML" ,
aliases : [ "html" , "xhtml" , "rss" , "atom" , "xjb" , "xsd" , "xsl" , "plist" , "wsf" , "svg" ] ,
case _insensitive : ! 0 , contains : [ { className : "meta" , begin : /<![a-z]/ , end : />/ ,
relevance : 10 , contains : [ t , l , c , i , { begin : /\[/ , end : /\]/ , contains : [ { className : "meta" ,
begin : /<![a-z]/ , end : />/ , contains : [ t , i , l , c ] } ] } ] } , e . COMMENT ( /<!--/ , /-->/ , {
relevance : 10 } ) , { begin : /<!\[CDATA\[/ , end : /\]\]>/ , relevance : 10 } , s , {
className : "meta" , end : /\?>/ , variants : [ { begin : /<\?xml/ , relevance : 10 , contains : [ l ]
} , { begin : /<\?[a-z][a-z0-9]+/ } ] } , { className : "tag" , begin : /<style(?=\s|>)/ , end : />/ ,
keywords : { name : "style" } , contains : [ r ] , starts : { end : /<\/style>/ , returnEnd : ! 0 ,
subLanguage : [ "css" , "xml" ] } } , { className : "tag" , begin : /<script(?=\s|>)/ , end : />/ ,
keywords : { name : "script" } , contains : [ r ] , starts : { end : /<\/script>/ , returnEnd : ! 0 ,
subLanguage : [ "javascript" , "handlebars" , "xml" ] } } , { className : "tag" , begin : /<>|<\/>/
} , { className : "tag" ,
begin : a . concat ( /</ , a . lookahead ( a . concat ( n , a . either ( /\/>/ , />/ , /\s/ ) ) ) ) ,
end : /\/?>/ , contains : [ { className : "name" , begin : n , relevance : 0 , starts : r } ] } , {
className : "tag" , begin : a . concat ( /<\// , a . lookahead ( a . concat ( n , />/ ) ) ) , contains : [ {
className : "name" , begin : n , relevance : 0 } , { begin : />/ , relevance : 0 , endsParent : ! 0 } ] } ] } }
} ) ( ) ; hljs . registerLanguage ( "xml" , e ) } ) ( ) ; /*! `markdown` grammar compiled for Highlight.js 11.5.1 */
( ( ) => { var e = ( ( ) => { "use strict" ; return e => { const n = { begin : /<\/?[A-Za-z_]/ ,
end : ">" , subLanguage : "xml" , relevance : 0 } , a = { variants : [ { begin : /\[.+?\]\[.*?\]/ ,
relevance : 0 } , {
begin : /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/ ,
relevance : 2 } , {
begin : e . regex . concat ( /\[.+?\]\(/ , /[A-Za-z][A-Za-z0-9+.-]*/ , /:\/\/.*?\)/ ) ,
relevance : 2 } , { begin : /\[.+?\]\([./?&#].*?\)/ , relevance : 1 } , {
begin : /\[.*?\]\(.*?\)/ , relevance : 0 } ] , returnBegin : ! 0 , contains : [ { match : /\[(?=\])/
} , { className : "string" , relevance : 0 , begin : "\\[" , end : "\\]" , excludeBegin : ! 0 ,
returnEnd : ! 0 } , { className : "link" , relevance : 0 , begin : "\\]\\(" , end : "\\)" ,
excludeBegin : ! 0 , excludeEnd : ! 0 } , { className : "symbol" , relevance : 0 , begin : "\\]\\[" ,
end : "\\]" , excludeBegin : ! 0 , excludeEnd : ! 0 } ] } , i = { className : "strong" , contains : [ ] ,
variants : [ { begin : /_{2}/ , end : /_{2}/ } , { begin : /\*{2}/ , end : /\*{2}/ } ] } , s = {
className : "emphasis" , contains : [ ] , variants : [ { begin : /\*(?!\*)/ , end : /\*/ } , {
begin : /_(?!_)/ , end : /_/ , relevance : 0 } ] } , c = e . inherit ( i , { contains : [ ]
} ) , t = e . inherit ( s , { contains : [ ] } ) ; i . contains . push ( t ) , s . contains . push ( c )
; let g = [ n , a ] ; return [ i , s , c , t ] . forEach ( ( e => { e . contains = e . contains . concat ( g )
} ) ) , g = g . concat ( i , s ) , { name : "Markdown" , aliases : [ "md" , "mkdown" , "mkd" ] , contains : [ {
className : "section" , variants : [ { begin : "^#{1,6}" , end : "$" , contains : g } , {
begin : "(?=^.+?\\n[=-]{2,}$)" , contains : [ { begin : "^[=-]*$" } , { begin : "^" , end : "\\n" ,
contains : g } ] } ] } , n , { className : "bullet" , begin : "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)" ,
end : "\\s+" , excludeEnd : ! 0 } , i , s , { className : "quote" , begin : "^>\\s+" , contains : g ,
end : "$" } , { className : "code" , variants : [ { begin : "(`{3,})[^`](.|\\n)*?\\1`*[ ]*" } , {
begin : "(~{3,})[^~](.|\\n)*?\\1~*[ ]*" } , { begin : "```" , end : "```+[ ]*$" } , {
begin : "~~~" , end : "~~~+[ ]*$" } , { begin : "`.+?`" } , { begin : "(?=^( {4}|\\t))" ,
contains : [ { begin : "^( {4}|\\t)" , end : "(\\n)$" } ] , relevance : 0 } ] } , {
begin : "^[-\\*]{3,}" , end : "$" } , a , { begin : /^\[[^\n]+\]:/ , returnBegin : ! 0 , contains : [ {
className : "symbol" , begin : /\[/ , end : /\]/ , excludeBegin : ! 0 , excludeEnd : ! 0 } , {
className : "link" , begin : /:\s*/ , end : /$/ , excludeBegin : ! 0 } ] } ] } } } ) ( )
; hljs . registerLanguage ( "markdown" , e ) } ) ( ) ;