basb-cli
Version:
Blog as Second Brain!
1 lines • 53.9 kB
JavaScript
import{D as e,c as s,C as t,e as i,l as a,d as n,a as l}from"./chunks/echarts.min.js";import r from"./libs/resolve-pathname/index.js";let g=null;async function h(e){return g&&g.abort(),g=new AbortController,await fetch(e,{signal:g.signal}).then((async e=>{const s=await e.json();return g=null,s})).catch((s=>(console.log("JSON request error: "+e),console.error(s),null)))}function o(e){return new Promise(((s,t)=>{const i=document.createElement("link");i.rel="stylesheet",i.href=e,document.head.appendChild(i),i.onload=s,i.onerror=t}))}const c=new class extends e{name="Highlight.js";_targetElList=()=>document.querySelectorAll("pre.code-block code");async#e(e=[]){const s=e.filter((e=>!this._module.getLanguage(e))).map((e=>function(e){switch(e){case"../../libs/highlight-es/languages/1c.js":return import("./libs/highlight-es/languages/1c.js");case"../../libs/highlight-es/languages/abnf.js":return import("./libs/highlight-es/languages/abnf.js");case"../../libs/highlight-es/languages/accesslog.js":return import("./libs/highlight-es/languages/accesslog.js");case"../../libs/highlight-es/languages/actionscript.js":return import("./libs/highlight-es/languages/actionscript.js");case"../../libs/highlight-es/languages/ada.js":return import("./libs/highlight-es/languages/ada.js");case"../../libs/highlight-es/languages/angelscript.js":return import("./libs/highlight-es/languages/angelscript.js");case"../../libs/highlight-es/languages/apache.js":return import("./libs/highlight-es/languages/apache.js");case"../../libs/highlight-es/languages/applescript.js":return import("./libs/highlight-es/languages/applescript.js");case"../../libs/highlight-es/languages/arcade.js":return import("./libs/highlight-es/languages/arcade.js");case"../../libs/highlight-es/languages/arduino.js":return import("./libs/highlight-es/languages/arduino.js");case"../../libs/highlight-es/languages/armasm.js":return import("./libs/highlight-es/languages/armasm.js");case"../../libs/highlight-es/languages/asciidoc.js":return import("./libs/highlight-es/languages/asciidoc.js");case"../../libs/highlight-es/languages/aspectj.js":return import("./libs/highlight-es/languages/aspectj.js");case"../../libs/highlight-es/languages/autohotkey.js":return import("./libs/highlight-es/languages/autohotkey.js");case"../../libs/highlight-es/languages/autoit.js":return import("./libs/highlight-es/languages/autoit.js");case"../../libs/highlight-es/languages/avrasm.js":return import("./libs/highlight-es/languages/avrasm.js");case"../../libs/highlight-es/languages/awk.js":return import("./libs/highlight-es/languages/awk.js");case"../../libs/highlight-es/languages/axapta.js":return import("./libs/highlight-es/languages/axapta.js");case"../../libs/highlight-es/languages/bash.js":return import("./libs/highlight-es/languages/bash.js");case"../../libs/highlight-es/languages/basic.js":return import("./libs/highlight-es/languages/basic.js");case"../../libs/highlight-es/languages/bnf.js":return import("./libs/highlight-es/languages/bnf.js");case"../../libs/highlight-es/languages/brainfuck.js":return import("./libs/highlight-es/languages/brainfuck.js");case"../../libs/highlight-es/languages/c.js":return import("./libs/highlight-es/languages/c.js");case"../../libs/highlight-es/languages/cal.js":return import("./libs/highlight-es/languages/cal.js");case"../../libs/highlight-es/languages/capnproto.js":return import("./libs/highlight-es/languages/capnproto.js");case"../../libs/highlight-es/languages/ceylon.js":return import("./libs/highlight-es/languages/ceylon.js");case"../../libs/highlight-es/languages/clean.js":return import("./libs/highlight-es/languages/clean.js");case"../../libs/highlight-es/languages/clojure-repl.js":return import("./libs/highlight-es/languages/clojure-repl.js");case"../../libs/highlight-es/languages/clojure.js":return import("./libs/highlight-es/languages/clojure.js");case"../../libs/highlight-es/languages/cmake.js":return import("./libs/highlight-es/languages/cmake.js");case"../../libs/highlight-es/languages/coffeescript.js":return import("./libs/highlight-es/languages/coffeescript.js");case"../../libs/highlight-es/languages/coq.js":return import("./libs/highlight-es/languages/coq.js");case"../../libs/highlight-es/languages/cos.js":return import("./libs/highlight-es/languages/cos.js");case"../../libs/highlight-es/languages/cpp.js":return import("./libs/highlight-es/languages/cpp.js");case"../../libs/highlight-es/languages/crmsh.js":return import("./libs/highlight-es/languages/crmsh.js");case"../../libs/highlight-es/languages/crystal.js":return import("./libs/highlight-es/languages/crystal.js");case"../../libs/highlight-es/languages/csharp.js":return import("./libs/highlight-es/languages/csharp.js");case"../../libs/highlight-es/languages/csp.js":return import("./libs/highlight-es/languages/csp.js");case"../../libs/highlight-es/languages/css.js":return import("./libs/highlight-es/languages/css.js");case"../../libs/highlight-es/languages/d.js":return import("./libs/highlight-es/languages/d.js");case"../../libs/highlight-es/languages/dart.js":return import("./libs/highlight-es/languages/dart.js");case"../../libs/highlight-es/languages/delphi.js":return import("./libs/highlight-es/languages/delphi.js");case"../../libs/highlight-es/languages/diff.js":return import("./libs/highlight-es/languages/diff.js");case"../../libs/highlight-es/languages/django.js":return import("./libs/highlight-es/languages/django.js");case"../../libs/highlight-es/languages/dns.js":return import("./libs/highlight-es/languages/dns.js");case"../../libs/highlight-es/languages/dockerfile.js":return import("./libs/highlight-es/languages/dockerfile.js");case"../../libs/highlight-es/languages/dos.js":return import("./libs/highlight-es/languages/dos.js");case"../../libs/highlight-es/languages/dsconfig.js":return import("./libs/highlight-es/languages/dsconfig.js");case"../../libs/highlight-es/languages/dts.js":return import("./libs/highlight-es/languages/dts.js");case"../../libs/highlight-es/languages/dust.js":return import("./libs/highlight-es/languages/dust.js");case"../../libs/highlight-es/languages/ebnf.js":return import("./libs/highlight-es/languages/ebnf.js");case"../../libs/highlight-es/languages/elixir.js":return import("./libs/highlight-es/languages/elixir.js");case"../../libs/highlight-es/languages/elm.js":return import("./libs/highlight-es/languages/elm.js");case"../../libs/highlight-es/languages/erb.js":return import("./libs/highlight-es/languages/erb.js");case"../../libs/highlight-es/languages/erlang-repl.js":return import("./libs/highlight-es/languages/erlang-repl.js");case"../../libs/highlight-es/languages/erlang.js":return import("./libs/highlight-es/languages/erlang.js");case"../../libs/highlight-es/languages/excel.js":return import("./libs/highlight-es/languages/excel.js");case"../../libs/highlight-es/languages/fix.js":return import("./libs/highlight-es/languages/fix.js");case"../../libs/highlight-es/languages/flix.js":return import("./libs/highlight-es/languages/flix.js");case"../../libs/highlight-es/languages/fortran.js":return import("./libs/highlight-es/languages/fortran.js");case"../../libs/highlight-es/languages/fsharp.js":return import("./libs/highlight-es/languages/fsharp.js");case"../../libs/highlight-es/languages/gams.js":return import("./libs/highlight-es/languages/gams.js");case"../../libs/highlight-es/languages/gauss.js":return import("./libs/highlight-es/languages/gauss.js");case"../../libs/highlight-es/languages/gcode.js":return import("./libs/highlight-es/languages/gcode.js");case"../../libs/highlight-es/languages/gherkin.js":return import("./libs/highlight-es/languages/gherkin.js");case"../../libs/highlight-es/languages/glsl.js":return import("./libs/highlight-es/languages/glsl.js");case"../../libs/highlight-es/languages/gml.js":return import("./libs/highlight-es/languages/gml.js");case"../../libs/highlight-es/languages/go.js":return import("./libs/highlight-es/languages/go.js");case"../../libs/highlight-es/languages/golo.js":return import("./libs/highlight-es/languages/golo.js");case"../../libs/highlight-es/languages/gradle.js":return import("./libs/highlight-es/languages/gradle.js");case"../../libs/highlight-es/languages/graphql.js":return import("./libs/highlight-es/languages/graphql.js");case"../../libs/highlight-es/languages/groovy.js":return import("./libs/highlight-es/languages/groovy.js");case"../../libs/highlight-es/languages/haml.js":return import("./libs/highlight-es/languages/haml.js");case"../../libs/highlight-es/languages/handlebars.js":return import("./libs/highlight-es/languages/handlebars.js");case"../../libs/highlight-es/languages/haskell.js":return import("./libs/highlight-es/languages/haskell.js");case"../../libs/highlight-es/languages/haxe.js":return import("./libs/highlight-es/languages/haxe.js");case"../../libs/highlight-es/languages/hsp.js":return import("./libs/highlight-es/languages/hsp.js");case"../../libs/highlight-es/languages/http.js":return import("./libs/highlight-es/languages/http.js");case"../../libs/highlight-es/languages/hy.js":return import("./libs/highlight-es/languages/hy.js");case"../../libs/highlight-es/languages/inform7.js":return import("./libs/highlight-es/languages/inform7.js");case"../../libs/highlight-es/languages/ini.js":return import("./libs/highlight-es/languages/ini.js");case"../../libs/highlight-es/languages/irpf90.js":return import("./libs/highlight-es/languages/irpf90.js");case"../../libs/highlight-es/languages/isbl.js":return import("./libs/highlight-es/languages/isbl.js");case"../../libs/highlight-es/languages/java.js":return import("./libs/highlight-es/languages/java.js");case"../../libs/highlight-es/languages/javascript.js":return import("./libs/highlight-es/languages/javascript.js");case"../../libs/highlight-es/languages/jboss-cli.js":return import("./libs/highlight-es/languages/jboss-cli.js");case"../../libs/highlight-es/languages/json.js":return import("./libs/highlight-es/languages/json.js");case"../../libs/highlight-es/languages/julia-repl.js":return import("./libs/highlight-es/languages/julia-repl.js");case"../../libs/highlight-es/languages/julia.js":return import("./libs/highlight-es/languages/julia.js");case"../../libs/highlight-es/languages/kotlin.js":return import("./libs/highlight-es/languages/kotlin.js");case"../../libs/highlight-es/languages/lasso.js":return import("./libs/highlight-es/languages/lasso.js");case"../../libs/highlight-es/languages/latex.js":return import("./libs/highlight-es/languages/latex.js");case"../../libs/highlight-es/languages/ldif.js":return import("./libs/highlight-es/languages/ldif.js");case"../../libs/highlight-es/languages/leaf.js":return import("./libs/highlight-es/languages/leaf.js");case"../../libs/highlight-es/languages/less.js":return import("./libs/highlight-es/languages/less.js");case"../../libs/highlight-es/languages/lisp.js":return import("./libs/highlight-es/languages/lisp.js");case"../../libs/highlight-es/languages/livecodeserver.js":return import("./libs/highlight-es/languages/livecodeserver.js");case"../../libs/highlight-es/languages/livescript.js":return import("./libs/highlight-es/languages/livescript.js");case"../../libs/highlight-es/languages/llvm.js":return import("./libs/highlight-es/languages/llvm.js");case"../../libs/highlight-es/languages/lsl.js":return import("./libs/highlight-es/languages/lsl.js");case"../../libs/highlight-es/languages/lua.js":return import("./libs/highlight-es/languages/lua.js");case"../../libs/highlight-es/languages/makefile.js":return import("./libs/highlight-es/languages/makefile.js");case"../../libs/highlight-es/languages/markdown.js":return import("./libs/highlight-es/languages/markdown.js");case"../../libs/highlight-es/languages/mathematica.js":return import("./libs/highlight-es/languages/mathematica.js");case"../../libs/highlight-es/languages/matlab.js":return import("./libs/highlight-es/languages/matlab.js");case"../../libs/highlight-es/languages/maxima.js":return import("./libs/highlight-es/languages/maxima.js");case"../../libs/highlight-es/languages/mel.js":return import("./libs/highlight-es/languages/mel.js");case"../../libs/highlight-es/languages/mercury.js":return import("./libs/highlight-es/languages/mercury.js");case"../../libs/highlight-es/languages/mipsasm.js":return import("./libs/highlight-es/languages/mipsasm.js");case"../../libs/highlight-es/languages/mizar.js":return import("./libs/highlight-es/languages/mizar.js");case"../../libs/highlight-es/languages/mojolicious.js":return import("./libs/highlight-es/languages/mojolicious.js");case"../../libs/highlight-es/languages/monkey.js":return import("./libs/highlight-es/languages/monkey.js");case"../../libs/highlight-es/languages/moonscript.js":return import("./libs/highlight-es/languages/moonscript.js");case"../../libs/highlight-es/languages/n1ql.js":return import("./libs/highlight-es/languages/n1ql.js");case"../../libs/highlight-es/languages/nestedtext.js":return import("./libs/highlight-es/languages/nestedtext.js");case"../../libs/highlight-es/languages/nginx.js":return import("./libs/highlight-es/languages/nginx.js");case"../../libs/highlight-es/languages/nim.js":return import("./libs/highlight-es/languages/nim.js");case"../../libs/highlight-es/languages/nix.js":return import("./libs/highlight-es/languages/nix.js");case"../../libs/highlight-es/languages/node-repl.js":return import("./libs/highlight-es/languages/node-repl.js");case"../../libs/highlight-es/languages/nsis.js":return import("./libs/highlight-es/languages/nsis.js");case"../../libs/highlight-es/languages/objectivec.js":return import("./libs/highlight-es/languages/objectivec.js");case"../../libs/highlight-es/languages/ocaml.js":return import("./libs/highlight-es/languages/ocaml.js");case"../../libs/highlight-es/languages/openscad.js":return import("./libs/highlight-es/languages/openscad.js");case"../../libs/highlight-es/languages/oxygene.js":return import("./libs/highlight-es/languages/oxygene.js");case"../../libs/highlight-es/languages/parser3.js":return import("./libs/highlight-es/languages/parser3.js");case"../../libs/highlight-es/languages/perl.js":return import("./libs/highlight-es/languages/perl.js");case"../../libs/highlight-es/languages/pf.js":return import("./libs/highlight-es/languages/pf.js");case"../../libs/highlight-es/languages/pgsql.js":return import("./libs/highlight-es/languages/pgsql.js");case"../../libs/highlight-es/languages/php-template.js":return import("./libs/highlight-es/languages/php-template.js");case"../../libs/highlight-es/languages/php.js":return import("./libs/highlight-es/languages/php.js");case"../../libs/highlight-es/languages/plaintext.js":return import("./libs/highlight-es/languages/plaintext.js");case"../../libs/highlight-es/languages/pony.js":return import("./libs/highlight-es/languages/pony.js");case"../../libs/highlight-es/languages/powershell.js":return import("./libs/highlight-es/languages/powershell.js");case"../../libs/highlight-es/languages/processing.js":return import("./libs/highlight-es/languages/processing.js");case"../../libs/highlight-es/languages/profile.js":return import("./libs/highlight-es/languages/profile.js");case"../../libs/highlight-es/languages/prolog.js":return import("./libs/highlight-es/languages/prolog.js");case"../../libs/highlight-es/languages/properties.js":return import("./libs/highlight-es/languages/properties.js");case"../../libs/highlight-es/languages/protobuf.js":return import("./libs/highlight-es/languages/protobuf.js");case"../../libs/highlight-es/languages/puppet.js":return import("./libs/highlight-es/languages/puppet.js");case"../../libs/highlight-es/languages/purebasic.js":return import("./libs/highlight-es/languages/purebasic.js");case"../../libs/highlight-es/languages/python-repl.js":return import("./libs/highlight-es/languages/python-repl.js");case"../../libs/highlight-es/languages/python.js":return import("./libs/highlight-es/languages/python.js");case"../../libs/highlight-es/languages/q.js":return import("./libs/highlight-es/languages/q.js");case"../../libs/highlight-es/languages/qml.js":return import("./libs/highlight-es/languages/qml.js");case"../../libs/highlight-es/languages/r.js":return import("./libs/highlight-es/languages/r.js");case"../../libs/highlight-es/languages/reasonml.js":return import("./libs/highlight-es/languages/reasonml.js");case"../../libs/highlight-es/languages/rib.js":return import("./libs/highlight-es/languages/rib.js");case"../../libs/highlight-es/languages/roboconf.js":return import("./libs/highlight-es/languages/roboconf.js");case"../../libs/highlight-es/languages/routeros.js":return import("./libs/highlight-es/languages/routeros.js");case"../../libs/highlight-es/languages/rsl.js":return import("./libs/highlight-es/languages/rsl.js");case"../../libs/highlight-es/languages/ruby.js":return import("./libs/highlight-es/languages/ruby.js");case"../../libs/highlight-es/languages/ruleslanguage.js":return import("./libs/highlight-es/languages/ruleslanguage.js");case"../../libs/highlight-es/languages/rust.js":return import("./libs/highlight-es/languages/rust.js");case"../../libs/highlight-es/languages/sas.js":return import("./libs/highlight-es/languages/sas.js");case"../../libs/highlight-es/languages/scala.js":return import("./libs/highlight-es/languages/scala.js");case"../../libs/highlight-es/languages/scheme.js":return import("./libs/highlight-es/languages/scheme.js");case"../../libs/highlight-es/languages/scilab.js":return import("./libs/highlight-es/languages/scilab.js");case"../../libs/highlight-es/languages/scss.js":return import("./libs/highlight-es/languages/scss.js");case"../../libs/highlight-es/languages/shell.js":return import("./libs/highlight-es/languages/shell.js");case"../../libs/highlight-es/languages/smali.js":return import("./libs/highlight-es/languages/smali.js");case"../../libs/highlight-es/languages/smalltalk.js":return import("./libs/highlight-es/languages/smalltalk.js");case"../../libs/highlight-es/languages/sml.js":return import("./libs/highlight-es/languages/sml.js");case"../../libs/highlight-es/languages/sqf.js":return import("./libs/highlight-es/languages/sqf.js");case"../../libs/highlight-es/languages/sql.js":return import("./libs/highlight-es/languages/sql.js");case"../../libs/highlight-es/languages/stan.js":return import("./libs/highlight-es/languages/stan.js");case"../../libs/highlight-es/languages/stata.js":return import("./libs/highlight-es/languages/stata.js");case"../../libs/highlight-es/languages/step21.js":return import("./libs/highlight-es/languages/step21.js");case"../../libs/highlight-es/languages/stylus.js":return import("./libs/highlight-es/languages/stylus.js");case"../../libs/highlight-es/languages/subunit.js":return import("./libs/highlight-es/languages/subunit.js");case"../../libs/highlight-es/languages/swift.js":return import("./libs/highlight-es/languages/swift.js");case"../../libs/highlight-es/languages/taggerscript.js":return import("./libs/highlight-es/languages/taggerscript.js");case"../../libs/highlight-es/languages/tap.js":return import("./libs/highlight-es/languages/tap.js");case"../../libs/highlight-es/languages/tcl.js":return import("./libs/highlight-es/languages/tcl.js");case"../../libs/highlight-es/languages/thrift.js":return import("./libs/highlight-es/languages/thrift.js");case"../../libs/highlight-es/languages/toml.js":return import("./libs/highlight-es/languages/toml.js");case"../../libs/highlight-es/languages/tp.js":return import("./libs/highlight-es/languages/tp.js");case"../../libs/highlight-es/languages/twig.js":return import("./libs/highlight-es/languages/twig.js");case"../../libs/highlight-es/languages/typescript.js":return import("./libs/highlight-es/languages/typescript.js");case"../../libs/highlight-es/languages/vala.js":return import("./libs/highlight-es/languages/vala.js");case"../../libs/highlight-es/languages/vbnet.js":return import("./libs/highlight-es/languages/vbnet.js");case"../../libs/highlight-es/languages/vbscript-html.js":return import("./libs/highlight-es/languages/vbscript-html.js");case"../../libs/highlight-es/languages/vbscript.js":return import("./libs/highlight-es/languages/vbscript.js");case"../../libs/highlight-es/languages/verilog.js":return import("./libs/highlight-es/languages/verilog.js");case"../../libs/highlight-es/languages/vhdl.js":return import("./libs/highlight-es/languages/vhdl.js");case"../../libs/highlight-es/languages/vim.js":return import("./libs/highlight-es/languages/vim.js");case"../../libs/highlight-es/languages/wasm.js":return import("./libs/highlight-es/languages/wasm.js");case"../../libs/highlight-es/languages/wren.js":return import("./libs/highlight-es/languages/wren.js");case"../../libs/highlight-es/languages/x86asm.js":return import("./libs/highlight-es/languages/x86asm.js");case"../../libs/highlight-es/languages/xl.js":return import("./libs/highlight-es/languages/xl.js");case"../../libs/highlight-es/languages/xml.js":return import("./libs/highlight-es/languages/xml.js");case"../../libs/highlight-es/languages/xquery.js":return import("./libs/highlight-es/languages/xquery.js");case"../../libs/highlight-es/languages/yaml.js":return import("./libs/highlight-es/languages/yaml.js");case"../../libs/highlight-es/languages/zephir.js":return import("./libs/highlight-es/languages/zephir.js");default:return new Promise((function(s,t){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(t.bind(null,new Error("Unknown variable dynamic import: "+e)))}))}}(`../../libs/highlight-es/languages/${e.toLowerCase()}.js`)));await Promise.all(s).then((s=>s.forEach(((s,t)=>{const i=e[t],a=s.default;this._module.registerLanguage(i,a)})))).catch(this.loadErrResolver)}loadCondition(e){return e.size>0}renderItem(e){this._module.highlightElement(e)}async beforeRender(e=new Set){await this.#e(Array.from(e))}async importModule(){o("./dist/libs/highlight-es/github-dark.css");return(await import("./libs/highlight-es/highlight.min.js")).default}};var u=c.render.bind(c);const{katexOptions:p}=s;const d=new class extends e{name="KaTeX";_targetElList=()=>document.querySelectorAll(".math");loadCondition(e){return e}renderErrResolver(s,t){const i=t.textContent;s instanceof this._module.ParseError?t.innerHTML=("Error in LaTeX '"+i+"': "+s.message).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):(t.textContent=this.name+" "+e.renderErrMsg,console.error(s))}renderItem(e){const s=e.textContent;this._module.render(s,e,p)}async importModule(){o("./dist/libs/katex/katex.min.css");return(await import("./libs/katex/katex.min.js")).default}};var m=d.render.bind(d);function b(e,s){const t=document.createElement("script");return t.src=e,t.type="text/javascript",document.head.appendChild(t),new Promise(((i,a)=>{t.onload=function(){if(!(s in globalThis)){const e=`Module ${s} does not support this import method.`;console.error(e),a(e)}const e=globalThis[s];globalThis[s]=void 0,i(e)},t.onerror=function(t){console.error(`Error loading dynamically imported module "${s}": ${e}`),a(t)}}))}globalThis.raphael=null;const{flowchartOptions:j}=s;const f=new class extends t{_targetElList=()=>document.querySelectorAll(".flowchart-container");constructor(){super()}renderItem(e,s){this._module.parse(s).drawSVG(e,j)}async importModule(){globalThis.raphael=await b("./dist/libs/flowchart.js/raphael.min.js","raphael");return await b("./dist/libs/flowchart.js/flowchart.min.js","flowchart")}};var w=f.render.bind(f);const y=new class extends t{_targetElList=()=>document.querySelectorAll(".sequencechart-container");constructor(){super()}renderItem(e,s){const t=new this._module(s);e.appendChild(t.dom())}async importModule(){return(await import("./libs/sequence-diagram/sequence-diagram-web.mjs")).SequenceDiagram}};var v=y.render.bind(y);const{language:_,ganttOptions:L}=s;let x=L??{};"language"in x||(x.language=_);const T=new class extends t{_targetElList=()=>document.querySelectorAll(".ganttchart-container");renderItem(e,s){new this._module(e,s,x)}async importModule(){o("./dist/libs/frappe-gantt/frappe-gantt.min.css");return(await import("./libs/frappe-gantt/frappe-gantt.min.js")).default}};var k=T.render.bind(T);let C=null;const S=s.railroadOptions??{},E=/[\x00-\x7F]/,H=/['"]([^'"]*[/\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]+[^'"]*)['"]/gu;const M=new class extends t{_targetElList=()=>document.querySelectorAll(".railroad-container");renderItem(e,s=""){const t=C.CHAR_WIDTH,i=H.test(s),a=(s.match(H)||[]).map((e=>e.slice(1,-1))).every((e=>E.test(e))),n=i&&(a?13:14)||C.CHAR_WIDTH;C.CHAR_WIDTH<n&&(C.CHAR_WIDTH=n);const l=this._module.concat(e);new Function("Diagram","ComplexDiagram","Sequence","Stack","OptionalSequence","AlternatingSequence","Choice","HorizontalChoice","MultipleChoice","Optional","OneOrMore","ZeroOrMore","Group","Start","End","Terminal","NonTerminal","Comment","Skip","Block","targetElement",s+".addTo(targetElement)").apply(null,l),C.CHAR_WIDTH=t}async importModule(){o("./dist/libs/railroad-diagrams/railroad.css");const e=await import("./libs/railroad-diagrams/railroad.min.js"),{default:s,Options:t}=e;return Object.assign(t,{VS:S.verticalGap,AR:S.arcRadius,INTERNAL_ALIGNMENT:S.internalAlignment,CHAR_WIDTH:S.charWidth,COMMENT_CHAR_WIDTH:S.commentCharWidth}),C=t,[s.Diagram,s.ComplexDiagram,s.Sequence,s.Stack,s.OptionalSequence,s.AlternatingSequence,s.Choice,s.HorizontalChoice,s.MultipleChoice,s.Optional,s.OneOrMore,s.ZeroOrMore,s.Group,s.Start,s.End,s.Terminal,s.NonTerminal,s.Comment,s.Skip,s.Block]}};var q=M.render.bind(M);const{qrcodeOptions:I}=s;const A=new class extends t{_targetElList=()=>document.querySelectorAll(".qrcode-container");#s=new MutationObserver(this.renderAll.bind(this));renderItem(e){const s=getComputedStyle(document.body),t=s.getPropertyValue("--default-tx-color"),i=s.getPropertyValue("--chart-bg-color"),a=Object.assign({},I),n=e.__QRCodeContent__,l=a.width||256;a.color=t,a.background=i,a.content=n||a.content||(()=>{throw new Error("No QRCode content provided.")})();const r=new this._module(a);e.style.width=l+"px",e.innerHTML=r.svg()}async importModule(){const e=await b("./dist/libs/qrcode-svg/qrcode.min.js","QRCode"),s=document.body;return this.#s.observe(s,{attributes:!0,attributeFilter:["class"]}),e}};var R=A.render.bind(A);const W=new Map([["echarts",i],["flow-chart",w],["sequence-chart",v],["gantt-chart",k],["railroad-chart",q],["qrcode",R]]);async function N(e=new Set){for(const s of e){if(!W.has(s)){console.error("Unknown chart type: "+s);continue}const e=W.get(s);await e()}}const P=()=>document.querySelectorAll("iframe[srcdoc]");function O(e){P().forEach((s=>s.contentWindow.postMessage({fontSize:e},"*")))}function $(){const e=document.body.classList.contains("dark")?"dark":"light";P().forEach((s=>s.contentWindow.postMessage({theme:e},"*")))}function z(e){return Object.entries(e).filter((([e,s])=>void 0!==s||!1!==s)).map((([e,s])=>"boolean"==typeof s?e:`${e}="${function(e){return void 0===e?"":e instanceof Array?e.join(" ").replaceAll('"',"""):e.toString().replaceAll('"',""")}(s)}"`)).join(" ")}function D(e,s){return`<${e}${s?" "+z(s):""}>`}function F(e,s="",t=null){if(null!==s&&"object"==typeof s&&s.constructor===Object&&(t=s,s=""),"document"in globalThis){if("text"===e)return document.createTextNode(s);const i=document.createElement(e);return function(e,s){if(s)for(const[t,i]of Object.entries(s))void 0!==i&&!1!==i&&(i instanceof Function?e[t]=i:i instanceof Array?e.setAttribute(t,i.join(" ")):e.setAttribute(t,i))}(i,t),function(e,s){if(s instanceof Array)for(const t of s)"string"==typeof t?e.appendChild(document.createTextNode(t)):e.appendChild(t);else if(s instanceof HTMLElement)e.appendChild(s);else{if("string"!=typeof s)throw Error("Unexpected element content: "+s);e.textContent=s}}(i,s),i}switch(s instanceof Array&&(s=s.join("")),e){case"text":return s;case"hr":case"br":return D(e);case"img":case"input":return D(e,t)}return`<${e}${t?" "+z(t):""}>${s}</${e}>`}const G=[/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/gu,/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+/g,/\p{Script=Greek}+/gu,/\p{Script=Arabic}+/gu,/\p{Script=Cyrillic}+/gu,/(\-|\+)?\d+(\.\d+)?/g];function U(e=""){if(0===e.length)return[];return G.map((s=>e.match(s)||[])).reduce(((e,s)=>e.concat(s)),[])}function B(e,s,t,i=!1){if(!e.includes(t))return null;let a="",n=0,l=!1;for(;e.length;){const r=e.slice(0,1);if(e=e.substr(1),"\\"!==r||(l=!l,i))if(r!==s||l){if(r===t&&!l){if(n>0){n-=1,a+=r;continue}break}a+=r,l=!1}else n+=1,a+=r}return a}const Q=new Map([["#","strong"],["`","code"],["_","u"],["/","i"],["-","del"],[":","span.dim"],[",","sub"],["'","sup"],["$","span.math"]]),V=new Map([["[","]"],["{","}"],["<",">"]]);let Z=null;if("undefined"==typeof window){const Ms=await import("../builder/utils/renderer/index.js");Z=e=>Ms.render(e,"katex")}class K{constructor(e){this.content=e}count=()=>function(e=""){return 0===e.length?0:U(e).length}(this.content);toHTML=()=>F("text",this.content)}class X{constructor(e,s){const t=Q.get(e);if(t.includes(".")){const[e,s]=t.split(".");this.tagName=e,this.className=s}else this.tagName=t;this.content=s,"math"===this.className&&"object"==typeof window&&(globalThis.__ContainsFormula__=!0)}count=()=>te(this.content);toHTML(){if("math"===this.className&&"undefined"==typeof window){const e=F("img","",{src:"./"+Z(this.content)});return F("span",e,{class:"math"})}const e=void 0===this.className?null:{class:this.className};return F(this.tagName,ie(this.content),e)}}class Y{constructor(e,s){this.content=e,this.address=s}count=()=>0;toHTML(){const e=ie(this.content);try{return new URL(this.address),F("a",e,{href:this.address,target:"_blank"})}catch{}if(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/.test(this.address))return F("a",e,{href:"mailto:"+this.address,target:"_blank"});if(this.address.startsWith("//"))return F("a",e,{href:this.address.slice(2)});if(this.address.startsWith("/")){return F("a",e,{href:"#"+("static"+this.address)})}let s;s="location"in globalThis?location.hash:globalThis.__ResourcePath__;return F("a",e,{href:r(this.address,s)})}}class J{constructor(e,s){this.content=e,this.notation=s}count=()=>te(this.content);toHTML(){const e=F("rp","("),s=F("rp",")"),t=F("rt",this.notation);return F("ruby",ie(this.content).concat([e,t,s]),{"data-notation":this.notation})}}class ee{constructor(e,s){this.content=e,this.detail=s}count=()=>te(this.content)+te(this.detail);toHTML(){const e=F("div",ie(this.detail),{class:"detail-content"});return F("span",[this.content,e],{class:"detail","data-collapse":!0,onclick(e){e.stopPropagation(),e.target.toggleAttribute("data-collapse")}})}}function se(e){function s(){const s=e.charAt(0);return e=e.substring(1),s}function t(e){let s;return"["===e?s=Y:"{"===e?s=J:"<"===e&&(s=ee),s}const i=[];let a="",n="",l="",r=!1,g=!1;for(;e.length;){const h=s();if(Q.has(h)){if(r){g?n+="\\"+h:a+=h,r=!1;continue}if(g&&h!=l){n+=h;continue}const t=s();if(t!=h){g?n+=h:a+=h,e=t+e;continue}g?(i.push(new X(h,n)),n="",l=""):(i.push(new K(a)),a="",l=h),g=!g;continue}if(["[","{","<"].includes(h)&&!g&&!r){const n=h,l=V.get(n);i.push(new K(a)),a="";let r=n;const g=B(e,n,l,!0);if(null!=g){r+=e.slice(0,g.length+1),e=e.substr(g.length+1);const a=s();if(r+=a,"("===a){const s=B(e,"(",")");if(null!=s){let a=t(n);e=e.substr(s.length+1),i.push(new a(g,s));continue}}}a+=r;continue}if("\\"===h){r=!r;continue}let o;r?(o="\\"+h,r=!1):o=h,g?n+=o:a+=o}return n.length&&i.push(new X(l,n)),a.length&&i.push(new K(a)),i}function te(e){return se(e).reduce(((e,s)=>e+s.count()),0)}function ie(e){const s=se(e).filter((e=>!(e instanceof K&&!e.content.length))).map((e=>e.toHTML()));return"object"!=typeof window&&e===s[0]?(e=>e.replaceAll("<","<").replaceAll(">",">"))(e):s}class ae{constructor(e){const s=e.split(" "),t=s[0],i=Math.min(t.length,6),a=s.slice(1).join(" ");this.tagName="h"+i,this.content=a}toHTML(){const e=void 0===this.id?null:{id:this.id},s=ie(this.content);return F(this.tagName,s,e)}static pattern=e=>/^(#+ )/.test(e)}class ne{tagName="p";constructor(e){this.content=e.trimStart()}toHTML(){const e=ie(this.content);return F(this.tagName,e)}}class le{tagName="br";toHTML(){return F(this.tagName)}static pattern=e=>["\\\\"," "].includes(e)}class re{children=[];title="";type=re.NormalTypeEnum;constructor(e){if(!(e[0]instanceof ne&&re.alertPattern(e[0].content)))return void(this.children=e);let s;const t=e[0].content,i=B(t.slice(1),"[","]");switch(i.toLowerCase()){case"note":case"笔记":this.type=re.NoteTypeEnum,s=a("笔记","Note");break;case"tip":case"提示":this.type=re.TipTypeEnum,s=a("提示","Tip");break;case"important":case"重要":this.type=re.ImportantTypeEnum,s=a("重要","Important");break;case"warning":case"注意":this.type=re.warningTypeEnum,s=a("注意","Warning");break;case"caution":case"警告":this.type=re.CautionTypeEnum,s=a("警告","Caution")}const n=t.slice(i.length+2).trimStart();this.title=n||s,this.children=e.slice(1)}toHTML(){if(this.type===re.NormalTypeEnum){return F("blockquote",this.children.map((e=>e.toHTML())))}const e=F("p",this.title,{class:"alert-title"}),s=this.children.map((e=>e.toHTML()));return F("blockquote",[e].concat(s),{class:["alert",this.type.description]})}static pattern=e=>">"===e||e.startsWith("> ");static alertPattern=e=>/^\[(.+?)\](?:(\s+)(.*))?$/.test(e);static NormalTypeEnum=Symbol("normal");static NoteTypeEnum=Symbol("note");static TipTypeEnum=Symbol("tip");static ImportantTypeEnum=Symbol("important");static warningTypeEnum=Symbol("warning");static CautionTypeEnum=Symbol("caution")}class ge{toHTML=()=>F("hr");static pattern=e=>e.match(/(-\s*-\s*-)|(\*\s*\*\s*\*)/)&&!e.match(/[a-zA-Z0-9]/)}class he{children=[];constructor(e){this.isOrdered=he.orderedPattern(e),this.tagName=this.isOrdered?"ol":"ul",this.children=[he.getContent(e,this.isOrdered)]}toHTML(){const e=this.children.map((e=>{if("string"==typeof e){return F("li",ie(e))}return e.toHTML()}));return F(this.tagName,e)}static orderedPattern=e=>/^([\s\t]*[0-9]+\. )/.test(e);static unorderedPattern=e=>/^([\s\t]*[+-] )/.test(e);static taskListPattern=e=>/^[\s\t]*- \[( |x|\*)\] /.test(e);static isListPattern=e=>he.orderedPattern(e)||he.unorderedPattern(e);static getContent(e,s){if(s)return e.match(/(?<=^([\s\t]*[0-9]+. )).+$/g)[0];if(this.taskListPattern(e)){const s=e.trimStart();return new oe(s.slice(6),s.slice(0,6))}if(this.unorderedPattern(e))return e.match(/(?<=^([\s\t]*[+-]+ )).+$/g)[0];throw new Error("Unexpected list item: "+e)}}class oe{constructor(e,s){this.content=e,this.isChecked=oe.checkedSignList.includes(s[3])}count(){return te(this.content)}toHTML(){const e=F("input","",{type:"checkbox",checked:this.isChecked});return F("li",[e,...ie(this.content)],{class:"task-list-item"})}static checkedSignList=["*","x"]}class ce{elements=[];push(e){this.elements.push(e)}toHTML(){return F("div",this.elements.map((e=>e.toHTML())),{class:"qa-block"})}}class ue{constructor(e){this.content=e.substr(3)}toHTML(){return F("div",ie(this.content),{class:"question"})}static pattern=e=>e.startsWith("Q: ")}class pe{constructor(e){this.content=e.substr(3)}toHTML(){return F("div",ie(this.content),{class:"answer"})}static pattern=e=>e.startsWith("A: ")}class de{headerCells=[""];bodyRows=[[""]];constructor(e,s){this.headerCells=e,this.bodyRows=s}#t=e=>F("th",e);#i=e=>F("td",ie(e));#a=e=>F("tr",e.map(this.#t));#n=e=>F("tr",e.map(this.#i));toHTML(){const e=F("thead",this.#a(this.headerCells)),s=F("tbody",this.bodyRows.map(this.#n));return F("div",F("table",[e,s]),{class:"table"})}static pattern=e=>e.startsWith("| ")}class me{source="";description="";constructor(e){e=e.substr(2),this.description=B(e,"[","]"),e=e.substr(this.description.length+2),this.source=B(e,"(",")")}static containerGenerator(e,s){return F("div",e,{class:["media-container",s??""]})}static patternGenerator(e){return s=>s.startsWith(e+"[")&&s.endsWith(")")}static replaceContentGenerator(e,s){return`${s}<br>${F("a",a("从这里下载!","Download Here!"),{href:e})}`}static srcUrlResolver(e){try{return new URL(e),e}catch{}if(e.startsWith("//"))return e.slice(2);if(e.startsWith("/"))return"static"+e;const s=location.hash.slice(1);return r(e,s)}}class be extends me{static pattern=me.patternGenerator("!");toHTML(){const e=me.srcUrlResolver(this.source),s=this.source.endsWith("drawio.svg"),t=F("img","",{src:e,alt:this.description,loading:"lazy",tabindex:0,class:s?"drawio":void 0});return t.onclick=e=>window.open(e.target.src),t.onerror=e=>{const s=e.target;s.onclick=null,s.title=this.description,s.classList.add("load-error"),s.parentNode.classList.remove("image")},me.containerGenerator(t,"image")}}class je extends me{static pattern=me.patternGenerator(":");toHTML(){const e=me.srcUrlResolver(this.source),s=F("audio",me.replaceContentGenerator(e,this.description),{src:e,controls:!0});return me.containerGenerator(s)}}class fe extends me{static pattern=me.patternGenerator("?");toHTML(){const e=me.srcUrlResolver(this.source),s=F("video",me.replaceContentGenerator(e,this.description),{src:e,controls:"true"});return me.containerGenerator(s)}}const we=e=>me.patternGenerator("@")(e)||e.startsWith("@@@");class ye extends me{toHTML(){const e=me.srcUrlResolver(this.source),s=F("iframe",this.description,{src:e,title:this.description,sandbox:"allow-same-origin allow-scripts",loading:"lazy"});return me.containerGenerator(s,"iframe")}}class ve{constructor(e,s){this.lang=s,this.content=e}toHTML(){const e=["plaintext","text",""].includes(this.lang);let s,t;e||globalThis.__LanguageList__.add(this.lang),e?(t="nohighlight",s="PLAINTEXT"):(t=`language-${this.lang}`,s=this.lang.toUpperCase());const i=F("code",this.content,{class:t,tabindex:0});return F("pre",i,{class:"code-block","data-language":s})}static pattern=e=>e.startsWith("```")}class _e{summary="";content="";constructor(e,s){this.summary=s,this.content=e}toHTML(){const e=F("summary",ie(this.summary)),s=F("details",e),t=F("div",F("div",this.content.map((e=>e.toHTML())),{class:"details-children"}),{class:"details-children-container"});return F("div",[s,t],{class:"details"})}static pattern=e=>e.startsWith(">>>")}class Le{content="";description="";constructor(e,s){this.content=e,this.description=s}toHTML(){return globalThis.__ContainsFormula__=!0,F("div",this.content,{class:"math",title:this.description})}static pattern=e=>e.startsWith("$$$")}class xe{static#l=e=>`<style>\nbody{transition: .3s .15s}\nbody.light{color:#333;background:#fff}\nbody.dark{color:#f7f7f7;background:#252525}</style>\n<script>\nconst rootEl = document.documentElement\nfunction postHeight() {\n const parent = window.parent\n const height = parseFloat(getComputedStyle(rootEl).height)\n parent.postMessage({\n height,\n id: "${e}"\n }, "*")\n}\nwindow.addEventListener("load", postHeight)\nwindow.addEventListener("message", e => {\nconst { fontSize, theme } = e.data\nif (fontSize) {\n rootEl.style.fontSize = fontSize\n postHeight()\n}\nif (theme) {\n document.body.classList = theme\n}\n})\n<\/script>`;constructor(e,s){globalThis.__IframeCounter__+=1,this.id="iframe_"+globalThis.__IframeCounter__,this.description=s,this.content=e+xe.#l(this.id)}toHTML(){const e=F("iframe",this.description,{id:this.id,title:this.description,srcdoc:this.content,sandbox:"allow-scripts"});return me.containerGenerator(e,"iframe")}}class Te{constructor(e){const s=new Function("let option;"+e+";return option")();this.chartOptions=s,globalThis.__ChartTypeList__.add("echarts")}toHTML(){const e=F("div","",{class:"echarts-container"});return e.__ChartOptions__=this.chartOptions,e}}class ke{constructor(e){this.content=e,globalThis.__ChartTypeList__.add("flow-chart")}toHTML(){const e=F("div","",{class:"flowchart-container"});return e.__ChartContent__=this.content,e}}class Ce{constructor(e){this.content=e,globalThis.__ChartTypeList__.add("sequence-chart")}toHTML(){const e=F("div","",{class:"sequencechart-container"});return e.__ChartContent__=this.content,e}}class Se{constructor(e){this.content=new Function(`const tasks = [${e}]; return tasks`)(),globalThis.__ChartTypeList__.add("gantt-chart")}toHTML(){const e=F("div","",{class:"ganttchart-container"});return e.__ChartContent__=this.content,e}}class Ee{constructor(e){this.content=e,globalThis.__ChartTypeList__.add("railroad-chart")}toHTML(){const e=F("div","",{class:"railroad-container"});return e.__ChartContent__=this.content,e}}class He{constructor(e){this.content=e,globalThis.__ChartTypeList__.add("qrcode")}toHTML(){const e=F("div","",{class:"qrcode-container"});return e.__QRCodeContent__=this.content,e}}class Me{constructor(e){this.content=e}toHTML(){return F("span",this.content)}}class qe{static pattern=e=>e.startsWith("!!!");#r=null;constructor(e,s){switch(s){case"":case"echarts":this.#r=new Te(e);break;case"flow":case"flowchart":case"flow chart":case"flow-chart":this.#r=new ke(e);break;case"sequence":case"sequencechart":case"sequence char":case"sequence-chart":this.#r=new Ce(e);break;case"gantt":case"ganttchart":case"gantt chart":case"gantt-chart":this.#r=new Se(e);break;case"rail":case"railroad":case"railroadchart":case"railroad chart":case"railroad-chart":this.#r=new Ee(e);break;case"qrcode":case"qr-code":case"qr code":this.#r=new He(e);break;default:const t="Unknown chart type: "+s;console.error(t),this.#r=new Me(t)}}toHTML(){const e=this.#r.toHTML();return me.containerGenerator(e)}}function Ie(e){let s=0,t=0;for(const i of e){if(i.match(/[^\s\t]/))break;"\t"!==i?(" "===i&&(t+=1),2===t&&(t=0,s+=1)):s+=1}return s}function Ae(e,s){const t=Ie(e),i=new he(e);for(;s.length&&he.isListPattern(s[0]);){const e=s.shift(),a=Ie(e),n=he.orderedPattern(e);if(a>t)i.children.push(Ae(e,s));else{if(a!==t||n!==i.isOrdered){s.unshift(e);break}i.children.push(he.getContent(e,n))}}return i}function Re(e,s){let t=e.slice(2)+"\n";for(;s.length;){const e=s.shift();if(!re.pattern(e)){s.unshift(e);break}t+=e.slice(2)+"\n"}const i=Ue(t);return new re(i)}function We(e){return e.split("|").filter((e=>e.length>0)).map((e=>e.trim()))}function Ne(e,s){const t=e,i=[];for(;s.length;){const e=s.shift();if(!de.pattern(e)){s.unshift(e);break}i.push(e)}const a=We(t),n=i.map(We);return new de(a,n)}function Pe(e,s){const t=new ce;for(s.unshift(e);s.length;){const e=s[0],i=ue.pattern(e),a=pe.pattern(e);if(i)t.push(new ue(e));else{if(!a)break;t.push(new pe(e))}s.shift()}return t}function Oe(e,s){return function(t,i){const a=t.slice(3);let n="";for(;i.length;){const s=i.shift();if(s===e)break;n+=s+"\n"}return new s(n,a)}}const $e=Oe("```",ve),ze=Oe("!!!",qe),De=Oe("$$$",Le);function Fe(e,s){const t=Oe(">>>",_e)(e,s);return t.content=Ue(t.content),t}function Ge(e,s){const t=Oe("@@@",xe);return e.startsWith("@@@")?t(e,s):new ye(e)}function Ue(e){const s=function(e){return-1!=e.indexOf("\r")?e.split("\r\n"):e.split("\n")}(e),t=[];for(;s.length;){const e=s.shift();e.length&&(ae.pattern(e)?t.push(new ae(e)):le.pattern(e)?t.push(new le):ge.pattern(e)?t.push(new ge):re.pattern(e)?t.push(Re(e,s)):he.isListPattern(e)?t.push(Ae(e,s)):ue.pattern(e)||pe.pattern(e)?t.push(Pe(e,s)):de.pattern(e)?t.push(Ne(e,s)):be.pattern(e)?t.push(new be(e)):je.pattern(e)?t.push(new je(e)):fe.pattern(e)?t.push(new fe(e)):_e.pattern(e)?t.push(Fe(e,s)):Le.pattern(e)?t.push(De(e,s)):ve.pattern(e)?t.push($e(e,s)):qe.pattern(e)?t.push(ze(e,s)):we(e)?t.push(Ge(e,s)):t.push(new ne(e)))}return t}function Be(e){return function(s){"Enter"!==s.key&&" "!==s.key||e.click()}}const Qe=()=>window.scrollY||document.documentElement.scrollTop;function Ve(e){window.scroll({top:e,behavior:"smooth"})}function Ze(e,s){Ve(e.offsetTop+-16)}function Ke(){Ve(0)}function Xe(e,s){const t=n((function(){Math.abs(document.documentElement.scrollHeight-document.documentElement.clientHeight-Qe())<10||s()?window.removeEventListener("scroll",t):e()}),30);window.addEventListener("scroll",t),e()}function Ye(e){return null!=e&&e.enable}const Je=a("空文章","Empty Article");function es(e,t){globalThis.__LanguageList__=new Set,globalThis.__ChartTypeList__=new Set,globalThis.__ContainsFormula__=!1,globalThis.__IframeCounter__=0;const i=Ue(t);if(Ye(s.catalog)){const e=function(e){return e.filter((e=>e instanceof ae)).map(((e,s)=>({id:e.id="headline-"+s,content:ie(e.content),level:e.tagName})))}(i);l.emit("article-rendered",e)}let a=i.map((e=>e.toHTML()));a.length||(a=[F("h1",Je)]);const n=document.createDocumentFragment();a.forEach((e=>n.appendChild(e))),e.innerHTML="",e.appendChild(n),async function(){const e=Array.from(P()).map((e=>new Promise(((s,t)=>e.onload=s))));await Promise.all(e)}().then($),e.querySelectorAll("[tabindex='0']").forEach((e=>{e.onkeydown=Be(e)})),Promise.all([u(globalThis.__LanguageList__),m(globalThis.__ContainsFormula__),N(globalThis.__ChartTypeList__)]).then((()=>{globalThis.__LanguageList__=null,globalThis.__ContainsFormula__=!1,globalThis.__ChartTypeList__=null;const e=sessionStorage.getItem("last-leave-page"),s=sessionStorage.getItem("last-leave-position")||0;if(sessionStorage.removeItem("last-leave-page"),sessionStorage.removeItem("last-leave-position"),Qe()>0)return;if(location.hash!==e)return;const t=Number.parseInt(String(s));Xe((()=>Ve(t)),(()=>t-Qe()<100))}))}function ss(e){const s=new Date(e);return(new Intl.DateTimeFormat).format(s)}function ts(e){const s=F("span",e.title,{class:"underline-target"}),t=F("code",ss(e.createTime));return F("li",[s,t],{class:"underline-through","data-jumpto":e.link,tabindex:0})}function is(e){const s=F("span",e.name,{class:"underline-target"}),t=F("code",ss(e.modifyTime));return F("li",[s,t],{class:"underline-through","data-relative":e.name,tabindex:0})}const as=document.querySelector("main"),ns=document.querySelector("article"),ls=as.querySelector("#article-list"),rs=as.querySelector("#directory-description"),gs=as.querySelector("#update-time code"),hs=as.querySelector("paging-view");function os(e,s){const{current:t,total:i,updateTime:a}=e;hs.setPage(t,i),rs.innerHTML="","dirDescription"in e&&es(rs,e.dirDescription),gs.textContent=a?ss(a):"";const n=document.createDocumentFragment();e.content.map(s).forEach((e=>n.appendChild(e))),ls.innerHTML="",ls.appendChild(n),ls.querySelectorAll("[tabindex='0']").forEach((e=>{e.onkeydown=Be(e)})),ns.innerHTML="",as.classList.remove("hidden"),Ke()}function cs(e,s){return new Promise(((t,i)=>{const a=document.createElement("link");a.rel="prefetch",a.href=e,a.as=s,document.head.appendChild(a),a.onload=t,a.onerror=i}))}const us=document.querySelector("main"),ps=document.querySelector("#newest-header"),ds=document.querySelector("#directory-header"),ms=document.querySelector("article");function bs(e=location.hash.slice(1)){return"./.index/"+e.split("/").slice(0,-1).join("+")+"_"+ys.current()}async function js(e){if(!location.hash)return void ws.homepage();const s=location.hash.slice(1);if(us.classList.add("disabled"),ws.isIn.newestPage()){const e=await h(bs());if(!e)return;ps.classList.remove("hidden"),ds.classList.add("hidden"),os(e,ts)}else if(ws.isIn.directory()){const e=await h(bs());if(!e)return;ps.classList.add("hidden"),ds.classList.remove("hidden"),async function(e){const s=location.hash.slice(1),t=[];for(const i of e){if(t.length>=40)break;if(!i.name.endsWith("/"))continue;const e=bs(s+i.name);t.push(cs(e,"fetch"))}await Promise.all(t)}(e.content),os(e,is)}else if(ws.isIn.article()){ms.innerHTML="";const e=await async function(e){return g&&g.abort(),g=new AbortController,await fetch(e,{signal:g.signal}).then((async e=>{if(200!=e.status)throw e.status;const s=await e.text();return g=null,s})).catch((s=>{if("number"!=typeof s)return console.error(s),null;switch(s){case 404:return"# 404 Not Found";case 500:return"# 500 Internal Server Error";case DOMException:console.error(s);break;default:return console.log("Markdown request error: "+e),console.error(s),"# Unexpected request error"}}))}("./"+s);if(!e)return;us.classList.add("hidden"),es(ms,e)}else ws.homepage();us.setAttribute("data-is-root",String("static/"===s)),us.setAttribute("data-is-newest",String(s.startsWith("newest/"))),us.classList.remove("disabled");const t=e=>new URL(e).hash;e instanceof HashChangeEvent&&ws.isIn.directory(t(e.oldURL))&&ws.isIn.article(t(e.newURL))&&Ke()}window.addEventListener("hashchange",js);const fs="static/",ws={homepage(){location.hash=fs},open(e){location.hash+=e},jumpTo(e){location.hash=e},parent(){if(this.isIn.root()||this.isIn.newestPage())return fs;const e=location.hash.slice(1).split("/");if(this.isIn.directory())return e.slice(0,-2).join("/")+"/";if(this.isIn.article())return e.slice(0,-1).join("/")+"/";throw new Error("Unexpected hash: "+location.hash)},isIn:{root:()=>location.hash==="#"+fs,newestPage:()=>"#newest/"===location.hash,directory(e){const s=e||location.hash;return s.startsWith("#static")&&s.endsWith("/")},article(e){const s=e||location.hash;return s.startsWith("#static")&&s.endsWith(".md")}}};const ys=new class{#g=[1];current=()=>this.#g[this.length()-1];next=()=>this.#g[this.length()-1]+=1;prev=()=>this.#g[this.length()-1]-=1;jumpTo=e=>this.#g[this.length()-1]=Number(e);length=()=>this.#g.length;back(){this.#g.pop(),this.#g.length||this.#g.push(1)}open(){this.#g.push(1)}},vs=e=>F("button",F("span",e,{class:"underline-target"}),{class:"icon-btn underline-side"});class _s extends HTMLElement{#h={};constructor(){super(),this.#h.input=F("input","1",{type:"number",min:1,max:1}),this.#h.maxPage=F("span","1");const e=this.#h.prevBtn=vs(a("上一页","Prev")),s=this.#h.nextBtn=vs(a("下一页","Next"));e.id="prev-btn",e.classList.add("left"),s.id="next-btn",s.classList.add("right");const t=F("label",[this.#h.input,F("text","/"),this.#h.maxPage]);this.#o();for(const i of[e,t,s])this.appendChild(i)}#o(){this.#h.input.addEventListener("keydown",(e=>{if("Enter"