-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
16-c773ba4184e1e1a85038.js.map
1 lines (1 loc) · 192 KB
/
16-c773ba4184e1e1a85038.js.map
1
{"version":3,"sources":["webpack:///./node_modules/@deckdeckgo/highlight-code/dist/esm/deckdeckgo-highlight-code-languages-424f1b9d.js","webpack:///./node_modules/@deckdeckgo/highlight-code/dist/esm/deckgo-highlight-code.entry.js"],"names":["DeckdeckgoHighlightCodeTerminal","DeckdeckgoHighlightCodeCarbonTheme","deckdeckgoHighlightCodeLanguages","markup","title","html","main","xml","svg","mathml","ssml","atom","rss","css","clike","javascript","js","abap","abnf","actionscript","ada","agda","al","antlr4","g4","apacheconf","apex","require","apl","applescript","aql","arduino","arff","asciidoc","adoc","aspnet","asm6502","autohotkey","autoit","bash","shell","basic","batch","bbcode","shortcode","birb","bison","bnf","rbnf","brainfuck","brightscript","bro","bsl","oscript","c","csharp","cs","dotnet","cpp","cfscript","cfc","chaiscript","cil","clojure","cmake","coffeescript","coffee","concurnas","conc","csp","crystal","cypher","d","dart","dataweave","dax","dhall","diff","django","jinja2","docker","dockerfile","dot","gv","ebnf","editorconfig","eiffel","ejs","eta","elixir","elm","etlua","erb","erlang","xlsx","xls","fsharp","factor","flow","fortran","ftl","gml","gamemakerlanguage","gcode","gdscript","gedcom","gherkin","git","glsl","go","graphql","groovy","haml","handlebars","haskell","hs","haxe","hcl","hlsl","http","hpkp","hsts","ichigojam","icon","idris","idr","ignore","gitignore","hgignore","npmignore","inform7","ini","io","j","java","javadoc","javadoclike","javastacktrace","jolie","jq","jsdoc","json","webmanifest","json5","jsonp","jsstacktrace","julia","keyman","kotlin","kt","kts","kumir","kum","latex","tex","context","latte","less","lilypond","ly","liquid","lisp","emacs","elisp","livescript","llvm","lolcode","lua","makefile","markdown","md","matlab","mel","mizar","mongodb","monkey","moonscript","moon","n1ql","n4js","n4jsd","naniscript","nani","nasm","neon","nginx","nim","nix","nsis","objectivec","objc","ocaml","opencl","oz","parigp","parser","pascal","objectpascal","pascaligo","psl","pcaxis","px","peoplecode","pcode","perl","php","phpdoc","plsql","powerquery","pq","mscript","powershell","processing","prolog","promql","properties","protobuf","pug","puppet","pure","purebasic","pbfasm","purescript","purs","python","py","q","qml","qore","r","racket","rkt","jsx","tsx","reason","regex","renpy","rpy","rest","rip","roboconf","robotframework","robot","ruby","rb","rust","sas","sass","scss","scala","scheme","shellsession","smali","smalltalk","smarty","sml","smlnj","solidity","sol","sln","soy","sparql","rq","sqf","sql","squirrel","stan","iecst","stylus","swift","t4","tap","tcl","tt2","textile","toml","turtle","trig","twig","typescript","ts","typoscript","tsconfig","unrealscript","uscript","uc","uri","url","v","vala","vbnet","velocity","verilog","vhdl","vim","vb","vba","warpscript","wasm","wiki","xeora","xeoracube","xojo","xquery","yaml","yml","yang","zig","commonjsGlobal","globalThis","window","global","self","prism","fn","basedir","module","path","exports","base","Error","commonjsRequire","createCommonjsModule","Prism","_self","lang","uniqueId","_","manual","disableWorkerMessageHandler","util","encode","tokens","Token","type","content","alias","Array","isArray","map","replace","o","Object","prototype","toString","call","slice","objId","obj","defineProperty","value","clone","deepClone","visited","id","key","hasOwnProperty","forEach","i","getLanguage","element","test","className","parentElement","match","toLowerCase","currentScript","document","err","src","exec","stack","scripts","getElementsByTagName","isActive","defaultActivation","no","classList","contains","languages","extend","redef","insertBefore","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","this","callback","property","propertyType","plugins","highlightAll","async","highlightAllUnder","container","env","selector","hooks","run","elements","apply","querySelectorAll","highlightElement","language","parent","nodeName","code","textContent","insertHighlightedCode","highlightedCode","innerHTML","Worker","worker","filename","onmessage","evt","data","postMessage","JSON","stringify","immediateClose","highlight","text","tokenize","tokenList","LinkedList","addAfter","head","matchGrammar","startNode","startPos","rematch","patterns","length","cause","patternObj","lookbehind","greedy","lookbehindLength","pattern","flags","RegExp","source","currentNode","next","pos","tail","reach","str","removeCount","prev","lastIndex","from","index","to","p","k","matchStr","after","removeFrom","removeRange","wrapped","list","array","node","push","toArray","all","add","name","callbacks","matchedStr","newNode","count","s","e","tag","classes","attributes","aliases","join","addEventListener","message","parse","close","script","highlightAutomaticallyCallback","hasAttribute","readyState","defer","requestAnimationFrame","setTimeout","WorkerGlobalScope","tagName","includedCdataInside","def","string","addInlined","EXTENSIONS","SELECTOR","pre","matches","setAttribute","appendChild","createElement","getAttribute","extension","setLanguageClass","autoloader","loadLanguages","xhr","XMLHttpRequest","open","onreadystatechange","status","responseText","statusText","send","fileHighlight","logged","console","warn","arguments","trim","injectCSS","Promise","resolve","reject","getElementById","link","_loadTheme","theme","undefined","BLACKBOARD","COBALT","DUOTONE","HOPSCOTCH","LUCARIO","MATERIAL","MONOKAI","NORD","PANDA","PARAISO","SETI","SYNTHWAVE","TWILIGHT","VERMINAL","VSCODE","YETI","ZENBURN","CarbonThemeStyle","_ref","style","concat","DeckdeckgoHighlightCode","hostRef","func","timeout","timer","_this","prismLanguageLoaded","codeDidChange","anchor","anchorZoom","hideAnchor","lineNumbers","terminal","CARBON","editable","DRACULA","anchorOffsetTop","fetchOrParseAfterUpdate","loaded","catchTab","_ref2","mark","_callee","$event","wrap","_context","preventDefault","execCommand","stop","_x","debounceUpdateSlot","_callee2","_context2","copyCodeToSlot","_len","args","_key","clearTimeout","_copyCodeToSlot","_applyCode","_fetchCode","_loadGoogleFonts","_onCarbonChange","_onLineNumbersChange","_loadLanguagesRequire","_initLanguagesToLoad","_loadLanguages","_onLanguage","_fetchOrParse","_languageLoaded","_loadTheme2","_componentDidUpdate","_componentDidLoad","_componentWillLoad","_callee3","_context3","loadGoogleFonts","loadTheme","_callee4","languageWasLoaded","_context4","languageDidLoad","sent","fetchOrParse","_callee5","_context5","_callee6","_yield$_loadTheme","_context6","themeStyle","abrupt","_callee7","_context7","detail","languagesToLoad","filter","_x2","_callee8","_context8","fetchCode","parseSlottedCode","_this2","querySelector","_callee9","_context9","_callee10","reload","_args10","_context10","error","initLanguagesToLoad","loadLanguagesRequire","loadScript","_callee11","definition","_context11","_callee12","promises","_this3","_context12","extraScript","_this4","requireScript","_ref4","_callee15","_context15","emit","onload","_callee13","_context13","onerror","_callee14","_context14","removeChild","once","_x3","_callee16","_context16","_callee17","_context17","_callee18","_context18","UBUNTU","_this5","_ref7","_callee19","_context19","_x4","el","parseCode","innerText","_callee20","fetchedCode","response","_context20","fetch","t0","shadowRoot","children","_this6","_ref8","_callee21","regEx","_context21","split","m","idx","attachHighlightObserver","div","addAnchors","_x5","_x6","_this7","observer","ResizeObserver","_ref9","_callee22","_entries","_context22","addHighlight","disconnect","_x7","observe","_callee23","_context23","_this8","anchors","hasLineAnchor","line","indexOf","_this9","_ref11","_callee24","rows","containerCode","rowIndex","lastOffsetTop","offsetHeight","_context24","highlightLines","findRowsToHighlight","hasChildNodes","childNodes","editElement","span","previousElementSibling","insertAdjacentElement","parentNode","prepend","offsetTop","rowsIndexToCompare","_x8","_this10","results","row","start","parseInt","end","isNaN","enter","_this11","_ref12","_callee25","elementsArray","elementCode","_context25","reverse","find","hasLineZoom","firstElementChild","_x9","zoom","_this12","setProperty","_callee26","_context26","_callee27","_a","_b","_context27","refCode","focus","_onBlur","_this13","hostClass","class","onClick","edit","renderCarbon","renderUbuntu","contentEditable","onBlur","_callee28","_context28","applyCode","onInput","inputCode","onKeyDown","ref","renderCarbonCircle","color","renderUbuntuCircle","mode","symbol","get"],"mappings":"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","file":"16-c773ba4184e1e1a85038.js","sourcesContent":["var DeckdeckgoHighlightCodeTerminal;\n\n(function (DeckdeckgoHighlightCodeTerminal) {\n DeckdeckgoHighlightCodeTerminal[\"CARBON\"] = \"carbon\";\n DeckdeckgoHighlightCodeTerminal[\"UBUNTU\"] = \"ubuntu\";\n DeckdeckgoHighlightCodeTerminal[\"NONE\"] = \"none\";\n})(DeckdeckgoHighlightCodeTerminal || (DeckdeckgoHighlightCodeTerminal = {}));\n\nvar DeckdeckgoHighlightCodeCarbonTheme;\n\n(function (DeckdeckgoHighlightCodeCarbonTheme) {\n DeckdeckgoHighlightCodeCarbonTheme[\"3024-NIGHT\"] = \"3024-night\";\n DeckdeckgoHighlightCodeCarbonTheme[\"A11Y-DARK\"] = \"a11y-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BLACKBOARD\"] = \"blackboard\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-DARK\"] = \"base16-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-LIGHT\"] = \"base16-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"COBALT\"] = \"cobalt\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DRACULA\"] = \"dracula\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DUOTONE\"] = \"duotone\";\n DeckdeckgoHighlightCodeCarbonTheme[\"HOPSCOTCH\"] = \"hopscotch\";\n DeckdeckgoHighlightCodeCarbonTheme[\"LUCARIO\"] = \"lucario\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MATERIAL\"] = \"material\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MONOKAI\"] = \"monokai\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NIGHT-OWL\"] = \"night-owl\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NORD\"] = \"nord\";\n DeckdeckgoHighlightCodeCarbonTheme[\"OCEANIC-NEXT\"] = \"oceanic-next\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-LIGHT\"] = \"one-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-DARK\"] = \"one-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PANDA\"] = \"panda\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PARAISO\"] = \"paraiso\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SETI\"] = \"seti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SHADES-OF-PURPLE\"] = \"shades-of-purple\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-DARK\"] = \"solarized-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-LIGHT\"] = \"solarized-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SYNTHWAVE\"] = \"synthwave\";\n DeckdeckgoHighlightCodeCarbonTheme[\"TWILIGHT\"] = \"twilight\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VERMINAL\"] = \"verminal\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VSCODE\"] = \"vscode\";\n DeckdeckgoHighlightCodeCarbonTheme[\"YETI\"] = \"yeti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ZENBURN\"] = \"zenburn\";\n})(DeckdeckgoHighlightCodeCarbonTheme || (DeckdeckgoHighlightCodeCarbonTheme = {}));\n\nvar deckdeckgoHighlightCodeLanguages = {\n markup: {\n title: 'Markup'\n },\n html: {\n title: 'HTML',\n main: 'markup'\n },\n xml: {\n title: 'XML',\n main: 'markup'\n },\n svg: {\n title: 'SVG',\n main: 'markup'\n },\n mathml: {\n title: 'MathML',\n main: 'markup'\n },\n ssml: {\n title: 'SSML',\n main: 'markup'\n },\n atom: {\n title: 'Atom',\n main: 'markup'\n },\n rss: {\n title: 'RSS',\n main: 'markup'\n },\n css: {\n title: 'CSS'\n },\n clike: {\n title: 'C-like'\n },\n javascript: {\n title: 'JavaScript'\n },\n js: {\n title: 'js',\n main: 'javascript'\n },\n abap: {\n title: 'ABAP'\n },\n abnf: {\n title: 'ABNF'\n },\n actionscript: {\n title: 'ActionScript'\n },\n ada: {\n title: 'Ada'\n },\n agda: {\n title: 'Agda'\n },\n al: {\n title: 'AL'\n },\n antlr4: {\n title: 'ANTLR4'\n },\n g4: {\n title: 'g4',\n main: 'antlr4'\n },\n apacheconf: {\n title: 'Apache Configuration'\n },\n apex: {\n title: 'Apex',\n require: ['sql']\n },\n apl: {\n title: 'APL'\n },\n applescript: {\n title: 'AppleScript'\n },\n aql: {\n title: 'AQL'\n },\n arduino: {\n title: 'Arduino',\n require: ['cpp']\n },\n arff: {\n title: 'ARFF'\n },\n asciidoc: {\n title: 'AsciiDoc'\n },\n adoc: {\n title: 'adoc',\n main: 'asciidoc'\n },\n aspnet: {\n title: 'ASP.NET (C#)',\n require: ['markup', 'csharp']\n },\n asm6502: {\n title: '6502 Assembly'\n },\n autohotkey: {\n title: 'AutoHotkey'\n },\n autoit: {\n title: 'AutoIt'\n },\n bash: {\n title: 'Bash'\n },\n shell: {\n title: 'Shell',\n main: 'bash'\n },\n basic: {\n title: 'BASIC'\n },\n batch: {\n title: 'Batch'\n },\n bbcode: {\n title: 'BBcode'\n },\n shortcode: {\n title: 'Shortcode',\n main: 'bbcode'\n },\n birb: {\n title: 'Birb'\n },\n bison: {\n title: 'Bison',\n require: ['c']\n },\n bnf: {\n title: 'BNF'\n },\n rbnf: {\n title: 'RBNF',\n main: 'bnf'\n },\n brainfuck: {\n title: 'Brainfuck'\n },\n brightscript: {\n title: 'BrightScript'\n },\n bro: {\n title: 'Bro'\n },\n bsl: {\n title: 'BSL (1C:Enterprise)'\n },\n oscript: {\n title: 'OneScript',\n main: 'bsl'\n },\n c: {\n title: 'C'\n },\n csharp: {\n title: 'C#'\n },\n cs: {\n title: 'cs',\n main: 'csharp'\n },\n dotnet: {\n title: 'dotnet',\n main: 'csharp'\n },\n cpp: {\n title: 'C++',\n require: ['c']\n },\n cfscript: {\n title: 'CFScript'\n },\n cfc: {\n title: 'cfc',\n main: 'cfscript'\n },\n chaiscript: {\n title: 'ChaiScript',\n require: ['cpp']\n },\n cil: {\n title: 'CIL'\n },\n clojure: {\n title: 'Clojure'\n },\n cmake: {\n title: 'CMake'\n },\n coffeescript: {\n title: 'CoffeeScript'\n },\n coffee: {\n title: 'coffee',\n main: 'coffeescript'\n },\n concurnas: {\n title: 'Concurnas'\n },\n conc: {\n title: 'conc',\n main: 'concurnas'\n },\n csp: {\n title: 'Content-Security-Policy'\n },\n crystal: {\n title: 'Crystal',\n require: ['ruby']\n },\n 'css-extras': {\n title: 'CSS Extras',\n require: ['css']\n },\n cypher: {\n title: 'Cypher'\n },\n d: {\n title: 'D'\n },\n dart: {\n title: 'Dart'\n },\n dataweave: {\n title: 'DataWeave'\n },\n dax: {\n title: 'DAX'\n },\n dhall: {\n title: 'Dhall'\n },\n diff: {\n title: 'Diff'\n },\n django: {\n title: 'Django/Jinja2',\n require: ['markup-templating']\n },\n jinja2: {\n title: 'jinja2',\n main: 'django',\n require: ['markup-templating']\n },\n 'dns-zone-file': {\n title: 'DNS zone file'\n },\n 'dns-zone': {\n title: 'dns-zone',\n main: 'dns-zone-file'\n },\n docker: {\n title: 'Docker'\n },\n dockerfile: {\n title: 'dockerfile',\n main: 'docker'\n },\n dot: {\n title: 'DOT (Graphviz)'\n },\n gv: {\n title: 'gv',\n main: 'dot'\n },\n ebnf: {\n title: 'EBNF'\n },\n editorconfig: {\n title: 'EditorConfig'\n },\n eiffel: {\n title: 'Eiffel'\n },\n ejs: {\n title: 'EJS',\n require: ['markup-templating']\n },\n eta: {\n title: 'Eta',\n main: 'ejs',\n require: ['markup-templating']\n },\n elixir: {\n title: 'Elixir'\n },\n elm: {\n title: 'Elm'\n },\n etlua: {\n title: 'Embedded Lua templating',\n require: ['lua', 'markup-templating']\n },\n erb: {\n title: 'ERB',\n require: ['ruby', 'markup-templating']\n },\n erlang: {\n title: 'Erlang'\n },\n 'excel-formula': {\n title: 'Excel Formula'\n },\n xlsx: {\n title: 'xlsx',\n main: 'excel-formula'\n },\n xls: {\n title: 'xls',\n main: 'excel-formula'\n },\n fsharp: {\n title: 'F#'\n },\n factor: {\n title: 'Factor'\n },\n 'firestore-security-rules': {\n title: 'Firestore security rules'\n },\n flow: {\n title: 'Flow'\n },\n fortran: {\n title: 'Fortran'\n },\n ftl: {\n title: 'FreeMarker Template Language',\n require: ['markup-templating']\n },\n gml: {\n title: 'GameMaker Language'\n },\n gamemakerlanguage: {\n title: 'gamemakerlanguage',\n main: 'gml'\n },\n gcode: {\n title: 'G-code'\n },\n gdscript: {\n title: 'GDScript'\n },\n gedcom: {\n title: 'GEDCOM'\n },\n gherkin: {\n title: 'Gherkin'\n },\n git: {\n title: 'Git'\n },\n glsl: {\n title: 'GLSL',\n require: ['c']\n },\n go: {\n title: 'Go'\n },\n graphql: {\n title: 'GraphQL'\n },\n groovy: {\n title: 'Groovy'\n },\n haml: {\n title: 'Haml',\n require: ['ruby']\n },\n handlebars: {\n title: 'Handlebars',\n require: ['markup-templating']\n },\n haskell: {\n title: 'Haskell'\n },\n hs: {\n title: 'hs',\n main: 'haskell'\n },\n haxe: {\n title: 'Haxe'\n },\n hcl: {\n title: 'HCL'\n },\n hlsl: {\n title: 'HLSL',\n require: ['c']\n },\n http: {\n title: 'HTTP'\n },\n hpkp: {\n title: 'HTTP Public-Key-Pins'\n },\n hsts: {\n title: 'HTTP Strict-Transport-Security'\n },\n ichigojam: {\n title: 'IchigoJam'\n },\n icon: {\n title: 'Icon'\n },\n idris: {\n title: 'Idris',\n require: ['haskell']\n },\n idr: {\n title: 'idr',\n main: 'idris',\n require: ['haskell']\n },\n ignore: {\n title: '.ignore'\n },\n gitignore: {\n title: '.gitignore',\n main: 'ignore'\n },\n hgignore: {\n title: '.hgignore',\n main: 'ignore'\n },\n npmignore: {\n title: '.npmignore',\n main: 'ignore'\n },\n inform7: {\n title: 'Inform 7'\n },\n ini: {\n title: 'Ini'\n },\n io: {\n title: 'Io'\n },\n j: {\n title: 'J'\n },\n java: {\n title: 'Java'\n },\n javadoc: {\n title: 'JavaDoc',\n require: ['markup', 'java', 'javadoclike']\n },\n javadoclike: {\n title: 'JavaDoc-like'\n },\n javastacktrace: {\n title: 'Java stack trace'\n },\n jolie: {\n title: 'Jolie'\n },\n jq: {\n title: 'JQ'\n },\n jsdoc: {\n title: 'JSDoc',\n require: ['javadoclike', 'typescript']\n },\n 'js-extras': {\n title: 'JS Extras'\n },\n json: {\n title: 'JSON'\n },\n webmanifest: {\n title: 'Web App Manifest',\n main: 'json'\n },\n json5: {\n title: 'JSON5',\n require: ['json']\n },\n jsonp: {\n title: 'JSONP',\n require: ['json']\n },\n jsstacktrace: {\n title: 'JS stack trace'\n },\n 'js-templates': {\n title: 'JS Templates'\n },\n julia: {\n title: 'Julia'\n },\n keyman: {\n title: 'Keyman'\n },\n kotlin: {\n title: 'Kotlin'\n },\n kt: {\n title: 'kt',\n main: 'kotlin'\n },\n kts: {\n title: 'Kotlin Script',\n main: 'kotlin'\n },\n kumir: {\n title: 'KuMir (КуМир)'\n },\n kum: {\n title: 'kum',\n main: 'kumir'\n },\n latex: {\n title: 'LaTeX'\n },\n tex: {\n title: 'TeX',\n main: 'latex'\n },\n context: {\n title: 'ConTeXt',\n main: 'latex'\n },\n latte: {\n title: 'Latte',\n require: ['markup-templating', 'php']\n },\n less: {\n title: 'Less',\n require: ['css']\n },\n lilypond: {\n title: 'LilyPond',\n require: ['scheme']\n },\n ly: {\n title: 'ly',\n main: 'lilypond',\n require: ['scheme']\n },\n liquid: {\n title: 'Liquid'\n },\n lisp: {\n title: 'Lisp'\n },\n emacs: {\n title: 'emacs',\n main: 'lisp'\n },\n elisp: {\n title: 'elisp',\n main: 'lisp'\n },\n 'emacs-lisp': {\n title: 'emacs-lisp',\n main: 'lisp'\n },\n livescript: {\n title: 'LiveScript'\n },\n llvm: {\n title: 'LLVM IR'\n },\n lolcode: {\n title: 'LOLCODE'\n },\n lua: {\n title: 'Lua'\n },\n makefile: {\n title: 'Makefile'\n },\n markdown: {\n title: 'Markdown',\n require: ['markup']\n },\n md: {\n title: 'md',\n main: 'markdown',\n require: ['markup']\n },\n 'markup-templating': {\n title: 'Markup templating',\n require: ['markup']\n },\n matlab: {\n title: 'MATLAB'\n },\n mel: {\n title: 'MEL'\n },\n mizar: {\n title: 'Mizar'\n },\n mongodb: {\n title: 'MongoDB'\n },\n monkey: {\n title: 'Monkey'\n },\n moonscript: {\n title: 'MoonScript'\n },\n moon: {\n title: 'moon',\n main: 'moonscript'\n },\n n1ql: {\n title: 'N1QL'\n },\n n4js: {\n title: 'N4JS'\n },\n n4jsd: {\n title: 'n4jsd',\n main: 'n4js'\n },\n 'nand2tetris-hdl': {\n title: 'Nand To Tetris HDL'\n },\n naniscript: {\n title: 'Naninovel Script'\n },\n nani: {\n title: 'nani',\n main: 'naniscript'\n },\n nasm: {\n title: 'NASM'\n },\n neon: {\n title: 'NEON'\n },\n nginx: {\n title: 'nginx'\n },\n nim: {\n title: 'Nim'\n },\n nix: {\n title: 'Nix'\n },\n nsis: {\n title: 'NSIS'\n },\n objectivec: {\n title: 'Objective-C',\n require: ['c']\n },\n objc: {\n title: 'objc',\n main: 'objectivec',\n require: ['c']\n },\n ocaml: {\n title: 'OCaml'\n },\n opencl: {\n title: 'OpenCL',\n require: ['c']\n },\n oz: {\n title: 'Oz'\n },\n parigp: {\n title: 'PARI/GP'\n },\n parser: {\n title: 'Parser',\n require: ['markup']\n },\n pascal: {\n title: 'Pascal'\n },\n objectpascal: {\n title: 'Object Pascal',\n main: 'pascal'\n },\n pascaligo: {\n title: 'Pascaligo'\n },\n psl: {\n title: 'PATROL Scripting Language'\n },\n pcaxis: {\n title: 'PC-Axis'\n },\n px: {\n title: 'px',\n main: 'pcaxis'\n },\n peoplecode: {\n title: 'PeopleCode'\n },\n pcode: {\n title: 'pcode',\n main: 'peoplecode'\n },\n perl: {\n title: 'Perl'\n },\n php: {\n title: 'PHP',\n require: ['markup-templating']\n },\n phpdoc: {\n title: 'PHPDoc',\n require: ['php', 'javadoclike']\n },\n 'php-extras': {\n title: 'PHP Extras',\n require: ['php']\n },\n plsql: {\n title: 'PL/SQL',\n require: ['sql']\n },\n powerquery: {\n title: 'PowerQuery'\n },\n pq: {\n title: 'pq',\n main: 'powerquery'\n },\n mscript: {\n title: 'mscript',\n main: 'powerquery'\n },\n powershell: {\n title: 'PowerShell'\n },\n processing: {\n title: 'Processing'\n },\n prolog: {\n title: 'Prolog'\n },\n promql: {\n title: 'PromQL'\n },\n properties: {\n title: '.properties'\n },\n protobuf: {\n title: 'Protocol Buffers'\n },\n pug: {\n title: 'Pug',\n require: ['markup']\n },\n puppet: {\n title: 'Puppet'\n },\n pure: {\n title: 'Pure'\n },\n purebasic: {\n title: 'PureBasic'\n },\n pbfasm: {\n title: 'pbfasm',\n main: 'purebasic'\n },\n purescript: {\n title: 'PureScript',\n require: ['haskell']\n },\n purs: {\n title: 'purs',\n main: 'purescript',\n require: ['haskell']\n },\n python: {\n title: 'Python'\n },\n py: {\n title: 'py',\n main: 'python'\n },\n q: {\n title: 'Q (kdb+ database)'\n },\n qml: {\n title: 'QML'\n },\n qore: {\n title: 'Qore'\n },\n r: {\n title: 'R'\n },\n racket: {\n title: 'Racket',\n require: ['scheme']\n },\n rkt: {\n title: 'rkt',\n main: 'racket',\n require: ['scheme']\n },\n jsx: {\n title: 'React JSX',\n require: ['markup']\n },\n tsx: {\n title: 'React TSX',\n require: ['jsx', 'typescript']\n },\n reason: {\n title: 'Reason'\n },\n regex: {\n title: 'Regex'\n },\n renpy: {\n title: \"Ren'py\"\n },\n rpy: {\n title: 'rpy',\n main: 'renpy'\n },\n rest: {\n title: 'reST (reStructuredText)'\n },\n rip: {\n title: 'Rip'\n },\n roboconf: {\n title: 'Roboconf'\n },\n robotframework: {\n title: 'Robot Framework'\n },\n robot: {\n title: 'robot',\n main: 'robotframework'\n },\n ruby: {\n title: 'Ruby'\n },\n rb: {\n title: 'rb',\n main: 'ruby'\n },\n rust: {\n title: 'Rust'\n },\n sas: {\n title: 'SAS'\n },\n sass: {\n title: 'Sass (Sass)',\n require: ['css']\n },\n scss: {\n title: 'Sass (Scss)',\n require: ['css']\n },\n scala: {\n title: 'Scala',\n require: ['java']\n },\n scheme: {\n title: 'Scheme'\n },\n 'shell-session': {\n title: 'Shell session',\n require: ['bash']\n },\n 'sh-session': {\n title: 'sh-session',\n main: 'shell-session',\n require: ['bash']\n },\n shellsession: {\n title: 'shellsession',\n main: 'shell-session',\n require: ['bash']\n },\n smali: {\n title: 'Smali'\n },\n smalltalk: {\n title: 'Smalltalk'\n },\n smarty: {\n title: 'Smarty',\n require: ['markup-templating']\n },\n sml: {\n title: 'SML'\n },\n smlnj: {\n title: 'SML/NJ',\n main: 'sml'\n },\n solidity: {\n title: 'Solidity (Ethereum)'\n },\n sol: {\n title: 'sol',\n main: 'solidity'\n },\n 'solution-file': {\n title: 'Solution file'\n },\n sln: {\n title: 'sln',\n main: 'solution-file'\n },\n soy: {\n title: 'Soy (Closure Template)',\n require: ['markup-templating']\n },\n sparql: {\n title: 'SPARQL',\n require: ['turtle']\n },\n rq: {\n title: 'rq',\n main: 'sparql',\n require: ['turtle']\n },\n 'splunk-spl': {\n title: 'Splunk SPL'\n },\n sqf: {\n title: 'SQF: Status Quo Function (Arma 3)'\n },\n sql: {\n title: 'SQL'\n },\n squirrel: {\n title: 'Squirrel'\n },\n stan: {\n title: 'Stan'\n },\n iecst: {\n title: 'Structured Text (IEC 61131-3)'\n },\n stylus: {\n title: 'Stylus'\n },\n swift: {\n title: 'Swift'\n },\n 't4-templating': {\n title: 'T4 templating'\n },\n 't4-cs': {\n title: 'T4 Text Templates (C#)',\n require: ['t4-templating', 'csharp']\n },\n t4: {\n title: 't4',\n main: 't4-cs',\n require: ['t4-templating', 'csharp']\n },\n 't4-vb': {\n title: 'T4 Text Templates (VB)',\n require: ['t4-templating', 'vbnet']\n },\n tap: {\n title: 'TAP',\n require: ['yaml']\n },\n tcl: {\n title: 'Tcl'\n },\n tt2: {\n title: 'Template Toolkit 2',\n require: ['markup-templating']\n },\n textile: {\n title: 'Textile',\n require: ['markup']\n },\n toml: {\n title: 'TOML'\n },\n turtle: {\n title: 'Turtle'\n },\n trig: {\n title: 'TriG',\n main: 'turtle'\n },\n twig: {\n title: 'Twig',\n require: ['markup']\n },\n typescript: {\n title: 'TypeScript'\n },\n ts: {\n title: 'ts',\n main: 'typescript'\n },\n typoscript: {\n title: 'TypoScript'\n },\n tsconfig: {\n title: 'TSConfig',\n main: 'typoscript'\n },\n unrealscript: {\n title: 'UnrealScript'\n },\n uscript: {\n title: 'uscript',\n main: 'unrealscript'\n },\n uc: {\n title: 'uc',\n main: 'unrealscript'\n },\n uri: {\n title: 'URI'\n },\n url: {\n title: 'URL',\n main: 'uri'\n },\n v: {\n title: 'V'\n },\n vala: {\n title: 'Vala'\n },\n vbnet: {\n title: 'VB.Net',\n require: ['basic']\n },\n velocity: {\n title: 'Velocity',\n require: ['markup']\n },\n verilog: {\n title: 'Verilog'\n },\n vhdl: {\n title: 'VHDL'\n },\n vim: {\n title: 'vim'\n },\n 'visual-basic': {\n title: 'Visual Basic'\n },\n vb: {\n title: 'vb',\n main: 'visual-basic'\n },\n vba: {\n title: 'VBA',\n main: 'visual-basic'\n },\n warpscript: {\n title: 'WarpScript'\n },\n wasm: {\n title: 'WebAssembly'\n },\n wiki: {\n title: 'Wiki markup',\n require: ['markup']\n },\n xeora: {\n title: 'Xeora',\n require: ['markup']\n },\n xeoracube: {\n title: 'XeoraCube',\n main: 'xeora',\n require: ['markup']\n },\n 'xml-doc': {\n title: 'XML doc (.net)',\n require: ['markup']\n },\n xojo: {\n title: 'Xojo (REALbasic)'\n },\n xquery: {\n title: 'XQuery',\n require: ['markup']\n },\n yaml: {\n title: 'YAML'\n },\n yml: {\n title: 'yml',\n main: 'yaml'\n },\n yang: {\n title: 'YANG'\n },\n zig: {\n title: 'Zig'\n }\n};\nexport { DeckdeckgoHighlightCodeTerminal as D, DeckdeckgoHighlightCodeCarbonTheme as a, deckdeckgoHighlightCodeLanguages as d };","import _toConsumableArray from \"/home/runner/work/clovisdasilvaneto.github.io/clovisdasilvaneto.github.io/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _regeneratorRuntime from \"/home/runner/work/clovisdasilvaneto.github.io/clovisdasilvaneto.github.io/node_modules/@babel/runtime/regenerator\";\nimport \"regenerator-runtime/runtime\";\nimport _asyncToGenerator from \"/home/runner/work/clovisdasilvaneto.github.io/clovisdasilvaneto.github.io/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"/home/runner/work/clovisdasilvaneto.github.io/clovisdasilvaneto.github.io/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/home/runner/work/clovisdasilvaneto.github.io/clovisdasilvaneto.github.io/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-5142f31b.js';\nimport { a as DeckdeckgoHighlightCodeCarbonTheme, D as DeckdeckgoHighlightCodeTerminal, d as deckdeckgoHighlightCodeLanguages } from './deckdeckgo-highlight-code-languages-424f1b9d.js';\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, basedir, module) {\n return module = {\n path: basedir,\n exports: {},\n require: function require(path, base) {\n return commonjsRequire();\n }\n }, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire() {\n throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nvar prism = createCommonjsModule(function (module) {\n /* **********************************************\n Begin prism-core.js\n ********************************************** */\n /// <reference lib=\"WebWorker\"/>\n var _self = typeof window !== 'undefined' ? window // if in browser\n : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self // if in worker\n : {} // if in node js\n ;\n /**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\n\n\n var Prism = function (_self) {\n // Private helper vars\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n var uniqueId = 0;\n var _ = {\n /**\n * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n * additional languages or plugins yourself.\n *\n * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n *\n * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n * empty Prism object into the global scope before loading the Prism script like this:\n *\n * ```js\n * window.Prism = window.Prism || {};\n * Prism.manual = true;\n * // add a new <script> to load Prism's script\n * ```\n *\n * @default false\n * @type {boolean}\n * @memberof Prism\n * @public\n */\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n }\n },\n\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function type(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function objId(obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', {\n value: ++uniqueId\n });\n }\n\n return obj['__id'];\n },\n\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone, id;\n\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone =\n /** @type {Record<string, any>} */\n {};\n visited[id] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n\n return (\n /** @type {any} */\n clone\n );\n\n case 'Array':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = [];\n visited[id] = clone;\n\n /** @type {Array} */\n\n /** @type {any} */\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n\n default:\n return o;\n }\n },\n\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function getLanguage(element) {\n while (element && !lang.test(element.className)) {\n element = element.parentElement;\n }\n\n if (element) {\n return (element.className.match(lang) || [, 'none'])[1].toLowerCase();\n }\n\n return 'none';\n },\n\n /**\n * Returns the script element that is currently executing.\n *\n * This does __not__ work for line script element.\n *\n * @returns {HTMLScriptElement | null}\n */\n currentScript: function currentScript() {\n if (typeof document === 'undefined') {\n return null;\n }\n\n if ('currentScript' in document && 1 < 2\n /* hack to trip TS' flow analysis */\n ) {\n return (\n /** @type {any} */\n document.currentScript\n );\n } // IE11 workaround\n // we'll get the src of the current script by parsing IE11's error stack trace\n // this will not work for inline scripts\n\n\n try {\n throw new Error();\n } catch (err) {\n // Get file src url from stack. Specifically works with the format of stack traces in IE.\n // A stack will look like this:\n //\n // Error\n // at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n // at Global code (http://localhost/components/prism-core.js:606:1)\n var src = (/at [^(\\r\\n]*\\((.*):.+:.+\\)$/i.exec(err.stack) || [])[1];\n\n if (src) {\n var scripts = document.getElementsByTagName('script');\n\n for (var i in scripts) {\n if (scripts[i].src == src) {\n return scripts[i];\n }\n }\n }\n\n return null;\n }\n },\n\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function isActive(element, className, defaultActivation) {\n var no = 'no-' + className;\n\n while (element) {\n var classList = element.classList;\n\n if (classList.contains(className)) {\n return true;\n }\n\n if (classList.contains(no)) {\n return false;\n }\n\n element = element.parentElement;\n }\n\n return !!defaultActivation;\n }\n },\n\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function extend(id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function insertBefore(inside, before, insert, root) {\n root = root ||\n /** @type {any} */\n _.languages;\n var grammar = root[inside];\n /** @type {Grammar} */\n\n var ret = {};\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n } // Do not insert token which also occur in insert. See #1525\n\n\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n\n var old = root[inside];\n root[inside] = ret; // Update references in other language definitions\n\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n\n var property = o[i],\n propertyType = _.util.type(property);\n\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n\n /**\n * This is the most high-level function in Prism’s API.\n * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n * each one of them.\n *\n * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n *\n * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n * @memberof Prism\n * @public\n */\n highlightAll: function highlightAll(async, callback) {\n _.highlightAllUnder(document, async, callback);\n },\n\n /**\n * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n * {@link Prism.highlightElement} on each one of them.\n *\n * The following hooks will be run:\n * 1. `before-highlightall`\n * 2. All hooks of {@link Prism.highlightElement} for each element.\n *\n * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n * @memberof Prism\n * @public\n */\n highlightAllUnder: function highlightAllUnder(container, async, callback) {\n var env = {\n callback: callback,\n container: container,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n\n _.hooks.run('before-highlightall', env);\n\n env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n _.hooks.run('before-all-elements-highlight', env);\n\n for (var i = 0, element; element = env.elements[i++];) {\n _.highlightElement(element, async === true, env.callback);\n }\n },\n\n /**\n * Highlights the code inside a single element.\n *\n * The following hooks will be run:\n * 1. `before-sanity-check`\n * 2. `before-highlight`\n * 3. All hooks of {@link Prism.highlight}. These hooks will only be run by the current worker if `async` is `true`.\n * 4. `before-insert`\n * 5. `after-highlight`\n * 6. `complete`\n *\n * @param {Element} element The element containing the code.\n * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n *\n * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n * asynchronous highlighting to work. You can build your own bundle on the\n * [Download page](https://prismjs.com/download.html).\n * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n * @memberof Prism\n * @public\n */\n highlightElement: function highlightElement(element, async, callback) {\n // Find language\n var language = _.util.getLanguage(element);\n\n var grammar = _.languages[language]; // Set language on the element, if not present\n\n element.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language; // Set language on the parent, for styling\n\n var parent = element.parentElement;\n\n if (parent && parent.nodeName.toLowerCase() === 'pre') {\n parent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n }\n\n var code = element.textContent;\n var env = {\n element: element,\n language: language,\n grammar: grammar,\n code: code\n };\n\n function insertHighlightedCode(highlightedCode) {\n env.highlightedCode = highlightedCode;\n\n _.hooks.run('before-insert', env);\n\n env.element.innerHTML = env.highlightedCode;\n\n _.hooks.run('after-highlight', env);\n\n _.hooks.run('complete', env);\n\n callback && callback.call(env.element);\n }\n\n _.hooks.run('before-sanity-check', env);\n\n if (!env.code) {\n _.hooks.run('complete', env);\n\n callback && callback.call(env.element);\n return;\n }\n\n _.hooks.run('before-highlight', env);\n\n if (!env.grammar) {\n insertHighlightedCode(_.util.encode(env.code));\n return;\n }\n\n if (async && _self.Worker) {\n var worker = new Worker(_.filename);\n\n worker.onmessage = function (evt) {\n insertHighlightedCode(evt.data);\n };\n\n worker.postMessage(JSON.stringify({\n language: env.language,\n code: env.code,\n immediateClose: true\n }));\n } else {\n insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n }\n },\n\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function highlight(text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n };\n\n _.hooks.run('before-tokenize', env);\n\n env.tokens = _.tokenize(env.code, env.grammar);\n\n _.hooks.run('after-tokenize', env);\n\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function tokenize(text, grammar) {\n var rest = grammar.rest;\n\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n\n delete grammar.rest;\n }\n\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function add(name, callback) {\n var hooks = _.hooks.all;\n hooks[name] = hooks[name] || [];\n hooks[name].push(callback);\n },\n\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function run(name, env) {\n var callbacks = _.hooks.all[name];\n\n if (!callbacks || !callbacks.length) {\n return;\n }\n\n for (var i = 0, callback; callback = callbacks[i++];) {\n callback(env);\n }\n }\n },\n Token: Token\n };\n _self.Prism = _; // Typescript note:\n // The following can be used to import the Token type in JSDoc:\n //\n // @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n /**\n * Creates a new token.\n *\n * @param {string} type See {@link Token#type type}\n * @param {string | TokenStream} content See {@link Token#content content}\n * @param {string|string[]} [alias] The alias(es) of the token.\n * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n * @class\n * @global\n * @public\n */\n\n function Token(type, content, alias, matchedStr) {\n /**\n * The type of the token.\n *\n * This is usually the key of a pattern in a {@link Grammar}.\n *\n * @type {string}\n * @see GrammarToken\n * @public\n */\n this.type = type;\n /**\n * The strings or tokens contained by this token.\n *\n * This will be a token stream if the pattern matched also defined an `inside` grammar.\n *\n * @type {string | TokenStream}\n * @public\n */\n\n this.content = content;\n /**\n * The alias(es) of the token.\n *\n * @type {string|string[]}\n * @see GrammarToken\n * @public\n */\n\n this.alias = alias; // Copy of the full string this token was created from\n\n this.length = (matchedStr || '').length | 0;\n }\n /**\n * A token stream is an array of strings and {@link Token Token} objects.\n *\n * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n * them.\n *\n * 1. No adjacent strings.\n * 2. No empty strings.\n *\n * The only exception here is the token stream that only contains the empty string and nothing else.\n *\n * @typedef {Array<string | Token>} TokenStream\n * @global\n * @public\n */\n\n /**\n * Converts the given token or token stream to an HTML representation.\n *\n * The following hooks will be run:\n * 1. `wrap`: On each {@link Token}.\n *\n * @param {string | Token | TokenStream} o The token or token stream to be converted.\n * @param {string} language The name of current language.\n * @returns {string} The HTML representation of the token or token stream.\n * @memberof Token\n * @static\n */\n\n\n Token.stringify = function stringify(o, language) {\n if (typeof o == 'string') {\n return o;\n }\n\n if (Array.isArray(o)) {\n var s = '';\n o.forEach(function (e) {\n s += stringify(e, language);\n });\n return s;\n }\n\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: 'span',\n classes: ['token', o.type],\n attributes: {},\n language: language\n };\n var aliases = o.alias;\n\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n\n _.hooks.run('wrap', env);\n\n var attributes = '';\n\n for (var name in env.attributes) {\n attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n }\n\n return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n };\n /**\n * @param {string} text\n * @param {LinkedList<string | Token>} tokenList\n * @param {any} grammar\n * @param {LinkedListNode<string | Token>} startNode\n * @param {number} startPos\n * @param {RematchOptions} [rematch]\n * @returns {void}\n * @private\n *\n * @typedef RematchOptions\n * @property {string} cause\n * @property {number} reach\n */\n\n\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + ',' + j) {\n return;\n }\n\n var patternObj = patterns[j],\n inside = patternObj.inside,\n lookbehind = !!patternObj.lookbehind,\n greedy = !!patternObj.greedy,\n lookbehindLength = 0,\n alias = patternObj.alias;\n\n if (greedy && !patternObj.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n }\n /** @type {RegExp} */\n\n\n var pattern = patternObj.pattern || patternObj;\n\n for ( // iterate the token list and keep track of the current token/string position\n var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n\n var str = currentNode.value;\n\n if (tokenList.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return;\n }\n\n if (str instanceof Token) {\n continue;\n }\n\n var removeCount = 1; // this is the to parameter of removeBetween\n\n if (greedy && currentNode != tokenList.tail.prev) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n\n if (!match) {\n break;\n }\n\n var from = match.index + (lookbehind && match[1] ? match[1].length : 0);\n var to = match.index + match[0].length;\n var p = pos; // find the node that contains the match\n\n p += currentNode.value.length;\n\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n } // adjust pos (and p)\n\n\n p -= currentNode.value.length;\n pos = p; // the current node is a Token, then the match starts inside another Token, which is invalid\n\n if (currentNode.value instanceof Token) {\n continue;\n } // find the last node which is affected by this match\n\n\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n\n removeCount--; // replace with the new match\n\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n pattern.lastIndex = 0;\n var match = pattern.exec(str);\n }\n\n if (!match) {\n continue;\n }\n\n if (lookbehind) {\n lookbehindLength = match[1] ? match[1].length : 0;\n }\n\n var from = match.index + lookbehindLength,\n matchStr = match[0].slice(lookbehindLength),\n to = from + matchStr.length,\n before = str.slice(0, from),\n after = str.slice(to);\n var reach = pos + str.length;\n\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n\n var removeFrom = currentNode.prev;\n\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n\n if (removeCount > 1) {\n // at least one Token object was removed, so we have to do some rematching\n // this can only happen if the current pattern is greedy\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, {\n cause: token + ',' + j,\n reach: reach\n });\n }\n }\n }\n }\n }\n /**\n * @typedef LinkedListNode\n * @property {T} value\n * @property {LinkedListNode<T> | null} prev The previous node.\n * @property {LinkedListNode<T> | null} next The next node.\n * @template T\n * @private\n */\n\n /**\n * @template T\n * @private\n */\n\n\n function LinkedList() {\n /** @type {LinkedListNode<T>} */\n var head = {\n value: null,\n prev: null,\n next: null\n };\n /** @type {LinkedListNode<T>} */\n\n var tail = {\n value: null,\n prev: head,\n next: null\n };\n head.next = tail;\n /** @type {LinkedListNode<T>} */\n\n this.head = head;\n /** @type {LinkedListNode<T>} */\n\n this.tail = tail;\n this.length = 0;\n }\n /**\n * Adds a new node with the given value to the list.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {T} value\n * @returns {LinkedListNode<T>} The added node.\n * @template T\n */\n\n\n function addAfter(list, node, value) {\n // assumes that node != list.tail && values.length >= 0\n var next = node.next;\n var newNode = {\n value: value,\n prev: node,\n next: next\n };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n /**\n * Removes `count` nodes after the given node. The given node will not be removed.\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {number} count\n * @template T\n */\n\n\n function removeRange(list, node, count) {\n var next = node.next;\n\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n /**\n * @param {LinkedList<T>} list\n * @returns {T[]}\n * @template T\n */\n\n\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n\n return array;\n }\n\n if (!_self.document) {\n if (!_self.addEventListener) {\n // in Node.js\n return _;\n }\n\n if (!_.disableWorkerMessageHandler) {\n // In worker\n _self.addEventListener('message', function (evt) {\n var message = JSON.parse(evt.data),\n lang = message.language,\n code = message.code,\n immediateClose = message.immediateClose;\n\n _self.postMessage(_.highlight(code, _.languages[lang], lang));\n\n if (immediateClose) {\n _self.close();\n }\n }, false);\n }\n\n return _;\n } // Get current script and highlight\n\n\n var script = _.util.currentScript();\n\n if (script) {\n _.filename = script.src;\n\n if (script.hasAttribute('data-manual')) {\n _.manual = true;\n }\n }\n\n function highlightAutomaticallyCallback() {\n if (!_.manual) {\n _.highlightAll();\n }\n }\n\n if (!_.manual) {\n // If the document state is \"loading\", then we'll use DOMContentLoaded.\n // If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n // DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n // might take longer one animation frame to execute which can create a race condition where only some plugins have\n // been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n // See https://github.com/PrismJS/prism/issues/2102\n var readyState = document.readyState;\n\n if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n } else {\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(highlightAutomaticallyCallback);\n } else {\n window.setTimeout(highlightAutomaticallyCallback, 16);\n }\n }\n }\n\n return _;\n }(_self);\n\n if (module.exports) {\n module.exports = Prism;\n } // hack for components to work correctly in node.js\n\n\n if (typeof commonjsGlobal !== 'undefined') {\n commonjsGlobal.Prism = Prism;\n } // some additional documentation/types\n\n /**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n /**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n /**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n /**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n /* **********************************************\n Begin prism-markup.js\n ********************************************** */\n\n\n Prism.languages.markup = {\n 'comment': /<!--[\\s\\S]*?-->/,\n 'prolog': /<\\?[\\s\\S]+?\\?>/,\n 'doctype': {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n\n },\n 'string': {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n 'punctuation': /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/,\n 'name': /[^\\s<>'\"]+/\n }\n },\n 'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n 'tag': {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n 'tag': {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n 'punctuation': /^<\\/?/,\n 'namespace': /^[^\\s>\\/:]+:/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n 'punctuation': [{\n pattern: /^=/,\n alias: 'attr-equals'\n }, /\"|'/]\n }\n },\n 'punctuation': /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n 'namespace': /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n 'entity': [{\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n }, /&#x?[\\da-f]{1,8};/i]\n };\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\n Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup; // Plugin to make entity title show the real entity, idea by Roman Komarov\n\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.replace(/&/, '&');\n }\n });\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {};\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n };\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n };\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n };\n var def = {};\n def[tagName] = {\n pattern: RegExp(/(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n return tagName;\n }), 'i'),\n lookbehind: true,\n greedy: true,\n inside: inside\n };\n Prism.languages.insertBefore('markup', 'cdata', def);\n }\n });\n Prism.languages.html = Prism.languages.markup;\n Prism.languages.mathml = Prism.languages.markup;\n Prism.languages.svg = Prism.languages.markup;\n Prism.languages.xml = Prism.languages.extend('markup', {});\n Prism.languages.ssml = Prism.languages.xml;\n Prism.languages.atom = Prism.languages.xml;\n Prism.languages.rss = Prism.languages.xml;\n /* **********************************************\n Begin prism-css.js\n ********************************************** */\n\n (function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n Prism.languages.css = {\n 'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n 'atrule': {\n pattern: /@[\\w-]+[\\s\\S]*?(?:;|(?=\\s*\\{))/,\n inside: {\n 'rule': /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern: /(\\bselector\\s*\\((?!\\s*\\))\\s*)(?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n 'keyword': {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n } // See rest below\n\n }\n },\n 'url': {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n greedy: true,\n inside: {\n 'function': /^url/i,\n 'punctuation': /^\\(|\\)$/,\n 'string': {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n 'selector': RegExp('[^{}\\\\s](?:[^{};\"\\']|' + string.source + ')*?(?=\\\\s*\\\\{)'),\n 'string': {\n pattern: string,\n greedy: true\n },\n 'property': /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n 'important': /!important\\b/i,\n 'function': /[-a-z0-9]+(?=\\()/i,\n 'punctuation': /[(){};:,]/\n };\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n var markup = Prism.languages.markup;\n\n if (markup) {\n markup.tag.addInlined('style', 'css');\n Prism.languages.insertBefore('inside', 'attr-value', {\n 'style-attr': {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n 'attr-name': {\n pattern: /^\\s*style/i,\n inside: markup.tag.inside\n },\n 'punctuation': /^\\s*=\\s*['\"]|['\"]\\s*$/,\n 'attr-value': {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: 'language-css'\n }\n }, markup.tag);\n }\n })(Prism);\n /* **********************************************\n Begin prism-clike.js\n ********************************************** */\n\n\n Prism.languages.clike = {\n 'comment': [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }],\n 'string': {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n 'punctuation': /[.\\\\]/\n }\n },\n 'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n 'boolean': /\\b(?:true|false)\\b/,\n 'function': /\\w+(?=\\()/,\n 'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n 'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n 'punctuation': /[{}[\\];(),.:]/\n };\n /* **********************************************\n Begin prism-javascript.js\n ********************************************** */\n\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [Prism.languages.clike['class-name'], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: true\n }],\n 'keyword': [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: true\n }, {\n pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\\s*[\\[$\\w\\xA0-\\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }],\n 'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n 'function': /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n 'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n });\n Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\n Prism.languages.insertBefore('javascript', 'keyword', {\n 'regex': {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern: /#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,\n alias: 'function'\n },\n 'parameter': [{\n pattern: /(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }],\n 'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n });\n Prism.languages.insertBefore('javascript', 'string', {\n 'template-string': {\n pattern: /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'interpolation': {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\${|}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n 'string': /[\\s\\S]+/\n }\n }\n });\n\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript');\n }\n\n Prism.languages.js = Prism.languages.javascript;\n /* **********************************************\n Begin prism-file-highlight.js\n ********************************************** */\n\n (function () {\n if (typeof self === 'undefined' || !self.Prism || !self.document) {\n return;\n }\n\n var Prism = window.Prism;\n var LOADING_MESSAGE = 'Loading…';\n\n var FAILURE_MESSAGE = function FAILURE_MESSAGE(status, message) {\n return '✖ Error ' + status + ' while fetching file: ' + message;\n };\n\n var FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n var EXTENSIONS = {\n 'js': 'javascript',\n 'py': 'python',\n 'rb': 'ruby',\n 'ps1': 'powershell',\n 'psm1': 'powershell',\n 'sh': 'bash',\n 'bat': 'batch',\n 'h': 'c',\n 'tex': 'latex'\n };\n var STATUS_ATTR = 'data-src-status';\n var STATUS_LOADING = 'loading';\n var STATUS_LOADED = 'loaded';\n var STATUS_FAILED = 'failed';\n var SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])' + ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n var lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n /**\n * Sets the Prism `language-xxxx` or `lang-xxxx` class to the given language.\n *\n * @param {HTMLElement} element\n * @param {string} language\n * @returns {void}\n */\n\n function setLanguageClass(element, language) {\n var className = element.className;\n className = className.replace(lang, ' ') + ' language-' + language;\n element.className = className.replace(/\\s+/g, ' ').trim();\n }\n\n Prism.hooks.add('before-highlightall', function (env) {\n env.selector += ', ' + SELECTOR;\n });\n Prism.hooks.add('before-sanity-check', function (env) {\n var pre =\n /** @type {HTMLPreElement} */\n env.element;\n\n if (pre.matches(SELECTOR)) {\n env.code = ''; // fast-path the whole thing and go to complete\n\n pre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n // add code element with loading message\n\n var code = pre.appendChild(document.createElement('CODE'));\n code.textContent = LOADING_MESSAGE;\n var src = pre.getAttribute('data-src');\n var language = env.language;\n\n if (language === 'none') {\n // the language might be 'none' because there is no language set;\n // in this case, we want to use the extension as the language\n var extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n language = EXTENSIONS[extension] || extension;\n } // set language classes\n\n\n setLanguageClass(code, language);\n setLanguageClass(pre, language); // preload the language\n\n var autoloader = Prism.plugins.autoloader;\n\n if (autoloader) {\n autoloader.loadLanguages(language);\n } // load file\n\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', src, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status < 400 && xhr.responseText) {\n // mark as loaded\n pre.setAttribute(STATUS_ATTR, STATUS_LOADED); // highlight code\n\n code.textContent = xhr.responseText;\n Prism.highlightElement(code);\n } else {\n // mark as failed\n pre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n if (xhr.status >= 400) {\n code.textContent = FAILURE_MESSAGE(xhr.status, xhr.statusText);\n } else {\n code.textContent = FAILURE_EMPTY_MESSAGE;\n }\n }\n }\n };\n\n xhr.send(null);\n }\n });\n Prism.plugins.fileHighlight = {\n /**\n * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n *\n * Note: Elements which are already loaded or currently loading will not be touched by this method.\n *\n * @param {ParentNode} [container=document]\n */\n highlight: function highlight(container) {\n var elements = (container || document).querySelectorAll(SELECTOR);\n\n for (var i = 0, element; element = elements[i++];) {\n Prism.highlightElement(element);\n }\n }\n };\n var logged = false;\n /** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\n Prism.fileHighlight = function () {\n if (!logged) {\n console.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n logged = true;\n }\n\n Prism.plugins.fileHighlight.highlight.apply(this, arguments);\n };\n })();\n});\n\nfunction debounce(func, timeout) {\n var timer;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var next = function next() {\n return func.apply(void 0, args);\n };\n\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(next, timeout && timeout > 0 ? timeout : 300);\n };\n}\n\nfunction injectCSS(id, src) {\n return new Promise(function (resolve, reject) {\n if (!document) {\n resolve();\n return;\n }\n\n if (document.getElementById(id)) {\n resolve('CSS already loaded.');\n return;\n }\n\n var link = document.createElement('link');\n link.id = id;\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('href', src);\n link.addEventListener('load', function () {\n return resolve('CSS loaded.');\n });\n link.addEventListener('error', function () {\n return reject('Error loading css.');\n });\n link.addEventListener('abort', function () {\n return reject('CSS loading aborted.');\n });\n document.head.appendChild(link);\n });\n}\n\nfunction _loadTheme(theme) {\n if (!theme || theme === undefined) {\n return undefined;\n }\n\n switch (theme) {\n case DeckdeckgoHighlightCodeCarbonTheme['3024-NIGHT']:\n return import('./3024-night-8138cc8f.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['A11Y-DARK']:\n return import('./a11y-dark-533291b3.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-DARK']:\n return import('./base16-dark-12f375e0.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-LIGHT']:\n return import('./base16-light-52469b64.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.BLACKBOARD:\n return import('./blackboard-db1ca116.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.COBALT:\n return import('./cobalt-5d681c9a.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.DUOTONE:\n return import('./duotone-acd564a2.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.HOPSCOTCH:\n return import('./hopscotch-4820dd1a.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.LUCARIO:\n return import('./lucario-59b2ad39.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.MATERIAL:\n return import('./material-8e59c55f.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.MONOKAI:\n return import('./monokai-c3bd40c3.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['NIGHT-OWL']:\n return import('./night-owl-36dc5565.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.NORD:\n return import('./nord-ce9f3484.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['OCEANIC-NEXT']:\n return import('./oceanic-next-e3f20f17.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-DARK']:\n return import('./one-dark-3da1a5b7.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-LIGHT']:\n return import('./one-light-81b6cd67.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.PANDA:\n return import('./panda-2e75c11f.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.PARAISO:\n return import('./paraiso-cc30311f.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.SETI:\n return import('./seti-977c4512.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['SHADES-OF-PURPLE']:\n return import('./shades-of-purple-649a9b24.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-DARK']:\n return import('./solarized-dark-d1ab5e8b.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-LIGHT']:\n return import('./solarized-light-429511f1.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.SYNTHWAVE:\n return import('./synthwave-af3bb869.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.TWILIGHT:\n return import('./twilight-68d946d8.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.VERMINAL:\n return import('./verminal-f2bc4235.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.VSCODE:\n return import('./vscode-1e0057d8.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.YETI:\n return import('./yeti-67a4664e.js');\n\n case DeckdeckgoHighlightCodeCarbonTheme.ZENBURN:\n return import('./zenburn-a2e7f052.js');\n\n default:\n return import('./dracula-0eb4b4d6.js');\n }\n}\n\nvar CarbonThemeStyle = function CarbonThemeStyle(_ref) {\n var style = _ref.style;\n return h(\"style\", null, \"\\n :host \".concat(style, \";\\n \"));\n};\n\nvar deckdeckgoHighlightCodeCss = \"code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=\\\"language-\\\"]::-moz-selection,pre[class*=\\\"language-\\\"] ::-moz-selection,code[class*=\\\"language-\\\"]::-moz-selection,code[class*=\\\"language-\\\"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=\\\"language-\\\"]::selection,pre[class*=\\\"language-\\\"] ::selection,code[class*=\\\"language-\\\"]::selection,code[class*=\\\"language-\\\"] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{text-shadow:none}}pre[class*=\\\"language-\\\"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{background:#f5f2f0}:not(pre)>code[class*=\\\"language-\\\"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:hsla(0, 0%, 100%, .5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}:host ::slotted([slot=code]){display:none}:host([editable]){cursor:text}:host([editable]) code:empty:not(:focus):after{content:var(--deckgo-highlight-code-empty-text, \\\"Click to add your code\\\")}:host(.deckgo-highlight-code-carbon){display:var(--deckgo-highlight-code-carbon-display, block);overflow:var(--deckgo-highlight-code-carbon-overflow, auto);border:var(--deckgo-highlight-code-carbon-border);border-radius:var(--deckgo-highlight-code-carbon-border-radius, 4px);background:var(--deckgo-highlight-code-carbon-background, #282a36);color:var(--deckgo-highlight-code-carbon-color, white);box-shadow:var(--deckgo-highlight-code-carbon-box-shadow, rgba(0, 0, 0, 0.55) 0 8px 16px);margin:var(--deckgo-highlight-code-carbon-margin, 16px 0)}:host(.deckgo-highlight-code-carbon) div.deckgo-highlight-code-container{margin:var(--deckgo-highlight-code-margin, 0 0 16px)}:host(.deckgo-highlight-code-carbon) div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{background:var(--deckgo-highlight-code-carbon-background, transparent);border-color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4));color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4))}:host(.deckgo-highlight-code-carbon) ::slotted([slot=code]){color:var(--deckgo-highlight-code-carbon-color, white)}:host(.deckgo-highlight-code-ubuntu){display:var(--deckgo-highlight-code-ubuntu-display, block);overflow:var(--deckgo-highlight-code-ubuntu-overflow, auto);border:var(--deckgo-highlight-code-ubuntu-border);border-radius:var(--deckgo-highlight-code-ubuntu-border-radius, 6px 6px 0 0);background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d);color:var(--deckgo-highlight-code-ubuntu-color, #ddd);box-shadow:var(--deckgo-highlight-code-ubuntu-box-shadow, 2px 4px 10px rgba(0, 0, 0, 0.5));margin:var(--deckgo-highlight-code-ubuntu-margin, 16px 0)}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container{margin:var(--deckgo-highlight-code-margin, 0 0 16px);padding:var(--deckgo-highlight-code-padding, 2px 0 0);background:transparent}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container code{font-family:var(--deckgo-highlight-code-font-family, \\\"Ubuntu mono\\\")}:host(.deckgo-highlight-code-ubuntu) div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d)}:host(.deckgo-highlight-code-ubuntu) ::slotted([slot=code]){color:var(--deckgo-highlight-code-ubuntu-color, #ddd)}div.deckgo-highlight-code-container{color:var(--deckgo-highlight-code-color, inherit);background:var(--deckgo-highlight-code-background);padding:var(--deckgo-highlight-code-padding, 0 16px);border-radius:var(--deckgo-highlight-code-border-radius);margin:var(--deckgo-highlight-code-margin, 16px 0);transform-origin:bottom left;transition:all 0.2s ease-in-out;transform:scale(var(--deckgo-highlight-code-zoom, 1));direction:var(--deckgo-highlight-code-direction, ltr);text-align:var(--deckgo-highlight-code-text-align, start);width:var(--deckgo-highlight-code-container-width);height:var(--deckgo-highlight-code-container-height);display:var(--deckgo-highlight-code-container-display, block);justify-content:var(--deckgo-highlight-code-container-justify-content);flex-direction:var(--deckgo-highlight-code-container-flex-direction);align-items:var(--deckgo-highlight-code-container-align-items)}div.deckgo-highlight-code-container code{overflow-y:var(--deckgo-highlight-code-scroll, auto);white-space:var(--deckgo-highlight-code-white-space, pre-wrap);font-size:var(--deckgo-highlight-code-font-size);font-family:var(--deckgo-highlight-code-font-family, monospace);display:var(--deckgo-highlight-code-display, block);counter-reset:linenumber;height:100%;}div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number{counter-increment:linenumber;position:relative;padding-left:3.5em}div.deckgo-highlight-code-container code>div.deckgo-highlight-code-line-number:before{content:counter(linenumber);display:inline-block;position:absolute;top:0;bottom:0;left:0;width:2.5em;background:var(--deckgo-highlight-code-background);border-right:1px solid var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4));color:var(--deckgo-highlight-code-line-numbers, var(--deckgo-highlight-code-token-comment, #6272a4))}div.deckgo-highlight-code-container code span.deckgo-highlight-code-anchor-hidden{visibility:hidden}div.deckgo-highlight-code-container code .deckgo-highlight-code-line{background:var(--deckgo-highlight-code-line-background, #3e4564);border-top:var(--deckgo-highlight-code-line-border-top);border-bottom:var(--deckgo-highlight-code-line-border-bottom)}div.deckgo-highlight-code-container code .language-css .token.string:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .style .token.string:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.entity:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.operator:not(.deckgo-highlight-code-line),div.deckgo-highlight-code-container code .token.url:not(.deckgo-highlight-code-line){background:inherit}div.deckgo-highlight-code-container code .token.comment,div.deckgo-highlight-code-container code .token.prolog,div.deckgo-highlight-code-container code .token.doctype,div.deckgo-highlight-code-container code .token.cdata{color:var(--deckgo-highlight-code-token-comment, #6272a4)}div.deckgo-highlight-code-container code .token.punctuation{color:var(--deckgo-highlight-code-token-punctuation, #6272a4)}div.deckgo-highlight-code-container code .token.property,div.deckgo-highlight-code-container code .token.tag,div.deckgo-highlight-code-container code .token.boolean,div.deckgo-highlight-code-container code .token.number,div.deckgo-highlight-code-container code .token.constant,div.deckgo-highlight-code-container code .token.symbol,div.deckgo-highlight-code-container code .token.deleted{color:var(--deckgo-highlight-code-token-property, #bd93f9)}div.deckgo-highlight-code-container code .token.selector,div.deckgo-highlight-code-container code .token.attr-name,div.deckgo-highlight-code-container code .token.string,div.deckgo-highlight-code-container code .token.char,div.deckgo-highlight-code-container code .token.builtin,div.deckgo-highlight-code-container code .token.inserted{color:var(--deckgo-highlight-code-token-selector, #50fa7b)}div.deckgo-highlight-code-container code .token.operator,div.deckgo-highlight-code-container code .token.entity,div.deckgo-highlight-code-container code .token.url,div.deckgo-highlight-code-container code .language-css .token.string,div.deckgo-highlight-code-container code .style .token.string{color:var(--deckgo-highlight-code-token-operator, #ff79c6)}div.deckgo-highlight-code-container code .token.atrule,div.deckgo-highlight-code-container code .token.attr-value,div.deckgo-highlight-code-container code .token.keyword{color:var(--deckgo-highlight-code-token-atrule, #ff79c6)}div.deckgo-highlight-code-container code .token.function,div.deckgo-highlight-code-container code .token.class-name{color:var(--deckgo-highlight-code-token-function, #ffb86c)}div.deckgo-highlight-code-container code .token.regex,div.deckgo-highlight-code-container code .token.important,div.deckgo-highlight-code-container code .token.variable{color:var(--deckgo-highlight-code-token-regex, #f1fa8c)}div.carbon{display:flex;justify-content:flex-start;padding:var(--deckgo-highlight-code-carbon-header-padding, 8px 16px);margin:var(--deckgo-highlight-code-carbon-header-margin, 0)}div.carbon>div{display:var(--deckgo-highlight-code-carbon-toolbar-display, \\\"block\\\");width:var(--deckgo-highlight-code-carbon-header-button-width, 12px);height:var(--deckgo-highlight-code-carbon-header-button-height, 12px);border-radius:var(--deckgo-highlight-code-carbon-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-carbon-header-button-margin, 8px 6px 8px 0)}div.carbon>div.red{background:var(--deckgo-highlight-code-carbon-header-button-red-background, #ff5f56);border:var(--deckgo-highlight-code-carbon-header-button-red-border, 0.5px solid #e0443e)}div.carbon>div.yellow{background:var(--deckgo-highlight-code-carbon-header-button-yellow-background, #ffbd2e);border:var(--deckgo-highlight-code-carbon-header-button-yellow-border, 0.5px solid #dea123)}div.carbon>div.green{background:var(--deckgo-highlight-code-carbon-header-button-green-background, #27c93f);border:var(--deckgo-highlight-code-carbon-header-button-green-border, 0.5px solid #1aab29)}div.ubuntu{display:flex;justify-content:flex-start;align-items:center;padding:var(--deckgo-highlight-code-ubuntu-header-padding, 0 8px);height:var(--deckgo-highlight-code-ubuntu-header-height, 25px);background:var(--deckgo-highlight-code-ubuntu-header-background, linear-gradient(#504b45 0%, #3c3b37 100%));font-family:var(--deckgo-highlight-code-ubuntu-header-font-family, \\\"Ubuntu\\\")}div.ubuntu>div{display:flex;align-items:center;justify-content:center;width:var(--deckgo-highlight-code-ubuntu-header-button-width, 12px);height:var(--deckgo-highlight-code-ubuntu-header-button-height, 12px);border-radius:var(--deckgo-highlight-code-ubuntu-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-ubuntu-header-button-margin, 0 4px 0 0);font-size:var(--deckgo-highlight-code-ubuntu-header-button-font-size, 7px);color:var(--deckgo-highlight-code-ubuntu-header-button-color, black);text-shadow:var(--deckgo-highlight-code-ubuntu-header-button-text-shadow, 0px 1px 0px rgba(255, 255, 255, 0.2));box-shadow:var(--deckgo-highlight-code-ubuntu-header-button-box-shadow, 0px 0px 1px 0px #41403a, 0px 1px 1px 0px #474642)}div.ubuntu>div.close{background:var(--deckgo-highlight-code-ubuntu-header-button-close-background, linear-gradient(#f37458 0%, #de4c12 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-close-border)}div.ubuntu>div.minimize{background:var(--deckgo-highlight-code-ubuntu-header-button-minimize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-minimize-border)}div.ubuntu>div.maximize{background:var(--deckgo-highlight-code-ubuntu-header-button-maximize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-maximize-border)}div.ubuntu>div.close span,div.ubuntu>div.minimize span,div.ubuntu>div.maximize span{display:var(--deckgo-highlight-code-ubuntu-header-button-span-display, inherit)}div.ubuntu>p{color:var(--deckgo-highlight-code-ubuntu-header-user-color, #d5d0ce);font-size:var(--deckgo-highlight-code-ubuntu-header-user-font-size, 12px);line-height:var(--deckgo-highlight-code-ubuntu-header-user-line-height, 14px);margin:var(--deckgo-highlight-code-ubuntu-header-user-margin, 0 0 1px 4px)}\";\n\nvar DeckdeckgoHighlightCode = /*#__PURE__*/function () {\n function DeckdeckgoHighlightCode(hostRef) {\n var _this = this;\n\n _classCallCheck(this, DeckdeckgoHighlightCode);\n\n registerInstance(this, hostRef);\n this.prismLanguageLoaded = createEvent(this, \"prismLanguageLoaded\", 7);\n this.codeDidChange = createEvent(this, \"codeDidChange\", 7);\n this.anchor = '// DeckDeckGo';\n this.anchorZoom = '// DeckDeckGoZoom';\n this.hideAnchor = true;\n this.language = 'javascript';\n this.lineNumbers = false;\n this.terminal = DeckdeckgoHighlightCodeTerminal.CARBON;\n this.editable = false;\n this.theme = DeckdeckgoHighlightCodeCarbonTheme.DRACULA;\n this.anchorOffsetTop = 0;\n this.fetchOrParseAfterUpdate = false;\n this.loaded = false;\n\n this.catchTab = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee($event) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if ($event && $event.key === 'Tab') {\n $event.preventDefault();\n document.execCommand('insertHTML', false, '	');\n }\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n this.debounceUpdateSlot = debounce( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this.copyCodeToSlot();\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })), 500);\n }\n\n _createClass(DeckdeckgoHighlightCode, [{\n key: \"componentWillLoad\",\n value: function () {\n var _componentWillLoad = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.loadGoogleFonts();\n\n case 2:\n _context3.next = 4;\n return this.loadTheme();\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function componentWillLoad() {\n return _componentWillLoad.apply(this, arguments);\n }\n\n return componentWillLoad;\n }()\n }, {\n key: \"componentDidLoad\",\n value: function () {\n var _componentDidLoad = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var languageWasLoaded;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this.languageDidLoad();\n\n case 2:\n languageWasLoaded = _context4.sent;\n _context4.next = 5;\n return this.loadLanguages();\n\n case 5:\n if (!languageWasLoaded) {\n _context4.next = 8;\n break;\n }\n\n _context4.next = 8;\n return this.fetchOrParse();\n\n case 8:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function componentDidLoad() {\n return _componentDidLoad.apply(this, arguments);\n }\n\n return componentDidLoad;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n var _componentDidUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this.fetchOrParseAfterUpdate) {\n _context5.next = 4;\n break;\n }\n\n _context5.next = 3;\n return this.fetchOrParse();\n\n case 3:\n this.fetchOrParseAfterUpdate = false;\n\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function componentDidUpdate() {\n return _componentDidUpdate.apply(this, arguments);\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"loadTheme\",\n value: function () {\n var _loadTheme2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {\n var _yield$_loadTheme, theme;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON || !this.theme)) {\n _context6.next = 3;\n break;\n }\n\n this.themeStyle = undefined;\n return _context6.abrupt(\"return\");\n\n case 3:\n _context6.next = 5;\n return _loadTheme(this.theme);\n\n case 5:\n _yield$_loadTheme = _context6.sent;\n theme = _yield$_loadTheme.theme;\n this.themeStyle = theme;\n\n case 8:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function loadTheme() {\n return _loadTheme2.apply(this, arguments);\n }\n\n return loadTheme;\n }()\n }, {\n key: \"languageLoaded\",\n value: function () {\n var _languageLoaded = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7($event) {\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(!$event || !$event.detail)) {\n _context7.next = 2;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 2:\n if (this.languagesToLoad) {\n this.languagesToLoad = this.languagesToLoad.filter(function (lang) {\n return lang !== $event.detail;\n });\n }\n\n if (!(this.language && !this.loaded && (this.languagesToLoad === undefined || this.languagesToLoad.length <= 0))) {\n _context7.next = 7;\n break;\n }\n\n _context7.next = 6;\n return this.fetchOrParse();\n\n case 6:\n this.loaded = true;\n\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function languageLoaded(_x2) {\n return _languageLoaded.apply(this, arguments);\n }\n\n return languageLoaded;\n }()\n }, {\n key: \"fetchOrParse\",\n value: function () {\n var _fetchOrParse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!(!this.language || !deckdeckgoHighlightCodeLanguages[this.language])) {\n _context8.next = 2;\n break;\n }\n\n return _context8.abrupt(\"return\");\n\n case 2:\n if (!this.src) {\n _context8.next = 7;\n break;\n }\n\n _context8.next = 5;\n return this.fetchCode();\n\n case 5:\n _context8.next = 9;\n break;\n\n case 7:\n _context8.next = 9;\n return this.parseSlottedCode();\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function fetchOrParse() {\n return _fetchOrParse.apply(this, arguments);\n }\n\n return fetchOrParse;\n }()\n }, {\n key: \"languageDidLoad\",\n value: function languageDidLoad() {\n var _this2 = this;\n\n return new Promise(function (resolve) {\n if (!document || !_this2.language || _this2.language === '') {\n resolve(false);\n return;\n }\n\n var scripts = document.querySelector(\"[deckdeckgo-prism-loaded='\" + _this2.language + \"']\");\n\n if (scripts) {\n resolve(true);\n } else {\n resolve(false);\n }\n });\n }\n }, {\n key: \"onLanguage\",\n value: function () {\n var _onLanguage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this.loadLanguages(true);\n\n case 2:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function onLanguage() {\n return _onLanguage.apply(this, arguments);\n }\n\n return onLanguage;\n }()\n }, {\n key: \"loadLanguages\",\n value: function () {\n var _loadLanguages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var reload,\n _args10 = arguments;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n reload = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : false;\n this.loaded = false;\n\n if (!(!this.language || !deckdeckgoHighlightCodeLanguages[this.language])) {\n _context10.next = 5;\n break;\n }\n\n console.error(\"Language \".concat(this.language, \" is not supported\"));\n return _context10.abrupt(\"return\");\n\n case 5:\n _context10.next = 7;\n return this.initLanguagesToLoad();\n\n case 7:\n _context10.next = 9;\n return this.loadLanguagesRequire();\n\n case 9:\n _context10.next = 11;\n return this.loadScript(this.language, reload);\n\n case 11:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function loadLanguages() {\n return _loadLanguages.apply(this, arguments);\n }\n\n return loadLanguages;\n }()\n }, {\n key: \"initLanguagesToLoad\",\n value: function () {\n var _initLanguagesToLoad = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var definition;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (this.language) {\n _context11.next = 2;\n break;\n }\n\n return _context11.abrupt(\"return\");\n\n case 2:\n definition = deckdeckgoHighlightCodeLanguages[this.language];\n this.languagesToLoad = definition.require && definition.require.length > 0 ? [this.language].concat(_toConsumableArray(definition.require)) : [this.language];\n\n case 4:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function initLanguagesToLoad() {\n return _initLanguagesToLoad.apply(this, arguments);\n }\n\n return initLanguagesToLoad;\n }()\n }, {\n key: \"loadLanguagesRequire\",\n value: function () {\n var _loadLanguagesRequire = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var _this3 = this;\n\n var promises, definition;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n promises = [];\n definition = deckdeckgoHighlightCodeLanguages[this.language];\n\n if (definition.require) {\n promises.push.apply(promises, _toConsumableArray(definition.require.map(function (extraScript) {\n return _this3.loadScript(extraScript, false, true);\n })));\n }\n\n if (!(promises.length <= 0)) {\n _context12.next = 5;\n break;\n }\n\n return _context12.abrupt(\"return\");\n\n case 5:\n _context12.next = 7;\n return Promise.all(promises);\n\n case 7:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function loadLanguagesRequire() {\n return _loadLanguagesRequire.apply(this, arguments);\n }\n\n return loadLanguagesRequire;\n }()\n }, {\n key: \"loadScript\",\n value: function loadScript(lang) {\n var _this4 = this;\n\n var reload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var requireScript = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return new Promise( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(resolve) {\n var scripts, script, definition, language;\n return _regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n if (!(!document || !lang || lang === '')) {\n _context15.next = 3;\n break;\n }\n\n resolve();\n return _context15.abrupt(\"return\");\n\n case 3:\n if (!(lang === 'javascript')) {\n _context15.next = 7;\n break;\n }\n\n _this4.prismLanguageLoaded.emit('javascript');\n\n resolve();\n return _context15.abrupt(\"return\");\n\n case 7:\n scripts = document.querySelector(\"[deckdeckgo-prism='\" + lang + \"']\");\n\n if (!scripts) {\n _context15.next = 12;\n break;\n }\n\n if (reload) {\n _this4.prismLanguageLoaded.emit(lang);\n }\n\n resolve();\n return _context15.abrupt(\"return\");\n\n case 12:\n script = document.createElement('script');\n script.onload = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n script.setAttribute('deckdeckgo-prism-loaded', lang);\n\n _this4.prismLanguageLoaded.emit(lang);\n\n case 2:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13);\n }));\n script.onerror = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n if (script.parentElement) {\n script.parentElement.removeChild(script);\n } // if the language definition doesn't exist or if unpkg is down, display code anyway\n\n\n _this4.prismLanguageLoaded.emit(lang);\n\n case 2:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14);\n }));\n definition = deckdeckgoHighlightCodeLanguages[_this4.language];\n language = !requireScript && definition.main ? definition.main : lang;\n script.src = 'https://unpkg.com/prismjs@latest/components/prism-' + language + '.js';\n script.setAttribute('deckdeckgo-prism', language);\n script.defer = true;\n document.head.appendChild(script);\n script.addEventListener('load', function () {\n return resolve();\n }, {\n once: true\n });\n\n case 22:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"onLineNumbersChange\",\n value: function () {\n var _onLineNumbersChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {\n return _regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.next = 2;\n return this.fetchOrParse();\n\n case 2:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function onLineNumbersChange() {\n return _onLineNumbersChange.apply(this, arguments);\n }\n\n return onLineNumbersChange;\n }()\n }, {\n key: \"onCarbonChange\",\n value: function () {\n var _onCarbonChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17() {\n return _regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n this.fetchOrParseAfterUpdate = true;\n _context17.next = 3;\n return this.loadGoogleFonts();\n\n case 3:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function onCarbonChange() {\n return _onCarbonChange.apply(this, arguments);\n }\n\n return onCarbonChange;\n }()\n }, {\n key: \"loadGoogleFonts\",\n value: function () {\n var _loadGoogleFonts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee18() {\n return _regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n if (!(this.terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU)) {\n _context18.next = 3;\n break;\n }\n\n _context18.next = 3;\n return injectCSS('google-fonts-ubuntu', 'https://fonts.googleapis.com/css?family=Ubuntu|Ubuntu+Mono&display=swap');\n\n case 3:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function loadGoogleFonts() {\n return _loadGoogleFonts.apply(this, arguments);\n }\n\n return loadGoogleFonts;\n }()\n }, {\n key: \"load\",\n value: function load() {\n var _this5 = this;\n\n return new Promise( /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee19(resolve) {\n return _regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n if (!(!_this5.language || _this5.language === '')) {\n _context19.next = 3;\n break;\n }\n\n resolve();\n return _context19.abrupt(\"return\");\n\n case 3:\n if (!(_this5.language === 'javascript')) {\n _context19.next = 8;\n break;\n }\n\n _context19.next = 6;\n return _this5.fetchOrParse();\n\n case 6:\n resolve();\n return _context19.abrupt(\"return\");\n\n case 8:\n if (!document.querySelector(\"[deckdeckgo-prism-loaded='\" + _this5.language + \"']\")) {\n _context19.next = 13;\n break;\n }\n\n _context19.next = 11;\n return _this5.fetchOrParse();\n\n case 11:\n _context19.next = 15;\n break;\n\n case 13:\n _context19.next = 15;\n return _this5.loadLanguages();\n\n case 15:\n resolve();\n\n case 16:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19);\n }));\n\n return function (_x4) {\n return _ref7.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"parseSlottedCode\",\n value: function parseSlottedCode() {\n var code = this.el.querySelector(\"[slot='code']\");\n\n if (code) {\n return this.parseCode(code.innerText ? code.innerText.trim() : code.innerText);\n } else {\n return new Promise(function (resolve) {\n resolve();\n });\n }\n }\n }, {\n key: \"fetchCode\",\n value: function () {\n var _fetchCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee20() {\n var fetchedCode, response, container;\n return _regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n if (this.src) {\n _context20.next = 2;\n break;\n }\n\n return _context20.abrupt(\"return\");\n\n case 2:\n _context20.prev = 2;\n _context20.next = 5;\n return fetch(this.src);\n\n case 5:\n response = _context20.sent;\n _context20.next = 8;\n return response.text();\n\n case 8:\n fetchedCode = _context20.sent;\n _context20.next = 11;\n return this.parseCode(fetchedCode);\n\n case 11:\n _context20.next = 17;\n break;\n\n case 13:\n _context20.prev = 13;\n _context20.t0 = _context20[\"catch\"](2);\n // Prism might not be able to parse the code for the selected language\n container = this.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n\n if (container && fetchedCode) {\n container.children[0].innerHTML = fetchedCode;\n }\n\n case 17:\n case \"end\":\n return _context20.stop();\n }\n }\n }, _callee20, this, [[2, 13]]);\n }));\n\n function fetchCode() {\n return _fetchCode.apply(this, arguments);\n }\n\n return fetchCode;\n }()\n }, {\n key: \"parseCode\",\n value: function parseCode(code) {\n var _this6 = this;\n\n return new Promise( /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee21(resolve, reject) {\n var container, regEx, match;\n return _regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n container = _this6.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n\n if (!(!code || code === undefined || code === '')) {\n _context21.next = 4;\n break;\n }\n\n resolve();\n return _context21.abrupt(\"return\");\n\n case 4:\n if (!container) {\n _context21.next = 18;\n break;\n }\n\n _context21.prev = 5;\n // clear the container first\n container.children[0].innerHTML = ''; // split the code on linebreaks\n\n regEx = RegExp(/\\n(?!$)/g); //\n\n match = code.split(regEx);\n match.forEach(function (m, idx, array) {\n // On last element\n if (idx === array.length - 1) {\n _this6.attachHighlightObserver(container);\n }\n\n var div = document.createElement('div');\n\n if (_this6.lineNumbers) {\n div.classList.add('deckgo-highlight-code-line-number');\n }\n\n var highlight = prism.highlight(m, prism.languages[_this6.language], _this6.language); // If empty, use \\u200B as zero width text spacer\n\n div.innerHTML = highlight && highlight !== '' ? highlight : \"\\u200B\";\n container.children[0].appendChild(div);\n });\n _context21.next = 12;\n return _this6.addAnchors();\n\n case 12:\n resolve();\n _context21.next = 18;\n break;\n\n case 15:\n _context21.prev = 15;\n _context21.t0 = _context21[\"catch\"](5);\n reject(_context21.t0);\n\n case 18:\n case \"end\":\n return _context21.stop();\n }\n }\n }, _callee21, null, [[5, 15]]);\n }));\n\n return function (_x5, _x6) {\n return _ref8.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"attachHighlightObserver\",\n value: function attachHighlightObserver(container) {\n var _this7 = this;\n\n if (window && 'ResizeObserver' in window) {\n // @ts-ignore\n var observer = new ResizeObserver( /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee22(_entries) {\n return _regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _context22.next = 2;\n return _this7.addHighlight();\n\n case 2:\n observer.disconnect();\n\n case 3:\n case \"end\":\n return _context22.stop();\n }\n }\n }, _callee22);\n }));\n\n return function (_x7) {\n return _ref9.apply(this, arguments);\n };\n }());\n observer.observe(container);\n } else {\n // Back in my days...\n setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee23() {\n return _regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n _context23.next = 2;\n return _this7.addHighlight();\n\n case 2:\n case \"end\":\n return _context23.stop();\n }\n }\n }, _callee23);\n })), 100);\n }\n }\n }, {\n key: \"addAnchors\",\n value: function addAnchors() {\n var _this8 = this;\n\n return new Promise(function (resolve) {\n var elements = _this8.el.shadowRoot.querySelectorAll('span.comment');\n\n if (elements) {\n var elementsArray = Array.from(elements);\n var anchors = elementsArray.filter(function (element) {\n return _this8.hasLineAnchor(element.innerHTML);\n });\n\n if (anchors) {\n anchors.forEach(function (anchor) {\n anchor.classList.add('deckgo-highlight-code-anchor');\n\n if (_this8.hideAnchor) {\n anchor.classList.add('deckgo-highlight-code-anchor-hidden');\n }\n });\n }\n }\n\n resolve();\n });\n }\n }, {\n key: \"hasLineAnchor\",\n value: function hasLineAnchor(line) {\n return line && this.anchor && line.indexOf('@Prop') === -1 && line.split(' ').join('').indexOf(this.anchor.split(' ').join('')) > -1;\n }\n }, {\n key: \"addHighlight\",\n value: function addHighlight() {\n var _this9 = this;\n\n return new Promise( /*#__PURE__*/function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee24(resolve) {\n var rows, containerCode, elements, rowIndex, lastOffsetTop, offsetHeight;\n return _regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n if (!(_this9.highlightLines && _this9.highlightLines.length > 0)) {\n _context24.next = 5;\n break;\n }\n\n _context24.next = 3;\n return _this9.findRowsToHighlight();\n\n case 3:\n rows = _context24.sent;\n\n if (rows && rows.length > 0) {\n containerCode = _this9.el.shadowRoot.querySelector('code');\n\n if (containerCode && containerCode.hasChildNodes()) {\n elements = Array.prototype.slice.call(containerCode.childNodes);\n rowIndex = 0;\n lastOffsetTop = -1;\n offsetHeight = -1;\n elements.forEach(function (element) {\n var editElement; // We need to convert text entries to an element in order to be able to style it\n\n if (element.nodeName === '#text') {\n var span = document.createElement('span');\n\n if (element.previousElementSibling) {\n element.previousElementSibling.insertAdjacentElement('afterend', span);\n } else {\n element.parentNode.prepend(span);\n }\n\n span.appendChild(element);\n editElement = span;\n } else {\n editElement = element;\n } // We try to find the row index with the offset of the element\n\n\n rowIndex = editElement.offsetTop > lastOffsetTop ? rowIndex + 1 : rowIndex;\n lastOffsetTop = editElement.offsetTop; // For some reason, some converted text element are displayed on two lines, that's why we should consider the 2nd one as index\n\n offsetHeight = offsetHeight === -1 || offsetHeight > editElement.offsetHeight ? editElement.offsetHeight : offsetHeight;\n var rowsIndexToCompare = editElement.offsetHeight > offsetHeight ? rowIndex + 1 : rowIndex;\n\n if (rows.indexOf(rowsIndexToCompare) > -1) {\n editElement.classList.add('deckgo-highlight-code-line');\n }\n });\n }\n }\n\n case 5:\n resolve();\n\n case 6:\n case \"end\":\n return _context24.stop();\n }\n }\n }, _callee24);\n }));\n\n return function (_x8) {\n return _ref11.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"findRowsToHighlight\",\n value: function findRowsToHighlight() {\n var _this10 = this;\n\n return new Promise(function (resolve) {\n var results = [];\n\n var rows = _this10.highlightLines.split(' ');\n\n if (rows && rows.length > 0) {\n rows.forEach(function (row) {\n var index = row.split(',');\n\n if (index && index.length >= 1) {\n var start = parseInt(index[0], 0);\n var end = parseInt(index[1], 0);\n\n for (var i = start; i <= (isNaN(end) ? start : end); i++) {\n results.push(i);\n }\n }\n });\n }\n\n resolve(results);\n });\n }\n }, {\n key: \"findNextAnchor\",\n value: function findNextAnchor(enter) {\n var _this11 = this;\n\n return new Promise( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee25(resolve) {\n var elements, elementsArray, anchor, elementCode;\n return _regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n elements = _this11.el.shadowRoot.querySelectorAll('span.deckgo-highlight-code-anchor');\n\n if (elements) {\n elementsArray = enter ? Array.from(elements) : Array.from(elements).reverse();\n anchor = elementsArray.find(function (element) {\n return enter ? element.offsetTop > _this11.anchorOffsetTop : element.offsetTop < _this11.anchorOffsetTop;\n });\n\n if (anchor) {\n _this11.anchorOffsetTop = anchor.offsetTop;\n resolve({\n offsetTop: anchor.offsetTop,\n hasLineZoom: _this11.hasLineZoom(anchor.textContent)\n });\n } else if (!enter) {\n elementCode = _this11.el.shadowRoot.querySelector('code');\n\n if (elementCode && elementCode.firstElementChild) {\n _this11.anchorOffsetTop = 0;\n resolve({\n offsetTop: 0,\n hasLineZoom: false\n });\n } else {\n resolve(null);\n }\n } else {\n resolve(null);\n }\n } else {\n resolve(null);\n }\n\n case 2:\n case \"end\":\n return _context25.stop();\n }\n }\n }, _callee25);\n }));\n\n return function (_x9) {\n return _ref12.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"zoomCode\",\n value: function zoomCode(zoom) {\n var _this12 = this;\n\n return new Promise(function (resolve) {\n var container = _this12.el.shadowRoot.querySelector('div.deckgo-highlight-code-container');\n\n if (container) {\n container.style.setProperty('--deckgo-highlight-code-zoom', zoom ? '1.3' : '1');\n }\n\n resolve();\n });\n }\n }, {\n key: \"hasLineZoom\",\n value: function hasLineZoom(line) {\n return line && this.anchorZoom && line.indexOf('@Prop') === -1 && line.split(' ').join('').indexOf(this.anchorZoom.split(' ').join('')) > -1;\n }\n }, {\n key: \"applyCode\",\n value: function () {\n var _applyCode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee26() {\n return _regeneratorRuntime.wrap(function _callee26$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n if (this.editable) {\n _context26.next = 2;\n break;\n }\n\n return _context26.abrupt(\"return\");\n\n case 2:\n _context26.next = 4;\n return this.copyCodeToSlot();\n\n case 4:\n _context26.next = 6;\n return this.parseSlottedCode();\n\n case 6:\n this.codeDidChange.emit(this.el);\n\n case 7:\n case \"end\":\n return _context26.stop();\n }\n }\n }, _callee26, this);\n }));\n\n function applyCode() {\n return _applyCode.apply(this, arguments);\n }\n\n return applyCode;\n }()\n }, {\n key: \"inputCode\",\n value: function inputCode() {\n if (!this.editable) {\n return;\n }\n\n this.debounceUpdateSlot();\n }\n }, {\n key: \"copyCodeToSlot\",\n value: function () {\n var _copyCodeToSlot = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee27() {\n var _a, _b, code;\n\n return _regeneratorRuntime.wrap(function _callee27$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n code = this.el.querySelector(\"[slot='code']\");\n\n if (code) {\n code.innerHTML = (_b = (_a = this.refCode) === null || _a === void 0 ? void 0 : _a.innerText) === null || _b === void 0 ? void 0 : _b.replace(/(?:\\n\\n)/g, '\\n').replace(/\\u200B/g, '');\n }\n\n case 2:\n case \"end\":\n return _context27.stop();\n }\n }\n }, _callee27, this);\n }));\n\n function copyCodeToSlot() {\n return _copyCodeToSlot.apply(this, arguments);\n }\n\n return copyCodeToSlot;\n }()\n }, {\n key: \"edit\",\n value: function edit() {\n var _a;\n\n if (!this.editable) {\n return;\n }\n\n (_a = this.refCode) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this13 = this;\n\n var hostClass = {\n 'deckgo-highlight-code-carbon': this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON,\n 'deckgo-highlight-code-ubuntu': this.terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU\n };\n\n if (this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON) {\n hostClass[\"deckgo-highlight-code-theme-\".concat(this.theme)] = true;\n }\n\n return h(Host, {\n class: hostClass,\n onClick: function onClick() {\n return _this13.edit();\n }\n }, this.renderCarbon(), this.renderUbuntu(), h(\"div\", {\n class: \"deckgo-highlight-code-container\"\n }, h(\"code\", {\n contentEditable: this.editable,\n onBlur: function () {\n var _onBlur = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee28() {\n return _regeneratorRuntime.wrap(function _callee28$(_context28) {\n while (1) {\n switch (_context28.prev = _context28.next) {\n case 0:\n _context28.next = 2;\n return _this13.applyCode();\n\n case 2:\n return _context28.abrupt(\"return\", _context28.sent);\n\n case 3:\n case \"end\":\n return _context28.stop();\n }\n }\n }, _callee28);\n }));\n\n function onBlur() {\n return _onBlur.apply(this, arguments);\n }\n\n return onBlur;\n }(),\n onInput: function onInput() {\n return _this13.inputCode();\n },\n onKeyDown: function onKeyDown($event) {\n return _this13.catchTab($event);\n },\n ref: function ref(el) {\n return _this13.refCode = el;\n }\n }), h(\"slot\", {\n name: \"code\"\n })));\n }\n }, {\n key: \"renderCarbon\",\n value: function renderCarbon() {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON) {\n return undefined;\n }\n\n return [h(CarbonThemeStyle, {\n style: this.themeStyle\n }), h(\"div\", {\n class: \"carbon\"\n }, this.renderCarbonCircle('red'), this.renderCarbonCircle('yellow'), this.renderCarbonCircle('green'))];\n }\n }, {\n key: \"renderCarbonCircle\",\n value: function renderCarbonCircle(color) {\n return h(\"div\", {\n class: color\n });\n }\n }, {\n key: \"renderUbuntu\",\n value: function renderUbuntu() {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.UBUNTU) {\n return undefined;\n }\n\n return h(\"div\", {\n class: \"ubuntu\"\n }, this.renderUbuntuCircle('close'), this.renderUbuntuCircle('minimize'), this.renderUbuntuCircle('maximize'), h(\"p\", null, h(\"slot\", {\n name: \"user\"\n })));\n }\n }, {\n key: \"renderUbuntuCircle\",\n value: function renderUbuntuCircle(mode) {\n var symbol = mode === 'close' ? '✕' : mode === 'minimize' ? '─' : '◻';\n return h(\"div\", {\n class: mode\n }, h(\"span\", {\n innerHTML: symbol\n }));\n }\n }, {\n key: \"el\",\n get: function get() {\n return getElement(this);\n }\n }], [{\n key: \"watchers\",\n get: function get() {\n return {\n \"theme\": [\"loadTheme\"],\n \"language\": [\"onLanguage\"],\n \"lineNumbers\": [\"onLineNumbersChange\"],\n \"terminal\": [\"onCarbonChange\"]\n };\n }\n }]);\n\n return DeckdeckgoHighlightCode;\n}();\n\nDeckdeckgoHighlightCode.style = deckdeckgoHighlightCodeCss;\nexport { DeckdeckgoHighlightCode as deckgo_highlight_code };"],"sourceRoot":""}