{"version":3,"sources":["webpack:///./node_modules/highlight.js/lib/languages/cpp.js","webpack:///./node_modules/highlight.js/lib/languages/markdown.js","webpack:///./node_modules/highlight.js/lib/languages/go.js","webpack:///./node_modules/highlight.js/lib/languages/less.js","webpack:///./node_modules/highlight.js/lib/languages/c.js","webpack:///./node_modules/highlight.js/lib/languages/php.js","webpack:///./node_modules/highlight.js/lib/languages/ini.js","webpack:///./node_modules/highlight.js/lib/languages/java.js","webpack:///./node_modules/highlight.js/lib/languages/python-repl.js","webpack:///./node_modules/highlight.js/lib/languages/plaintext.js","webpack:///./node_modules/highlight.js/lib/languages/diff.js","webpack:///./node_modules/highlight.js/lib/languages/javascript.js","webpack:///./node_modules/highlight.js/lib/languages/json.js","webpack:///./node_modules/highlight.js/lib/languages/perl.js","webpack:///./node_modules/highlight.js/lib/languages/makefile.js","webpack:///./node_modules/highlight.js/lib/languages/arduino.js","webpack:///./node_modules/highlight.js/lib/languages/python.js","webpack:///./node_modules/highlight.js/lib/languages/csharp.js","webpack:///./node_modules/highlight.js/lib/languages/objectivec.js","webpack:///./node_modules/highlight.js/lib/languages/kotlin.js","webpack:///./node_modules/highlight.js/lib/languages/php-template.js","webpack:///./node_modules/highlight.js/lib/languages/lua.js","webpack:///./node_modules/highlight.js/lib/languages/css.js","webpack:///./node_modules/highlight.js/lib/languages/bash.js"],"names":["cpp","hljs","regex","C_LINE_COMMENT_MODE","COMMENT","contains","begin","DECLTYPE_AUTO_RE","NAMESPACE_RE","TEMPLATE_ARGUMENT_RE","FUNCTION_TYPE_RE","optional","CPP_PRIMITIVE_TYPES","className","CHARACTER_ESCAPES","STRINGS","variants","end","illegal","BACKSLASH_ESCAPE","END_SAME_AS_BEGIN","NUMBERS","relevance","PREPROCESSOR","keywords","keyword","inherit","C_BLOCK_COMMENT_MODE","TITLE_MODE","IDENT_RE","FUNCTION_TITLE","RESERVED_KEYWORDS","RESERVED_TYPES","TYPE_HINTS","FUNCTION_HINTS","LITERALS","BUILT_IN","CPP_KEYWORDS","type","literal","built_in","_type_hints","FUNCTION_DISPATCH","_hint","concat","lookahead","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","beginKeywords","FUNCTION_DECLARATION","returnBegin","excludeEnd","endsWithParent","match","name","aliases","classNameAliases","1","3","module","exports","markdown","INLINE_HTML","subLanguage","HORIZONTAL_RULE","CODE","LIST","LINK_REFERENCE","excludeBegin","URL_SCHEME","LINK","returnEnd","BOLD","ITALIC","BOLD_WITHOUT_ITALIC","ITALIC_WITHOUT_BOLD","push","CONTAINABLE","forEach","m","HEADER","BLOCKQUOTE","go","BUILT_INS","TYPES","KWS","KEYWORDS","QUOTE_STRING_MODE","APOS_STRING_MODE","C_NUMBER_RE","C_NUMBER_MODE","endsParent","MODES","IMPORTANT","scope","BLOCK_COMMENT","HEXCOLOR","ATTRIBUTE_SELECTOR_MODE","CSS_NUMBER_MODE","NUMBER_RE","CSS_VARIABLE","TAGS","MEDIA_FEATURES","PSEUDO_CLASSES","PSEUDO_ELEMENTS","ATTRIBUTES","reverse","PSEUDO_SELECTORS","less","modes","PSEUDO_SELECTORS$1","AT_MODIFIERS","INTERP_IDENT_RE","RULES","VALUE_MODES","STRING_MODE","c","IDENT_MODE","AT_KEYWORDS","$pattern","attribute","join","PARENS_MODE","starts","VALUE_WITH_RULESETS","MIXIN_GUARD_MODE","RULE_MODE","AT_RULE_MODE","VAR_RULE_MODE","SELECTOR_MODE","PSEUDO_SELECTOR_MODE","case_insensitive","C_KEYWORDS","C_TYPES","disableAutodetect","preprocessor","strings","php","NOT_PERL_ETC","PASCAL_CASE_CLASS_NAME_RE","VARIABLE","SUBST","SINGLE_QUOTED","DOUBLE_QUOTED","HEREDOC","WHITESPACE","STRING","NUMBER","dualCase","items","result","item","toLowerCase","toUpperCase","normalizeKeywords","map","replace","CONSTRUCTOR_CALL","4","CONSTANT_REFERENCE","LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON","2","NAMED_ARGUMENT","PARAMS_MODE","FUNCTION_INVOKE","ATTRIBUTE_CONTAINS","beginScope","endScope","HASH_COMMENT_MODE","MATCH_NOTHING_RE","UNDERSCORE_TITLE_MODE","ini","COMMENTS","VARIABLES","ARRAY","BARE_KEY","QUOTED_KEY_DOUBLE_QUOTE","QUOTED_KEY_SINGLE_QUOTE","ANY_KEY","either","DOTTED_KEY","decimalDigits","frac","hexDigits","NUMERIC","recurRegex","re","substitution","depth","_","java","JAVA_IDENT_RE","GENERIC_IDENT_RE","MAIN_KEYWORDS","ANNOTATION","PARAMS","5","UNDERSCORE_IDENT_RE","pythonRepl","plaintext","diff","ERROR_TYPES","BUILT_IN_GLOBALS","BUILT_IN_VARIABLES","javascript","hasClosingTag","after","tag","slice","pos","input","indexOf","IDENT_RE$1","FRAGMENT","XML_SELF_CLOSING","XML_TAG","isTrulyOpeningTag","response","afterMatchIndex","length","index","nextChar","ignoreMatch","afterMatch","substr","KEYWORDS$1","decimalInteger","HTML_TEMPLATE","CSS_TEMPLATE","TEMPLATE_STRING","JSDOC_COMMENT","SUBST_INTERNALS","SUBST_AND_COMMENTS","PARAMS_CONTAINS","CLASS_OR_EXTENDS","7","CLASS_REFERENCE","USE_STRICT","label","FUNCTION_DEFINITION","UPPER_CASE_CONSTANT","noneOf","list","FUNCTION_CALL","PROPERTY_ACCESS","GETTER_OR_SETTER","FUNC_LEAD_IN_RE","FUNCTION_VARIABLE","SHEBANG","binary","RE_STARTERS_RE","REGEXP_MODE","skip","json","ATTRIBUTE","PUNCTUATION","perl","REGEX_MODIFIERS","PERL_KEYWORDS","METHOD","VAR","STRING_CONTAINS","REGEX_DELIMS","PAIRED_DOUBLE_RE","prefix","open","close","middle","PAIRED_RE","PERL_DEFAULT_CONTAINS","capture","makefile","QUOTE_STRING","FUNC","ASSIGNMENT","META","TARGET","cPlusPlus","arduino","ARDUINO_KW","_hints","ARDUINO","kws","supersetOf","python","RESERVED_WORDS","PROMPT","LITERAL_BRACKET","digitpart","pointfloat","COMMENT_TYPE","unicodeRegex","6","csharp","BUILT_IN_KEYWORDS","FUNCTION_MODIFIERS","LITERAL_KEYWORDS","NORMAL_KEYWORDS","CONTEXTUAL_KEYWORDS","VERBATIM_STRING","VERBATIM_STRING_NO_LF","SUBST_NO_LF","INTERPOLATED_STRING","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","GENERIC_MODIFIER","TYPE_IDENT_RE","AT_IDENTIFIER","objectivec","API_CLASS","IDENTIFIER_RE","CLASS_KEYWORDS","kotlin","KEYWORDS_WITH_LABEL","LABEL","ANNOTATION_USE_SITE","KOTLIN_NUMBER_MODE","KOTLIN_NESTED_COMMENT","KOTLIN_PAREN_TYPE","KOTLIN_PAREN_TYPE2","phpTemplate","lua","OPENING_LONG_BRACKET","CLOSING_LONG_BRACKET","LONG_BRACKETS","css","VENDOR_PREFIX","AT_PROPERTY_RE","keyframePosition","bash","BRACED_VAR","Object","assign","HERE_DOC","ESCAPED_QUOTE","APOS_STRING","ARITHMETIC","NUMBER_MODE","SH_LIKE_SHELLS","KNOWN_SHEBANG","FUNCTION","PATH_MODE","SHELL_BUILT_INS","BASH_BUILT_INS","ZSH_BUILT_INS","GNU_CORE_UTILS"],"mappings":"oIAOA,SAASA,EAAIC,GACX,MAAMC,EAAQD,EAAKC,MAIbC,EAAsBF,EAAKG,QAAQ,KAAM,IAAK,CAAEC,SAAU,CAAE,CAAEC,MAAO,WACrEC,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBL,EAAMS,SAASH,GACf,gBAAkBN,EAAMS,SAASF,GACnC,IAEIG,EAAsB,CAC1BC,UAAW,OACXP,MAAO,sBAKHQ,EAAoB,uDACpBC,EAAU,CACdF,UAAW,SACXG,SAAU,CACR,CACEV,MAAO,cACPW,IAAK,IACLC,QAAS,MACTb,SAAU,CAAEJ,EAAKkB,mBAEnB,CACEb,MAAO,eAAkBQ,EAAoB,MAC7CG,IAAK,IACLC,QAAS,KAEXjB,EAAKmB,kBAAkB,CACrBd,MAAO,mCACPW,IAAK,0BAKLI,EAAU,CACdR,UAAW,SACXG,SAAU,CACR,CAAEV,MAAO,iBACT,CAAEA,MAAO,yFACT,CAAEA,MAAO,wFAEXgB,UAAW,GAGPC,EAAe,CACnBV,UAAW,OACXP,MAAO,eACPW,IAAK,IACLO,SAAU,CAAEC,QACR,0FAEJpB,SAAU,CACR,CACEC,MAAO,OACPgB,UAAW,GAEbrB,EAAKyB,QAAQX,EAAS,CAAEF,UAAW,WACnC,CACEA,UAAW,SACXP,MAAO,SAETH,EACAF,EAAK0B,uBAIHC,EAAa,CACjBf,UAAW,QACXP,MAAOJ,EAAMS,SAASH,GAAgBP,EAAK4B,SAC3CP,UAAW,GAGPQ,EAAiB5B,EAAMS,SAASH,GAAgBP,EAAK4B,SAAW,UAGhEE,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,UAIIC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,UAGIC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,gBAGIC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,YAGIC,EAAW,CACf,OACA,QACA,UACA,UACA,QAIIC,EAAW,CAAE,WAEbC,EAAe,CACnBC,KAAMN,EACNP,QAASM,EACTQ,QAASJ,EACTK,SAAUJ,EACVK,YAAaR,GAGTS,EAAoB,CACxB7B,UAAW,oBACXS,UAAW,EACXE,SAAU,CAERmB,MAAOT,GACT5B,MAAOJ,EAAM0C,OACX,KACA,eACA,SACA,UACA,aACA,YACA3C,EAAK4B,SACL3B,EAAM2C,UAAU,sBAGdC,EAAsB,CAC1BJ,EACAnB,EACAX,EACAT,EACAF,EAAK0B,qBACLN,EACAN,GAGIgC,EAAqB,CAIzB/B,SAAU,CACR,CACEV,MAAO,IACPW,IAAK,KAEP,CACEX,MAAO,KACPW,IAAK,MAEP,CACE+B,cAAe,wBACf/B,IAAK,MAGTO,SAAUa,EACVhC,SAAUyC,EAAoBF,OAAO,CACnC,CACEtC,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVhC,SAAUyC,EAAoBF,OAAO,CAAE,SACvCtB,UAAW,KAGfA,UAAW,GAGP2B,EAAuB,CAC3BpC,UAAW,WACXP,MAAO,IAAMI,EAAmB,eAAiBoB,EACjDoB,aAAa,EACbjC,IAAK,QACLkC,YAAY,EACZ3B,SAAUa,EACVnB,QAAS,iBACTb,SAAU,CACR,CACEC,MAAOC,EACPiB,SAAUa,EACVf,UAAW,GAEb,CACEhB,MAAOwB,EACPoB,aAAa,EACb7C,SAAU,CAAEuB,GACZN,UAAW,GAIb,CACEhB,MAAO,KACPgB,UAAW,GAGb,CACEhB,MAAO,IACP8C,gBAAgB,EAChB/C,SAAU,CACRU,EACAM,IAKJ,CACEC,UAAW,EACX+B,MAAO,KAET,CACExC,UAAW,SACXP,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVf,UAAW,EACXjB,SAAU,CACRF,EACAF,EAAK0B,qBACLZ,EACAM,EACAT,EAEA,CACEN,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVf,UAAW,EACXjB,SAAU,CACR,OACAF,EACAF,EAAK0B,qBACLZ,EACAM,EACAT,MAKRA,EACAT,EACAF,EAAK0B,qBACLJ,IAIJ,MAAO,CACL+B,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEF/B,SAAUa,EACVnB,QAAS,KACTsC,iBAAkB,CAAE,oBAAqB,YACzCnD,SAAU,GAAGuC,OACXG,EACAE,EACAP,EACAI,EACA,CACEvB,EACA,CACEjB,MAAO,4MACPW,IAAK,IACLO,SAAUa,EACVhC,SAAU,CACR,OACAO,IAGJ,CACEN,MAAOL,EAAK4B,SAAW,KACvBL,SAAUa,GAEZ,CACEgB,MAAO,CAEL,wDACA,MACA,OAEFxC,UAAW,CACT4C,EAAG,UACHC,EAAG,mBAOfC,EAAOC,QAAU5D,G,qBC/iBjB,SAAS6D,EAAS5D,GAChB,MAAMC,EAAQD,EAAKC,MACb4D,EAAc,CAClBxD,MAAO,gBACPW,IAAK,IACL8C,YAAa,MACbzC,UAAW,GAEP0C,EAAkB,CACtB1D,MAAO,cACPW,IAAK,KAEDgD,EAAO,CACXpD,UAAW,OACXG,SAAU,CAER,CAAEV,MAAO,iCACT,CAAEA,MAAO,iCAET,CACEA,MAAO,MACPW,IAAK,aAEP,CACEX,MAAO,MACPW,IAAK,aAEP,CAAEX,MAAO,SACT,CACEA,MAAO,kBAGPD,SAAU,CACR,CACEC,MAAO,cACPW,IAAK,WAGTK,UAAW,KAIX4C,EAAO,CACXrD,UAAW,SACXP,MAAO,mCACPW,IAAK,OACLkC,YAAY,GAERgB,EAAiB,CACrB7D,MAAO,eACP4C,aAAa,EACb7C,SAAU,CACR,CACEQ,UAAW,SACXP,MAAO,KACPW,IAAK,KACLmD,cAAc,EACdjB,YAAY,GAEd,CACEtC,UAAW,OACXP,MAAO,OACPW,IAAK,IACLmD,cAAc,KAIdC,EAAa,0BACbC,EAAO,CACXtD,SAAU,CAGR,CACEV,MAAO,iBACPgB,UAAW,GAGb,CACEhB,MAAO,gEACPgB,UAAW,GAEb,CACEhB,MAAOJ,EAAM0C,OAAO,YAAayB,EAAY,cAC7C/C,UAAW,GAGb,CACEhB,MAAO,wBACPgB,UAAW,GAGb,CACEhB,MAAO,iBACPgB,UAAW,IAGf4B,aAAa,EACb7C,SAAU,CACR,CAEEgD,MAAO,YACT,CACExC,UAAW,SACXS,UAAW,EACXhB,MAAO,MACPW,IAAK,MACLmD,cAAc,EACdG,WAAW,GAEb,CACE1D,UAAW,OACXS,UAAW,EACXhB,MAAO,SACPW,IAAK,MACLmD,cAAc,EACdjB,YAAY,GAEd,CACEtC,UAAW,SACXS,UAAW,EACXhB,MAAO,SACPW,IAAK,MACLmD,cAAc,EACdjB,YAAY,KAIZqB,EAAO,CACX3D,UAAW,SACXR,SAAU,GACVW,SAAU,CACR,CACEV,MAAO,OACPW,IAAK,QAEP,CACEX,MAAO,QACPW,IAAK,WAILwD,EAAS,CACb5D,UAAW,WACXR,SAAU,GACVW,SAAU,CACR,CACEV,MAAO,WACPW,IAAK,MAEP,CACEX,MAAO,SACPW,IAAK,IACLK,UAAW,KAQXoD,EAAsBzE,EAAKyB,QAAQ8C,EAAM,CAAEnE,SAAU,KACrDsE,EAAsB1E,EAAKyB,QAAQ+C,EAAQ,CAAEpE,SAAU,KAC7DmE,EAAKnE,SAASuE,KAAKD,GACnBF,EAAOpE,SAASuE,KAAKF,GAErB,IAAIG,EAAc,CAChBf,EACAQ,GAGF,CACEE,EACAC,EACAC,EACAC,GACAG,QAAQC,IACRA,EAAE1E,SAAW0E,EAAE1E,SAASuC,OAAOiC,KAGjCA,EAAcA,EAAYjC,OAAO4B,EAAMC,GAEvC,MAAMO,EAAS,CACbnE,UAAW,UACXG,SAAU,CACR,CACEV,MAAO,UACPW,IAAK,IACLZ,SAAUwE,GAEZ,CACEvE,MAAO,uBACPD,SAAU,CACR,CAAEC,MAAO,WACT,CACEA,MAAO,IACPW,IAAK,MACLZ,SAAUwE,OAOdI,EAAa,CACjBpE,UAAW,QACXP,MAAO,SACPD,SAAUwE,EACV5D,IAAK,KAGP,MAAO,CACLqC,KAAM,WACNC,QAAS,CACP,KACA,SACA,OAEFlD,SAAU,CACR2E,EACAlB,EACAI,EACAM,EACAC,EACAQ,EACAhB,EACAD,EACAM,EACAH,IAKNR,EAAOC,QAAUC,G,qBCvOjB,SAASqB,EAAGjF,GACV,MAAMkC,EAAW,CACf,OACA,QACA,OACA,OAEIgD,EAAY,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,UAEIC,EAAQ,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,QAEIC,EAAM,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,OAEIC,EAAW,CACf7D,QAAS4D,EACT/C,KAAM8C,EACN7C,QAASJ,EACTK,SAAU2C,GAEZ,MAAO,CACL7B,KAAM,KACNC,QAAS,CAAE,UACX/B,SAAU8D,EACVpE,QAAS,KACTb,SAAU,CACRJ,EAAKE,oBACLF,EAAK0B,qBACL,CACEd,UAAW,SACXG,SAAU,CACRf,EAAKsF,kBACLtF,EAAKuF,iBACL,CACElF,MAAO,IACPW,IAAK,OAIX,CACEJ,UAAW,SACXG,SAAU,CACR,CACEV,MAAOL,EAAKwF,YAAc,MAC1BnE,UAAW,GAEbrB,EAAKyF,gBAGT,CAAEpF,MAAO,MAET,CACEO,UAAW,WACXmC,cAAe,OACf/B,IAAK,cACLkC,YAAY,EACZ9C,SAAU,CACRJ,EAAK2B,WACL,CACEf,UAAW,SACXP,MAAO,KACPW,IAAK,KACL0E,YAAY,EACZnE,SAAU8D,EACVpE,QAAS,YAQrByC,EAAOC,QAAUsB,G,mBC5IjB,MAAMU,EAAS3F,IACN,CACL4F,UAAW,CACTC,MAAO,OACPxF,MAAO,cAETyF,cAAe9F,EAAK0B,qBACpBqE,SAAU,CACRF,MAAO,SACPxF,MAAO,mDAEToC,kBAAmB,CACjB7B,UAAW,WACXP,MAAO,gBAET2F,wBAAyB,CACvBH,MAAO,gBACPxF,MAAO,KACPW,IAAK,KACLC,QAAS,IACTb,SAAU,CACRJ,EAAKuF,iBACLvF,EAAKsF,oBAGTW,gBAAiB,CACfJ,MAAO,SACPxF,MAAOL,EAAKkG,UAALlG,kGASPqB,UAAW,GAEb8E,aAAc,CACZvF,UAAW,OACXP,MAAO,8BAKP+F,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBAC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GA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,SAGIF,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,YASIiE,EAAYC,IAEhB,MAAMC,EAAS,GASf,OARAD,EAAMvE,QAAQyE,IACZD,EAAO1E,KAAK2E,GACRA,EAAKC,gBAAkBD,EACzBD,EAAO1E,KAAK2E,EAAKE,eAEjBH,EAAO1E,KAAK2E,EAAKC,iBAGdF,GAGHhE,EAAW,CACf7D,QAAS4D,EACT9C,QAAS6G,EAASjH,GAClBK,SAAU2C,GAKNuE,EAAqBL,GAClBA,EAAMM,IAAIJ,GACRA,EAAKK,QAAQ,SAAU,KAI5BC,EAAmB,CAAE7I,SAAU,CACnC,CACEqC,MAAO,CACL,MACAnD,EAAM0C,OAAOqG,EAAY,KAEzB/I,EAAM0C,OAAO,MAAO8G,EAAkBvE,GAAWsC,KAAK,QAAS,QAC/DkB,GAEF7C,MAAO,CACLrC,EAAG,UACHqG,EAAG,kBAKHC,EAAqB7J,EAAM0C,OAAOf,EAAU,cAE5CmI,EAAsC,CAAEhJ,SAAU,CACtD,CACEqC,MAAO,CACLnD,EAAM0C,OACJ,KACA1C,EAAM2C,UAAU,gBAElBkH,GAEFjE,MAAO,CAAEmE,EAAG,sBAEd,CACE5G,MAAO,CACL,KACA,SAEFyC,MAAO,CAAEmE,EAAG,sBAEd,CACE5G,MAAO,CACLsF,EACAzI,EAAM0C,OACJ,KACA1C,EAAM2C,UAAU,gBAElBkH,GAEFjE,MAAO,CACLrC,EAAG,cACHC,EAAG,sBAGP,CACEL,MAAO,CACLsF,EACAzI,EAAM0C,OACJ,KACA1C,EAAM2C,UAAU,iBAGpBiD,MAAO,CAAErC,EAAG,gBAEd,CACEJ,MAAO,CACLsF,EACA,KACA,SAEF7C,MAAO,CACLrC,EAAG,cACHC,EAAG,wBAKHwG,EAAiB,CACrBpE,MAAO,OACPzC,MAAOnD,EAAM0C,OAAOf,EAAU3B,EAAM2C,UAAU,KAAM3C,EAAM2C,UAAU,YAEhEsH,EAAc,CAClB7I,UAAW,EACXhB,MAAO,KACPW,IAAK,KACLO,SAAU8D,EACVjF,SAAU,CACR6J,EACAtB,EACAoB,EACA/J,EAAK0B,qBACLuH,EACAC,EACAU,IAGEO,EAAkB,CACtB9I,UAAW,EACX+B,MAAO,CACL,KAEAnD,EAAM0C,OAAO,wBAAyB8G,EAAkBrE,GAAKoC,KAAK,QAAS,IAAKiC,EAAkBvE,GAAWsC,KAAK,QAAS,QAC3H5F,EACA3B,EAAM0C,OAAOqG,EAAY,KACzB/I,EAAM2C,UAAU,WAElBiD,MAAO,CAAEpC,EAAG,yBACZrD,SAAU,CAAE8J,IAEdA,EAAY9J,SAASuE,KAAKwF,GAE1B,MAAMC,EAAqB,CACzBH,EACAF,EACA/J,EAAK0B,qBACLuH,EACAC,EACAU,GAGIpD,EAAa,CACjBnG,MAAOJ,EAAM0C,OAAO,SAAU+F,GAC9B2B,WAAY,OACZrJ,IAAK,IACLsJ,SAAU,OACV/I,SAAU,CACRe,QAASJ,EACTV,QAAS,CACP,MACA,UAGJpB,SAAU,CACR,CACEC,MAAO,KACPW,IAAK,IACLO,SAAU,CACRe,QAASJ,EACTV,QAAS,CACP,MACA,UAGJpB,SAAU,CACR,UACGgK,OAGJA,EACH,CACEvE,MAAO,OACPzC,MAAOsF,KAKb,MAAO,CACLR,kBAAkB,EAClB3G,SAAU8D,EACVjF,SAAU,CACRoG,EACAxG,EAAKuK,kBACLvK,EAAKG,QAAQ,KAAM,KACnBH,EAAKG,QACH,OACA,OACA,CAAEC,SAAU,CACV,CACEyF,MAAO,SACPzC,MAAO,iBAIb,CACEA,MAAO,uBACP7B,SAAU,kBACVmG,OAAQ,CACN7B,MAAO,UACP7E,IAAKhB,EAAKwK,iBACVpK,SAAU,CACR,CACEgD,MAAO,MACPyC,MAAO,OACPH,YAAY,MAKpBpE,EACA,CACEuE,MAAO,oBACPzC,MAAO,YAETuF,EACAwB,EACAJ,EACA,CACE3G,MAAO,CACL,QACA,KACAxB,GAEFiE,MAAO,CACLrC,EAAG,UACHC,EAAG,sBAGPmG,EACA,CACE/D,MAAO,WACPxE,UAAW,EACX0B,cAAe,cACf/B,IAAK,OACLkC,YAAY,EACZjC,QAAS,UACTb,SAAU,CACR,CAAE2C,cAAe,OACjB/C,EAAKyK,sBACL,CACEpK,MAAO,KACPqF,YAAY,GAEd,CACEG,MAAO,SACPxF,MAAO,MACPW,IAAK,MACLmD,cAAc,EACdjB,YAAY,EACZ3B,SAAU8D,EACVjF,SAAU,CACR,OACAuI,EACAoB,EACA/J,EAAK0B,qBACLuH,EACAC,MAKR,CACErD,MAAO,QACP9E,SAAU,CACR,CACEgC,cAAe,OACf9B,QAAS,SAEX,CACE8B,cAAe,wBACf9B,QAAS,WAGbI,UAAW,EACXL,IAAK,KACLkC,YAAY,EACZ9C,SAAU,CACR,CAAE2C,cAAe,sBACjB/C,EAAKyK,wBAMT,CACE1H,cAAe,YACf1B,UAAW,EACXL,IAAK,IACLC,QAAS,OACTb,SAAU,CAAEJ,EAAKyB,QAAQzB,EAAKyK,sBAAuB,CAAE5E,MAAO,kBAEhE,CACE9C,cAAe,MACf1B,UAAW,EACXL,IAAK,IACLZ,SAAU,CAER,CACEgD,MAAO,0BACPyC,MAAO,WAGT7F,EAAKyK,wBAGTxB,EACAC,IAKNxF,EAAOC,QAAU6E,G,qBCnlBjB,SAASkC,EAAI1K,GACX,MAAMC,EAAQD,EAAKC,MACbmB,EAAU,CACdR,UAAW,SACXS,UAAW,EACXN,SAAU,CACR,CAAEV,MAAO,wBACT,CAAEA,MAAOL,EAAKkG,aAGZyE,EAAW3K,EAAKG,UACtBwK,EAAS5J,SAAW,CAClB,CACEV,MAAO,IACPW,IAAK,KAEP,CACEX,MAAO,IACPW,IAAK,MAGT,MAAM4J,EAAY,CAChBhK,UAAW,WACXG,SAAU,CACR,CAAEV,MAAO,qBACT,CAAEA,MAAO,iBAGP6B,EAAW,CACftB,UAAW,UACXP,MAAO,gCAEHS,EAAU,CACdF,UAAW,SACXR,SAAU,CAAEJ,EAAKkB,kBACjBH,SAAU,CACR,CACEV,MAAO,MACPW,IAAK,MACLK,UAAW,IAEb,CACEhB,MAAO,MACPW,IAAK,MACLK,UAAW,IAEb,CACEhB,MAAO,IACPW,IAAK,KAEP,CACEX,MAAO,IACPW,IAAK,OAIL6J,EAAQ,CACZxK,MAAO,KACPW,IAAK,KACLZ,SAAU,CACRuK,EACAzI,EACA0I,EACA9J,EACAM,EACA,QAEFC,UAAW,GAGPyJ,EAAW,iBACXC,EAA0B,gBAC1BC,EAA0B,UAC1BC,EAAUhL,EAAMiL,OACpBJ,EAAUC,EAAyBC,GAE/BG,EAAalL,EAAM0C,OACvBsI,EAAS,eAAgBA,EAAS,KAClChL,EAAM2C,UAAU,kBAGlB,MAAO,CACLS,KAAM,iBACNC,QAAS,CAAE,QACX4E,kBAAkB,EAClBjH,QAAS,KACTb,SAAU,CACRuK,EACA,CACE/J,UAAW,UACXP,MAAO,MACPW,IAAK,OAEP,CACEX,MAAO8K,EACPvK,UAAW,OACX8G,OAAQ,CACN1G,IAAK,IACLZ,SAAU,CACRuK,EACAE,EACA3I,EACA0I,EACA9J,EACAM,OAQZsC,EAAOC,QAAU+G,G,qBCvHjB,IAAIU,EAAgB,kBAChBC,EAAO,OAAOD,KACdE,EAAY,8BACZC,EAAU,CACZ3K,UAAW,SACXG,SAAU,CAGR,CAAEV,MAAO,QAAQ+K,OAAmBC,aAAgBA,gBACrCD,gBAEf,CAAE/K,MAAO,OAAO+K,OAAmBC,iCACnC,CAAEhL,MAAO,IAAIgL,gBACb,CAAEhL,MAAO,OAAO+K,eAGhB,CAAE/K,MAAO,aAAaiL,WAAmBA,UAAkBA,gBAC5CF,gBAGf,CAAE/K,MAAO,kCAGT,CAAEA,MAAO,YAAYiL,cAGrB,CAAEjL,MAAO,0BAGT,CAAEA,MAAO,kCAEXgB,UAAW,GAqBb,SAASmK,EAAWC,EAAIC,EAAcC,GACpC,OAAe,IAAXA,EAAqB,GAElBF,EAAG9B,QAAQ+B,EAAcE,GACvBJ,EAAWC,EAAIC,EAAcC,EAAQ,IAKhD,SAASE,EAAK7L,GACZ,MAAMC,EAAQD,EAAKC,MACb6L,EAAgB,iCAChBC,EAAmBD,EACrBN,EAAW,OAASM,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,GAC1FE,EAAgB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,UAGI9G,EAAY,CAChB,QACA,QAGIhD,EAAW,CACf,QACA,OACA,QAGIiD,EAAQ,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,UAGIE,EAAW,CACf7D,QAASwK,EACT1J,QAASJ,EACTG,KAAM8C,EACN5C,SAAU2C,GAGN+G,EAAa,CACjBrL,UAAW,OACXP,MAAO,IAAMyL,EACb1L,SAAU,CACR,CACEC,MAAO,KACPW,IAAK,KACLZ,SAAU,CAAE,WAIZ8L,EAAS,CACbtL,UAAW,SACXP,MAAO,KACPW,IAAK,KACLO,SAAU8D,EACVhE,UAAW,EACXjB,SAAU,CAAEJ,EAAK0B,sBACjBgE,YAAY,GAGd,MAAO,CACLrC,KAAM,OACNC,QAAS,CAAE,OACX/B,SAAU8D,EACVpE,QAAS,QACTb,SAAU,CACRJ,EAAKG,QACH,UACA,OACA,CACEkB,UAAW,EACXjB,SAAU,CACR,CAEEC,MAAO,OACPgB,UAAW,GAEb,CACET,UAAW,SACXP,MAAO,iBAMf,CACEA,MAAO,wBACPkB,SAAU,SACVF,UAAW,GAEbrB,EAAKE,oBACLF,EAAK0B,qBACL,CACErB,MAAO,MACPW,IAAK,MACLJ,UAAW,SACXR,SAAU,CAAEJ,EAAKkB,mBAEnBlB,EAAKuF,iBACLvF,EAAKsF,kBACL,CACElC,MAAO,CACL,oDACA,MACA0I,GAEFlL,UAAW,CACT4C,EAAG,UACHC,EAAG,gBAGP,CAEEL,MAAO,aACPyC,MAAO,WAET,CACExF,MAAO,CACLJ,EAAM0C,OAAO,WAAYmJ,GACzB,MACAA,EACA,MACA,KAEFlL,UAAW,CACT4C,EAAG,OACHC,EAAG,WACH0I,EAAG,aAGP,CACE9L,MAAO,CACL,SACA,MACAyL,GAEFlL,UAAW,CACT4C,EAAG,UACHC,EAAG,eAELrD,SAAU,CACR8L,EACAlM,EAAKE,oBACLF,EAAK0B,uBAGT,CAGEqB,cAAe,wBACf1B,UAAW,GAEb,CACEhB,MAAO,CACL,MAAQ0L,EAAmB,QAC3B/L,EAAKoM,oBACL,aAEFxL,UAAW,CAAEoJ,EAAG,kBAChBzI,SAAU8D,EACVjF,SAAU,CACR,CACEQ,UAAW,SACXP,MAAO,KACPW,IAAK,KACLO,SAAU8D,EACVhE,UAAW,EACXjB,SAAU,CACR6L,EACAjM,EAAKuF,iBACLvF,EAAKsF,kBACLiG,EACAvL,EAAK0B,uBAGT1B,EAAKE,oBACLF,EAAK0B,uBAGT6J,EACAU,IAKNvI,EAAOC,QAAUkI,G,mBCtRjB,SAASQ,EAAWrM,GAClB,MAAO,CACLsD,QAAS,CAAE,SACXlD,SAAU,CACR,CACEQ,UAAW,cACX8G,OAAQ,CAGN1G,IAAK,MACL0G,OAAQ,CACN1G,IAAK,IACL8C,YAAa,WAGjB/C,SAAU,CACR,CAAEV,MAAO,iBACT,CAAEA,MAAO,wBAOnBqD,EAAOC,QAAU0I,G,qBCxBjB,SAASC,EAAUtM,GACjB,MAAO,CACLqD,KAAM,aACNC,QAAS,CACP,OACA,OAEF+E,mBAAmB,GAIvB3E,EAAOC,QAAU2I,G,qBCTjB,SAASC,EAAKvM,GACZ,MAAMC,EAAQD,EAAKC,MACnB,MAAO,CACLoD,KAAM,OACNC,QAAS,CAAE,SACXlD,SAAU,CACR,CACEQ,UAAW,OACXS,UAAW,GACX+B,MAAOnD,EAAMiL,OACX,+BACA,8BACA,yBAGJ,CACEtK,UAAW,UACXG,SAAU,CACR,CACEV,MAAOJ,EAAMiL,OACX,UACA,SACA,QACA,QACA,UACA,SACA,eAEFlK,IAAK,KAEP,CAAEoC,MAAO,cAGb,CACExC,UAAW,WACXP,MAAO,MACPW,IAAK,KAEP,CACEJ,UAAW,WACXP,MAAO,KACPW,IAAK,KAEP,CACEJ,UAAW,WACXP,MAAO,KACPW,IAAK,OAMb0C,EAAOC,QAAU4I,G,qBC7DjB,MAAM3K,EAAW,2BACXyD,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEInD,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAIIiD,EAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,eAGIqH,EAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,YAGIC,EAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGIC,EAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UAGIxH,EAAY,GAAGvC,OACnB8J,EACAtH,EACAqH,G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MAEPyO,EAAc,CAClB1M,MAAO,YACPxC,UAAW,cACXS,UAAW,GAOPa,EAAW,CAAEa,cAAe,CAChC,OACA,QACA,QACAyE,KAAK,MAEP,MAAO,CACLnE,KAAM,OACNjD,SAAU,CACRyP,EACAC,EACA9P,EAAKsF,kBACLpD,EACAlC,EAAKyF,cACLzF,EAAKE,oBACLF,EAAK0B,sBAEPT,QAAS,OAIbyC,EAAOC,QAAUiM,G,qBCrCjB,SAASG,EAAK/P,GACZ,MAAMC,EAAQD,EAAKC,MACboF,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,OAII2K,EAAkB,uBAClBC,EAAgB,CACpB3I,SAAU,SACV9F,QAAS6D,EAASmC,KAAK,MAEnBoB,EAAQ,CACZhI,UAAW,QACXP,MAAO,UACPW,IAAK,MACLO,SAAU0O,GAENC,EAAS,CACb7P,MAAO,OACPW,IAAK,MAGDmP,EAAM,CAAEpP,SAAU,CACtB,CAAEV,MAAO,QACT,CAAEA,MAAOJ,EAAM0C,OACb,iDAGA,0BAEF,CACEtC,MAAO,gBACPgB,UAAW,KAGT+O,EAAkB,CACtBpQ,EAAKkB,iBACL0H,EACAuH,GAEIE,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,KAOIC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,SAC9C,MAAMC,EAAoB,QAAVD,EACZA,EACAxQ,EAAM0C,OAAO8N,EAAOD,GACxB,OAAOvQ,EAAM0C,OACX1C,EAAM0C,OAAO,MAAO4N,EAAQ,KAC5BC,EACA,oBACAE,EACA,oBACAD,EACAT,IAQEW,EAAY,CAACJ,EAAQC,EAAMC,IACxBxQ,EAAM0C,OACX1C,EAAM0C,OAAO,MAAO4N,EAAQ,KAC5BC,EACA,oBACAC,EACAT,GAGEY,EAAwB,CAC5BT,EACAnQ,EAAKuK,kBACLvK,EAAKG,QACH,OACA,OACA,CAAEgD,gBAAgB,IAEpB+M,EACA,CACEtP,UAAW,SACXR,SAAUgQ,EACVrP,SAAU,CACR,CACEV,MAAO,kBACPW,IAAK,MACLK,UAAW,GAEb,CACEhB,MAAO,kBACPW,IAAK,MACLK,UAAW,GAEb,CACEhB,MAAO,kBACPW,IAAK,MACLK,UAAW,GAEb,CACEhB,MAAO,kBACPW,IAAK,MACLK,UAAW,GAEb,CACEhB,MAAO,gBACPW,IAAK,IACLK,UAAW,GAEb,CACEhB,MAAO,UACPW,IAAK,IACLK,UAAW,GAEb,CACEhB,MAAO,IACPW,IAAK,IACLZ,SAAU,CAAEJ,EAAKkB,mBAEnB,CACEb,MAAO,IACPW,IAAK,KAEP,CACEX,MAAO,IACPW,IAAK,IACLZ,SAAU,CAAEJ,EAAKkB,mBAEnB,CACEb,MAAO,UACPgB,UAAW,GAEb,CACEhB,MAAO,eACPgB,UAAW,KAIjB,CACET,UAAW,SACXP,MAAO,4EACPgB,UAAW,GAEb,CACEhB,MAAO,WAAaL,EAAKyP,eAAiB,gDAC1ClO,SAAU,kCACVF,UAAW,EACXjB,SAAU,CACRJ,EAAKuK,kBACL,CACE3J,UAAW,SACXG,SAAU,CAER,CAAEV,MAAOiQ,EAAiB,SAAUrQ,EAAMiL,UAAUmF,EAAc,CAAEQ,SAAS,MAE7E,CAAExQ,MAAOiQ,EAAiB,SAAU,MAAO,QAC3C,CAAEjQ,MAAOiQ,EAAiB,SAAU,MAAO,QAC3C,CAAEjQ,MAAOiQ,EAAiB,SAAU,MAAO,SAE7CjP,UAAW,GAEb,CACET,UAAW,SACXG,SAAU,CACR,CAGEV,MAAO,aACPgB,UAAW,GAGb,CAAEhB,MAAOsQ,EAAU,YAAa,KAAM,OAEtC,CAAEtQ,MAAOsQ,EAAU,OAAQ1Q,EAAMiL,UAAUmF,EAAc,CAAEQ,SAAS,IAAS,OAE7E,CAAExQ,MAAOsQ,EAAU,OAAQ,KAAM,OACjC,CAAEtQ,MAAOsQ,EAAU,OAAQ,KAAM,OACjC,CAAEtQ,MAAOsQ,EAAU,OAAQ,KAAM,WAKzC,CACE/P,UAAW,WACXmC,cAAe,MACf/B,IAAK,uBACLkC,YAAY,EACZ7B,UAAW,EACXjB,SAAU,CAAEJ,EAAK2B,aAEnB,CACEtB,MAAO,UACPgB,UAAW,GAEb,CACEhB,MAAO,aACPW,IAAK,YACL8C,YAAa,cACb1D,SAAU,CACR,CACEC,MAAO,QACPW,IAAK,IACLJ,UAAW,cAQnB,OAHAgI,EAAMxI,SAAWwQ,EACjBV,EAAO9P,SAAWwQ,EAEX,CACLvN,KAAM,OACNC,QAAS,CACP,KACA,MAEF/B,SAAU0O,EACV7P,SAAUwQ,GAIdlN,EAAOC,QAAUoM,G,qBC9cjB,SAASe,EAAS9Q,GAEhB,MAAM2I,EAAW,CACf/H,UAAW,WACXG,SAAU,CACR,CACEV,MAAO,SAAWL,EAAKoM,oBAAsB,MAC7ChM,SAAU,CAAEJ,EAAKkB,mBAEnB,CAAEb,MAAO,oBAIP0Q,EAAe,CACnBnQ,UAAW,SACXP,MAAO,IACPW,IAAK,IACLZ,SAAU,CACRJ,EAAKkB,iBACLyH,IAIEqI,EAAO,CACXpQ,UAAW,WACXP,MAAO,eACPW,IAAK,KACLO,SAAU,CAAEgB,SACR,kPAIJnC,SAAU,CAAEuI,IAGRsI,EAAa,CAAE5Q,MAAO,IAAML,EAAKoM,oBAAsB,mBAEvD8E,EAAO,CACXtQ,UAAW,OACXP,MAAO,YACPW,IAAK,IACLO,SAAU,CACR+F,SAAU,UACV9F,QAAS,WAIP2P,EAAS,CACbvQ,UAAW,UACXP,MAAO,WACPW,IAAK,IACLZ,SAAU,CAAEuI,IAEd,MAAO,CACLtF,KAAM,WACNC,QAAS,CACP,KACA,MACA,QAEF/B,SAAU,CACR+F,SAAU,SACV9F,QAAS,6HAGXpB,SAAU,CACRJ,EAAKuK,kBACL5B,EACAoI,EACAC,EACAC,EACAC,EACAC,IAKNzN,EAAOC,QAAUmN,G,qBC9EjB,SAASM,EAAUpR,GACjB,MAAMC,EAAQD,EAAKC,MAIbC,EAAsBF,EAAKG,QAAQ,KAAM,IAAK,CAAEC,SAAU,CAAE,CAAEC,MAAO,WACrEC,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBL,EAAMS,SAASH,GACf,gBAAkBN,EAAMS,SAASF,GACnC,IAEIG,EAAsB,CAC1BC,UAAW,OACXP,MAAO,sBAKHQ,EAAoB,uDACpBC,EAAU,CACdF,UAAW,SACXG,SAAU,CACR,CACEV,MAAO,cACPW,IAAK,IACLC,QAAS,MACTb,SAAU,CAAEJ,EAAKkB,mBAEnB,CACEb,MAAO,eAAkBQ,EAAoB,MAC7CG,IAAK,IACLC,QAAS,KAEXjB,EAAKmB,kBAAkB,CACrBd,MAAO,mCACPW,IAAK,0BAKLI,EAAU,CACdR,UAAW,SACXG,SAAU,CACR,CAAEV,MAAO,iBACT,CAAEA,MAAO,yFACT,CAAEA,MAAO,wFAEXgB,UAAW,GAGPC,EAAe,CACnBV,UAAW,OACXP,MAAO,eACPW,IAAK,IACLO,SAAU,CAAEC,QACR,0FAEJpB,SAAU,CACR,CACEC,MAAO,OACPgB,UAAW,GAEbrB,EAAKyB,QAAQX,EAAS,CAAEF,UAAW,WACnC,CACEA,UAAW,SACXP,MAAO,SAETH,EACAF,EAAK0B,uBAIHC,EAAa,CACjBf,UAAW,QACXP,MAAOJ,EAAMS,SAASH,GAAgBP,EAAK4B,SAC3CP,UAAW,GAGPQ,EAAiB5B,EAAMS,SAASH,GAAgBP,EAAK4B,SAAW,UAGhEE,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,UAIIC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,UAGIC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,gBAGIC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,YAGIC,EAAW,CACf,OACA,QACA,UACA,UACA,QAIIC,EAAW,CAAE,WAEbC,EAAe,CACnBC,KAAMN,EACNP,QAASM,EACTQ,QAASJ,EACTK,SAAUJ,EACVK,YAAaR,GAGTS,EAAoB,CACxB7B,UAAW,oBACXS,UAAW,EACXE,SAAU,CAERmB,MAAOT,GACT5B,MAAOJ,EAAM0C,OACX,KACA,eACA,SACA,UACA,aACA,YACA3C,EAAK4B,SACL3B,EAAM2C,UAAU,sBAGdC,EAAsB,CAC1BJ,EACAnB,EACAX,EACAT,EACAF,EAAK0B,qBACLN,EACAN,GAGIgC,EAAqB,CAIzB/B,SAAU,CACR,CACEV,MAAO,IACPW,IAAK,KAEP,CACEX,MAAO,KACPW,IAAK,MAEP,CACE+B,cAAe,wBACf/B,IAAK,MAGTO,SAAUa,EACVhC,SAAUyC,EAAoBF,OAAO,CACnC,CACEtC,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVhC,SAAUyC,EAAoBF,OAAO,CAAE,SACvCtB,UAAW,KAGfA,UAAW,GAGP2B,EAAuB,CAC3BpC,UAAW,WACXP,MAAO,IAAMI,EAAmB,eAAiBoB,EACjDoB,aAAa,EACbjC,IAAK,QACLkC,YAAY,EACZ3B,SAAUa,EACVnB,QAAS,iBACTb,SAAU,CACR,CACEC,MAAOC,EACPiB,SAAUa,EACVf,UAAW,GAEb,CACEhB,MAAOwB,EACPoB,aAAa,EACb7C,SAAU,CAAEuB,GACZN,UAAW,GAIb,CACEhB,MAAO,KACPgB,UAAW,GAGb,CACEhB,MAAO,IACP8C,gBAAgB,EAChB/C,SAAU,CACRU,EACAM,IAKJ,CACEC,UAAW,EACX+B,MAAO,KAET,CACExC,UAAW,SACXP,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVf,UAAW,EACXjB,SAAU,CACRF,EACAF,EAAK0B,qBACLZ,EACAM,EACAT,EAEA,CACEN,MAAO,KACPW,IAAK,KACLO,SAAUa,EACVf,UAAW,EACXjB,SAAU,CACR,OACAF,EACAF,EAAK0B,qBACLZ,EACAM,EACAT,MAKRA,EACAT,EACAF,EAAK0B,qBACLJ,IAIJ,MAAO,CACL+B,KAAM,MACNC,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,OAEF/B,SAAUa,EACVnB,QAAS,KACTsC,iBAAkB,CAAE,oBAAqB,YACzCnD,SAAU,GAAGuC,OACXG,EACAE,EACAP,EACAI,EACA,CACEvB,EACA,CACEjB,MAAO,4MACPW,IAAK,IACLO,SAAUa,EACVhC,SAAU,CACR,OACAO,IAGJ,CACEN,MAAOL,EAAK4B,SAAW,KACvBL,SAAUa,GAEZ,CACEgB,MAAO,CAEL,wDACA,MACA,OAEFxC,UAAW,CACT4C,EAAG,UACHC,EAAG,mBAef,SAAS4N,EAAQrR,GACf,MAAMsR,EAAa,CACjBjP,KAAM,CACJ,UACA,OACA,OACA,UAEFE,SAAU,CACR,qBACA,kBACA,iBACA,iBACA,iBACA,gBACA,eACA,eACA,cACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MAEFgP,OAAQ,CACN,QACA,OACA,gCACA,wBACA,wBACA,uBACA,uBACA,sBACA,sBACA,qBACA,qBACA,qBACA,qBACA,qBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,mBACA,mBACA,mBACA,mBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,iBACA,iBACA,iBACA,iBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEFjP,QAAS,CACP,kBACA,iBACA,iBACA,iBACA,gBACA,eACA,eACA,eACA,eACA,cACA,cACA,cACA,WACA,WACA,UACA,SACA,QACA,OACA,QAIEkP,EAAUJ,EAAUpR,GAEpByR,EAAyCD,EAAgB,SAoB/D,OAlBAC,EAAIpP,KAAO,IACNoP,EAAIpP,QACJiP,EAAWjP,MAEhBoP,EAAInP,QAAU,IACTmP,EAAInP,WACJgP,EAAWhP,SAEhBmP,EAAIlP,SAAW,IACVkP,EAAIlP,YACJ+O,EAAW/O,UAEhBkP,EAAIF,OAASD,EAAWC,OAExBC,EAAQnO,KAAO,UACfmO,EAAQlO,QAAU,CAAE,OACpBkO,EAAQE,WAAa,MAEdF,EAGT9N,EAAOC,QAAU0N,G,mBCj8BjB,SAASM,EAAO3R,GACd,MAAMC,EAAQD,EAAKC,MACb2B,EAAW,qCACXgQ,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,SAGI1M,EAAY,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MAC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CA,QACA,SACA,QACA,OACA,UAEIC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,WAEIC,EAAmB,CACvB,UACA,QACA,OACA,QAEIC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,SAEIC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,SAGIpN,EAAW,CACf7D,QAASgR,EAAgB7P,OAAO8P,GAChClQ,SAAU8P,EACV/P,QAASiQ,GAEL5Q,EAAa3B,EAAKyB,QAAQzB,EAAK2B,WAAY,CAAEtB,MAAO,uBACpDe,EAAU,CACdR,UAAW,SACXG,SAAU,CACR,CAAEV,MAAO,iBACT,CAAEA,MAAO,mEACT,CAAEA,MAAO,wFAEXgB,UAAW,GAEPqR,EAAkB,CACtB9R,UAAW,SACXP,MAAO,KACPW,IAAK,IACLZ,SAAU,CAAE,CAAEC,MAAO,QAEjBsS,EAAwB3S,EAAKyB,QAAQiR,EAAiB,CAAEzR,QAAS,OACjE2H,EAAQ,CACZhI,UAAW,QACXP,MAAO,KACPW,IAAK,KACLO,SAAU8D,GAENuN,EAAc5S,EAAKyB,QAAQmH,EAAO,CAAE3H,QAAS,OAC7C4R,EAAsB,CAC1BjS,UAAW,SACXP,MAAO,MACPW,IAAK,IACLC,QAAS,KACTb,SAAU,CACR,CAAEC,MAAO,QACT,CAAEA,MAAO,QACTL,EAAKkB,iBACL0R,IAGEE,EAA+B,CACnClS,UAAW,SACXP,MAAO,OACPW,IAAK,IACLZ,SAAU,CACR,CAAEC,MAAO,QACT,CAAEA,MAAO,QACT,CAAEA,MAAO,MACTuI,IAGEmK,EAAqC/S,EAAKyB,QAAQqR,EAA8B,CACpF7R,QAAS,KACTb,SAAU,CACR,CAAEC,MAAO,QACT,CAAEA,MAAO,QACT,CAAEA,MAAO,MACTuS,KAGJhK,EAAMxI,SAAW,CACf0S,EACAD,EACAH,EACA1S,EAAKuF,iBACLvF,EAAKsF,kBACLlE,EACApB,EAAK0B,sBAEPkR,EAAYxS,SAAW,CACrB2S,EACAF,EACAF,EACA3S,EAAKuF,iBACLvF,EAAKsF,kBACLlE,EACApB,EAAKyB,QAAQzB,EAAK0B,qBAAsB,CAAET,QAAS,QAErD,MAAMgI,EAAS,CAAElI,SAAU,CACzB+R,EACAD,EACAH,EACA1S,EAAKuF,iBACLvF,EAAKsF,oBAGD0N,EAAmB,CACvB3S,MAAO,IACPW,IAAK,IACLZ,SAAU,CACR,CAAE2C,cAAe,UACjBpB,IAGEsR,EAAgBjT,EAAK4B,SAAW,KAAO5B,EAAK4B,SAAW,aAAe5B,EAAK4B,SAAW,iBACtFsR,EAAgB,CAGpB7S,MAAO,IAAML,EAAK4B,SAClBP,UAAW,GAGb,MAAO,CACLgC,KAAM,KACNC,QAAS,CACP,KACA,MAEF/B,SAAU8D,EACVpE,QAAS,KACTb,SAAU,CACRJ,EAAKG,QACH,MACA,IACA,CACE8C,aAAa,EACb7C,SAAU,CACR,CACEQ,UAAW,SACXG,SAAU,CACR,CACEV,MAAO,MACPgB,UAAW,GAEb,CAAEhB,MAAO,kBACT,CACEA,MAAO,MACPW,IAAK,UAOjBhB,EAAKE,oBACLF,EAAK0B,qBACL,CACEd,UAAW,OACXP,MAAO,IACPW,IAAK,IACLO,SAAU,CAAEC,QAAS,wFAEvByH,EACA7H,EACA,CACE2B,cAAe,kBACf1B,UAAW,EACXL,IAAK,QACLC,QAAS,UACTb,SAAU,CACR,CAAE2C,cAAe,eACjBpB,EACAqR,EACAhT,EAAKE,oBACLF,EAAK0B,uBAGT,CACEqB,cAAe,YACf1B,UAAW,EACXL,IAAK,QACLC,QAAS,SACTb,SAAU,CACRuB,EACA3B,EAAKE,oBACLF,EAAK0B,uBAGT,CACEqB,cAAe,SACf1B,UAAW,EACXL,IAAK,QACLC,QAAS,SACTb,SAAU,CACRuB,EACAqR,EACAhT,EAAKE,oBACLF,EAAK0B,uBAGT,CAEEd,UAAW,OACXP,MAAO,oBACP8D,cAAc,EACdnD,IAAK,MACLkC,YAAY,EACZ9C,SAAU,CACR,CACEQ,UAAW,SACXP,MAAO,IACPW,IAAK,OAIX,CAGE+B,cAAe,8BACf1B,UAAW,GAEb,CACET,UAAW,WACXP,MAAO,IAAM4S,EAAgB,SAAWjT,EAAK4B,SAAW,wBACxDqB,aAAa,EACbjC,IAAK,WACLkC,YAAY,EACZ3B,SAAU8D,EACVjF,SAAU,CAER,CACE2C,cAAeuP,EAAmB9K,KAAK,KACvCnG,UAAW,GAEb,CACEhB,MAAOL,EAAK4B,SAAW,wBACvBqB,aAAa,EACb7C,SAAU,CACRJ,EAAK2B,WACLqR,GAEF3R,UAAW,GAEb,CAAE+B,MAAO,QACT,CACExC,UAAW,SACXP,MAAO,KACPW,IAAK,KACLmD,cAAc,EACdjB,YAAY,EACZ3B,SAAU8D,EACVhE,UAAW,EACXjB,SAAU,CACR6I,EACA7H,EACApB,EAAK0B,uBAGT1B,EAAKE,oBACLF,EAAK0B,uBAGTwR,IAKNxP,EAAOC,QAAUyO,G,qBCtYjB,SAASe,EAAWnT,GAClB,MAAMoT,EAAY,CAChBxS,UAAW,WACXP,MAAO,wEAEHgT,EAAgB,yBAChBlO,EAAQ,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,SAEIC,EAAM,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,iBAEIlD,EAAW,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,QAEIgD,EAAY,CAChB,kBACA,mBACA,gBACA,iBACA,iBAEIG,EAAW,CACf,oBAAqB,CACnB,OACA,SAEFiC,SAAU+L,EACV7R,QAAS4D,EACT9C,QAASJ,EACTK,SAAU2C,EACV7C,KAAM8C,GAEFmO,EAAiB,CACrBhM,SAAU+L,EACV7R,QAAS,CACP,aACA,SACA,YACA,oBAGJ,MAAO,CACL6B,KAAM,cACNC,QAAS,CACP,KACA,OACA,QACA,UACA,iBAEF/B,SAAU8D,EACVpE,QAAS,KACTb,SAAU,CACRgT,EACApT,EAAKE,oBACLF,EAAK0B,qBACL1B,EAAKyF,cACLzF,EAAKsF,kBACLtF,EAAKuF,iBACL,CACE3E,UAAW,SACXG,SAAU,CACR,CACEV,MAAO,KACPW,IAAK,IACLC,QAAS,MACTb,SAAU,CAAEJ,EAAKkB,qBAIvB,CACEN,UAAW,OACXP,MAAO,eACPW,IAAK,IACLO,SAAU,CAAEC,QACR,kFAEJpB,SAAU,CACR,CACEC,MAAO,OACPgB,UAAW,GAEbrB,EAAKyB,QAAQzB,EAAKsF,kBAAmB,CAAE1E,UAAW,WAClD,CACEA,UAAW,SACXP,MAAO,QACPW,IAAK,IACLC,QAAS,OAEXjB,EAAKE,oBACLF,EAAK0B,uBAGT,CACEd,UAAW,QACXP,MAAO,IAAMiT,EAAe9R,QAAQgG,KAAK,KAAO,OAChDxG,IAAK,SACLkC,YAAY,EACZ3B,SAAU+R,EACVlT,SAAU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AOC,QAAUqQ,G,mBC/EjB,MAAMrO,EAAS3F,IACN,CACL4F,UAAW,CACTC,MAAO,OACPxF,MAAO,cAETyF,cAAe9F,EAAK0B,qBACpBqE,SAAU,CACRF,MAAO,SACPxF,MAAO,mDAEToC,kBAAmB,CACjB7B,UAAW,WACXP,MAAO,gBAET2F,wBAAyB,CACvBH,MAAO,gBACPxF,MAAO,KACPW,IAAK,KACLC,QAAS,IACTb,SAAU,CACRJ,EAAKuF,iBACLvF,EAAKsF,oBAGTW,gBAAiB,CACfJ,MAAO,SACPxF,MAAOL,EAAKkG,UAALlG,kGASPqB,UAAW,GAEb8E,aAAc,CACZvF,UAAW,OACXP,MAAO,8BAKP+F,EAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,SAGIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cAIIC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SAIIC,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBAGIC,EAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,WAGAC,UASF,SAAS2N,EAAIpU,GACX,MAAMC,EAAQD,EAAKC,MACb2G,EAAQjB,EAAM3F,GACdqU,EAAgB,CAAEhU,MAAO,gCACzByG,EAAe,kBACfwN,EAAiB,oBACjB1S,EAAW,0BACXd,EAAU,CACdd,EAAKuF,iBACLvF,EAAKsF,mBAGP,MAAO,CACLjC,KAAM,MACN6E,kBAAkB,EAClBjH,QAAS,UACTM,SAAU,CAAEgT,iBAAkB,WAC9BhR,iBAAkB,CAGhBgR,iBAAkB,gBACpBnU,SAAU,CACRwG,EAAMd,cACNuO,EAGAzN,EAAMX,gBACN,CACErF,UAAW,cACXP,MAAO,kBACPgB,UAAW,GAEb,CACET,UAAW,iBACXP,MAAO,MAAQuB,EACfP,UAAW,GAEbuF,EAAMZ,wBACN,CACEpF,UAAW,kBACXG,SAAU,CACR,CAAEV,MAAO,KAAOiG,EAAekB,KAAK,KAAO,KAC3C,CAAEnH,MAAO,SAAWkG,EAAgBiB,KAAK,KAAO,OASpDZ,EAAMT,aACN,CACEvF,UAAW,YACXP,MAAO,OAASmG,EAAWgB,KAAK,KAAO,QAGzC,CACEnH,MAAO,IACPW,IAAK,QACLZ,SAAU,CACRwG,EAAMd,cACNc,EAAMb,SACNa,EAAMhB,UACNgB,EAAMX,mBACHnF,EAIH,CACET,MAAO,mBACPW,IAAK,KACLK,UAAW,EACXE,SAAU,CAAEgB,SAAU,gBACtBnC,SAAU,CACR,CACEQ,UAAW,SAGXP,MAAO,OACP8C,gBAAgB,EAChBD,YAAY,KAIlB0D,EAAMnE,oBAGV,CACEpC,MAAOJ,EAAM2C,UAAU,KACvB5B,IAAK,OACLK,UAAW,EACXJ,QAAS,IACTb,SAAU,CACR,CACEQ,UAAW,UACXP,MAAOiU,GAET,CACEjU,MAAO,KACP8C,gBAAgB,EAChBD,YAAY,EACZ7B,UAAW,EACXE,SAAU,CACR+F,SAAU,UACV9F,QAASsF,EACTS,UAAWlB,EAAemB,KAAK,MAEjCpH,SAAU,CACR,CACEC,MAAO,eACPO,UAAW,gBAEVE,EACH8F,EAAMX,oBAKd,CACErF,UAAW,eACXP,MAAO,OAAS+F,EAAKoB,KAAK,KAAO,UAMzC9D,EAAOC,QAAUyQ,G,mBCttBjB,SAASI,EAAKxU,GACZ,MAAMC,EAAQD,EAAKC,MACbkQ,EAAM,GACNsE,EAAa,CACjBpU,MAAO,OACPW,IAAK,KACLZ,SAAU,CACR,OACA,CACEC,MAAO,KACPD,SAAU,CAAE+P,MAIlBuE,OAAOC,OAAOxE,EAAK,CACjBvP,UAAW,WACXG,SAAU,CACR,CAAEV,MAAOJ,EAAM0C,OAAO,qBAGpB,wBACF8R,KAIJ,MAAM7L,EAAQ,CACZhI,UAAW,QACXP,MAAO,OACPW,IAAK,KACLZ,SAAU,CAAEJ,EAAKkB,mBAEb0T,EAAW,CACfvU,MAAO,iBACPqH,OAAQ,CAAEtH,SAAU,CAClBJ,EAAKmB,kBAAkB,CACrBd,MAAO,QACPW,IAAK,QACLJ,UAAW,cAIXmQ,EAAe,CACnBnQ,UAAW,SACXP,MAAO,IACPW,IAAK,IACLZ,SAAU,CACRJ,EAAKkB,iBACLiP,EACAvH,IAGJA,EAAMxI,SAASuE,KAAKoM,GACpB,MAAM8D,EAAgB,CACpBjU,UAAW,GACXP,MAAO,OAGHyU,EAAc,CAClBlU,UAAW,SACXP,MAAO,IACPW,IAAK,KAED+T,EAAa,CACjB1U,MAAO,SACPW,IAAK,OACLZ,SAAU,CACR,CACEC,MAAO,gBACPO,UAAW,UAEbZ,EAAKgV,YACL7E,IAGE8E,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,QAEIC,EAAgBlV,EAAKuP,QAAQ,CACjCC,OAAQ,IAAIyF,EAAezN,KAAK,QAChCnG,UAAW,KAEP8T,EAAW,CACfvU,UAAW,WACXP,MAAO,4BACP4C,aAAa,EACb7C,SAAU,CAAEJ,EAAKyB,QAAQzB,EAAK2B,WAAY,CAAEtB,MAAO,gBACnDgB,UAAW,GAGPgE,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,KACA,KACA,OACA,OACA,OACA,YAGInD,EAAW,CACf,OACA,SAIIkT,EAAY,CAAEhS,MAAO,kBAGrBiS,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,SAGIC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,WAGIC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,QAGIC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,OAGF,MAAO,CACLnS,KAAM,OACNC,QAAS,CAAE,MACX/B,SAAU,CACR+F,SAAU,wBACV9F,QAAS6D,EACT/C,QAASJ,EACTK,SAAU,IACL8S,KACAC,EAEH,MACA,WACGC,KACAC,IAGPpV,SAAU,CACR8U,EACAlV,EAAKuP,UACL4F,EACAJ,EACA/U,EAAKuK,kBACLqK,EACAQ,EACArE,EACA8D,EACAC,EACA3E,IAKNzM,EAAOC,QAAU6Q","file":"js/group-lesson~981bc102.2eb00b27.js","sourcesContent":["/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n 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*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\nmodule.exports = cpp;\n","/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi \nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?!\\*)/,\n end: /\\*/\n },\n {\n begin: /_(?!_)/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n HORIZONTAL_RULE,\n LINK,\n LINK_REFERENCE\n ]\n };\n}\n\nmodule.exports = markdown;\n","/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg \nContributors: Evgeny Stepanischev \nDescription: Google go language (golang). For info about language\nWebsite: http://golang.org/\nCategory: common, system\n*/\n\nfunction go(hljs) {\n const LITERALS = [\n \"true\",\n \"false\",\n \"iota\",\n \"nil\"\n ];\n const BUILT_INS = [\n \"append\",\n \"cap\",\n \"close\",\n \"complex\",\n \"copy\",\n \"imag\",\n \"len\",\n \"make\",\n \"new\",\n \"panic\",\n \"print\",\n \"println\",\n \"real\",\n \"recover\",\n \"delete\"\n ];\n const TYPES = [\n \"bool\",\n \"byte\",\n \"complex64\",\n \"complex128\",\n \"error\",\n \"float32\",\n \"float64\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"string\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"int\",\n \"uint\",\n \"uintptr\",\n \"rune\"\n ];\n const KWS = [\n \"break\",\n \"case\",\n \"chan\",\n \"const\",\n \"continue\",\n \"default\",\n \"defer\",\n \"else\",\n \"fallthrough\",\n \"for\",\n \"func\",\n \"go\",\n \"goto\",\n \"if\",\n \"import\",\n \"interface\",\n \"map\",\n \"package\",\n \"range\",\n \"return\",\n \"select\",\n \"struct\",\n \"switch\",\n \"type\",\n \"var\",\n ];\n const KEYWORDS = {\n keyword: KWS,\n type: TYPES,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n return {\n name: 'Go',\n aliases: [ 'golang' ],\n keywords: KEYWORDS,\n illegal: ' {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'p',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n];\n\nconst ATTRIBUTES = [\n 'align-content',\n 'align-items',\n 'align-self',\n 'all',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'direction',\n 'display',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-variant',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inline-size',\n 'isolation',\n 'justify-content',\n 'left',\n 'letter-spacing',\n 'line-break',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'row-gap',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-style',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'unicode-bidi',\n 'vertical-align',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'z-index'\n // reverse makes sure longer attributes `font-weight` are matched fully\n // instead of getting false positives on say `font`\n].reverse();\n\n// some grammars use them all as a single group\nconst PSEUDO_SELECTORS = PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS);\n\n/*\nLanguage: Less\nDescription: It's CSS, with just a little more.\nAuthor: Max Mikhailov \nWebsite: http://lesscss.org\nCategory: common, css, web\n*/\n\n/** @type LanguageFn */\nfunction less(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_SELECTORS$1 = PSEUDO_SELECTORS;\n\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[\\\\w-]+'; // yes, Less identifiers may begin with a digit\n const INTERP_IDENT_RE = '(' + IDENT_RE + '|@\\\\{' + IDENT_RE + '\\\\})';\n\n /* Generic Modes */\n\n const RULES = []; const VALUE_MODES = []; // forward def. for recursive modes\n\n const STRING_MODE = function(c) {\n return {\n // Less strings are not multiline (also include '~' for more consistent coloring of \"escaped\" strings)\n className: 'string',\n begin: '~?' + c + '.*?' + c\n };\n };\n\n const IDENT_MODE = function(name, begin, relevance) {\n return {\n className: name,\n begin: begin,\n relevance: relevance\n };\n };\n\n const AT_KEYWORDS = {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n };\n\n const PARENS_MODE = {\n // used only to properly balance nested parens inside mixin call, def. arg list\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_MODES,\n keywords: AT_KEYWORDS,\n relevance: 0\n };\n\n // generic Less highlighter (used almost everywhere except selectors):\n VALUE_MODES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING_MODE(\"'\"),\n STRING_MODE('\"'),\n modes.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(\n {\n begin: '(url|data-uri)\\\\(',\n starts: {\n className: 'string',\n end: '[\\\\)\\\\n]',\n excludeEnd: true\n }\n },\n modes.HEXCOLOR,\n PARENS_MODE,\n IDENT_MODE('variable', '@@?' + IDENT_RE, 10),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'),\n IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string\n { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding):\n className: 'attribute',\n begin: IDENT_RE + '\\\\s*:',\n end: ':',\n returnBegin: true,\n excludeEnd: true\n },\n modes.IMPORTANT\n );\n\n const VALUE_WITH_RULESETS = VALUE_MODES.concat({\n begin: /\\{/,\n end: /\\}/,\n contains: RULES\n });\n\n const MIXIN_GUARD_MODE = {\n beginKeywords: 'when',\n endsWithParent: true,\n contains: [ { beginKeywords: 'and not' } ].concat(VALUE_MODES) // using this form to override VALUE’s 'function' match\n };\n\n /* Rule-Level Modes */\n\n const RULE_MODE = {\n begin: INTERP_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n end: /[;}]/,\n relevance: 0,\n contains: [\n { begin: /-(webkit|moz|ms|o)-/ },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n end: /(?=:)/,\n starts: {\n endsWithParent: true,\n illegal: '[<=$]',\n relevance: 0,\n contains: VALUE_MODES\n }\n }\n ]\n };\n\n const AT_RULE_MODE = {\n className: 'keyword',\n begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',\n starts: {\n end: '[;{}]',\n keywords: AT_KEYWORDS,\n returnEnd: true,\n contains: VALUE_MODES,\n relevance: 0\n }\n };\n\n // variable definitions and calls\n const VAR_RULE_MODE = {\n className: 'variable',\n variants: [\n // using more strict pattern for higher relevance to increase chances of Less detection.\n // this is *the only* Less specific statement used in most of the sources, so...\n // (we’ll still often loose to the css-parser unless there's '//' comment,\n // simply because 1 variable just can't beat 99 properties :)\n {\n begin: '@' + IDENT_RE + '\\\\s*:',\n relevance: 15\n },\n { begin: '@' + IDENT_RE }\n ],\n starts: {\n end: '[;}]',\n returnEnd: true,\n contains: VALUE_WITH_RULESETS\n }\n };\n\n const SELECTOR_MODE = {\n // first parse unambiguous selectors (i.e. those not starting with tag)\n // then fall into the scary lookahead-discriminator variant.\n // this mode also handles mixin definitions and calls\n variants: [\n {\n begin: '[\\\\.#:&\\\\[>]',\n end: '[;{}]' // mixin calls end with ';'\n },\n {\n begin: INTERP_IDENT_RE,\n end: /\\{/\n }\n ],\n returnBegin: true,\n returnEnd: true,\n illegal: '[<=\\'$\"]',\n relevance: 0,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n MIXIN_GUARD_MODE,\n IDENT_MODE('keyword', 'all\\\\b'),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'), // otherwise it’s identified as tag\n {\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n className: 'selector-tag'\n },\n modes.CSS_NUMBER_MODE,\n IDENT_MODE('selector-tag', INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE),\n IDENT_MODE('selector-class', '\\\\.' + INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-tag', '&', 0),\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')'\n },\n {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n contains: VALUE_WITH_RULESETS\n }, // argument list of parametric mixins\n { begin: '!important' }, // eat !important after mixin call or it will be colored as tag\n modes.FUNCTION_DISPATCH\n ]\n };\n\n const PSEUDO_SELECTOR_MODE = {\n begin: IDENT_RE + ':(:)?' + `(${PSEUDO_SELECTORS$1.join('|')})`,\n returnBegin: true,\n contains: [ SELECTOR_MODE ]\n };\n\n RULES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_RULE_MODE,\n VAR_RULE_MODE,\n PSEUDO_SELECTOR_MODE,\n RULE_MODE,\n SELECTOR_MODE\n );\n\n return {\n name: 'Less',\n case_insensitive: true,\n illegal: '[=>\\'/<($\"]',\n contains: RULES\n };\n}\n\nmodule.exports = less;\n","/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal128\",\n // modifiers\n \"const\",\n \"static\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nmodule.exports = c;\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: 'meta',\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n const HEREDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*(\\w+)\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // \n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // \n // \n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // \n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // \n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // \n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*/, PASCAL_CASE_CLASS_NAME_RE),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n match: PASCAL_CASE_CLASS_NAME_RE\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nmodule.exports = php;\n","/*\nLanguage: TOML, also INI\nDescription: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.\nContributors: Guillaume Gomez \nCategory: common, config\nWebsite: https://github.com/toml-lang/toml\n*/\n\nfunction ini(hljs) {\n const regex = hljs.regex;\n const NUMBERS = {\n className: 'number',\n relevance: 0,\n variants: [\n { begin: /([+-]+)?[\\d]+_[\\d_]+/ },\n { begin: hljs.NUMBER_RE }\n ]\n };\n const COMMENTS = hljs.COMMENT();\n COMMENTS.variants = [\n {\n begin: /;/,\n end: /$/\n },\n {\n begin: /#/,\n end: /$/\n }\n ];\n const VARIABLES = {\n className: 'variable',\n variants: [\n { begin: /\\$[\\w\\d\"][\\w\\d_]*/ },\n { begin: /\\$\\{(.*?)\\}/ }\n ]\n };\n const LITERALS = {\n className: 'literal',\n begin: /\\bon|off|true|false|yes|no\\b/\n };\n const STRINGS = {\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: \"'''\",\n end: \"'''\",\n relevance: 10\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: \"'\",\n end: \"'\"\n }\n ]\n };\n const ARRAY = {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n COMMENTS,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS,\n 'self'\n ],\n relevance: 0\n };\n\n const BARE_KEY = /[A-Za-z0-9_-]+/;\n const QUOTED_KEY_DOUBLE_QUOTE = /\"(\\\\\"|[^\"])*\"/;\n const QUOTED_KEY_SINGLE_QUOTE = /'[^']*'/;\n const ANY_KEY = regex.either(\n BARE_KEY, QUOTED_KEY_DOUBLE_QUOTE, QUOTED_KEY_SINGLE_QUOTE\n );\n const DOTTED_KEY = regex.concat(\n ANY_KEY, '(\\\\s*\\\\.\\\\s*', ANY_KEY, ')*',\n regex.lookahead(/\\s*=\\s*[^#\\s]/)\n );\n\n return {\n name: 'TOML, also INI',\n aliases: [ 'toml' ],\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n COMMENTS,\n {\n className: 'section',\n begin: /\\[+/,\n end: /\\]+/\n },\n {\n begin: DOTTED_KEY,\n className: 'attr',\n starts: {\n end: /$/,\n contains: [\n COMMENTS,\n ARRAY,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS\n ]\n }\n }\n ]\n };\n}\n\nmodule.exports = ini;\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov \nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\n/**\n * Allows recursive regex expressions to a given depth\n *\n * ie: recurRegex(\"(abc~~~)\", /~~~/g, 2) becomes:\n * (abc(abc(abc)))\n *\n * @param {string} re\n * @param {RegExp} substitution (should be a g mode regex)\n * @param {number} depth\n * @returns {string}``\n */\nfunction recurRegex(re, substitution, depth) {\n if (depth === -1) return \"\";\n\n return re.replace(substitution, _ => {\n return recurRegex(re, substitution, depth - 1);\n });\n}\n\n/** @type LanguageFn */\nfunction java(hljs) {\n const regex = hljs.regex;\n const JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n const GENERIC_IDENT_RE = JAVA_IDENT_RE\n + recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\\\s*,\\\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);\n const MAIN_KEYWORDS = [\n 'synchronized',\n 'abstract',\n 'private',\n 'var',\n 'static',\n 'if',\n 'const ',\n 'for',\n 'while',\n 'strictfp',\n 'finally',\n 'protected',\n 'import',\n 'native',\n 'final',\n 'void',\n 'enum',\n 'else',\n 'break',\n 'transient',\n 'catch',\n 'instanceof',\n 'volatile',\n 'case',\n 'assert',\n 'package',\n 'default',\n 'public',\n 'try',\n 'switch',\n 'continue',\n 'throws',\n 'protected',\n 'public',\n 'private',\n 'module',\n 'requires',\n 'exports',\n 'do',\n 'sealed'\n ];\n\n const BUILT_INS = [\n 'super',\n 'this'\n ];\n\n const LITERALS = [\n 'false',\n 'true',\n 'null'\n ];\n\n const TYPES = [\n 'char',\n 'boolean',\n 'long',\n 'float',\n 'int',\n 'byte',\n 'short',\n 'double'\n ];\n\n const KEYWORDS = {\n keyword: MAIN_KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n };\n\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + JAVA_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ \"self\" ] // allow nested () inside our annotation\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [ hljs.C_BLOCK_COMMENT_MODE ],\n endsParent: true\n };\n\n return {\n name: 'Java',\n aliases: [ 'jsp' ],\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n // relevance boost\n {\n begin: /import java\\.[a-z]+\\./,\n keywords: \"import\",\n relevance: 2\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n match: [\n /\\b(?:class|interface|enum|extends|implements|new)/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n // Exceptions for hyphenated keywords\n match: /non-sealed/,\n scope: \"keyword\"\n },\n {\n begin: [\n regex.concat(/(?!else)/, JAVA_IDENT_RE),\n /\\s+/,\n JAVA_IDENT_RE,\n /\\s+/,\n /=/\n ],\n className: {\n 1: \"type\",\n 3: \"variable\",\n 5: \"operator\"\n }\n },\n {\n begin: [\n /record/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n contains: [\n PARAMS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new throw return else',\n relevance: 0\n },\n {\n begin: [\n '(?:' + GENERIC_IDENT_RE + '\\\\s+)',\n hljs.UNDERSCORE_IDENT_RE,\n /\\s*(?=\\()/\n ],\n className: { 2: \"title.function\" },\n keywords: KEYWORDS,\n contains: [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n ANNOTATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMERIC,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n NUMERIC,\n ANNOTATION\n ]\n };\n}\n\nmodule.exports = java;\n","/*\nLanguage: Python REPL\nRequires: python.js\nAuthor: Josh Goebel \nCategory: common\n*/\n\nfunction pythonRepl(hljs) {\n return {\n aliases: [ 'pycon' ],\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'python'\n }\n },\n variants: [\n { begin: /^>>>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\nmodule.exports = pythonRepl;\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nmodule.exports = plaintext;\n","/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n const regex = hljs.regex;\n return {\n name: 'Diff',\n aliases: [ 'patch' ],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n match: regex.either(\n /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/,\n /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/,\n /^--- +\\d+,\\d+ +----$/\n )\n },\n {\n className: 'comment',\n variants: [\n {\n begin: regex.either(\n /Index: /,\n /^index/,\n /={3,}/,\n /^-{3}/,\n /^\\*{3} /,\n /^\\+{3}/,\n /^diff --git/\n ),\n end: /$/\n },\n { match: /^\\*{15}$/ }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nmodule.exports = diff;\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\") {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n // ``\n // technically this could be HTML, but it smells like a type\n let m;\n const afterMatch = match.input.substr(afterMatchIndex);\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: 'html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: 'css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\"\n ]),\n IDENT_RE$1, regex.lookahead(/\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'Javascript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n NUMBER,\n CLASS_REFERENCE,\n {\n className: 'attr',\n begin: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nmodule.exports = javascript;\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev \nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n // normally we would rely on `keywords` for this but using a mode here allows us\n // to use the very tight `illegal: \\S` rule later to flag any other character\n // as illegal indicating that despite looking like JSON we do not truly have\n // JSON and thus improve false-positively greatly since JSON will try and claim\n // all sorts of JSON looking stuff\n const LITERALS = { beginKeywords: [\n \"true\",\n \"false\",\n \"null\"\n ].join(\" \") };\n\n return {\n name: 'JSON',\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nmodule.exports = json;\n","/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = [\n 'abs',\n 'accept',\n 'alarm',\n 'and',\n 'atan2',\n 'bind',\n 'binmode',\n 'bless',\n 'break',\n 'caller',\n 'chdir',\n 'chmod',\n 'chomp',\n 'chop',\n 'chown',\n 'chr',\n 'chroot',\n 'close',\n 'closedir',\n 'connect',\n 'continue',\n 'cos',\n 'crypt',\n 'dbmclose',\n 'dbmopen',\n 'defined',\n 'delete',\n 'die',\n 'do',\n 'dump',\n 'each',\n 'else',\n 'elsif',\n 'endgrent',\n 'endhostent',\n 'endnetent',\n 'endprotoent',\n 'endpwent',\n 'endservent',\n 'eof',\n 'eval',\n 'exec',\n 'exists',\n 'exit',\n 'exp',\n 'fcntl',\n 'fileno',\n 'flock',\n 'for',\n 'foreach',\n 'fork',\n 'format',\n 'formline',\n 'getc',\n 'getgrent',\n 'getgrgid',\n 'getgrnam',\n 'gethostbyaddr',\n 'gethostbyname',\n 'gethostent',\n 'getlogin',\n 'getnetbyaddr',\n 'getnetbyname',\n 'getnetent',\n 'getpeername',\n 'getpgrp',\n 'getpriority',\n 'getprotobyname',\n 'getprotobynumber',\n 'getprotoent',\n 'getpwent',\n 'getpwnam',\n 'getpwuid',\n 'getservbyname',\n 'getservbyport',\n 'getservent',\n 'getsockname',\n 'getsockopt',\n 'given',\n 'glob',\n 'gmtime',\n 'goto',\n 'grep',\n 'gt',\n 'hex',\n 'if',\n 'index',\n 'int',\n 'ioctl',\n 'join',\n 'keys',\n 'kill',\n 'last',\n 'lc',\n 'lcfirst',\n 'length',\n 'link',\n 'listen',\n 'local',\n 'localtime',\n 'log',\n 'lstat',\n 'lt',\n 'ma',\n 'map',\n 'mkdir',\n 'msgctl',\n 'msgget',\n 'msgrcv',\n 'msgsnd',\n 'my',\n 'ne',\n 'next',\n 'no',\n 'not',\n 'oct',\n 'open',\n 'opendir',\n 'or',\n 'ord',\n 'our',\n 'pack',\n 'package',\n 'pipe',\n 'pop',\n 'pos',\n 'print',\n 'printf',\n 'prototype',\n 'push',\n 'q|0',\n 'qq',\n 'quotemeta',\n 'qw',\n 'qx',\n 'rand',\n 'read',\n 'readdir',\n 'readline',\n 'readlink',\n 'readpipe',\n 'recv',\n 'redo',\n 'ref',\n 'rename',\n 'require',\n 'reset',\n 'return',\n 'reverse',\n 'rewinddir',\n 'rindex',\n 'rmdir',\n 'say',\n 'scalar',\n 'seek',\n 'seekdir',\n 'select',\n 'semctl',\n 'semget',\n 'semop',\n 'send',\n 'setgrent',\n 'sethostent',\n 'setnetent',\n 'setpgrp',\n 'setpriority',\n 'setprotoent',\n 'setpwent',\n 'setservent',\n 'setsockopt',\n 'shift',\n 'shmctl',\n 'shmget',\n 'shmread',\n 'shmwrite',\n 'shutdown',\n 'sin',\n 'sleep',\n 'socket',\n 'socketpair',\n 'sort',\n 'splice',\n 'split',\n 'sprintf',\n 'sqrt',\n 'srand',\n 'stat',\n 'state',\n 'study',\n 'sub',\n 'substr',\n 'symlink',\n 'syscall',\n 'sysopen',\n 'sysread',\n 'sysseek',\n 'system',\n 'syswrite',\n 'tell',\n 'telldir',\n 'tie',\n 'tied',\n 'time',\n 'times',\n 'tr',\n 'truncate',\n 'uc',\n 'ucfirst',\n 'umask',\n 'undef',\n 'unless',\n 'unlink',\n 'unpack',\n 'unshift',\n 'untie',\n 'until',\n 'use',\n 'utime',\n 'values',\n 'vec',\n 'wait',\n 'waitpid',\n 'wantarray',\n 'warn',\n 'when',\n 'while',\n 'write',\n 'x|0',\n 'xor',\n 'y|0'\n ];\n\n // https://perldoc.perl.org/perlre#Modifiers\n const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n const PERL_KEYWORDS = {\n $pattern: /[\\w.]+/,\n keyword: KEYWORDS.join(\" \")\n };\n const SUBST = {\n className: 'subst',\n begin: '[$@]\\\\{',\n end: '\\\\}',\n keywords: PERL_KEYWORDS\n };\n const METHOD = {\n begin: /->\\{/,\n end: /\\}/\n // contains defined later\n };\n const VAR = { variants: [\n { begin: /\\$\\d/ },\n { begin: regex.concat(\n /[$%@](\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![A-Za-z])(?![@$%])`\n ) },\n {\n begin: /[$%@][^\\s\\w{]/,\n relevance: 0\n }\n ] };\n const STRING_CONTAINS = [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n VAR\n ];\n const REGEX_DELIMS = [\n /!/,\n /\\//,\n /\\|/,\n /\\?/,\n /'/,\n /\"/, // valid but infrequent and weird\n /#/ // valid but infrequent and weird\n ];\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n const middle = (close === '\\\\1')\n ? close\n : regex.concat(close, open);\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n middle,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_RE = (prefix, open, close) => {\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n const PERL_DEFAULT_CONTAINS = [\n VAR,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT(\n /^=\\w/,\n /=cut/,\n { endsWithParent: true }\n ),\n METHOD,\n {\n className: 'string',\n contains: STRING_CONTAINS,\n variants: [\n {\n begin: 'q[qwxr]?\\\\s*\\\\(',\n end: '\\\\)',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\[',\n end: '\\\\]',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\{',\n end: '\\\\}',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\|',\n end: '\\\\|',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*<',\n end: '>',\n relevance: 5\n },\n {\n begin: 'qw\\\\s+q',\n end: 'q',\n relevance: 5\n },\n {\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '`',\n end: '`',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\\{\\w+\\}/,\n relevance: 0\n },\n {\n begin: '-?\\\\w+\\\\s*=>',\n relevance: 0\n }\n ]\n },\n {\n className: 'number',\n begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n relevance: 0\n },\n { // regexp container\n begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n keywords: 'split return print reverse grep',\n relevance: 0,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'regexp',\n variants: [\n // allow matching common delimiters\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n // and then paired delmis\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n ],\n relevance: 2\n },\n {\n className: 'regexp',\n variants: [\n {\n // could be a comment in many languages so do not count\n // as relevant\n begin: /(m|qr)\\/\\//,\n relevance: 0\n },\n // prefix is optional with /regex/\n { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n // allow matching common delimiters\n { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n // allow common paired delmins\n { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n ]\n }\n ]\n },\n {\n className: 'function',\n beginKeywords: 'sub',\n end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE ]\n },\n {\n begin: '-\\\\w\\\\b',\n relevance: 0\n },\n {\n begin: \"^__DATA__$\",\n end: \"^__END__$\",\n subLanguage: 'mojolicious',\n contains: [\n {\n begin: \"^@@.*\",\n end: \"$\",\n className: \"comment\"\n }\n ]\n }\n ];\n SUBST.contains = PERL_DEFAULT_CONTAINS;\n METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n return {\n name: 'Perl',\n aliases: [\n 'pl',\n 'pm'\n ],\n keywords: PERL_KEYWORDS,\n contains: PERL_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = perl;\n","/*\nLanguage: Makefile\nAuthor: Ivan Sagalaev \nContributors: Joël Porquet \nWebsite: https://www.gnu.org/software/make/manual/html_node/Introduction.html\nCategory: common\n*/\n\nfunction makefile(hljs) {\n /* Variables: simple (eg $(var)) and special (eg $@) */\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: '\\\\$\\\\(' + hljs.UNDERSCORE_IDENT_RE + '\\\\)',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n { begin: /\\$[@%]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n 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*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\n*/\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n type: [\n \"boolean\",\n \"byte\",\n \"word\",\n \"String\"\n ],\n built_in: [\n \"KeyboardController\",\n \"MouseController\",\n \"SoftwareSerial\",\n \"EthernetServer\",\n \"EthernetClient\",\n \"LiquidCrystal\",\n \"RobotControl\",\n \"GSMVoiceCall\",\n \"EthernetUDP\",\n \"EsploraTFT\",\n \"HttpClient\",\n \"RobotMotor\",\n \"WiFiClient\",\n \"GSMScanner\",\n \"FileSystem\",\n \"Scheduler\",\n \"GSMServer\",\n \"YunClient\",\n \"YunServer\",\n \"IPAddress\",\n \"GSMClient\",\n \"GSMModem\",\n \"Keyboard\",\n \"Ethernet\",\n \"Console\",\n \"GSMBand\",\n \"Esplora\",\n \"Stepper\",\n \"Process\",\n \"WiFiUDP\",\n \"GSM_SMS\",\n \"Mailbox\",\n \"USBHost\",\n \"Firmata\",\n \"PImage\",\n \"Client\",\n \"Server\",\n \"GSMPIN\",\n \"FileIO\",\n \"Bridge\",\n \"Serial\",\n \"EEPROM\",\n \"Stream\",\n \"Mouse\",\n \"Audio\",\n \"Servo\",\n \"File\",\n \"Task\",\n \"GPRS\",\n \"WiFi\",\n \"Wire\",\n \"TFT\",\n \"GSM\",\n \"SPI\",\n \"SD\"\n ],\n _hints: [\n \"setup\",\n \"loop\",\n \"runShellCommandAsynchronously\",\n \"analogWriteResolution\",\n \"retrieveCallingNumber\",\n \"printFirmwareVersion\",\n \"analogReadResolution\",\n \"sendDigitalPortPair\",\n \"noListenOnLocalhost\",\n \"readJoystickButton\",\n \"setFirmwareVersion\",\n \"readJoystickSwitch\",\n \"scrollDisplayRight\",\n \"getVoiceCallStatus\",\n \"scrollDisplayLeft\",\n \"writeMicroseconds\",\n \"delayMicroseconds\",\n \"beginTransmission\",\n \"getSignalStrength\",\n \"runAsynchronously\",\n \"getAsynchronously\",\n \"listenOnLocalhost\",\n \"getCurrentCarrier\",\n \"readAccelerometer\",\n \"messageAvailable\",\n \"sendDigitalPorts\",\n \"lineFollowConfig\",\n \"countryNameWrite\",\n \"runShellCommand\",\n \"readStringUntil\",\n \"rewindDirectory\",\n \"readTemperature\",\n \"setClockDivider\",\n \"readLightSensor\",\n \"endTransmission\",\n \"analogReference\",\n \"detachInterrupt\",\n \"countryNameRead\",\n \"attachInterrupt\",\n \"encryptionType\",\n \"readBytesUntil\",\n \"robotNameWrite\",\n \"readMicrophone\",\n \"robotNameRead\",\n \"cityNameWrite\",\n \"userNameWrite\",\n \"readJoystickY\",\n \"readJoystickX\",\n \"mouseReleased\",\n \"openNextFile\",\n \"scanNetworks\",\n \"noInterrupts\",\n \"digitalWrite\",\n \"beginSpeaker\",\n \"mousePressed\",\n \"isActionDone\",\n \"mouseDragged\",\n \"displayLogos\",\n \"noAutoscroll\",\n \"addParameter\",\n \"remoteNumber\",\n \"getModifiers\",\n \"keyboardRead\",\n \"userNameRead\",\n \"waitContinue\",\n \"processInput\",\n \"parseCommand\",\n \"printVersion\",\n \"readNetworks\",\n \"writeMessage\",\n \"blinkVersion\",\n \"cityNameRead\",\n \"readMessage\",\n \"setDataMode\",\n \"parsePacket\",\n \"isListening\",\n \"setBitOrder\",\n \"beginPacket\",\n \"isDirectory\",\n \"motorsWrite\",\n \"drawCompass\",\n \"digitalRead\",\n \"clearScreen\",\n \"serialEvent\",\n \"rightToLeft\",\n \"setTextSize\",\n \"leftToRight\",\n \"requestFrom\",\n \"keyReleased\",\n \"compassRead\",\n \"analogWrite\",\n \"interrupts\",\n \"WiFiServer\",\n \"disconnect\",\n \"playMelody\",\n \"parseFloat\",\n \"autoscroll\",\n \"getPINUsed\",\n \"setPINUsed\",\n \"setTimeout\",\n \"sendAnalog\",\n \"readSlider\",\n \"analogRead\",\n \"beginWrite\",\n \"createChar\",\n \"motorsStop\",\n \"keyPressed\",\n \"tempoWrite\",\n \"readButton\",\n \"subnetMask\",\n \"debugPrint\",\n \"macAddress\",\n \"writeGreen\",\n \"randomSeed\",\n \"attachGPRS\",\n \"readString\",\n \"sendString\",\n \"remotePort\",\n \"releaseAll\",\n \"mouseMoved\",\n \"background\",\n \"getXChange\",\n \"getYChange\",\n \"answerCall\",\n \"getResult\",\n \"voiceCall\",\n \"endPacket\",\n \"constrain\",\n \"getSocket\",\n \"writeJSON\",\n \"getButton\",\n \"available\",\n \"connected\",\n \"findUntil\",\n \"readBytes\",\n \"exitValue\",\n \"readGreen\",\n \"writeBlue\",\n \"startLoop\",\n \"IPAddress\",\n \"isPressed\",\n \"sendSysex\",\n \"pauseMode\",\n \"gatewayIP\",\n \"setCursor\",\n \"getOemKey\",\n \"tuneWrite\",\n \"noDisplay\",\n \"loadImage\",\n \"switchPIN\",\n \"onRequest\",\n \"onReceive\",\n \"changePIN\",\n \"playFile\",\n \"noBuffer\",\n \"parseInt\",\n \"overflow\",\n \"checkPIN\",\n \"knobRead\",\n \"beginTFT\",\n \"bitClear\",\n \"updateIR\",\n \"bitWrite\",\n \"position\",\n \"writeRGB\",\n \"highByte\",\n \"writeRed\",\n \"setSpeed\",\n \"readBlue\",\n \"noStroke\",\n \"remoteIP\",\n \"transfer\",\n \"shutdown\",\n \"hangCall\",\n \"beginSMS\",\n \"endWrite\",\n \"attached\",\n \"maintain\",\n \"noCursor\",\n \"checkReg\",\n \"checkPUK\",\n \"shiftOut\",\n \"isValid\",\n \"shiftIn\",\n \"pulseIn\",\n \"connect\",\n \"println\",\n \"localIP\",\n \"pinMode\",\n \"getIMEI\",\n \"display\",\n \"noBlink\",\n \"process\",\n \"getBand\",\n \"running\",\n \"beginSD\",\n \"drawBMP\",\n \"lowByte\",\n \"setBand\",\n \"release\",\n \"bitRead\",\n \"prepare\",\n \"pointTo\",\n \"readRed\",\n \"setMode\",\n \"noFill\",\n \"remove\",\n \"listen\",\n \"stroke\",\n \"detach\",\n \"attach\",\n \"noTone\",\n \"exists\",\n \"buffer\",\n \"height\",\n \"bitSet\",\n \"circle\",\n \"config\",\n \"cursor\",\n \"random\",\n \"IRread\",\n \"setDNS\",\n \"endSMS\",\n \"getKey\",\n \"micros\",\n \"millis\",\n \"begin\",\n \"print\",\n \"write\",\n \"ready\",\n \"flush\",\n \"width\",\n \"isPIN\",\n \"blink\",\n \"clear\",\n \"press\",\n \"mkdir\",\n \"rmdir\",\n \"close\",\n \"point\",\n \"yield\",\n \"image\",\n \"BSSID\",\n \"click\",\n \"delay\",\n \"read\",\n \"text\",\n \"move\",\n \"peek\",\n \"beep\",\n \"rect\",\n \"line\",\n \"open\",\n \"seek\",\n \"fill\",\n \"size\",\n \"turn\",\n \"stop\",\n \"home\",\n \"find\",\n \"step\",\n \"tone\",\n \"sqrt\",\n \"RSSI\",\n \"SSID\",\n \"end\",\n \"bit\",\n \"tan\",\n \"cos\",\n \"sin\",\n \"pow\",\n \"map\",\n \"abs\",\n \"max\",\n \"min\",\n \"get\",\n \"run\",\n \"put\"\n ],\n literal: [\n \"DIGITAL_MESSAGE\",\n \"FIRMATA_STRING\",\n \"ANALOG_MESSAGE\",\n \"REPORT_DIGITAL\",\n \"REPORT_ANALOG\",\n \"INPUT_PULLUP\",\n \"SET_PIN_MODE\",\n \"INTERNAL2V56\",\n \"SYSTEM_RESET\",\n \"LED_BUILTIN\",\n \"INTERNAL1V1\",\n \"SYSEX_START\",\n \"INTERNAL\",\n \"EXTERNAL\",\n \"DEFAULT\",\n \"OUTPUT\",\n \"INPUT\",\n \"HIGH\",\n \"LOW\"\n ]\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.type = [\n ...kws.type,\n ...ARDUINO_KW.type\n ];\n kws.literal = [\n ...kws.literal,\n ...ARDUINO_KW.literal\n ];\n kws.built_in = [\n ...kws.built_in,\n ...ARDUINO_KW.built_in\n ];\n kws._hints = ARDUINO_KW._hints;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = [ 'ino' ];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nmodule.exports = arduino;\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|->|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n begin: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nmodule.exports = python;\n","/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/en-us/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'equals',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'remove',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: ''\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nmodule.exports = csharp;\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n const API_CLASS = {\n className: 'built_in',\n begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n };\n const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n const TYPES = [\n \"int\",\n \"float\",\n \"char\",\n \"unsigned\",\n \"signed\",\n \"short\",\n \"long\",\n \"double\",\n \"wchar_t\",\n \"unichar\",\n \"void\",\n \"bool\",\n \"BOOL\",\n \"id|0\",\n \"_Bool\"\n ];\n const KWS = [\n \"while\",\n \"export\",\n \"sizeof\",\n \"typedef\",\n \"const\",\n \"struct\",\n \"for\",\n \"union\",\n \"volatile\",\n \"static\",\n \"mutable\",\n \"if\",\n \"do\",\n \"return\",\n \"goto\",\n \"enum\",\n \"else\",\n \"break\",\n \"extern\",\n \"asm\",\n \"case\",\n \"default\",\n \"register\",\n \"explicit\",\n \"typename\",\n \"switch\",\n \"continue\",\n \"inline\",\n \"readonly\",\n \"assign\",\n \"readwrite\",\n \"self\",\n \"@synchronized\",\n \"id\",\n \"typeof\",\n \"nonatomic\",\n \"IBOutlet\",\n \"IBAction\",\n \"strong\",\n \"weak\",\n \"copy\",\n \"in\",\n \"out\",\n \"inout\",\n \"bycopy\",\n \"byref\",\n \"oneway\",\n \"__strong\",\n \"__weak\",\n \"__block\",\n \"__autoreleasing\",\n \"@private\",\n \"@protected\",\n \"@public\",\n \"@try\",\n \"@property\",\n \"@end\",\n \"@throw\",\n \"@catch\",\n \"@finally\",\n \"@autoreleasepool\",\n \"@synthesize\",\n \"@dynamic\",\n \"@selector\",\n \"@optional\",\n \"@required\",\n \"@encode\",\n \"@package\",\n \"@import\",\n \"@defs\",\n \"@compatibility_alias\",\n \"__bridge\",\n \"__bridge_transfer\",\n \"__bridge_retained\",\n \"__bridge_retain\",\n \"__covariant\",\n \"__contravariant\",\n \"__kindof\",\n \"_Nonnull\",\n \"_Nullable\",\n \"_Null_unspecified\",\n \"__FUNCTION__\",\n \"__PRETTY_FUNCTION__\",\n \"__attribute__\",\n \"getter\",\n \"setter\",\n \"retain\",\n \"unsafe_unretained\",\n \"nonnull\",\n \"nullable\",\n \"null_unspecified\",\n \"null_resettable\",\n \"class\",\n \"instancetype\",\n \"NS_DESIGNATED_INITIALIZER\",\n \"NS_UNAVAILABLE\",\n \"NS_REQUIRES_SUPER\",\n \"NS_RETURNS_INNER_POINTER\",\n \"NS_INLINE\",\n \"NS_AVAILABLE\",\n \"NS_DEPRECATED\",\n \"NS_ENUM\",\n \"NS_OPTIONS\",\n \"NS_SWIFT_UNAVAILABLE\",\n \"NS_ASSUME_NONNULL_BEGIN\",\n \"NS_ASSUME_NONNULL_END\",\n \"NS_REFINED_FOR_SWIFT\",\n \"NS_SWIFT_NAME\",\n \"NS_SWIFT_NOTHROW\",\n \"NS_DURING\",\n \"NS_HANDLER\",\n \"NS_ENDHANDLER\",\n \"NS_VALUERETURN\",\n \"NS_VOIDRETURN\"\n ];\n const LITERALS = [\n \"false\",\n \"true\",\n \"FALSE\",\n \"TRUE\",\n \"nil\",\n \"YES\",\n \"NO\",\n \"NULL\"\n ];\n const BUILT_INS = [\n \"dispatch_once_t\",\n \"dispatch_queue_t\",\n \"dispatch_sync\",\n \"dispatch_async\",\n \"dispatch_once\"\n ];\n const KEYWORDS = {\n \"variable.language\": [\n \"this\",\n \"super\"\n ],\n $pattern: IDENTIFIER_RE,\n keyword: KWS,\n literal: LITERALS,\n built_in: BUILT_INS,\n type: TYPES\n };\n const CLASS_KEYWORDS = {\n $pattern: IDENTIFIER_RE,\n keyword: [\n \"@interface\",\n \"@class\",\n \"@protocol\",\n \"@implementation\"\n ]\n };\n return {\n name: 'Objective-C',\n aliases: [\n 'mm',\n 'objc',\n 'obj-c',\n 'obj-c++',\n 'objective-c++'\n ],\n keywords: KEYWORDS,\n illegal: '/,\n end: /$/,\n illegal: '\\\\n'\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n className: 'class',\n begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\\\b',\n end: /(\\{|$)/,\n excludeEnd: true,\n keywords: CLASS_KEYWORDS,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = objectivec;\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ hljs.inherit(STRING, { className: 'string' }) ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: //,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n className: 'class',\n beginKeywords: 'class interface trait', // remove 'trait' when removed from KEYWORDS\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: //,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = kotlin;\n","/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\nmodule.exports = phpTemplate;\n","/*\nLanguage: Lua\nDescription: Lua is a powerful, efficient, lightweight, embeddable scripting language.\nAuthor: Andrew Fedorov \nCategory: common, scripting\nWebsite: https://www.lua.org\n*/\n\nfunction lua(hljs) {\n const OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n const CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n const LONG_BRACKETS = {\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ 'self' ]\n };\n const COMMENTS = [\n hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),\n hljs.COMMENT(\n '--' + OPENING_LONG_BRACKET,\n CLOSING_LONG_BRACKET,\n {\n contains: [ LONG_BRACKETS ],\n relevance: 10\n }\n )\n ];\n return {\n name: 'Lua',\n keywords: {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n literal: \"true false nil\",\n keyword: \"and break do else elseif end for goto if in local not or repeat return then until while\",\n built_in:\n // Metatags and globals:\n '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len '\n + '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert '\n // Standard methods and properties:\n + 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring '\n + 'module next pairs pcall print rawequal rawget rawset require select setfenv '\n + 'setmetatable tonumber tostring type unpack xpcall arg self '\n // Library methods and properties (one line per library):\n + 'coroutine resume yield status wrap create running debug getupvalue '\n + 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv '\n + 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile '\n + 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan '\n + 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall '\n + 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower '\n + 'table setn insert getn foreachi maxn foreach concat sort remove'\n },\n contains: COMMENTS.concat([\n {\n className: 'function',\n beginKeywords: 'function',\n end: '\\\\)',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*' }),\n {\n className: 'params',\n begin: '\\\\(',\n endsWithParent: true,\n contains: COMMENTS\n }\n ].concat(COMMENTS)\n },\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ LONG_BRACKETS ],\n relevance: 5\n }\n ])\n };\n}\n\nmodule.exports = lua;\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'p',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n];\n\nconst ATTRIBUTES = [\n 'align-content',\n 'align-items',\n 'align-self',\n 'all',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'direction',\n 'display',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-variant',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inline-size',\n 'isolation',\n 'justify-content',\n 'left',\n 'letter-spacing',\n 'line-break',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'row-gap',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-style',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'unicode-bidi',\n 'vertical-align',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'z-index'\n // reverse makes sure longer attributes `font-weight` are matched fully\n // instead of getting false positives on say `font`\n].reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nmodule.exports = css;\n","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n className: '',\n begin: /\\\\\"/\n\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ARITHMETIC = {\n begin: /\\$\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"for\",\n \"while\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"function\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [ 'sh' ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n hljs.HASH_COMMENT_MODE,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n VAR\n ]\n };\n}\n\nmodule.exports = bash;\n"],"sourceRoot":""}