@kawaz/mdp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ # mdp
2
+
3
+ Terminal Markdown Preview CLI powered by [MoonBit](https://moonbitlang.com) and [mizchi/markdown.mbt](https://github.com/mizchi/markdown.mbt).
4
+
5
+ ## Features
6
+
7
+ - ANSI color output for terminal
8
+ - Syntax highlighting for code blocks
9
+ - Tables, task lists, blockquotes
10
+ - Works with Node.js and Bun
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install -g @kawaz/mdp
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ ```bash
21
+ # Preview a file
22
+ mdp README.md
23
+
24
+ # Pipe from stdin
25
+ cat README.md | mdp
26
+
27
+ # With curl
28
+ curl -s https://raw.githubusercontent.com/kawaz/mdp/main/README.md | mdp
29
+ ```
30
+
31
+ ## Example Output
32
+
33
+ ```
34
+ # Heading ← magenta + bold
35
+ ## Subheading ← blue + bold
36
+
37
+ This is **bold** and *italic* text.
38
+
39
+ • Bullet point ← yellow marker
40
+ ☑ Completed task ← green checkbox
41
+ ☐ Pending task ← gray checkbox
42
+
43
+ ┌─ javascript ─────────────┐
44
+ │ const x = 1; │ ← cyan code
45
+ └──────────────────────────┘
46
+
47
+ │ A blockquote ← italic
48
+
49
+ | Name | Value | ← table with borders
50
+ ├──────┼───────┤
51
+ | foo | 123 |
52
+ ```
53
+
54
+ ## Performance
55
+
56
+ | Runtime | Startup |
57
+ |---------|---------|
58
+ | Node.js | ~70ms |
59
+ | Bun | ~27ms |
60
+
61
+ ## Development
62
+
63
+ Requires [MoonBit](https://moonbitlang.com) toolchain.
64
+
65
+ ```bash
66
+ # Build
67
+ just build
68
+
69
+ # Run locally
70
+ just run README.md
71
+
72
+ # Run with Bun
73
+ just run-bun README.md
74
+ ```
75
+
76
+ ## License
77
+
78
+ MIT
package/bin/mdp.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../dist/mdp.js');
package/dist/mdp.js ADDED
@@ -0,0 +1,55 @@
1
+ import{createRequire as hJ}from"node:module";var LJ=(A,B)=>()=>(B||A((B={exports:{}}).exports,B),B.exports);var RB=hJ(import.meta.url);var yN=LJ(()=>{function fA(A){this._0=A}fA.prototype.$tag=0;function GB(A,B){this._0=A,this._1=B}GB.prototype.$tag=1;class wG extends Error{}function d(){throw new wG}function s(A,B){if(B<0||B>=A.length)throw Error("Index out of bounds")}function WB(A,B){return(A>=B)-(A<=B)}function bA(A){this._0=A}bA.prototype.$tag=0;function yG(A){this._0=A}yG.prototype.$tag=1;var xJ={$tag:1},TB={$tag:0},bJ=(A,B)=>{return A.toString(B)};function uJ(A,B){return String.fromCodePoint(B).repeat(A)}function vG(A,B){let G=Array(A);return G.fill(B),G}var GA=(A,B)=>{A.push(B)},oJ=(A)=>A.slice(0),mJ=(A)=>A.pop(),dJ=(A,B,G)=>A.splice(B,G),cJ={$tag:0};function kG(A){this._0=A}kG.prototype.$tag=1;function t(A,B){this._0=A,this._1=B}t.prototype.$tag=0;function XB(A){this._0=A}XB.prototype.$tag=1;function tA(A,B){this._0=A,this._1=B}tA.prototype.$tag=2;function YB(A,B,G){this._0=A,this._1=B,this._2=G}YB.prototype.$tag=3;function ZB(A,B,G){this._0=A,this._1=B,this._2=G}ZB.prototype.$tag=4;function gG(A,B){this._0=A,this._1=B}gG.prototype.$tag=5;function zB(A,B,G){this._0=A,this._1=B,this._2=G}zB.prototype.$tag=6;function LG(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}LG.prototype.$tag=7;function hG(A,B,G){this._0=A,this._1=B,this._2=G}hG.prototype.$tag=8;function xG(A,B,G){this._0=A,this._1=B,this._2=G}xG.prototype.$tag=9;function bG(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}bG.prototype.$tag=10;function uG(A,B,G){this._0=A,this._1=B,this._2=G}uG.prototype.$tag=11;function $J(A,B){this._0=A,this._1=B}$J.prototype.$tag=12;function oG(A,B){this._0=A,this._1=B}oG.prototype.$tag=13;function mG(A,B,G,J,M){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M}mG.prototype.$tag=0;function EB(A,B,G,J,M,K,N){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M,this._5=K,this._6=N}EB.prototype.$tag=1;function lA(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}lA.prototype.$tag=2;function dG(A,B,G,J,M,K,N,Q){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M,this._5=K,this._6=N,this._7=Q}dG.prototype.$tag=3;function cG(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}cG.prototype.$tag=4;function $G(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}$G.prototype.$tag=5;function PB(A,B,G,J,M,K){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M,this._5=K}PB.prototype.$tag=6;function pG(A,B,G,J,M,K,N){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M,this._5=K,this._6=N}pG.prototype.$tag=7;function iG(A,B,G,J){this._0=A,this._1=B,this._2=G,this._3=J}iG.prototype.$tag=8;function aG(A,B,G,J,M,K){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M,this._5=K}aG.prototype.$tag=9;function rG(A,B){this._0=A,this._1=B}rG.prototype.$tag=10;function nG(A,B,G,J,M){this._0=A,this._1=B,this._2=G,this._3=J,this._4=M}nG.prototype.$tag=11;var pJ=()=>process.argv.slice(2),iJ=(A)=>process.stdout.write(A),aJ=(A)=>{let B=RB("node:fs");try{return B.readFileSync(A,"utf-8")}catch(G){return""}},rJ=()=>{let A=RB("node:fs");try{return A.readFileSync(0,"utf-8")}catch(B){return""}},nJ=()=>!process.stdin.isTTY,fG={method_0:Z,method_1:NJ,method_2:WJ,method_3:k},jB="@",wB="http",yB=" ",vB=`
2
+ \r`,kB=" \t",gB=" \t",LB=" \t",hB=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","svg","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],xB="/>",bB=`
3
+ `,uB="[ ] ",oB="[x] ",mB="[X] ",dB=`
4
+ \r`,cB=`
5
+ \r`,$B=`
6
+ \r`,pB=`
7
+ \r`,iB=`
8
+ \r`,aB=":",rB=":",nB=`
9
+ \r`,fB="|",tB="|",lB="-",sB=`
10
+ \r`,_B="|",eB=`
11
+ `,AG=`
12
+ \r`,BG="#",GG=":",JG=`
13
+ \r`,KG=`
14
+ \r`,MG='"',NG='"',QG="'",SG="'",a={content:""},JB="\x1B[1m",fJ="\x1B[94m",tG="\x1B[96m",tJ="\x1B[92m",lJ="\x1B[95m",sJ="\x1B[93m",KB="\x1B[36m",f="\x1B[2m",lG="\x1B[3m",_J="\x1B[40m",eA="\x1B[34m",UG="\x1B[35m",b="\x1B[0m",eJ="\x1B[9m",AB="\x1B[4m",AK="\x1B[32m",BK="\x1B[33m",GK="\x1B[37m",VG=`
15
+ `,WG=`
16
+ `,XG=`
17
+ `,JK=0,KK=0,MK=32,NK=32,QK=new fA(0),SK={_0:QK,_1:2},UK=SK,VK=new fA(1),WK={_0:VK,_1:2},XK=WK,YK=new fA(2),ZK={_0:YK,_1:2},zK=ZK,EK=96,PK=96,CK=126,DK=126,HK=!1,qK=!0,FK=!1,IK={_0:FK,_1:""},OK=!0,RK={_0:OK,_1:""},TK=0,jK=1,wK=2,yK=0,vK=1,kK=2;function gK(A){return d()}function LK(A){d()}function hK(A){return d()}function xK(A){return d()}function bK(A){return d()}function uK(A){return d()}function oK(A){return d()}function sG(A,B){return gK(`${A}
18
+ at ${OA(B)}
19
+ `)}function CB(A,B){LK(`${A}
20
+ at ${OA(B)}
21
+ `)}function mK(A,B){return hK(`${A}
22
+ at ${OA(B)}
23
+ `)}function _G(A,B){return xK(`${A}
24
+ at ${OA(B)}
25
+ `)}function dK(A,B){return bK(`${A}
26
+ at ${OA(B)}
27
+ `)}function eG(A,B){return uK(`${A}
28
+ at ${OA(B)}
29
+ `)}function cK(A,B){return oK(`${A}
30
+ at ${OA(B)}
31
+ `)}function x(A){return{val:""}}function k(A,B){let G=A;G.val=`${G.val}${String.fromCodePoint(B)}`}function PA(A){return KJ(A,55296)&&JJ(A,56319)}function SA(A){return KJ(A,56320)&&JJ(A,57343)}function YG(A,B,G){let J;if(G===void 0)J=A.length;else J=G;if(B>=0&&(B<=J&&J<=A.length)){let M=B,K=0;while(!0){let N=M,Q=K;if(N<J){let S=A.charCodeAt(N);if(PA(S)&&(N+1|0)<J){let U=N+1|0,V=A.charCodeAt(U);if(SA(V)){M=N+2|0,K=Q+1|0;continue}else CB("invalid surrogate pair","@moonbitlang/core/builtin:string.mbt:81:9-81:40")}M=N+1|0,K=Q+1|0;continue}else return Q}}else return mK("invalid start or end index for String::codepoint_length","@moonbitlang/core/builtin:string.mbt:70:5-70:69")}function gA(A,B){return(((Math.imul(A-55296|0,1024)|0)+B|0)-56320|0)+65536|0}function AJ(A,B){let G=A.charCodeAt(B);if(PA(G)){let J=B+1|0,M=A.charCodeAt(J);return gA(G,M)}else return G}function BJ(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function r(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function DA(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function $K(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function yA(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function pK(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function ZG(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function iK(A,B){let G=A.length;if(B>=0&&B<G)return s(A,B),A[B];else return d()}function aK(A){let B={str:A,start:0,end:A.length},G=B.str,J=B.start,M=J+(B.end-B.start|0)|0,K=J,N=-1,Q=-1,S=-1,U=-1,V=-1,W=-1,z=-1,X=-1,Y=-1,E=-1,I=-1,P=-1,O=-1,q=-1,F=-1;B:{let R;A:if(K<M){let y=K,w=G.charCodeAt(y);if(K=K+1|0,w<65)if(w<64)break B;else while(!0)if(X=K,K<M){G:{let H=K,h=G.charCodeAt(H);if(K=K+1|0,h<55296)if(h<58)break G;else if(h>58)break G;else if(K<M){K:{let v=K,L=G.charCodeAt(v);if(K=K+1|0,L<56319)if(L<55296)break K;else{R=7;break A}else if(L>56319)if(L<65536)break K;else break B;else{R=8;break A}}R=0;break A}else break B;else if(h>56318)if(h<57344)if(K<M){let v=K,L=G.charCodeAt(v);if(K=K+1|0,L<56320)break B;else if(L>57343)break B;else continue}else break B;else if(h>65535)break B;else break G;else if(K<M){let v=K,L=G.charCodeAt(v);if(K=K+1|0,L<56320)break B;else if(L>65535)break B;else continue}else break B}continue}else break B;else break B}else break B;let D=R;A:while(!0){let y=D;G:{K:switch(y){case 3:if(I=E,E=Y,Y=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break J;else if(Y=K,q=O,O=K,P=K,K<M){M:{let h=K,v=G.charCodeAt(h);if(K=K+1|0,v<59)if(v<46)if(v<45)break M;else break G;else if(v>47)if(v<58){D=6;continue A}else{D=3;continue A}else break M;else if(v>55295)if(v<57344)if(v<56319){D=7;continue A}else{D=8;continue A}else if(v>65535)break B;else break M;else break M}D=0;continue A}else break B;else if(H>58)break J;else{D=1;continue A}else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break B;case 2:if(Y=K,O=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break J;else{D=2;continue A}else if(H>58)break J;else{D=3;continue A}else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break B;case 0:if(Y=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)break J;else if(H>58)break J;else{D=1;continue A}else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break B;case 8:if(K<M){let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<56320)break B;else if(H>57343)break B;else{D=0;continue A}}else break B;case 4:if(Y=K,F=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break J;else{D=4;continue A}else if(H>58)break J;else if(I=E,E=Y,Y=K,K<M){M:{let h=K,v=G.charCodeAt(h);if(K=K+1|0,v<55296)if(v<58)if(v<48)break M;else if(Y=K,q=O,O=K,K<M){N:{let L=K,c=G.charCodeAt(L);if(K=K+1|0,c<55296)if(c<58)if(c<48)break N;else{D=5;continue A}else if(c>58)break N;else{D=3;continue A}else if(c>56318)if(c<57344){D=8;continue A}else if(c>65535)break B;else break N;else{D=7;continue A}}D=0;continue A}else break K;else if(v>58)break M;else{D=1;continue A}else if(v>56318)if(v<57344){D=8;continue A}else if(v>65535)break B;else break M;else{D=7;continue A}}D=0;continue A}else break B;else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break B;case 5:if(Y=K,O=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break J;else{D=5;continue A}else if(H>58)break J;else{D=3;continue A}else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break K;case 6:if(Y=K,O=K,P=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<59)if(H<46)if(H<45)break J;else break G;else if(H>47)if(H<58){D=6;continue A}else{D=3;continue A}else break J;else if(H>55295)if(H<57344)if(H<56319){D=7;continue A}else{D=8;continue A}else if(H>65535)break B;else break J;else break J}D=0;continue A}else break B;case 7:if(K<M){let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<56320)break B;else if(H>65535)break B;else{D=0;continue A}}else break B;case 1:if(E=Y,Y=K,K<M){J:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break J;else{D=2;continue A}else if(H>58)break J;else{D=1;continue A}else if(H>56318)if(H<57344){D=8;continue A}else if(H>65535)break B;else break J;else{D=7;continue A}}D=0;continue A}else break B;default:break B}Y=I,O=q,S=X,U=Y,V=O,W=P,z=F,N=0,Q=K;break B}if(E=I,Y=K,O=q,K<M){G:{let w=K,H=G.charCodeAt(w);if(K=K+1|0,H<55296)if(H<58)if(H<48)break G;else{D=4;continue}else if(H>58)break G;else{D=1;continue}else if(H>56318)if(H<57344){D=8;continue}else if(H>65535)break B;else break G;else{D=7;continue}}D=0;continue}else break B}}if(N===0){let R,D;B:{A:{let u=YA(G,U+1|0,V);if(u.$tag===1)R=u._0;else{D=u._0;break A}break B}R=d()}let y,w;B:{A:{let u=YA(G,V+1|0,W);if(u.$tag===1)y=u._0;else{w=u._0;break A}break B}y=d()}let H,h;B:{A:{let u=YA(G,J+1|0,S);if(u.$tag===1)H=u._0;else{h=u._0;break A}break B}H=d()}let v,L;B:{A:{let u=YA(G,S+1|0,U);if(u.$tag===1)v=u._0;else{L=u._0;break A}break B}v=d()}let c,$;B:{A:{let u=YA(G,W+1|0,z);if(u.$tag===1)c=u._0;else{$=u._0;break A}break B}c=d()}let JA,XA;B:{A:{let u=YA(G,z+1|0,Q);if(u.$tag===1)JA=u._0;else{XA=u._0;break A}break B}JA=d()}return{pkg:H,filename:v,start_line:R,start_column:y,end_line:c,end_column:JA}}else return d()}function Z(A,B){let G=A;G.val=`${G.val}${B}`}function GJ(A,B){return!qM(A,B)}function JJ(A,B){return WB(A,B)<=0}function KJ(A,B){return WB(A,B)>=0}function MJ(A,B,G){let J=A.length,M;if(G===void 0)M=J;else{let Q=G;M=Q<0?J+Q|0:Q}let K=B<0?J+B|0:B;if(K>=0&&(K<=M&&M<=J)){if(K<J&&SA(A.charCodeAt(K)))return new bA(TB);if(M<J&&SA(A.charCodeAt(M)))return new bA(TB);return new yG({str:A,start:K,end:M})}else return new bA(xJ)}function YA(A,B,G){let J;if(B===void 0)J=0;else J=B;return MJ(A,J,G)}function NJ(A,B,G,J){let M,K;B:{A:{let N=MJ(B,G,G+J|0);if(N.$tag===1)M=N._0;else{K=N._0;break A}break B}M=d()}WJ(A,M)}function OA(A){let B=x(0);return TM(A,{self:B,method_table:fG}),B.val}function jA(A){let B=x(0);return HM(A,{self:B,method_table:fG}),B.val}function QJ(A,B){return bJ(A,B)}function dA(A,B,G){let J;if(G===void 0)J=A.end-A.start|0;else J=G;return B>=0&&(B<=J&&J<=(A.end-A.start|0))?{str:A.str,start:A.start+B|0,end:A.start+J|0}:sG("Invalid index for View","@moonbitlang/core/builtin:stringview.mbt:113:5-113:36")}function p(A){return A.str.substring(A.start,A.end)}function SJ(A){let{start:B,end:G}=A,J={val:B};return()=>{if(J.val<G){let K=A.str,N=J.val,Q=K.charCodeAt(N);if(PA(Q)&&(J.val+1|0)<A.end){let S=A.str,U=J.val+1|0,V=S.charCodeAt(U);if(SA(V))return J.val=J.val+2|0,gA(Q,V)}return J.val=J.val+1|0,Q}else return-1}}function rK(A){return A}function nK(A){let{start:B,end:G}=A,J={val:B},M={val:0};return rK(()=>{if(J.val<G){let K=A.str,N=J.val,Q=K.charCodeAt(N);if(PA(Q)&&(J.val+1|0)<A.end){let U=A.str,V=J.val+1|0,W=U.charCodeAt(V);if(SA(W)){let z={_0:M.val,_1:gA(Q,W)};return J.val=J.val+2|0,M.val=M.val+1|0,z}}let S={_0:M.val,_1:Q};return J.val=J.val+1|0,M.val=M.val+1|0,S}else return})}function MB(A,B,G){let J;if(G===void 0)J=A.length;else J=G;return B>=0&&(B<=J&&J<=A.length)?{str:A,start:B,end:J}:sG("Invalid index for View","@moonbitlang/core/builtin:stringview.mbt:399:5-399:36")}function UJ(A,B,G,J){let M;if(J===void 0)M=A.length;else M=J;let K=G,N=0;while(!0){let Q=K,S=N;if(Q<M&&S<B){let U=A.charCodeAt(Q);if(PA(U)&&(Q+1|0)<M){let V=Q+1|0,W=A.charCodeAt(V);if(SA(W)){K=Q+2|0,N=S+1|0;continue}else CB("invalid surrogate pair","@moonbitlang/core/builtin:string.mbt:424:9-424:40")}K=Q+1|0,N=S+1|0;continue}else return S===B&&Q===M}}function fK(A,B,G,J){let M=0,K=J;while(!0)if((K-1|0)>=G&&M<B){let N=K-1|0,Q=A.charCodeAt(N);if(SA(Q))K=K-2|0;else K=K-1|0;M=M+1|0;continue}else break;return M<B||K<G?void 0:K}function tK(A,B,G,J){if(G>=0&&G<=J){let M=G,K=0;while(!0)if(M<J&&K<B){let N=M,Q=A.charCodeAt(N);if(PA(Q))M=M+2|0;else M=M+1|0;K=K+1|0;continue}else break;return K<B||M>=J?void 0:M}else return dK("Invalid start index","@moonbitlang/core/builtin:string.mbt:327:5-327:33")}function cA(A,B,G,J){let M;if(J===void 0)M=A.length;else M=J;return B>=0?tK(A,B,G,M):fK(A,-B|0,G,M)}function lK(A,B){return uJ(A,B)}function VJ(A,B){if(A>=0)if(B<=65535)return lK(A,B);else{let G=x(Math.imul(2,A)|0),J=0;while(!0){let M=J;if(M<A){k(G,B),J=M+1|0;continue}else break}return G.val}else return _G("invalid length","@moonbitlang/core/builtin:string.mbt:27:28-27:51")}function WJ(A,B){let G=A;G.val=`${G.val}${p(B)}`}function RA(A){A.val=""}function sK(A,B){let G=A.end-A.start|0,J=B.end-B.start|0;if(J>0)if(G>=J){let M=vG(256,J),K=J-1|0,N=0;while(!0){let S=N;if(S<K){let U=B.str,V=B.start+S|0,W=U.charCodeAt(V)&255;s(M,W),M[W]=(J-1|0)-S|0,N=S+1|0;continue}else break}let Q=0;while(!0){let S=Q;if(S<=(G-J|0)){let U=J-1|0,V=0;while(!0){let E=V;if(E<=U){let I=S+E|0,P=A.str,O=A.start+I|0,q=P.charCodeAt(O),F=B.str,R=B.start+E|0,D=F.charCodeAt(R);if(q!==D)break;V=E+1|0;continue}else return S}let W=(S+J|0)-1|0,z=A.str,X=A.start+W|0,Y=z.charCodeAt(X)&255;s(M,Y),Q=S+M[Y]|0;continue}else break}return}else return;else return KK}function _K(A,B){let G=A.end-A.start|0,J=B.end-B.start|0;if(J>0)if(G>=J){let K=B.str,N=B.start+0|0,Q=K.charCodeAt(N),S=G-J|0,U=0;while(!0)if(U<=S){while(!0){let V;if(U<=S){let W=U,z=A.str,X=A.start+W|0;V=z.charCodeAt(X)!==Q}else V=!1;if(V){U=U+1|0;continue}else break}if(U<=S){let V=1;while(!0){let W=V;if(W<J){let z=U+W|0,X=A.str,Y=A.start+z|0,E=X.charCodeAt(Y),I=B.str,P=B.start+W|0,O=I.charCodeAt(P);if(E!==O)break;V=W+1|0;continue}else return U}U=U+1|0}continue}else break;return}else return;else return JK}function sA(A,B){return(B.end-B.start|0)<=4?_K(A,B):sK(A,B)}function eK(A,B){let G=A.end-A.start|0,J=B.end-B.start|0;if(J>0)if(G>=J){let M=vG(256,J),K=J-1|0;while(!0){let Q=K;if(Q>0){let S=B.str,U=B.start+Q|0,V=S.charCodeAt(U)&255;s(M,V),M[V]=Q,K=Q-1|0;continue}else break}let N=G-J|0;while(!0){let Q=N;if(Q>=0){let S=0;while(!0){let z=S;if(z<J){let X=Q+z|0,Y=A.str,E=A.start+X|0,I=Y.charCodeAt(E),P=B.str,O=B.start+z|0,q=P.charCodeAt(O);if(I!==q)break;S=z+1|0;continue}else return Q}let U=A.str,V=A.start+Q|0,W=U.charCodeAt(V)&255;s(M,W),N=Q-M[W]|0;continue}else break}return}else return;else return G}function QA(A,B){if(B<=0)return"";else if(B===1)return A;else{let G=A.length,J=x(Math.imul(G,B)|0),M=A,K=0;while(!0){let N=K;if(N<B){Z(J,M),K=N+1|0;continue}else break}return J.val}}function AM(A,B){let G=nK(A);while(!0){let J=OM(G);if(J===void 0)break;else{let K=J,N=K._0,Q=K._1;if(B(Q))return N;continue}}return}function BM(A,B){return AM({str:A,start:0,end:A.length},B)}function GM(A,B){let G=A.end-A.start|0,J=B.end-B.start|0;if(J>0)if(G>=J){let K=B.str,N=B.start+0|0,Q=K.charCodeAt(N),S=G-J|0;while(!0)if(S>=0){while(!0){let U;if(S>=0){let V=S,W=A.str,z=A.start+V|0;U=W.charCodeAt(z)!==Q}else U=!1;if(U){S=S-1|0;continue}else break}if(S>=0){let U=1;while(!0){let V=U;if(V<J){let W=S+V|0,z=A.str,X=A.start+W|0,Y=z.charCodeAt(X),E=B.str,I=B.start+V|0,P=E.charCodeAt(I);if(Y!==P)break;U=V+1|0;continue}else return S}S=S-1|0}continue}else break;return}else return;else return G}function JM(A,B){return(B.end-B.start|0)<=4?GM(A,B):eK(A,B)}function KM(A,B){let G=JM(A,B);if(G===void 0)return!1;else return G===((A.end-A.start|0)-(B.end-B.start|0)|0)}function $A(A,B){return KM({str:A,start:0,end:A.length},B)}function XJ(A,B){let G=sA(A,B);if(G===void 0)return!1;else return G===0}function FA(A,B){return XJ({str:A,start:0,end:A.length},B)}function MM(A){return[]}function NM(A,B){GA(A,B)}function vA(A,B){GA(A,B)}function QM(A,B){GA(A,B)}function SM(A,B){GA(A,B)}function YJ(A,B){GA(A,B)}function UM(A,B){GA(A,B)}function DB(A,B){GA(A,B)}function VM(A,B){GA(A,B)}function NB(A,B){GA(A,B)}function zG(A,B){GA(A,B)}function WM(A,B){GA(A,B)}function XM(A,B){GA(A,B)}function m(A,B){GA(A,B)}function ZJ(A){return A()}function wA(A){return A()}function YM(A){return A()}function ZM(A,B){return sA(A,B)!==void 0}function HA(A,B){return ZM({str:A,start:0,end:A.length},B)}function zJ(A,B){let G=A.end-A.start|0;if(G>0){let J=B;if(J<=65535){let M=0;while(!0){let K=M;if(K<G){let N=A.str,Q=A.start+K|0;if(N.charCodeAt(Q)===J)return!0;M=K+1|0;continue}else break}}else if(G>=2){let M=J-65536|0,K=55296+(M>>10)|0,N=56320+(M&1023)|0,Q=0;while(!0)if(Q<(G-1|0)){let S=Q,U=A.str,V=A.start+S|0;if(U.charCodeAt(V)===K){Q=Q+1|0;let W=Q,z=A.str,X=A.start+W|0;if(z.charCodeAt(X)===N)return!0}Q=Q+1|0;continue}else break}else return!1;return!1}else return!1}function zM(A,B){let G=A;while(!0){let J=G;if(UJ(J.str,0,J.start,J.end))return J;else{let M=AJ(J.str,cA(J.str,0,J.start,J.end)),K=J.str,N=cA(J.str,1,J.start,J.end),Q;if(N===void 0)Q=J.end;else Q=N;let U={str:K,start:Q,end:J.end};if(zJ(B,M)){G=U;continue}else return J}}}function EJ(A,B){let G=A;while(!0){let J=G;if(UJ(J.str,0,J.start,J.end))return J;else{let M=AJ(J.str,cA(J.str,-1,J.start,J.end)),K={str:J.str,start:J.start,end:cA(J.str,-1,J.start,J.end)};if(zJ(B,M)){G=K;continue}else return J}}}function kA(A,B){return EJ({str:A,start:0,end:A.length},B)}function EM(A,B){return EJ(zM(A,B),B)}function NA(A,B){return EM({str:A,start:0,end:A.length},B)}function LA(A){return(A.end-A.start|0)===0}function _(A){let B=A.length,G={val:0};return()=>{if(G.val<B){let M=G.val,K=A.charCodeAt(M);if(PA(K)&&(G.val+1|0)<B){let N=G.val+1|0,Q=A.charCodeAt(N);if(SA(Q)){let S=gA(K,Q);return G.val=G.val+2|0,S}}return G.val=G.val+1|0,K}else return-1}}function PM(A,B){return()=>{let G=wA(A);if(G===-1)return;else return B(G)}}function CM(A){return String.fromCodePoint(A)}function DM(A,B){let G=B.end-B.start|0;if(G===0)return PM(SJ(A),(K)=>MB(CM(K),0,void 0));let J={val:A};return()=>{let K=J.val;if(K===void 0)return;else{let Q=K,S=sA(Q,B);if(S===void 0)return J.val=void 0,Q;else{let V=S;return J.val=dA(Q,V+G|0,void 0),dA(Q,0,V)}}}}function QB(A,B){return DM({str:A,start:0,end:A.length},B)}function EG(A){let B=[];while(!0){let G=ZJ(A);if(G===void 0)break;else{QM(B,G);continue}}return B}function PG(A){return A>=65&&A<=90}function PJ(A){let B=BM(A,(G)=>PG(G));if(B===void 0)return A;else{let J=B,M=x(A.length),K=MB(A,0,J);NJ(M,K.str,K.start,K.end-K.start|0);let N=SJ(MB(A,J,void 0));while(!0){let Q=wA(N);if(Q===-1)break;else{let U=Q;if(PG(U))k(M,U+32|0);else k(M,U);continue}}return M.val}}function zA(A,B){if(B>=0&&B<A.length){let G=A.charCodeAt(B);if(PA(G))if((B+1|0)<A.length){let J=B+1|0,M=A.charCodeAt(J);return SA(M)?gA(G,M):-1}else return-1;else return SA(G)?-1:G}else return-1}function _A(A){let B=_(A),J=MM(A.length);while(!0){let M=wA(B);if(M===-1)break;else{let N=M,Q=J;NM(Q,N),J=Q;continue}}return J}function HM(A,B){B.method_table.method_0(B.self,QJ(A,10))}function TA(A,B){if(A===-1)return B===-1;else{let J=A;if(B===-1)return!1;else return J===B}}function qM(A,B){if(A===void 0)return B===void 0;else{let J=A;if(B===void 0)return!1;else return cM(J,B)}}function i(A,B){if(B>=0&&B<(A.end-A.start|0)){let G=A.buf,J=A.start+B|0;return s(G,J),G[J]}else return cK(`index out of bounds: the len is from 0 to ${jA(A.end-A.start|0)} but the index is ${jA(B)}`,"@moonbitlang/core/builtin:mutarrayview.mbt:97:5-99:6")}function pA(A,B,G){if(B>=0&&B<(A.end-A.start|0)){let J=A.buf,M=A.start+B|0;s(J,M),J[M]=G;return}else{CB(`index out of bounds: the len is from 0 to ${jA(A.end-A.start|0)} but the index is ${jA(B)}`,"@moonbitlang/core/builtin:mutarrayview.mbt:161:5-163:6");return}}function FM(A,B,G){let J=A.length,M;if(G===void 0)M=J;else{let Q=G;M=Q<0?J+Q|0:Q}let K=B<0?J+B|0:B;if(K>=0&&(K<=M&&M<=J)){let N=A,Q=M-K|0;return{buf:N,start:K,end:K+Q|0}}else return eG("View index out of bounds","@moonbitlang/core/builtin:mutarrayview.mbt:237:5-237:38")}function IM(A,B,G){let J=A.end-A.start|0,M;if(G===void 0)M=J;else{let Q=G;M=Q<0?J+Q|0:Q}let K=B<0?J+B|0:B;if(K>=0&&(K<=M&&M<=J)){let N=A.buf,Q=A.start+K|0,S=M-K|0;return{buf:N,start:Q,end:Q+S|0}}else return eG("View index out of bounds","@moonbitlang/core/builtin:mutarrayview.mbt:286:5-286:38")}function MA(A){let G=0;while(!0)if(wA(A)===-1)break;else{G=G+1|0;continue}return G}function OM(A){return YM(A)}function KA(A){console.log(A)}function CJ(A,B){let G=Array(A),J=0;while(!0){let M=J;if(M<A){G[M]=B,J=M+1|0;continue}else break}return G}function iA(A,B,G){let J=A.length;if(B>=0&&B<J){s(A,B),A[B]=G;return}else{d();return}}function RM(A,B){let G=A.pkg,J=G.str,M=G.start,K=M+(G.end-G.start|0)|0,N=M,Q=-1,S=-1,U=-1,V=-1,W;B:{A:{G:while(!0)if(N<K)K:{J:{let Y=N,E=J.charCodeAt(Y);if(N=N+1|0,E<55296)if(E<47)break J;else if(E>47)break J;else M:while(!0)if(V=N,N<K){N:{let I=N,P=J.charCodeAt(I);if(N=N+1|0,P<55296)if(P<47)break N;else if(P>47)break N;else while(!0)if(N<K){Q:{let O=N,q=J.charCodeAt(O);if(N=N+1|0,q<56319)if(q<55296)break Q;else if(N<K){let F=N,R=J.charCodeAt(F);if(N=N+1|0,R<56320)break A;else if(R>65535)break A;else continue}else break A;else if(q>56319)if(q<65536)break Q;else break A;else if(N<K){let F=N,R=J.charCodeAt(F);if(N=N+1|0,R<56320)break A;else if(R>57343)break A;else continue}else break A}continue}else{U=V,Q=0,S=N;break A}else if(P>56318)if(P<57344)if(N<K){let O=N,q=J.charCodeAt(O);if(N=N+1|0,q<56320)break A;else if(q>57343)break A;else continue}else break A;else if(P>65535)break A;else break N;else if(N<K){let O=N,q=J.charCodeAt(O);if(N=N+1|0,q<56320)break A;else if(q>65535)break A;else continue}else break A}continue}else break A;else if(E>56318)if(E<57344)if(N<K){let I=N,P=J.charCodeAt(I);if(N=N+1|0,P<56320)break A;else if(P>57343)break A;else continue}else break A;else if(E>65535)break A;else break J;else if(N<K){let I=N,P=J.charCodeAt(I);if(N=N+1|0,P<56320)break A;else if(P>65535)break A;else continue}else break A;break K}continue}else break A;break B}if(Q===0){let Y,E;A:{G:{let O=YA(J,U+1|0,S);if(O.$tag===1)Y=O._0;else{E=O._0;break G}break A}Y=d()}let I,P;A:{G:{let O=YA(J,M,U);if(O.$tag===1)I=O._0;else{P=O._0;break G}break A}I=d()}W={_0:I,_1:Y}}else W={_0:G,_1:void 0}}let{_0:z,_1:X}=W;if(X===void 0);else{let E=X;B.method_table.method_2(B.self,E),B.method_table.method_3(B.self,47)}B.method_table.method_2(B.self,A.filename),B.method_table.method_3(B.self,58),B.method_table.method_2(B.self,A.start_line),B.method_table.method_3(B.self,58),B.method_table.method_2(B.self,A.start_column),B.method_table.method_3(B.self,45),B.method_table.method_2(B.self,A.end_line),B.method_table.method_3(B.self,58),B.method_table.method_2(B.self,A.end_column),B.method_table.method_3(B.self,64),B.method_table.method_2(B.self,z)}function TM(A,B){RM(aK(A),B)}function jM(A){return mJ(A)}function DJ(A){if(A.length===0)return;else return jM(A)}function wM(A,B){if(B>=0&&B<A.length){s(A,B);let G=A[B];return dJ(A,B,1),G}else return _G(`index out of bounds: the len is from 0 to ${jA(A.length)} but the index is ${jA(B)}`,"@moonbitlang/core/builtin:arraycore_js.mbt:251:5-253:6")}function yM(A){return oJ(A)}function ZA(A,B,G){let J=i(A,B);pA(A,B,i(A,G)),pA(A,G,J)}function uA(A,B,G){return IM(A,B,G)}function vM(A){let B=A.end-A.start|0,G=B/2|0,J=0;while(!0){let M=J;if(M<G){let K=(B-M|0)-1|0,N=i(A,M);pA(A,M,i(A,K)),pA(A,K,N),J=M+1|0;continue}else return}}function kM(A){let B=A,G=0;while(!0)if(B>0){B=B/2|0,G=G+1|0;continue}else break;return G}function gM(A,B){let G=A.end-A.start|0,J=1;while(!0){let M=J;if(M<G){let K=M;while(!0){let N=K;if(N>0&&B(i(A,N-1|0),i(A,N))>0){ZA(A,N,N-1|0),K=N-1|0;continue}else break}J=M+1|0;continue}else return}}function BB(A,B,G){let{_2:J,_1:M,_0:K}=A;if(K(i(J,B),i(J,G))>0){ZA(J,B,G),M.val=M.val+1|0;return}else return}function xA(A,B,G,J){BB(A,B,G),BB(A,G,J),BB(A,B,G)}function LM(A,B){let G=A.end-A.start|0,J={val:0},M=Math.imul(G/4|0,2)|0;if(G>=8){let K=Math.imul(G/4|0,1)|0,N=Math.imul(G/4|0,3)|0,Q={_0:B,_1:J,_2:A};if(G>50)xA(Q,K-1|0,K,K+1|0),xA(Q,M-1|0,M,M+1|0),xA(Q,N-1|0,N,N+1|0);xA(Q,K,M,N)}if(J.val===12)return vM(A),{_0:(G-M|0)-1|0,_1:!0};else return{_0:M,_1:J.val===0}}function CG(A,B,G){let J=B,M=A.end-A.start|0,K=(Math.imul(J,2)|0)+1|0;while(!0)if(K<M){if((K+1|0)<M&&G(i(A,K),i(A,K+1|0))<0)K=K+1|0;if(G(i(A,J),i(A,K))>=0)return;ZA(A,J,K),J=K,K=(Math.imul(J,2)|0)+1|0;continue}else return}function hM(A,B){let G=A.end-A.start|0,J=(G/2|0)-1|0;while(!0){let K=J;if(K>=0){CG(A,K,B),J=K-1|0;continue}else break}let M=G-1|0;while(!0){let K=M;if(K>0){ZA(A,0,K),CG(uA(A,0,K),0,B),M=K-1|0;continue}else return}}function xM(A,B,G){ZA(A,G,(A.end-A.start|0)-1|0);let J=i(A,(A.end-A.start|0)-1|0),M=0,K=!0,N=(A.end-A.start|0)-1|0,Q=0;while(!0){let S=Q;if(S<N){if(B(i(A,S),J)<0){if(M!==S)ZA(A,M,S),K=!1;M=M+1|0}Q=S+1|0;continue}else break}return ZA(A,M,(A.end-A.start|0)-1|0),{_0:M,_1:K}}function bM(A,B){let G=0,J=A.end-A.start|0,M=1;while(!0){let K=M;if(K<J){let N=!0,Q=K;while(!0){let S=Q;if(S>0&&B(i(A,S-1|0),i(A,S))>0){N=!1,ZA(A,S,S-1|0),Q=S-1|0;continue}else break}if(!N){if(G=G+1|0,G>8)return!1}M=K+1|0;continue}else break}return!0}function SB(A,B,G,J){let M=J,K=A,N=G,Q=!0,S=!0;while(!0){let U=K,V=U.end-U.start|0;if(V<=16){if(V>=2)gM(K,B);return}if(M===0){hM(K,B);return}let W=LM(K,B),z=W._0,X=W._1;if(Q&&(S&&X)){if(bM(K,B))return}let Y=xM(K,B,z),E=Y._0;Q=Y._1;let P=V-E|0;if(S=(E>P?P:E)>=(V/8|0),!S)M=M-1|0;let O=N;if(O===void 0);else{let D=O;if(B(D,i(K,E))===0){let y=E;while(!0)if(y<V&&B(D,i(K,y))===0){y=y+1|0;continue}else break;K=uA(K,y,V);continue}}let q=uA(K,0,E),F=uA(K,E+1|0,V);if((q.end-q.start|0)<(F.end-F.start|0))SB(q,B,N,M),N=i(K,E),K=F;else SB(F,B,i(K,E),M),K=q;continue}}function uM(A,B){SB(A,B,void 0,kM(A.end-A.start|0))}function oM(A,B){uM(FM(A,0,void 0),B)}function mM(A){if(A.length===0)return;else return A[A.length-1|0]}function dM(A,B){if(A===0)if(B===0)return!0;else return!1;else if(B===1)return!0;else return!1}function cM(A,B){switch(A){case 0:if(B===0)return!0;else return!1;case 1:if(B===1)return!0;else return!1;default:if(B===2)return!0;else return!1}}function g(A,B){return{from:A,to:B}}function HJ(A){return{content:A}}function hA(A){let B=_A(A),G=B.length,J=A.length!==G,M;if(J){let K=CJ(G+1|0,0),N=0,Q=0;while(!0){let S=Q;if(S<G){if(iA(K,S,N),r(B,S)>65535)N=N+2|0;else N=N+1|0;Q=S+1|0;continue}else break}iA(K,G,N),M=new kG(K)}else M=cJ;return{source:A,chars:B,pos:0,len:G,utf16_offsets:M}}function aA(A,B){let G=A.utf16_offsets;if(G.$tag===1){let M=G._0;return DA(M,B)}else return B}function T(A){return A.pos>=A.len?-1:r(A.chars,A.pos)}function qA(A,B){let G=A.pos+B|0;return G>=A.len||G<0?-1:r(A.chars,G)}function C(A,B){if(A.pos=A.pos+B|0,A.pos>A.len){A.pos=A.len;return}else return}function e(A){if(A.pos>=A.len)return-1;else{let B=r(A.chars,A.pos);return A.pos=A.pos+1|0,B}}function qJ(A,B,G){let J=B<0?0:B>A.len?A.len:B,M=G<0?0:G>A.len?A.len:G;if(J>=M)return"";else{let K=aA(A,J),N=aA(A,M);return A.source.substring(K,N)}}function o(A){let B=A.pos;while(!0)if(A.pos<A.len){let G=r(A.chars,A.pos);if(G===32||G===9)A.pos=A.pos+1|0;else break;continue}else break;return A.pos-B|0}function HB(A){let B=0,G=A.pos;while(!0)if(G<A.len){let J=r(A.chars,G);if(J===32)B=B+1|0,G=G+1|0;else if(J===9)B=Math.imul((B/4|0)+1|0,4)|0,G=G+1|0;else break;continue}else break;return B}function l(A){let B=A.pos;while(!0)if(A.pos<A.len){if(r(A.chars,A.pos)===10)break;A.pos=A.pos+1|0;continue}else break;let G=aA(A,B),J=aA(A,A.pos);return A.source.substring(G,J)}function IA(A){while(!0)if(A.pos<A.len){let B=r(A.chars,A.pos);if(A.pos=A.pos+1|0,B===10)break;continue}else return}function BA(A){let B=A.pos;while(!0)if(B<A.len){let G=r(A.chars,B);if(G===10)return!0;if(G!==32&&G!==9)return!1;B=B+1|0;continue}else break;return!0}function DG(A,B){let G=B.length;if((A.pos+G|0)>A.len)return!1;let J=0;while(!0){let M=J;if(M<G){B:{A:{let K=zA(B,M);if(K===-1)break A;else{let Q=K;if(r(A.chars,A.pos+M|0)===Q)break B;else break A}}return!1}J=M+1|0;continue}else break}return!0}function AA(A,B){let G=0,J=A.pos;while(!0)if(J<A.len){if(r(A.chars,J)===B)G=G+1|0,J=J+1|0;else break;continue}else break;return G}function j(A,B){A.pos=B}function $M(A){switch(A){case 33:return!0;case 34:return!0;case 35:return!0;case 36:return!0;case 37:return!0;case 38:return!0;case 39:return!0;case 40:return!0;case 41:return!0;case 42:return!0;case 43:return!0;case 44:return!0;case 45:return!0;case 46:return!0;case 47:return!0;case 58:return!0;case 59:return!0;case 60:return!0;case 61:return!0;case 62:return!0;case 63:return!0;case 64:return!0;case 91:return!0;case 92:return!0;case 93:return!0;case 94:return!0;case 95:return!0;case 96:return!0;case 123:return!0;case 124:return!0;case 125:return!0;case 126:return!0;default:return!1}}function UB(A){if(A===-1)return!1;else{let G=A;return G>=48&&G<=57}}function qB(A,B){return{scanner:A,definitions:[],strict:B}}function oA(A){return{scanner:A}}function pM(A){if(A.length>0){let B=iK(A,A.length-1|0);if(B.$tag===0){let G=B,J=G._0,M=G._1,K=J.length;if(K>0){let N=K-1|0,Q=J.charCodeAt(N),S=32;if(Q===32){let U=K-1|0;while(!0){let V;if(U>0){let W=U-1|0,z=J.charCodeAt(W),X=32;V=z===32}else V=!1;if(V){U=U-1|0;continue}else break}if(DJ(A),U>0){m(A,new t(J.substring(0,U),M));return}else return}else return}else return}else return}else return}function FJ(A,B){C(A.scanner,1);let G=x(0),J=!1;while(!0){let M=A.scanner;if(!(M.pos>=M.len)){B:{A:{let K=T(A.scanner);if(K===-1)break;else{let Q=K;switch(Q){case 62:{C(A.scanner,1);let S=G.val;if(HA(S,{str:jB,start:0,end:jB.length})&&!FA(S,{str:wB,start:0,end:wB.length}))J=!0;return new xG(S,J,g(B,A.scanner.pos))}case 32:break A;case 9:break A;case 10:break A;default:k(G,Q),C(A.scanner,1)}}break B}j(A.scanner,B);return}continue}else break}j(A.scanner,B);return}function IJ(A){let B=_(A);while(!0){let G=wA(B);if(G===-1)break;else{if(G!==32)return!1;continue}}return!0}function OJ(A,B){let G=AA(A.scanner,96);if(G===0)return;C(A.scanner,G);let J=x(0);while(!0){let M=A.scanner;if(!(M.pos>=M.len)){let K=AA(A.scanner,96);if(K===G){let N=J.val;C(A.scanner,K);let Q;if(N.length>=2){let S=zA(N,0),U=zA(N,N.length-1|0);Q=TA(S,MK)&&(TA(U,NK)&&!IJ(N))?N.substring(1,N.length-1|0):N}else Q=N;return new zB(Q,G,g(B,A.scanner.pos))}else if(K>0){let N=0;while(!0){let Q=N;if(Q<K){k(J,96),N=Q+1|0;continue}else break}C(A.scanner,K)}else{let N=e(A.scanner);if(N===-1)break;else k(J,N)}continue}else break}j(A.scanner,B);return}function VB(A){let B=A.length,G=0;while(!0){let J=G;if(J<B){let M=A[J],K;B:{A:{G:{K:{switch(M.$tag){case 7:break K;case 8:break K;case 3:{K=M._1;break A}case 4:{K=M._1;break A}case 5:{K=M._0;break A}}break G}return!0}break B}if(VB(K))return!0}G=J+1|0;continue}else break}return!1}function iM(A,B){C(A.scanner,1);B:{let G=T(A.scanner);if(G===-1)break B;else{let M=G;if(M===10){C(A.scanner,1);while(!0){let K=T(A.scanner),N=32,Q;if(K===-1)Q=!1;else Q=K===32;if(Q){C(A.scanner,1);continue}else break}return new tA(1,g(B,A.scanner.pos))}else if($M(M))return C(A.scanner,1),new t(VJ(1,M),g(B,A.scanner.pos));else break B}}return new t("\\",g(B,A.scanner.pos))}function aM(A,B){C(A.scanner,1);let G=T(A.scanner),J=94,M;if(G===-1)M=!1;else M=G===J;if(!M){j(A.scanner,B);return}C(A.scanner,1);let K=x(0);while(!0){let V=A.scanner;if(!(V.pos>=V.len)){B:{A:{let W=T(A.scanner);if(W===-1)break A;else{let X=W;if(X===93)break;else if(X>=97&&X<=122||(X>=65&&X<=90||(X>=48&&X<=57||(X===45||X===95))))k(K,X),C(A.scanner,1);else break A}break B}j(A.scanner,B);return}continue}else break}let N=K.val;if(N===""){j(A.scanner,B);return}let Q=T(A.scanner),S=93,U;if(Q===-1)U=!1;else U=Q===S;if(!U){j(A.scanner,B);return}return C(A.scanner,1),new oG(N,g(B,A.scanner.pos))}function rM(A,B){let G=AA(A.scanner,32);if(G<2)return;C(A.scanner,G);let J=T(A.scanner),M=10,K;if(J===-1)K=!1;else K=J===M;if(K){C(A.scanner,1);while(!0){let N=T(A.scanner),Q=32,S;if(N===-1)S=!1;else S=N===32;if(S){C(A.scanner,1);continue}else break}return new tA(0,g(B,A.scanner.pos))}j(A.scanner,B);return}function RJ(A,B){C(A.scanner,1);let G=T(A.scanner),J=91,M;if(G===-1)M=!1;else M=G===J;if(!M){j(A.scanner,B);return}C(A.scanner,1);let K=x(0);B:while(!0){let X=A.scanner;if(!(X.pos>=X.len)){let Y=T(A.scanner);if(Y===-1)break;else{let I=Y;switch(I){case 93:{C(A.scanner,1);break B}case 92:{C(A.scanner,1);let P=e(A.scanner);if(P===-1)break B;else k(K,P);break}default:k(K,I),C(A.scanner,1)}}continue}else break}let N=K.val,Q=T(A.scanner),S=40,U;if(Q===-1)U=!1;else U=Q===S;if(U){C(A.scanner,1);let X=x(0);o(A.scanner);let Y=T(A.scanner),E=60,I;if(Y===-1)I=!1;else I=Y===E;if(I){C(A.scanner,1);while(!0){let D=A.scanner;if(!(D.pos>=D.len)){let y=T(A.scanner);if(y===-1)break;else{let H=y;if(H===62){C(A.scanner,1);break}else k(X,H),C(A.scanner,1)}continue}else break}}else while(!0){let D=A.scanner;if(!(D.pos>=D.len)){B:{A:{let y=T(A.scanner);if(y===-1)break;else{let H=y;switch(H){case 41:break A;case 32:break A;case 9:break A;default:k(X,H),C(A.scanner,1)}}break B}break}continue}else break}let P=X.val;o(A.scanner);let O;B:{A:{let H=T(A.scanner);if(H===-1)O="";else switch(H){case 34:break A;case 39:break A;default:O=""}break B}let D=e(A.scanner),y=D===-1?34:D,w=x(0);while(!0){let H=A.scanner;if(!(H.pos>=H.len)){let h=T(A.scanner);if(h===-1)break;else{let L=h;if(L===y){C(A.scanner,1);break}else k(w,L),C(A.scanner,1)}continue}else break}O=w.val}o(A.scanner);let q=T(A.scanner),F=41,R;if(q===-1)R=!1;else R=q===F;if(R)return C(A.scanner,1),new bG(N,P,O,g(B,A.scanner.pos))}let V=T(A.scanner),W=91,z;if(V===-1)z=!1;else z=V===W;if(z){C(A.scanner,1);let X=x(0);while(!0){let Y=A.scanner;if(!(Y.pos>=Y.len)){let E=T(A.scanner);if(E===-1)break;else{let P=E;if(P===93){C(A.scanner,1);break}else k(X,P),C(A.scanner,1)}continue}else break}return new uG(N,X.val,g(B,A.scanner.pos))}j(A.scanner,B);return}function nM(A,B){if(AA(A.scanner,126)<2)return;C(A.scanner,2);let G=x(0),J=A.scanner.pos;while(!0){let M=A.scanner;if(!(M.pos>=M.len)){if(AA(A.scanner,126)>=2){let N=G.val;if(N===""){j(A.scanner,B);return}C(A.scanner,2);let Q=[new t(N,g(J,A.scanner.pos-2|0))];return new gG(Q,g(B,A.scanner.pos))}let K=e(A.scanner);if(K===-1)break;else{let Q=K;if(Q===10)break;else k(G,Q)}continue}else break}j(A.scanner,B);return}function HG(A){let B=A;return B>=33&&B<=47||(B>=58&&B<=64||(B>=91&&B<=96||B>=123&&B<=126))}function qG(A){return A===32||(A===9||(A===10||(A===13||A===12)))}function EA(A,B){return B?_M(A):fM(A)}function fM(A){let B=hA(A),G=oA(B);return tM(G)}function tM(A){let B=[];while(!0){let G=A.scanner;if(!(G.pos>=G.len)){let J=lM(A);if(J===void 0){let M=A.scanner.pos,K=e(A.scanner);if(K===-1)break;else{let S=VJ(1,K);B:{A:{let U=mM(B);if(U===void 0)break A;else{let W=U;if(W.$tag===0){let z=W,X=z._0,Y=z._1;DJ(B),m(B,new t(`${X}${S}`,g(Y.from,A.scanner.pos)))}else break A}break B}m(B,new t(S,g(M,A.scanner.pos)))}}}else{let K=J;B:{A:{switch(K.$tag){case 1:break A;case 2:break A}break B}pM(B)}m(B,K)}continue}else break}return B}function lM(A){let B=A.scanner.pos;B:{let G=T(A.scanner);if(G===-1)break B;else switch(G){case 92:return iM(A,B);case 96:return OJ(A,B);case 42:return FG(A,B,42);case 95:return FG(A,B,95);case 126:return nM(A,B);case 91:{let K=qA(A.scanner,1),N=94,Q;if(K===-1)Q=!1;else Q=K===94;if(Q){let S=aM(A,B);if(S===void 0)return rA(A,B);else return S}else return rA(A,B)}case 33:return RJ(A,B);case 60:return FJ(A,B);case 32:return rM(A,B);case 10:{C(A.scanner,1);while(!0){let K=T(A.scanner),N=32,Q;if(K===-1)Q=!1;else Q=K===32;if(Q){C(A.scanner,1);continue}else break}return new XB(g(B,A.scanner.pos))}default:break B}}return}function FG(A,B,G){let J=AA(A.scanner,G);if(J===0)return;let M=J>=2,K=M?2:1;C(A.scanner,K);B:{A:{let S=T(A.scanner);if(S===-1)break A;else switch(S){case 32:break A;case 9:break A;case 10:break A}break B}j(A.scanner,B);return}let N=sM(A,G,K);if(N.length===0){j(A.scanner,B);return}let Q=G===42?0:1;return M?new ZB(Q,N,g(B,A.scanner.pos)):new YB(Q,N,g(B,A.scanner.pos))}function sM(A,B,G){let J=[],M=x(0),K=A.scanner.pos;B:while(!0){let N=A.scanner;if(!(N.pos>=N.len)){if(AA(A.scanner,B)>=G){let V=qA(A.scanner,-1);A:{G:{if(V===-1)break G;else switch(V){case 32:break;case 9:break;case 10:break;default:break G}break A}if(M.val!=="")m(J,new t(M.val,g(K,A.scanner.pos)));return C(A.scanner,G),J}}let S=T(A.scanner);if(S===-1);else switch(S){case 96:{if(M.val!=="")m(J,new t(M.val,g(K,A.scanner.pos)));let z=A.scanner.pos,X=OJ(A,z);if(X===void 0);else{m(J,X);continue B}break}case 91:{if(M.val!=="")m(J,new t(M.val,g(K,A.scanner.pos)));let z=A.scanner.pos,X=rA(A,z);if(X===void 0);else{m(J,X);continue B}break}case 10:break B}let U=e(A.scanner);if(U===-1)break;else k(M,U);continue}else break}return[]}function rA(A,B){C(A.scanner,1);let G=x(0),J=1;B:while(!0){let W,z=A.scanner;if(!(z.pos>=z.len))W=J>0;else W=!1;if(W){let X=T(A.scanner);if(X===-1)break;else{let E=X;switch(E){case 91:{J=J+1|0,k(G,91),C(A.scanner,1);break}case 93:{if(J=J-1|0,J>0)k(G,93);C(A.scanner,1);break}case 92:{C(A.scanner,1);let I=e(A.scanner);if(I===-1)break B;else k(G,I);break}default:k(G,E),C(A.scanner,1)}}continue}else break}let M=G.val,K=T(A.scanner),N=40,Q;if(K===-1)Q=!1;else Q=K===N;if(Q){C(A.scanner,1);let W=x(0),z=1;o(A.scanner);let X=T(A.scanner),Y=60,E;if(X===-1)E=!1;else E=X===Y;if(E){C(A.scanner,1);let R=!1;B:while(!0){let D=A.scanner;if(!(D.pos>=D.len)){let y=T(A.scanner);if(y===-1)break;else{let H=y;switch(H){case 62:{C(A.scanner,1);break B}case 10:{R=!0;break B}default:k(W,H),C(A.scanner,1)}}continue}else break}if(R){j(A.scanner,B);return}}else{let R=!1;B:while(!0){let D=A.scanner;if(!(D.pos>=D.len)){A:{G:{let y=T(A.scanner);if(y===-1)break;else{let H=y;switch(H){case 40:{z=z+1|0,k(W,40),C(A.scanner,1);break}case 41:{if(z=z-1|0,z===0)break B;k(W,41),C(A.scanner,1);break}case 32:break G;case 9:break G;case 10:{R=!0;break B}default:k(W,H),C(A.scanner,1)}}break A}break}continue}else break}if(R){j(A.scanner,B);return}}let I=W.val;while(!0){let R=A.scanner;if(!(R.pos>=R.len)){B:{A:{G:{let D=T(A.scanner);if(D===-1)break A;else switch(D){case 32:break G;case 9:break G;case 10:break G;default:break A}}C(A.scanner,1);break B}break}continue}else break}let P;B:{A:{let w=T(A.scanner);if(w===-1)P="";else switch(w){case 34:break A;case 39:break A;case 40:{C(A.scanner,1);let v=x(0),L=1;G:while(!0){let c,$=A.scanner;if(!($.pos>=$.len))c=L>0;else c=!1;if(c){let JA=T(A.scanner);if(JA===-1)break;else{let u=JA;switch(u){case 41:{if(L=L-1|0,L===0){C(A.scanner,1);break G}k(v,41),C(A.scanner,1);break}case 40:{L=L+1|0,k(v,40),C(A.scanner,1);break}case 92:{C(A.scanner,1);let n=e(A.scanner);if(n===-1)break G;else k(v,n);break}default:k(v,u),C(A.scanner,1)}}continue}else break}P=v.val;break}default:P=""}break B}let R=e(A.scanner),D=R===-1?34:R,y=x(0);while(!0){let w=A.scanner;if(!(w.pos>=w.len)){let H=T(A.scanner);if(H===-1)break;else{let v=H;if(v===D){C(A.scanner,1);break}else if(v===92){C(A.scanner,1);let L=e(A.scanner);if(L===-1)break;else k(y,L)}else k(y,v),C(A.scanner,1)}continue}else break}P=y.val}o(A.scanner);let O=T(A.scanner),q=41,F;if(O===-1)F=!1;else F=O===q;if(F){C(A.scanner,1);let R=EA(M,!1);if(VB(R)){j(A.scanner,B);return}return new LG(R,I,P,g(B,A.scanner.pos))}}let S=T(A.scanner),U=91,V;if(S===-1)V=!1;else V=S===U;if(V){C(A.scanner,1);let W=x(0);while(!0){let Y=A.scanner;if(!(Y.pos>=Y.len)){let E=T(A.scanner);if(E===-1)break;else{let P=E;if(P===93){C(A.scanner,1);break}else k(W,P),C(A.scanner,1)}continue}else break}let z=W.val,X=EA(M,!1);if(VB(X)){j(A.scanner,B);return}return new hG(X,z,g(B,A.scanner.pos))}j(A.scanner,B);return}function _M(A){let B=_A(A),G=B.length,J=[],M=0;while(!0)if(M<G){let S=r(B,M);if(S===42||S===95){let U=M,V=0;while(!0)if(M<G&&r(B,M)===S){V=V+1|0,M=M+1|0;continue}else break;let W=U>0?r(B,U-1|0):-1,z=M<G?r(B,M):-1,X;if(W===-1)X=!0;else X=qG(W);let Y;if(W===-1)Y=!1;else Y=HG(W);let E;if(z===-1)E=!0;else E=qG(z);let I;if(z===-1)I=!1;else I=HG(z);let P=!E&&(!I||(X||Y)),O=!X&&(!Y||(E||I)),q,F;B:if(S===95){let R=P&&(!O||Y),D=O&&(!P||I);q=R,F=D;break B}else{q=P,F=O;break B}if(q||F)WM(J,{pos:U,marker:S,length:V,remaining:V,can_open:q,can_close:F,active:!0})}else M=M+1|0;continue}else break;let K=[],N=0;while(!0){let S=N;if(S<J.length){B:{let U=yA(J,S);if(!U.can_close||U.remaining===0)break B;let V=S-1|0;while(!0){let W=V;if(W>=0){A:{let z=yA(J,W);if(!z.can_open||(z.remaining===0||!z.active))break A;if(z.marker!==U.marker)break A;if(z.can_open&&z.can_close||U.can_open&&U.can_close){if(((z.length+U.length|0)%3|0)===0){if((z.length%3|0)!==0||(U.length%3|0)!==0)break A}}let X=z.remaining>=2&&U.remaining>=2?2:1,Y=X===2,E=((z.pos+z.length|0)-z.remaining|0)+X|0,I=U.pos+(U.length-U.remaining|0)|0;XM(K,{_0:E-X|0,_1:I,_2:z.marker,_3:Y}),yA(J,W).remaining=z.remaining-X|0,yA(J,S).remaining=U.remaining-X|0;let P=W+1|0;while(!0){let O=P;if(O<S){yA(J,O).active=!1,P=O+1|0;continue}else break}if(U.remaining>0);break}V=W-1|0;continue}else break}break B}N=S+1|0;continue}else break}let Q=[];if(K.length===0){let S=mA(A,0),U=S.length,V=0;while(!0){let W=V;if(W<U){let z=S[W];m(Q,z),V=W+1|0;continue}else break}}else eM(A,B,K,Q);return Q}function eM(A,B,G,J){let M=yM(G);oM(M,(N,Q)=>WB(N._0,Q._0));let K=B.length;TJ(A,B,0,K,M,0,M.length,J)}function TJ(A,B,G,J,M,K,N,Q){let S=G,U=K;while(!0){let V=U;if(V<N){B:{let W=ZG(M,V),z=W._0,X=W._1,Y=W._2,E=W._3;if(z<G||(X>J||z<S))break B;let I=E?2:1;if(z>S){let y=A.substring(S,z),w=mA(y,S),H=w.length,h=0;while(!0){let v=h;if(v<H){let L=w[v];m(Q,L),h=v+1|0;continue}else break}}let P=[],O=z+I|0,q=V+1|0,F=V+1|0;while(!0)if(F<N){let y=ZG(M,F),w=y._0,H=y._1;if(w>=O&&H<=X)F=F+1|0;else break;continue}else break;if(q<F)TJ(A,B,O,X,M,q,F,P);else{let y=A.substring(O,X),w=mA(y,O),H=w.length,h=0;while(!0){let v=h;if(v<H){let L=w[v];m(P,L),h=v+1|0;continue}else break}}let R=Y===42?0:1,D=g(z,X+I|0);if(E)m(Q,new ZB(R,P,D));else m(Q,new YB(R,P,D));S=X+I|0;break B}U=V+1|0;continue}else break}if(S<J){let V=A.substring(S,J),W=mA(V,S),z=W.length,X=0;while(!0){let Y=X;if(Y<z){let E=W[Y];m(Q,E),X=Y+1|0;continue}else return}}else return}function mA(A,B){let G=hA(A),J=[],M=x(0),K=0;while(!0)if(!(G.pos>=G.len)){let N=G.pos,Q=T(G);if(Q===-1)break;else{let U=Q;switch(U){case 96:{let V=AA(G,96);C(G,V);let W=x(0),z=!1;while(!0)if(!(G.pos>=G.len)){let X=AA(G,96);if(X===V){z=!0;let Y=W.val;if(C(G,X),M.val!=="")m(J,new t(M.val,g(B+K|0,B+N|0))),RA(M);let E;if(Y.length>=2){let I=_A(Y);E=r(I,0)===32&&(r(I,I.length-1|0)===32&&!IJ(Y))?Y.substring(1,Y.length-1|0):Y}else E=Y;m(J,new zB(E,V,g(B+N|0,B+G.pos|0))),K=G.pos;break}else if(X>0){let Y=0;while(!0){let E=Y;if(E<X){k(W,96),Y=E+1|0;continue}else break}C(G,X)}else{let Y=e(G);if(Y===-1)break;else k(W,Y)}continue}else break;if(!z){let X=0;while(!0){let Y=X;if(Y<V){k(M,96),X=Y+1|0;continue}else break}Z(M,W.val)}break}case 91:{let V=oA(G),W=rA(V,N);if(W===void 0)k(M,91),C(G,1);else{let X=W;if(M.val!=="")m(J,new t(M.val,g(B+K|0,B+N|0))),RA(M);m(J,X),K=G.pos}break}case 33:{let V=qA(G,1),W=91,z;if(V===-1)z=!1;else z=V===91;if(z){let X=oA(G),Y=RJ(X,N);if(Y===void 0)k(M,33),C(G,1);else{let I=Y;if(M.val!=="")m(J,new t(M.val,g(B+K|0,B+N|0))),RA(M);m(J,I),K=G.pos}}else k(M,33),C(G,1);break}case 60:{let V=oA(G),W=FJ(V,N);if(W===void 0)k(M,60),C(G,1);else{let X=W;if(M.val!=="")m(J,new t(M.val,g(B+K|0,B+N|0))),RA(M);m(J,X),K=G.pos}break}case 10:{let V=M.val,W=p(kA(V,{str:yB,start:0,end:yB.length})),z=V.length-W.length|0,X=z>=2;if(W!=="")m(J,new t(W,g(B+K|0,(B+N|0)-z|0)));RA(M),C(G,1);while(!0){let Y=T(G),E=32,I;if(Y===-1)I=!1;else I=Y===32;if(I){C(G,1);continue}else break}if(X)m(J,new tA(0,g((B+N|0)-z|0,B+G.pos|0)));else m(J,new XB(g(B+N|0,B+G.pos|0)));K=G.pos;break}default:k(M,U),C(G,1)}}continue}else break;if(M.val!=="")m(J,new t(M.val,g(B+K|0,B+G.pos|0)));return J}function nA(A){let B=A.scanner.pos,G=T(A.scanner);if(G===-1);else switch(G){case 45:{C(A.scanner,1);B:{A:{let K=T(A.scanner);if(K===-1);else switch(K){case 32:break A;case 9:break A}break B}return j(A.scanner,B),UK}break}case 42:{C(A.scanner,1);B:{A:{let K=T(A.scanner);if(K===-1);else switch(K){case 32:break A;case 9:break A}break B}return j(A.scanner,B),XK}break}case 43:{C(A.scanner,1);B:{A:{let K=T(A.scanner);if(K===-1);else switch(K){case 32:break A;case 9:break A}break B}return j(A.scanner,B),zK}break}}if(j(A.scanner,B),UB(T(A.scanner))){let J=0,M=0;while(!0)if(UB(T(A.scanner))){let N=T(A.scanner);if(N===-1)break;else{let S=N;if(J=(Math.imul(J,10)|0)+(S-48|0)|0,C(A.scanner,1),M=M+1|0,M>9){j(A.scanner,B);return}}continue}else break;let K=T(A.scanner);if(K===-1);else switch(K){case 46:{C(A.scanner,1);B:{A:{let S=T(A.scanner);if(S===-1);else switch(S){case 32:break A;case 9:break A}break B}return j(A.scanner,B),{_0:new GB(J,0),_1:M+2|0}}break}case 41:{C(A.scanner,1);B:{A:{let S=T(A.scanner);if(S===-1);else switch(S){case 32:break A;case 9:break A}break B}return j(A.scanner,B),{_0:new GB(J,1),_1:M+2|0}}break}}}j(A.scanner,B);return}function UA(A){let B=A.scanner.pos,G=o(A.scanner);return G>0?HJ(qJ(A.scanner,B,B+G|0)):a}function AN(A){let B=A.scanner.pos;o(A.scanner);let G=T(A.scanner),J=10,M;if(G===-1)M=!1;else M=G===J;if(M)C(A.scanner,1);return A.scanner.pos>B?HJ(qJ(A.scanner,B,A.scanner.pos)):a}function jJ(A,B){let G=UA(A),J;B:{A:{let N=T(A.scanner);if(N===-1)break A;else{let S=N;if(S===45||(S===42||S===95))J=S;else break A}break B}return}let M=0;while(!0){let N=A.scanner;if(!(N.pos>=N.len)){B:{A:{let Q=T(A.scanner);if(Q===-1)break A;else{let U=Q;if(U===10)break;else if(U===J)M=M+1|0,C(A.scanner,1);else if(U===32||U===9)C(A.scanner,1);else break A}break B}return}continue}else break}if(M<3)return;let K=AN(A);return new mG(J,M,g(B,A.scanner.pos),G,K)}function BN(A,B){let G=UA(A),J=x(0),M=!0;B:while(!0){let Q=A.scanner;if(!(Q.pos>=Q.len)){if(BA(A.scanner))break;let S=A.scanner.pos;o(A.scanner);let U;A:{G:{K:{J:{M:{N:{let P=T(A.scanner);if(P===-1);else{let q=P;switch(q){case 35:break N;case 62:break N;case 96:{if(TA(qA(A.scanner,1),EK)&&TA(qA(A.scanner,2),PK)){j(A.scanner,S);break B}else if(q>=48&&q<=57){U=q;break G}break}case 126:{if(TA(qA(A.scanner,1),CK)&&TA(qA(A.scanner,2),DK)){j(A.scanner,S);break B}else if(q>=48&&q<=57){U=q;break G}break}case 45:break J;case 42:break J;case 95:break J;default:if(q>=48&&q<=57){U=q;break G}}}break M}j(A.scanner,S);break}break K}if(jJ(A,S)===void 0);else{j(A.scanner,S);break}if(j(A.scanner,S),nA(A)===void 0);else break}break A}if(j(A.scanner,S),nA(A)===void 0);else break}if(j(A.scanner,S),!M)k(J,10);let V=l(A.scanner);Z(J,V),M=!1;let W=T(A.scanner),z=10,X;if(W===-1)X=!1;else X=W===z;if(X)C(A.scanner,1);continue}else break}let K=J.val;if(LA(NA(K,{str:vB,start:0,end:vB.length})))return;let N=EA(K,A.strict);return new lA(N,g(B,A.scanner.pos),G,a)}function GN(A){let B=p(kA(A,{str:kB,start:0,end:kB.length})),G=0,J=B.length-1|0;while(!0)if(J>=0){B:{A:{let M=zA(B,J);if(M===-1)break A;else if(M===35)G=G+1|0,J=J-1|0;else break A;break B}break}continue}else break;if(G>0&&J>=0)B:{A:{let M=zA(B,J);if(M===-1)break A;else switch(M){case 32:break;case 9:break;default:break A}break B}return{_0:B,_1:0}}if(G>0)return{_0:p(kA(B.substring(0,J+1|0),{str:gB,start:0,end:gB.length})),_1:G};else return{_0:B,_1:0}}function JN(A,B){let G=UA(A),J=AA(A.scanner,35);if(J<1||J>6)return;C(A.scanner,J);let M=T(A.scanner);if(M===-1);else switch(M){case 32:break;case 9:break;case 10:break;default:return}o(A.scanner);let K=l(A.scanner),N=GN(K),Q=N._0,S=N._1,U=T(A.scanner),V=10,W;if(U===-1)W=!1;else W=U===V;if(W)C(A.scanner,1);let z=a,X=EA(Q,A.strict);return new EB(J,0,X,S,g(B,A.scanner.pos),G,z)}function KN(A,B){let G=0,J=0;while(!0)if(J<A.length&&G<B){B:{A:{let M=zA(A,J);if(M===-1)break A;else switch(M){case 32:{G=G+1|0,J=J+1|0;break}case 9:{G=G+4|0,J=J+1|0;break}default:break A}break B}break}continue}else break;return A.substring(J,A.length)}function MN(A,B,G){if(G>3)return;let J=UA(A),M;B:{A:{let X=T(A.scanner);if(X===-1)break A;else{let E=X;if(E===96||E===126)M=E;else break A}break B}return}let K=M===96?0:1,N=AA(A.scanner,M);if(N<3)return;C(A.scanner,N),o(A.scanner);let Q=p(kA(l(A.scanner),{str:LB,start:0,end:LB.length})),S=T(A.scanner),U=10,V;if(S===-1)V=!1;else V=S===U;if(V)C(A.scanner,1);let W=x(0);while(!0){let X=A.scanner;if(!(X.pos>=X.len)){if(HB(A.scanner)<=3){let F=A.scanner.pos;if(o(A.scanner),AA(A.scanner,M)>=N){C(A.scanner,AA(A.scanner,M)),o(A.scanner);let R,D=T(A.scanner),y=10,w;if(D===-1)w=!1;else w=D===y;if(w)R=!0;else{let H=A.scanner;R=H.pos>=H.len}if(R){let H=T(A.scanner),h=10,v;if(H===-1)v=!1;else v=H===10;if(v)C(A.scanner,1);break}}j(A.scanner,F)}let E=l(A.scanner),I=KN(E,G);Z(W,I);let P=T(A.scanner),O=10,q;if(P===-1)q=!1;else q=P===O;if(q)k(W,10),C(A.scanner,1);continue}else break}let z=a;return new dG(K,N,Q,W.val,G,g(B,A.scanner.pos),J,z)}function wJ(A){if(A==="")return!1;let B=_A(A),G=r(B,0);if(!(G>=97&&G<=122||G>=65&&G<=90))return!1;let J=B.length,M=0;while(!0){let K=M;if(K<J){if(B[K]===45)return!0;M=K+1|0;continue}else break}return!1}function NN(A){if(wJ(A))return!0;let B=PJ(A),G=hB.length,J=0;while(!0){let M=J;if(M<G){let K=hB[M];if(B===K)return!0;J=M+1|0;continue}else break}return!1}function QN(A,B){let G=A.scanner.pos,J=UA(A),M=T(A.scanner),K=60,N;if(M===-1)N=!1;else N=M===60;if(!N){j(A.scanner,G);return}let Q=A.scanner.pos;C(A.scanner,1);let S=T(A.scanner),U=47,V;if(S===-1)V=!1;else V=S===U;if(V)C(A.scanner,1);let W=x(0);while(!0){let P=A.scanner;if(!(P.pos>=P.len)){B:{A:{let O=T(A.scanner);if(O===-1)break A;else{let F=O;if(F>=97&&F<=122||(F>=65&&F<=90||(F>=48&&F<=57||F===45)))k(W,F),C(A.scanner,1);else break A}break B}break}continue}else break}let z=W.val;if(z===""){j(A.scanner,G);return}let X=wJ(z);if(!NN(z)&&!X){j(A.scanner,G);return}j(A.scanner,Q);let Y=x(0),E=X&&!V?`</${z}>`:void 0;while(!0){let P=A.scanner;if(!(P.pos>=P.len)){let O=l(A.scanner);Z(Y,O);let q=T(A.scanner),F=10,R;if(q===-1)R=!1;else R=q===F;if(R)k(Y,10),C(A.scanner,1);if(E===void 0){if(BA(A.scanner))break}else{let y=E;if(HA(O,{str:y,start:0,end:y.length}))break;if(YG(Y.val,0,void 0)===(YG(O,0,void 0)+1|0)){if(HA(O,{str:xB,start:0,end:xB.length}))break}}continue}else break}let I=Y.val;return new iG(I,g(B,A.scanner.pos),J,a)}function SN(A,B){let G=a,J=x(0);while(!0){let K=A.scanner;if(!(K.pos>=K.len)){let N=A.scanner.pos;if(HB(A.scanner)<4&&!BA(A.scanner)){j(A.scanner,N);break}if(BA(A.scanner))k(J,10),IA(A.scanner);else{C(A.scanner,4);let S=l(A.scanner);Z(J,S);let U=T(A.scanner),V=10,W;if(U===-1)W=!1;else W=U===V;if(W)k(J,10),C(A.scanner,1)}continue}else break}let M=p(kA(J.val,{str:bB,start:0,end:bB.length}));if(M==="")return;return new cG(M,g(B,A.scanner.pos),G,a)}function UN(A,B){let G=A.scanner.pos;o(A.scanner);let J=T(A.scanner),M=91,K;if(J===-1)K=!1;else K=J===M;if(!K)return;C(A.scanner,1);let N=x(0);B:while(!0){let q=A.scanner;if(!(q.pos>=q.len)){A:{G:{let F=T(A.scanner);if(F===-1)break G;else{let D=F;switch(D){case 93:break B;case 10:break G;default:k(N,D),C(A.scanner,1)}}break A}j(A.scanner,G);return}continue}else break}C(A.scanner,1);let Q=T(A.scanner),S=58,U;if(Q===-1)U=!1;else U=Q===S;if(!U){j(A.scanner,G);return}C(A.scanner,1),o(A.scanner);let V=T(A.scanner),W=10,z;if(V===-1)z=!1;else z=V===W;if(z)C(A.scanner,1),o(A.scanner);let X,Y=T(A.scanner),E=60,I;if(Y===-1)I=!1;else I=Y===E;if(I){C(A.scanner,1);let q=x(0);while(!0){let F,R=A.scanner;if(!(R.pos>=R.len)){let D=T(A.scanner),y=62,w;if(D===-1)w=!1;else w=D===62;F=!w}else F=!1;if(F){let D=e(A.scanner);if(D===-1)break;else k(q,D);continue}else break}C(A.scanner,1),X=q.val}else{let q=x(0);while(!0){let F=A.scanner;if(!(F.pos>=F.len)){B:{A:{let R=T(A.scanner);if(R===-1)break A;else{let y=R;switch(y){case 32:break A;case 9:break A;case 10:break A;default:k(q,y),C(A.scanner,1)}}break B}break}continue}else break}X=q.val}o(A.scanner);let P;B:{A:{let w=T(A.scanner);if(w===-1)P="";else switch(w){case 34:break A;case 39:break A;default:P=""}break B}let q=e(A.scanner),F=q===-1?34:q,R=x(0);while(!0){let w,H=A.scanner;if(!(H.pos>=H.len)){let h=T(A.scanner),v;if(h===-1)v=!1;else v=h===F;w=!v}else w=!1;if(w){let h=e(A.scanner);if(h===-1)break;else k(R,h);continue}else break}let D=T(A.scanner),y;if(D===-1)y=!1;else y=D===F;if(y)C(A.scanner,1);P=R.val}IA(A.scanner);let O={label:PJ(N.val),url:X,title:P,span:g(B,A.scanner.pos)};return YJ(A.definitions,O),O}function IG(A,B){let G=x(0),J=0,M=_(A);while(!0){let K=wA(M);if(K===-1)break;else{let Q=K;if(J>=B)k(G,Q);J=J+1|0;continue}}return G.val}function yJ(A){if(A.length>=4){if(FA(A,{str:uB,start:0,end:uB.length}))return{_0:HK,_1:IG(A,4)};if(FA(A,{str:oB,start:0,end:oB.length})||FA(A,{str:mB,start:0,end:mB.length}))return{_0:qK,_1:IG(A,4)}}if(A==="[ ]")return IK;if(A==="[x]"||A==="[X]")return RK;return{_0:-1,_1:A}}function VN(A,B,G,J){let M=x(0),K=l(A.scanner);Z(M,K);let N=T(A.scanner),Q=10,S;if(N===-1)S=!1;else S=N===Q;if(S)C(A.scanner,1);let U=M.val,V=[],W=yJ(U),z=W._0,X=W._1;if(X!==""){let Y=EA(X,A.strict);vA(V,new lA(Y,g(B,A.scanner.pos),a,a))}return{children:V,checked:z,marker_offset:G,content_offset:J,span:g(B,A.scanner.pos)}}function WN(A,B,G){let J=[],M=!0;while(!0){let K=A.scanner;if(!(K.pos>=K.len)){let N=A.scanner.pos,Q=o(A.scanner);if(Q<G){j(A.scanner,N);break}let S;B:{A:{let Y=T(A.scanner);if(Y===-1)break A;else switch(Y){case 45:{S=TK;break}case 42:{S=jK;break}case 43:{S=wK;break}default:break A}break B}S=void 0}if(GJ(S,B)){j(A.scanner,N);break}C(A.scanner,1);let U=o(A.scanner),W=VN(A,N,Q,U===0?1:U);DB(J,W);let z,X=A.scanner;if(!(X.pos>=X.len))z=BA(A.scanner);else z=!1;if(z){M=!1;while(!0){let Y,E=A.scanner;if(!(E.pos>=E.len))Y=BA(A.scanner);else Y=!1;if(Y){IA(A.scanner);continue}else break}}continue}else break}if(J.length===0)return;return new PB(B,M,J,g(pK(J,0).span.from,A.scanner.pos),a,a)}function vJ(A,B,G,J){let M=x(0),K=l(A.scanner);Z(M,K);let N=T(A.scanner),Q=10,S;if(N===-1)S=!1;else S=N===Q;if(S)C(A.scanner,1);let U=M.val,V=[],W=yJ(U),z=W._0,X=W._1;if(X!==""){let E=EA(X,A.strict);vA(V,new lA(E,g(B,A.scanner.pos),a,a))}let Y=(G+1|0)+J|0;while(!0){let E,I=A.scanner;if(!(I.pos>=I.len))E=!BA(A.scanner);else E=!1;if(E){let P=A.scanner.pos;if(o(A.scanner)<Y){j(A.scanner,P);break}B:{A:{G:{let R=T(A.scanner);if(R===-1)break A;else switch(R){case 45:break G;case 42:break G;case 43:break G;default:break A}}let q;G:{K:{let R=T(A.scanner);if(R===-1)break K;else switch(R){case 45:{q=0;break}case 42:{q=1;break}case 43:{q=2;break}default:break K}break G}q=d()}j(A.scanner,P);let F=WN(A,q,Y);if(F===void 0)break;else vA(V,F);break B}j(A.scanner,P);break}continue}else break}return{children:V,checked:z,marker_offset:G,content_offset:J,span:g(B,A.scanner.pos)}}function XN(A,B,G,J,M){let K=[],N=!0;while(!0){let Q=A.scanner;if(!(Q.pos>=Q.len)){let S=A.scanner.pos,U=o(A.scanner),V;B:{A:{let I=T(A.scanner);if(I===-1)break A;else switch(I){case 45:{V=yK;break}case 42:{V=vK;break}case 43:{V=kK;break}default:break A}break B}V=void 0}if(GJ(V,J)){j(A.scanner,S);break}C(A.scanner,1);let W=o(A.scanner),X=vJ(A,S,U,W===0?1:W);DB(K,X);let Y,E=A.scanner;if(!(E.pos>=E.len))Y=BA(A.scanner);else Y=!1;if(Y){N=!1;while(!0){let I,P=A.scanner;if(!(P.pos>=P.len))I=BA(A.scanner);else I=!1;if(I){IA(A.scanner);continue}else break}}continue}else break}if(K.length===0)return;return new PB(J,N,K,g(B,A.scanner.pos),G,a)}function YN(A,B,G,J,M,K){let N=[],Q=!0;while(!0){let S=A.scanner;if(!(S.pos>=S.len)){let U=A.scanner.pos,V=o(A.scanner);B:{A:{let I=nA(A);if(I===void 0)break A;else{let q=I._0;if(q.$tag===1){let R=q._1;if(dM(R,M));else break A}else break A}break B}j(A.scanner,U);break}while(!0)if(UB(T(A.scanner))){C(A.scanner,1);continue}else break;C(A.scanner,1);let W=o(A.scanner),X=vJ(A,U,V,W===0?1:W);DB(N,X);let Y,E=A.scanner;if(!(E.pos>=E.len))Y=BA(A.scanner);else Y=!1;if(Y){Q=!1;while(!0){let I,P=A.scanner;if(!(P.pos>=P.len))I=BA(A.scanner);else I=!1;if(I){IA(A.scanner);continue}else break}}continue}else break}if(N.length===0)return;return new pG(J,M,Q,N,g(B,A.scanner.pos),G,a)}function ZN(A,B){let G=UA(A),J=nA(A);if(J===void 0)return;else{let K=J,N=K._0,Q=K._1;if(N.$tag===0){let U=N._0;return XN(A,B,G,U,Q)}else{let S=N,U=S._0,V=S._1;return YN(A,B,G,U,V,Q)}}}function zN(A,B){let G=A.scanner.pos,J=UA(A),M=l(A.scanner);if(LA(NA(M,{str:dB,start:0,end:dB.length})))return;let K=T(A.scanner),N=10,Q;if(K===-1)Q=!1;else Q=K===N;if(Q)C(A.scanner,1);else return;o(A.scanner);let S;B:{A:{let F=T(A.scanner);if(F===-1)break A;else{let D=F;if(D===61||D===45)S=D;else break A}break B}return}let U=S===61?1:2,V=AA(A.scanner,S);if(V<1)return;C(A.scanner,V),o(A.scanner);let W,z=T(A.scanner),X=10,Y;if(z===-1)Y=!1;else Y=z===X;if(!Y){let F=A.scanner;W=!(F.pos>=F.len)}else W=!1;if(W){j(A.scanner,G);return}let E=T(A.scanner),I=10,P;if(E===-1)P=!1;else P=E===I;if(P)C(A.scanner,1);let O=p(NA(M,{str:cB,start:0,end:cB.length})),q=EA(O,A.strict);return new EB(U,1,q,0,g(B,A.scanner.pos),J,a)}function FB(A){let B=[],G=x(0),J=!1,M=0;while(!0){let N=M;if(N<A.length){let Q;B:{A:{let S=zA(A,N);if(S===-1);else{let V=S;switch(V){case 92:{if(!J)J=!0,k(G,92);else{Q=V;break A}break}case 124:{if(!J)NB(B,G.val),RA(G);else{Q=V;break A}break}default:{Q=V;break A}}}break B}J=!1,k(G,Q)}M=N+1|0;continue}else break}let K=G.val;if(!LA(NA(K,{str:$B,start:0,end:$B.length})))NB(B,K);if(B.length>0){if(p(NA(BJ(B,0),{str:pB,start:0,end:pB.length}))==="")wM(B,0)}return B}function EN(A){let B=[],G=FB(A),J=G.length,M=0;while(!0){let K=M;if(K<J){B:{let N=G[K],Q=p(NA(N,{str:iB,start:0,end:iB.length}));if(Q==="")break B;let S=FA(Q,{str:aB,start:0,end:aB.length}),U=$A(Q,{str:rB,start:0,end:rB.length}),V=!1,W=0;while(!0){let X=W;if(X<Q.length){A:{G:{let Y=zA(Q,X);if(Y===-1)break G;else switch(Y){case 45:{V=!0;break}case 58:break;default:break G}break A}return[]}W=X+1|0;continue}else break}if(!V)return[];VM(B,S&&U?1:S?0:U?2:3);break B}M=K+1|0;continue}else break}return B}function OG(A,B,G){let J=[],M=FB(A),K=M.length,N=0;while(!0){let Q=N;if(Q<K){let S=M[Q];if(Q>=B)break;let U=p(NA(S,{str:nB,start:0,end:nB.length})),V=EA(U,G);zG(J,{children:V,span:g(0,U.length)}),N=Q+1|0;continue}else break}while(!0)if(J.length<B){zG(J,{children:[],span:g(0,0)});continue}else break;return J}function PN(A,B){let G=A.scanner.pos,J=UA(A),M=l(A.scanner);if(!HA(M,{str:fB,start:0,end:fB.length})){j(A.scanner,G);return}let K=T(A.scanner),N=10,Q;if(K===-1)Q=!1;else Q=K===N;if(Q)C(A.scanner,1);let S=l(A.scanner);if(!HA(S,{str:tB,start:0,end:tB.length})||!HA(S,{str:lB,start:0,end:lB.length})){j(A.scanner,G);return}let U=EN(S);if(U.length===0){j(A.scanner,G);return}let V=FB(M),W=[],z=V.length,X=0;while(!0){let F=X;if(F<z){let R=V[F];if(!LA(NA(R,{str:sB,start:0,end:sB.length})))NB(W,R);X=F+1|0;continue}else break}if(W.length!==U.length){j(A.scanner,G);return}let E=T(A.scanner),I=10,P;if(E===-1)P=!1;else P=E===I;if(P)C(A.scanner,1);let O=OG(M,U.length,A.strict),q=[];while(!0){let F,R=A.scanner;if(!(R.pos>=R.len))F=!BA(A.scanner);else F=!1;if(F){let D=A.scanner.pos,y=l(A.scanner);if(!HA(y,{str:_B,start:0,end:_B.length})){j(A.scanner,D);break}UM(q,OG(y,U.length,A.strict));let w=T(A.scanner),H=10,h;if(w===-1)h=!1;else h=w===H;if(h)C(A.scanner,1);continue}else break}return new aG(O,U,q,g(B,A.scanner.pos),J,a)}function CN(A){let B=[],G=QB(A,{str:eB,start:0,end:eB.length});while(!0){let J=ZJ(G);if(J===void 0)break;else{let N=NA(p(J),{str:AG,start:0,end:AG.length});if(LA(N)||XJ(N,{str:BG,start:0,end:BG.length}))continue;let Q=sA(N,{str:GG,start:0,end:GG.length});if(Q===void 0);else{let U=Q,V=p(NA(p(dA(N,0,U)),{str:JG,start:0,end:JG.length})),W=p(NA(p(dA(N,U+1|0,void 0)),{str:KG,start:0,end:KG.length})),z=FA(W,{str:MG,start:0,end:MG.length})&&$A(W,{str:NG,start:0,end:NG.length})?W.substring(1,W.length-1|0):FA(W,{str:QG,start:0,end:QG.length})&&$A(W,{str:SG,start:0,end:SG.length})?W.substring(1,W.length-1|0):W;SM(B,{_0:V,_1:z})}continue}}return B}function DN(A){let B=A.scanner.pos;if(B!==0)return;if(!DG(A.scanner,"---"))return;C(A.scanner,3),o(A.scanner);let G,J=T(A.scanner),M=10,K;if(J===-1)K=!1;else K=J===M;if(!K){let X=A.scanner;G=!(X.pos>=X.len)}else G=!1;if(G){j(A.scanner,B);return}let N=T(A.scanner),Q=10,S;if(N===-1)S=!1;else S=N===Q;if(S)C(A.scanner,1);let U=x(0),V=!1;while(!0){let X=A.scanner;if(!(X.pos>=X.len)){if(DG(A.scanner,"---")){C(A.scanner,3),o(A.scanner);let Y,E=T(A.scanner),I=10,P;if(E===-1)P=!1;else P=E===I;if(P)Y=!0;else{let O=A.scanner;Y=O.pos>=O.len}if(Y){let O=T(A.scanner),q=10,F;if(O===-1)F=!1;else F=O===10;if(F)C(A.scanner,1);V=!0;break}Z(U,"---")}else{let Y=l(A.scanner);Z(U,Y);let E=T(A.scanner),I=10,P;if(E===-1)P=!1;else P=E===I;if(P)k(U,10),C(A.scanner,1)}continue}else break}if(!V){j(A.scanner,B);return}let W=U.val,z=CN(W);return{raw:W,entries:z,span:g(B,A.scanner.pos)}}function IB(A){let B=A.scanner.pos,G=DN(A),J=HN(A);return{document:{frontmatter:G,children:J,span:g(B,A.scanner.pos)},definitions:A.definitions}}function HN(A){let B=[];while(!0){let G=A.scanner;if(!(G.pos>=G.len)){let J=A.scanner.pos,M=0;while(!0){let Q,S=A.scanner;if(!(S.pos>=S.len))Q=BA(A.scanner);else Q=!1;if(Q){M=M+1|0,IA(A.scanner);continue}else break}if(M>0)vA(B,new rG(M,g(J,A.scanner.pos)));let K=A.scanner;if(K.pos>=K.len)break;let N=qN(A);if(N===void 0)IA(A.scanner);else vA(B,N);continue}else break}return B}function qN(A){let B=A.scanner.pos,G=HB(A.scanner),J=jJ(A,B);if(J===void 0)j(A.scanner,B);else return J;let M=JN(A,B);if(M===void 0)j(A.scanner,B);else return M;let K=MN(A,B,G);if(K===void 0)j(A.scanner,B);else return K;let N=FN(A,B);if(N===void 0)j(A.scanner,B);else return N;let Q=ZN(A,B);if(Q===void 0)j(A.scanner,B);else return Q;if(G>=4){let X=SN(A,B);if(X===void 0)j(A.scanner,B);else return X}let S=zN(A,B);if(S===void 0)j(A.scanner,B);else return S;let U=QN(A,B);if(U===void 0)j(A.scanner,B);else return U;let V=PN(A,B);if(V===void 0)j(A.scanner,B);else return V;let W=IN(A,B);if(W===void 0)j(A.scanner,B);else return W;if(UN(A,B)===void 0)j(A.scanner,B);else return;return BN(A,B)}function FN(A,B){let G=UA(A),J=T(A.scanner),M=62,K;if(J===-1)K=!1;else K=J===62;if(!K)return;let N=x(0),Q=!0;while(!0){let E=A.scanner;if(!(E.pos>=E.len)){let I=A.scanner.pos;o(A.scanner);let P=T(A.scanner),O=62,q;if(P===-1)q=!1;else q=P===O;if(q){C(A.scanner,1);let F=T(A.scanner),R=32,D;if(F===-1)D=!1;else D=F===R;if(D)C(A.scanner,1);let y=l(A.scanner);if(!Q)k(N,10);Z(N,y),Q=!1;let w=T(A.scanner),H=10,h;if(w===-1)h=!1;else h=w===H;if(h)C(A.scanner,1)}else{j(A.scanner,I);break}continue}else break}let S=N.val,U=hA(S),V=qB(U,A.strict),W=IB(V),z=W.definitions,X=z.length,Y=0;while(!0){let E=Y;if(E<X){let I=z[E];YJ(A.definitions,I),Y=E+1|0;continue}else break}return new $G(W.document.children,g(B,A.scanner.pos),G,a)}function IN(A,B){let G=A.scanner.pos,J=UA(A),M=T(A.scanner),K=91,N;if(M===-1)N=!1;else N=M===91;if(!N){j(A.scanner,G);return}C(A.scanner,1);let Q=T(A.scanner),S=94,U;if(Q===-1)U=!1;else U=Q===S;if(!U){j(A.scanner,G);return}C(A.scanner,1);let V=x(0);while(!0){let v=A.scanner;if(!(v.pos>=v.len)){B:{A:{let L=T(A.scanner);if(L===-1)break A;else{let $=L;if($===93)break;else if($>=97&&$<=122||($>=65&&$<=90||($>=48&&$<=57||($===45||$===95))))k(V,$),C(A.scanner,1);else break A}break B}j(A.scanner,G);return}continue}else break}let W=V.val;if(W===""){j(A.scanner,G);return}C(A.scanner,1);let z=T(A.scanner),X=58,Y;if(z===-1)Y=!1;else Y=z===X;if(!Y){j(A.scanner,G);return}C(A.scanner,1);let E=T(A.scanner),I=32,P;if(E===-1)P=!1;else P=E===I;if(P)C(A.scanner,1);let O=x(0),q=l(A.scanner);Z(O,q);let F=T(A.scanner),R=10,D;if(F===-1)D=!1;else D=F===R;if(D)C(A.scanner,1);while(!0){let v=A.scanner;if(!(v.pos>=v.len)){let L=A.scanner.pos,c=o(A.scanner);if(BA(A.scanner)){k(O,10);let $=T(A.scanner),JA=10,XA;if($===-1)XA=!1;else XA=$===JA;if(XA)C(A.scanner,1);continue}if(c>=2){k(O,10);let $=l(A.scanner);Z(O,$);let JA=T(A.scanner),XA=10,u;if(JA===-1)u=!1;else u=JA===XA;if(u)C(A.scanner,1)}else{j(A.scanner,L);break}continue}else break}let y=O.val,w=hA(y),H=qB(w,A.strict),h=IB(H);return new nG(W,h.document.children,g(B,A.scanner.pos),J,a)}function ON(A,B){let G=hA(A),J=qB(G,B);return IB(J)}function VA(A){let B=0,G=A.length,J=0;while(!0){let M=J;if(M<G){let K=A[M];B=B+RN(K)|0,J=M+1|0;continue}else break}return B}function RN(A){switch(A.$tag){case 0:{let G=A._0;return MA(_(G))}case 6:{let G=A._0;return MA(_(G))+2|0}case 3:{let G=A._1;return VA(G)}case 4:{let G=A._1;return VA(G)}case 5:{let G=A._0;return VA(G)}case 7:{let G=A._0;return VA(G)}case 8:{let G=A._0;return VA(G)}case 9:{let G=A._0;return MA(_(G))}case 10:{let G=A._0;return MA(_(G))+2|0}case 11:{let G=A._0;return MA(_(G))+2|0}case 12:{let G=A._0;return MA(_(G))}case 1:return 0;case 2:return 0;default:{let G=A._0;return MA(_(G))+3|0}}}function WA(A,B){let G=A.length,J=0;while(!0){let M=J;if(M<G){let K=A[M];kJ(K,B),J=M+1|0;continue}else return}}function kJ(A,B){switch(A.$tag){case 0:{let J=A._0;Z(B,J);return}case 6:{let J=A._0;Z(B,_J),Z(B,KB),Z(B,"`"),Z(B,J),Z(B,"`"),Z(B,b);return}case 3:{let J=A._1;Z(B,lG),WA(J,B),Z(B,b);return}case 4:{let J=A._1;Z(B,JB),WA(J,B),Z(B,b);return}case 5:{let J=A._0;Z(B,eJ),Z(B,f),WA(J,B),Z(B,b);return}case 7:{let G=A,J=G._0,M=G._1;Z(B,AB),Z(B,eA),WA(J,B),Z(B,b),Z(B,f),Z(B," ("),Z(B,M),Z(B,")"),Z(B,b);return}case 8:{let G=A,J=G._0,M=G._1;Z(B,AB),Z(B,eA),WA(J,B),Z(B,b),Z(B,f),Z(B,"["),Z(B,M),Z(B,"]"),Z(B,b);return}case 9:{let J=A._0;Z(B,AB),Z(B,eA),Z(B,J),Z(B,b);return}case 10:{let G=A,J=G._0,M=G._1;Z(B,UG),Z(B,"\uD83D\uDDBC "),Z(B,J),Z(B,b),Z(B,f),Z(B," ("),Z(B,M),Z(B,")"),Z(B,b);return}case 11:{let G=A,J=G._0,M=G._1;Z(B,UG),Z(B,"\uD83D\uDDBC "),Z(B,J),Z(B,b),Z(B,f),Z(B,"["),Z(B,M),Z(B,"]"),Z(B,b);return}case 12:{let J=A._0;Z(B,f),Z(B,J),Z(B,b);return}case 1:{Z(B,`
32
+ `);return}case 2:{Z(B,`
33
+ `);return}default:{let J=A._0;Z(B,tG),Z(B,"[^"),Z(B,J),Z(B,"]"),Z(B,b);return}}}function gJ(A,B){let G=A.length,J=0;while(!0){let M=J;if(M<G){let K=A[M];kJ(K,B),J=M+1|0;continue}else return}}function OB(A,B){switch(A.$tag){case 2:{let J=A._0;gJ(J,B),Z(B,`
34
+
35
+ `);return}case 1:{let G=A,J=G._0,M=G._2,K;switch(J){case 1:{K=lJ;break}case 2:{K=fJ;break}case 3:{K=tG;break}case 4:{K=tJ;break}case 5:{K=sJ;break}default:K=GK}Z(B,JB),Z(B,K);let N=QA("#",J);Z(B,N),Z(B," "),WA(M,B),Z(B,b),Z(B,`
36
+
37
+ `);return}case 0:{Z(B,f),Z(B,QA("─",40)),Z(B,b),Z(B,`
38
+
39
+ `);return}case 3:{let G=A,J=G._2,M=G._3,K=EG(QB(M,{str:VG,start:0,end:VG.length})),N=0,Q=K.length,S=0;while(!0){let z=S;if(z<Q){let X=K[z],Y;if(z<(K.length-1|0))Y=!0;else Y=p(X)!=="";if(Y){let E=MA(_(p(X)));if(E>N)N=E}S=z+1|0;continue}else break}let U=J===""?0:MA(_(J))+4|0;if(U>N)N=U;if(N<20)N=20;if(Z(B,f),J!==""){Z(B,"┌─ "),Z(B,J),Z(B," ");let z=(N-MA(_(J))|0)-1|0;Z(B,QA("─",z)),Z(B,"┐")}else Z(B,"┌"),Z(B,QA("─",N+2|0)),Z(B,"┐");Z(B,b),Z(B,`
40
+ `);let V=K.length,W=0;while(!0){let z=W;if(z<V){let X=K[z],Y;if(z<(K.length-1|0))Y=!0;else Y=p(X)!=="";if(Y){Z(B,f),Z(B,"│"),Z(B,b),Z(B,KB),Z(B," ");let E=p(X);Z(B,E);let I=N-MA(_(E))|0;Z(B,QA(" ",I)),Z(B,b),Z(B,f),Z(B," │"),Z(B,b),Z(B,`
41
+ `)}W=z+1|0;continue}else break}Z(B,f),Z(B,"└"),Z(B,QA("─",N+2|0)),Z(B,"┘"),Z(B,b),Z(B,`
42
+
43
+ `);return}case 4:{let J=A._0;Z(B,KB);let M=EG(QB(J,{str:WG,start:0,end:WG.length})),K=M.length,N=0;while(!0){let Q=N;if(Q<K){let S=M[Q],U;if(Q<(M.length-1|0))U=!0;else U=p(S)!=="";if(U)Z(B," "),Z(B,p(S)),Z(B,`
44
+ `);N=Q+1|0;continue}else break}Z(B,b),Z(B,`
45
+ `);return}case 5:{let J=A._0;Z(B,f),Z(B,"│ "),Z(B,b),Z(B,lG);let M=J.length,K=0;while(!0){let N=K;if(N<M){let Q=J[N];RG(Q,B),K=N+1|0;continue}else break}Z(B,b),Z(B,`
46
+ `);return}case 6:{let J=A._2,M=J.length,K=0;while(!0){let N=K;if(N<M){let Q=J[N];TG(Q,B,"•"),K=N+1|0;continue}else break}Z(B,`
47
+ `);return}case 7:{let G=A,J=G._3,M=G._0,K=J.length,N=0;while(!0){let Q=N;if(Q<K){let S=J[Q],U=`${QJ(M+Q|0,10)}.`;TG(S,B,U),N=Q+1|0;continue}else break}Z(B,`
48
+ `);return}case 8:{let J=A._0;if(Z(B,f),Z(B,J),Z(B,b),!$A(J,{str:XG,start:0,end:XG.length})){Z(B,`
49
+ `);return}else return}case 9:{let G=A,J=G._0,M=G._2,K=J.length,N=CJ(K,0),Q=J.length,S=0;while(!0){let P=S;if(P<Q){let O=J[P],q=VA(O.children);if(q>DA(N,P))iA(N,P,q);S=P+1|0;continue}else break}let U=M.length,V=0;while(!0){let P=V;if(P<U){let O=M[P],q=O.length,F=0;while(!0){let R=F;if(R<q){let D=O[R];if(R<K){let y=VA(D.children);if(y>DA(N,R))iA(N,R,y)}F=R+1|0;continue}else break}V=P+1|0;continue}else break}Z(B,JB),Z(B,"│");let W=J.length,z=0;while(!0){let P=z;if(P<W){let O=J[P];Z(B," ");let q=x(0);WA(O.children,q);let F=q.val;Z(B,F);let R=DA(N,P)-VA(O.children)|0;Z(B,QA(" ",R)),Z(B," │"),z=P+1|0;continue}else break}Z(B,b),Z(B,`
50
+ `),Z(B,f),Z(B,"├");let X=J.length,Y=0;while(!0){let P=Y;if(P<X){if(J[P],P>0)Z(B,"┼");Z(B,QA("─",DA(N,P)+2|0)),Y=P+1|0;continue}else break}Z(B,"┤"),Z(B,b),Z(B,`
51
+ `);let E=M.length,I=0;while(!0){let P=I;if(P<E){let O=M[P];Z(B,"│");let q=0;while(!0){let F=q;if(F<K){if(Z(B," "),F<O.length){let R=$K(O,F),D=x(0);WA(R.children,D);let y=D.val;Z(B,y);let w=DA(N,F)-VA(R.children)|0;Z(B,QA(" ",w))}else Z(B,QA(" ",DA(N,F)));Z(B," │"),q=F+1|0;continue}else break}Z(B,`
52
+ `),I=P+1|0;continue}else break}Z(B,`
53
+ `);return}case 10:return;default:{let G=A,J=G._0,M=G._1;Z(B,f),Z(B,"[^"),Z(B,J),Z(B,"]: "),Z(B,b);let K=M.length,N=0;while(!0){let Q=N;if(Q<K){let S=M[Q];RG(S,B),N=Q+1|0;continue}else break}Z(B,`
54
+ `);return}}}function RG(A,B){if(A.$tag===2){let J=A._0;WA(J,B);return}else{OB(A,B);return}}function TG(A,B,G){let J=A.checked;if(J===-1)Z(B,BK),Z(B," "),Z(B,G),Z(B," "),Z(B,b);else if(J===!0)Z(B,AK),Z(B," ☑ "),Z(B,b);else Z(B,f),Z(B," ☐ "),Z(B,b);let M=A.children,K=M.length,N=0;while(!0){let Q=N;if(Q<K){let S=M[Q];if(S.$tag===2){let V=S._0;gJ(V,B)}else OB(S,B);N=Q+1|0;continue}else break}Z(B,`
55
+ `)}function TN(A){let B=x(0),G=A.children,J=G.length,M=0;while(!0){let K=M;if(K<J){let N=G[K];OB(N,B),M=K+1|0;continue}else break}return B.val}function jN(A){let B=ON(A,!1);return TN(B.document)}function wN(A){return jN(A)}function jG(){KA("mdp - Terminal Markdown Preview"),KA(""),KA("Usage:"),KA(" mdp <file.md> Preview markdown file"),KA(" cat file.md | mdp Preview from stdin"),KA(""),KA("Options:"),KA(" -h, --help Show this help"),KA(" -v, --version Show version")}(()=>{let A=pJ(),B;if(A.length>0){let J=BJ(A,0);if(J==="-h"||J==="--help"){jG();return}if(J==="-v"||J==="--version"){KA("mdp 0.1.0");return}let M=aJ(J);if(M===""){KA(`Error: Cannot read file: ${J}`);return}B=M}else if(nJ())B=rJ();else{jG();return}let G=wN(B);iJ(G)})()});export default yN();
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@kawaz/mdp",
3
+ "version": "0.1.0",
4
+ "description": "Terminal Markdown Preview CLI powered by MoonBit",
5
+ "bin": {
6
+ "mdp": "./bin/mdp.js"
7
+ },
8
+ "files": [
9
+ "bin",
10
+ "dist"
11
+ ],
12
+ "scripts": {
13
+ "build": "moon build --target js && bun build _build/js/release/build/src/src.js --outfile=dist/mdp.js --minify --target=node",
14
+ "test": "moon test --target js",
15
+ "prepublishOnly": "npm run build"
16
+ },
17
+ "keywords": [
18
+ "markdown",
19
+ "terminal",
20
+ "cli",
21
+ "tui",
22
+ "preview",
23
+ "moonbit",
24
+ "ansi"
25
+ ],
26
+ "author": "kawaz",
27
+ "license": "MIT",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/kawaz/mdp.git"
31
+ },
32
+ "bugs": {
33
+ "url": "https://github.com/kawaz/mdp/issues"
34
+ },
35
+ "homepage": "https://github.com/kawaz/mdp#readme",
36
+ "engines": {
37
+ "node": ">=18.0.0"
38
+ }
39
+ }