text-shaper 0.1.7 → 0.1.8
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/dist/env.d.ts +1 -0
- package/dist/hinting/programs.d.ts +4 -0
- package/dist/hinting/scale.d.ts +6 -0
- package/dist/hinting/types.d.ts +4 -3
- package/dist/index.js +9 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:M1,getOwnPropertyNames:SW,getOwnPropertyDescriptor:hW}=Object,yW=Object.prototype.hasOwnProperty;var VQ=new WeakMap,z0=($)=>{var Q=VQ.get($),Z;if(Q)return Q;if(Q=M1({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")SW($).map((K)=>!yW.call(Q,K)&&M1(Q,K,{get:()=>$[K],enumerable:!(Z=hW($,K))||Z.enumerable}));return VQ.set($,Q),Q};var XQ=($,Q)=>{for(var Z in Q)M1($,Z,{get:Q[Z],enumerable:!0,configurable:!0,set:(K)=>Q[Z]=()=>K})};var D9=($,Q)=>()=>($&&(Q=$($=0)),Q);var h9={};XQ(h9,{createBottomUpBitmap:()=>s7,createBitmap:()=>r,clearBitmap:()=>z5,PixelMode:()=>D6,FillRule:()=>J8});function r($,Q,Z=1){let K;switch(Z){case 0:K=0.125;break;case 1:K=1;break;case 2:case 3:K=3;break;case 4:K=4;break}let J=Z===0?Math.ceil($/8):$*K;return{buffer:new Uint8Array(J*Q),width:$,rows:Q,pitch:J,pixelMode:Z,numGrays:Z===0?2:256}}function z5($){$.buffer.fill(0)}function s7($,Q,Z=1){let K=r($,Q,Z);return K.pitch=-K.pitch,K}var D6,J8;var z6=D9(()=>{((q)=>{q[q.Mono=0]="Mono";q[q.Gray=1]="Gray";q[q.LCD=2]="LCD";q[q.LCD_V=3]="LCD_V";q[q.RGBA=4]="RGBA"})(D6||={});((Z)=>{Z[Z.NonZero=0]="NonZero";Z[Z.EvenOdd=1]="EvenOdd"})(J8||={})});var h5,o9;var AJ=D9(()=>{h5=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),o9=new Uint16Array([1024,1536,1280,1536,0,256,768,512])});var FJ,LJ,DJ;var MJ=D9(()=>{FJ=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),LJ=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),DJ=new Uint8Array(122784)});function h($,Q,Z){let K=new Uint8Array($.length),J=new Uint8Array(Z.length);for(let q=0;q<$.length;q++)K[q]=$.charCodeAt(q);for(let q=0;q<Z.length;q++)J[q]=Z.charCodeAt(q);return{prefix:K,transform:Q,suffix:J}}function BJ($,Q){if($[Q]<192){if($[Q]>=97&&$[Q]<=122)$[Q]^=32;return 1}if($[Q]<224)return $[Q+1]^=32,2;return $[Q+2]^=5,3}function RJ($,Q,Z,K,J,q){let U=y5[J],W=U.transform,H=W<12?0:W-11,_=Q;if(H>K)H=K;for(let j=0;j<U.prefix.length;j++)$[Q++]=U.prefix[j];let N=Z+H,V=K-H;if(W<=9)V-=W;for(let j=0;j<V;j++)$[Q++]=q[N+j];let X=Q-V;if(W===10)BJ($,X);else if(W===11)while(V>0){let j=BJ($,X);X+=j,V-=j}for(let j=0;j<U.suffix.length;j++)$[Q++]=U.suffix[j];return Q-_}var y5;var TJ=D9(()=>{y5=[h("",0,""),h("",0," "),h(" ",0," "),h("",12,""),h("",10," "),h("",0," the "),h(" ",0,""),h("s ",0," "),h("",0," of "),h("",10,""),h("",0," and "),h("",13,""),h("",1,""),h(", ",0," "),h("",0,", "),h(" ",10," "),h("",0," in "),h("",0," to "),h("e ",0," "),h("",0,'"'),h("",0,"."),h("",0,'">'),h("",0,`
|
|
2
2
|
`),h("",3,""),h("",0,"]"),h("",0," for "),h("",14,""),h("",2,""),h("",0," a "),h("",0," that "),h(" ",10,""),h("",0,". "),h(".",0,""),h(" ",0,", "),h("",15,""),h("",0," with "),h("",0,"'"),h("",0," from "),h("",0," by "),h("",16,""),h("",17,""),h(" the ",0,""),h("",4,""),h("",0,". The "),h("",11,""),h("",0," on "),h("",0," as "),h("",0," is "),h("",7,""),h("",1,"ing "),h("",0,`
|
|
3
|
-
`),h("",0,":"),h(" ",0,". "),h("",0,"ed "),h("",20,""),h("",18,""),h("",6,""),h("",0,"("),h("",10,", "),h("",8,""),h("",0," at "),h("",0,"ly "),h(" the ",0," of "),h("",5,""),h("",9,""),h(" ",10,", "),h("",10,'"'),h(".",0,"("),h("",11," "),h("",10,'">'),h("",0,'="'),h(" ",0,"."),h(".com/",0,""),h(" the ",0," of the "),h("",10,"'"),h("",0,". This "),h("",0,","),h(".",0," "),h("",10,"("),h("",10,"."),h("",0," not "),h(" ",0,'="'),h("",0,"er "),h(" ",11," "),h("",0,"al "),h(" ",11,""),h("",0,"='"),h("",11,'"'),h("",10,". "),h(" ",0,"("),h("",0,"ful "),h(" ",10,". "),h("",0,"ive "),h("",0,"less "),h("",11,"'"),h("",0,"est "),h(" ",10,"."),h("",11,'">'),h(" ",0,"='"),h("",10,","),h("",0,"ize "),h("",11,"."),h("Â ",0,""),h(" ",0,","),h("",10,'="'),h("",11,'="'),h("",0,"ous "),h("",11,", "),h("",10,"='"),h(" ",10,","),h(" ",11,'="'),h(" ",11,", "),h("",11,","),h("",11,"("),h("",11,". "),h(" ",11,"."),h("",11,"='"),h(" ",11,". "),h(" ",10,'="'),h(" ",11,"='"),h(" ",10,"='")]});var qJ={};U$(qJ,{decompress:()=>S4,__testing:()=>h4});class S5{data;buf;pos=0;val=0;bitPos=0;bitEndPos=0;eos=!1;constructor($){this.data=$;this.buf=new Uint8Array(8224),this.fillBuffer();for(let Q=0;Q<4;Q++)this.val|=this.buf[this.pos]<<8*Q,this.pos++}fillBuffer(){if(this.bitEndPos>256)return;if(this.eos){if(this.bitPos>this.bitEndPos)throw Error("Unexpected end of input");return}let $=this.data.length-this.pos,Q=Math.min(4096,$);if(Q>0)this.buf.set(this.data.subarray(this.pos,this.pos+Q),0),this.pos=0;if(Q<4096){this.eos=!0;for(let Z=0;Z<32;Z++)this.buf[Q+Z]=0}this.bitEndPos+=Q<<3}readMoreInput(){if(this.bitEndPos>256)return;if(this.eos){if(this.bitPos>this.bitEndPos)throw Error("Unexpected end of input");return}let $=this.pos&4095,Q=Math.min(4096,this.data.length-(this.pos&-4096));if(Q>0){let Z=this.pos&-4096;this.buf.set(this.data.subarray(Z,Z+Q),$===0?0:4096)}if(Q<4096){this.eos=!0;for(let Z=0;Z<32;Z++)this.buf[$+Q+Z]=0}this.bitEndPos+=Q<<3}fillBitWindow(){while(this.bitPos>=8)this.val>>>=8,this.val|=this.buf[this.pos&8191]<<24,this.pos++,this.bitPos-=8,this.bitEndPos-=8}readBits($){if(32-this.bitPos<$)this.fillBitWindow();let Q=this.val>>>this.bitPos&(1<<$)-1;return this.bitPos+=$,Q}get currentBitPos(){return this.bitPos}set currentBitPos($){this.bitPos=$}get currentVal(){return this.val}}function h5($,Q,Z,K,J){let U=new Int32Array(16),W=new Int32Array(16),H=new Int32Array(J);for(let E=0;E<J;E++)U[K[E]]++;W[1]=0;for(let E=1;E<15;E++)W[E+1]=W[E]+U[E];for(let E=0;E<J;E++)if(K[E]!==0)H[W[K[E]]++]=E;let _=Z,N=1<<_,V=N;if(W[15]===1){for(let E=0;E<V;E++)$[Q+E]={bits:0,value:H[0]&65535};return V}let X=0,z=0;for(let E=1,w=2;E<=Z;E++,w<<=1)for(;U[E]>0;U[E]--){let F={bits:E&255,value:H[z++]&65535};C5($,Q+X,w,N,F),X=k5(X,E)}let j=V-1,Y=-1,G=Q;for(let E=Z+1,w=2;E<=15;E++,w<<=1)for(;U[E]>0;U[E]--){if((X&j)!==Y)G+=N,_=ZJ(U,E,Z),N=1<<_,V+=N,Y=X&j,$[Q+Y]={bits:_+Z&255,value:G-Q-Y&65535};let F={bits:E-Z&255,value:H[z++]&65535};C5($,G+(X>>Z),w,N,F),X=k5(X,E)}return V}function k5($,Q){let Z=1<<Q-1;while($&Z)Z>>=1;return($&Z-1)+Z}function C5($,Q,Z,K,J){do K-=Z,$[Q+K]={bits:J.bits,value:J.value};while(K>0)}function ZJ($,Q,Z){let K=1<<Q-Z;while(Q<15){if(K-=$[Q],K<=0)break;Q++,K<<=1}return Q-Z}function j8($,Q,Z){Z.fillBitWindow();let K=Q+(Z.currentVal>>>Z.currentBitPos&M4),J=$[K].bits-I5;if(J>0)Z.currentBitPos+=I5,K+=$[K].value,K+=Z.currentVal>>>Z.currentBitPos&(1<<J)-1;return Z.currentBitPos+=$[K].bits,$[K].value}function KJ($){if($.readBits(1)){let Q=$.readBits(3);if(Q===0)return 1;return $.readBits(Q)+(1<<Q)}return 0}function I4($){if($.readBits(1)===0)return 16;let Q=$.readBits(3);if(Q>0)return 17+Q;if(Q=$.readBits(3),Q>0)return 8+Q;return 17}function k4($){let Q=$.readBits(1)===1;if(Q&&$.readBits(1))return{length:0,isLast:!0,isUncompressed:!1,isMetadata:!1};let Z=$.readBits(2)+4;if(Z===7){if($.readBits(1)!==0)throw Error("Invalid reserved bit");let q=$.readBits(2);if(q===0)return{length:0,isLast:Q,isUncompressed:!1,isMetadata:!0};let U=0;for(let W=0;W<q;W++){let H=$.readBits(8);if(W+1===q&&q>1&&H===0)throw Error("Invalid size byte");U|=H<<W*8}return{length:U+1,isLast:Q,isUncompressed:!1,isMetadata:!0}}let K=0;for(let q=0;q<Z;q++){let U=$.readBits(4);if(q+1===Z&&Z>4&&U===0)throw Error("Invalid size nibble");K|=U<<q*4}K++;let J=!Q?$.readBits(1)===1:!1;return{length:K,isLast:Q,isUncompressed:J,isMetadata:!1}}function JJ($,Q,Z,K){let U=0,W=8,H=0,_=0,N=32768,V=[];for(let X=0;X<32;X++)V.push({bits:0,value:0});h5(V,0,5,$,b0);while(U<Q&&N>0){K.readMoreInput(),K.fillBitWindow();let X=K.currentVal>>>K.currentBitPos&31;K.currentBitPos+=V[X].bits;let z=V[X].value&255;if(z<16){if(H=0,Z[U++]=z,z!==0)W=z,N-=32768>>z}else{let j=z-14,Y=0;if(z===16)Y=W;if(_!==Y)H=0,_=Y;let G=H;if(H>0)H-=2,H<<=j;H+=K.readBits(j)+3;let E=H-G;if(U+E>Q)throw Error("Symbol overflow");for(let w=0;w<E;w++)Z[U+w]=_;if(U+=E,_!==0)N-=E<<15-_}}if(N!==0)throw Error("Invalid code lengths");for(;U<Q;U++)Z[U]=0}function m0($,Q,Z,K){let J=new Uint8Array($);K.readMoreInput();let q=K.readBits(2);if(q===1){let U=$-1,W=0;while(U)U>>=1,W++;let H=new Int32Array(4),_=K.readBits(2)+1;for(let N=0;N<_;N++)H[N]=K.readBits(W)%$,J[H[N]]=2;switch(J[H[0]]=1,_){case 2:if(H[0]===H[1])throw Error("Invalid symbols");J[H[1]]=1;break;case 4:if(K.readBits(1))J[H[2]]=3,J[H[3]]=3;else J[H[0]]=2;break}}else{let U=new Uint8Array(b0),W=32,H=0,_=[{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:3,value:2},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:4,value:1},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:3,value:2},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:4,value:5}];for(let N=q;N<b0&&W>0;N++){let V=B4[N];K.fillBitWindow();let X=K.currentVal>>>K.currentBitPos&15;K.currentBitPos+=_[X].bits;let z=_[X].value;if(U[V]=z,z!==0)W-=32>>z,H++}if(!(H===1||W===0))throw Error("Invalid code length codes");JJ(U,$,J,K)}return h5(Q,Z,I5,J,$)}class y0{alphabetSize;numHTrees;codes=[];htrees;constructor($,Q){this.alphabetSize=$;this.numHTrees=Q;this.htrees=new Uint32Array(Q);let Z=this.getMaxTableSize();for(let K=0;K<Q+Q*Z;K++)this.codes.push({bits:0,value:0})}getMaxTableSize(){let $=[256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080],Q=this.alphabetSize+31>>>5;return $[Math.min(Q,$.length-1)]}decode($){let Q=0;for(let Z=0;Z<this.numHTrees;Z++){this.htrees[Z]=Q;let K=m0(this.alphabetSize,this.codes,Q,$);Q+=K}}}function QJ($,Q){Q.readMoreInput();let Z=KJ(Q)+1,K=new Uint8Array($);if(Z<=1)return{numHTrees:Z,contextMap:K};let J=Q.readBits(1)===1,q=0;if(J)q=Q.readBits(4)+1;let U=[];for(let W=0;W<q8;W++)U.push({bits:0,value:0});m0(Z+q,U,0,Q);for(let W=0;W<$;){Q.readMoreInput();let H=j8(U,0,Q);if(H===0)K[W++]=0;else if(H<=q){let _=1+(1<<H)+Q.readBits(H);for(let N=1;N<_&&W<$;N++)K[W++]=0}else K[W++]=H-q}if(Q.readBits(1)){let W=new Uint8Array(256);for(let H=0;H<256;H++)W[H]=H;for(let H=0;H<$;H++){let _=K[H];if(K[H]=W[_],_){let N=W[_];for(let V=_;V>0;V--)W[V]=W[V-1];W[0]=N}}}return{numHTrees:Z,contextMap:K}}function n9($,Q,Z){let K=j8($,Q,Z),J=O4[K];return J.offset+Z.readBits(J.nbits)}function C4($,Q,Z){if($<v5){let K=Z+R4[$]&3;return Q[K]+T4[$]}return $-v5+1}function S4($){let Q=new S5($),Z=I4(Q),K=(1<<Z)-16,J=1<<Z,q=J-1,U=new Uint8Array(J+578),W=0,H=0,_=[16,15,11,4],N=0,V=0,X=0,z=[];while(!0){Q.readMoreInput();let j=k4(Q);if(j.length===0&&j.isLast)break;if(j.isMetadata){Q.currentBitPos=Q.currentBitPos+7&-8;for(let d=0;d<j.length;d++)Q.readMoreInput(),Q.readBits(8);continue}let Y=j.length;if(Y===0)continue;if(j.isUncompressed){Q.currentBitPos=Q.currentBitPos+7&-8;for(let d=0;d<Y;d++){Q.readMoreInput();let e=Q.readBits(8);if(U[W&q]=e,(W&q)===q)z.push(...U.slice(0,J));W++}continue}let G=[1,1,1],E=[268435456,268435456,268435456],w=[0,0,0],F=[0,1,0,1,0,1],A=[0,0,0],M=[],L=[];for(let d=0;d<3*q8;d++)M.push({bits:0,value:0}),L.push({bits:0,value:0});for(let d=0;d<3;d++)if(G[d]=KJ(Q)+1,G[d]>=2)m0(G[d]+2,M,d*q8,Q),m0(D4,L,d*q8,Q),E[d]=n9(L,d*q8,Q),A[d]=1;Q.readMoreInput();let O=Q.readBits(2),T=v5+(Q.readBits(4)<<O),v=(1<<O)-1,R=T+(48<<O),u=new Uint8Array(G[0]);for(let d=0;d<G[0];d++)Q.readMoreInput(),u[d]=Q.readBits(2)<<1;let I=QJ(G[0]<<6,Q),l=QJ(G[2]<<2,Q),f=[new y0(F4,I.numHTrees),new y0(L4,G[1]),new y0(R,l.numHTrees)];for(let d=0;d<3;d++)f[d].decode(Q);let C=0,B=0,y=u[w[0]],x=l9[y],n=l9[y+1],o=f[1].htrees[0];while(Y>0){if(Q.readMoreInput(),E[1]===0){let b6=j8(M,q8,Q),C6;if(b6===0)C6=F[2+(A[1]&1)];else if(b6===1)C6=F[2+(A[1]-1&1)]+1;else C6=b6-2;if(C6>=G[1])C6-=G[1];w[1]=C6,F[2+(A[1]&1)]=C6,A[1]++,E[1]=n9(L,q8,Q),o=f[1].htrees[w[1]]}E[1]--;let d=j8(f[1].codes,o,Q),e=d>>6,g;if(e>=2)g=-1;else g=0;let V6=P4[e]+(d>>3&7),S=v4[e]+(d&7),q6=eK[V6].offset+Q.readBits(eK[V6].nbits),b=$J[S].offset+Q.readBits($J[S].nbits);V=U[W-1&q],X=U[W-2&q];for(let b6=0;b6<q6;b6++){if(Q.readMoreInput(),E[0]===0){let M6=j8(M,0,Q),n6;if(M6===0)n6=F[A[0]&1];else if(M6===1)n6=F[A[0]-1&1]+1;else n6=M6-2;if(n6>=G[0])n6-=G[0];w[0]=n6,F[A[0]&1]=n6,A[0]++,E[0]=n9(L,0,Q),C=w[0]<<6,y=u[w[0]],x=l9[y],n=l9[y+1]}let C6=O5[x+V]|O5[n+X],o6=I.contextMap[C+C6];if(E[0]--,X=V,V=j8(f[0].codes,f[0].htrees[o6],Q),U[W&q]=V,(W&q)===q)z.push(...U.slice(0,J));W++}if(Y-=q6,Y<=0)break;if(g<0){if(Q.readMoreInput(),E[2]===0){let o6=j8(M,2*q8,Q),M6;if(o6===0)M6=F[4+(A[2]&1)];else if(o6===1)M6=F[4+(A[2]-1&1)]+1;else M6=o6-2;if(M6>=G[2])M6-=G[2];w[2]=M6,F[4+(A[2]&1)]=M6,A[2]++,E[2]=n9(L,2*q8,Q),B=w[2]<<2}E[2]--;let b6=(b>4?3:b-2)&255,C6=l.contextMap[B+b6];if(g=j8(f[2].codes,f[2].htrees[C6],Q),g>=T){g-=T;let o6=g&v;g>>=O;let M6=(g>>1)+1,n6=(2+(g&1)<<M6)-4;g=T+(n6+Q.readBits(M6)<<O)+o6}}let A6=C4(g,_,N);if(A6<0)throw Error("Invalid distance");if(W<K&&H!==K)H=W;else H=K;let H0=W&q;if(A6>H)if(b>=4&&b<=24){let b6=cK[b],C6=A6-H-1,o6=oK[b],M6=(1<<o6)-1,n6=C6&M6,w1=C6>>o6,wW=b6+n6*b;if(w1<P5.length){let A1=rK(U,H0,wW,b,w1,iK);if(H0+=A1,W+=A1,Y-=A1,H0>=J){z.push(...U.slice(0,J));for(let _0=0;_0<H0-J;_0++)U[_0]=U[J+_0]}}else throw Error("Invalid backward reference")}else throw Error("Invalid backward reference");else{if(g>0)_[N&3]=A6,N++;if(b>Y)throw Error("Invalid backward reference");for(let b6=0;b6<b;b6++){if(U[W&q]=U[W-A6&q],(W&q)===q)z.push(...U.slice(0,J));W++,Y--}}V=U[W-1&q],X=U[W-2&q]}if(j.isLast)break}return z.push(...U.slice(0,W&q)),new Uint8Array(z)}var q8=1080,b0=18,F4=256,L4=704,D4=26,v5=16,I5=8,M4=255,B4,R4,T4,O4,eK,$J,P4,v4,h4;var UJ=w9(()=>{pK();sK();tK();B4=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),R4=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),T4=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),O4=[{offset:1,nbits:2},{offset:5,nbits:2},{offset:9,nbits:2},{offset:13,nbits:2},{offset:17,nbits:3},{offset:25,nbits:3},{offset:33,nbits:3},{offset:41,nbits:3},{offset:49,nbits:4},{offset:65,nbits:4},{offset:81,nbits:4},{offset:97,nbits:4},{offset:113,nbits:5},{offset:145,nbits:5},{offset:177,nbits:5},{offset:209,nbits:5},{offset:241,nbits:6},{offset:305,nbits:6},{offset:369,nbits:7},{offset:497,nbits:8},{offset:753,nbits:9},{offset:1265,nbits:10},{offset:2289,nbits:11},{offset:4337,nbits:12},{offset:8433,nbits:13},{offset:16625,nbits:24}],eK=[{offset:0,nbits:0},{offset:1,nbits:0},{offset:2,nbits:0},{offset:3,nbits:0},{offset:4,nbits:0},{offset:5,nbits:0},{offset:6,nbits:1},{offset:8,nbits:1},{offset:10,nbits:2},{offset:14,nbits:2},{offset:18,nbits:3},{offset:26,nbits:3},{offset:34,nbits:4},{offset:50,nbits:4},{offset:66,nbits:5},{offset:98,nbits:5},{offset:130,nbits:6},{offset:194,nbits:7},{offset:322,nbits:8},{offset:578,nbits:9},{offset:1090,nbits:10},{offset:2114,nbits:12},{offset:6210,nbits:14},{offset:22594,nbits:24}],$J=[{offset:2,nbits:0},{offset:3,nbits:0},{offset:4,nbits:0},{offset:5,nbits:0},{offset:6,nbits:0},{offset:7,nbits:0},{offset:8,nbits:0},{offset:9,nbits:0},{offset:10,nbits:1},{offset:12,nbits:1},{offset:14,nbits:2},{offset:18,nbits:2},{offset:22,nbits:3},{offset:30,nbits:3},{offset:38,nbits:4},{offset:54,nbits:4},{offset:70,nbits:5},{offset:102,nbits:5},{offset:134,nbits:6},{offset:198,nbits:7},{offset:326,nbits:8},{offset:582,nbits:9},{offset:1094,nbits:10},{offset:2118,nbits:24}],P4=[0,0,8,8,0,16,8,16,16],v4=[0,8,0,8,16,0,16,8,16];h4={getNextKey:k5,replicateValue:C5,nextTableBitSize:ZJ,buildHuffmanTable:h5,readBlockLength:n9,readHuffmanCodeLengths:JJ,BitReader:S5,HuffmanCode:{},CODE_LENGTH_CODES:b0}});function V0($,Q){if(Q<0||Q>=$.classArray.length)return 1;return $.classArray[Q]??1}function L1($,Q){let{stateTable:Z}=$,K=0,J=0,q=0;for(let U=0;U<=Q.length;U++){let H=U>=Q.length?0:V0(Z.classTable,Q[U]?.glyphId),_=Z.stateArray[K];if(!_)break;let N=_[H];if(!N)break;let V=N.flags;if(V&32768)J=U;if(V&8192)q=U;let X=V&15;if(X!==0&&J<=q&&q<Q.length)DW(Q,J,q,X);if(!(V&16384));K=N.newState}}function DW($,Q,Z,K){if(Q>=Z||Q>=$.length||Z>=$.length)return;let J=$[Q],q=$[Q+1],U=$[Z-1],W=$[Z];if(!J||!W)return;switch(K){case 1:if(q)$[Q]=q,$[Q+1]=J;break;case 2:if(U)$[Z]=U,$[Z-1]=W;break;case 3:$[Q]=W,$[Z]=J;break;case 4:if(q&&U){let H=$.slice(Q,Q+2),[_,N]=H,V=$[Q+2];if(_&&N&&V)$[Q]=V,$[Q+1]=_,$[Q+2]=N}break;case 5:if(q&&U){let H=$.slice(Q,Q+2),[_,N]=H,V=$[Q+2];if(_&&N&&V)$[Q]=V,$[Q+1]=N,$[Q+2]=_}break;case 6:if(U&&q){let H=$.slice(Z-1,Z+1),[_,N]=H,V=$[Z-2];if(_&&N&&V)$[Z]=V,$[Z-1]=N,$[Z-2]=_}break;case 7:if(U&&q){let H=$.slice(Z-1,Z+1),[_,N]=H,V=$[Z-2];if(_&&N&&V)$[Z]=V,$[Z-1]=_,$[Z-2]=N}break;case 8:if(U){let H=J;$[Q]=U,$[Z-1]=W,$[Z]=H}break;case 9:if(U){let H=J;$[Q]=W,$[Z-1]=U,$[Z]=H}break;case 10:if(q&&U){let H=J,_=q,N=U;$[Q]=W,$[Q+1]=N,$[Z-1]=H,$[Z]=_}break;case 11:if(q&&U){let H=J,_=q,N=U;$[Q]=W,$[Q+1]=N,$[Z-1]=_,$[Z]=H}break;case 12:if(q&&U){let H=[J,q];$[Q]=U,$[Q+1]=W,$[Z-1]=H[0],$[Z]=H[1]}break;case 13:if(q&&U){let H=[J,q];$[Q]=U,$[Q+1]=W,$[Z-1]=H[1],$[Z]=H[0]}break;case 14:if(q&&U){let H=[J,q];$[Q]=W,$[Q+1]=U,$[Z-1]=H[0],$[Z]=H[1]}break;case 15:if(q&&U){let H=[J,q];$[Q]=W,$[Q+1]=U,$[Z-1]=H[1],$[Z]=H[0]}break}}function D1($,Q){let{stateTable:Z,substitutionTable:K}=$,J=0,q=-1;for(let U=0;U<=Q.length;U++){let W=U>=Q.length,H=W?0:V0(Z.classTable,Q[U]?.glyphId),_=Z.stateArray[J];if(!_)break;let N=_[H];if(!N)break;if(N.flags&32768)q=U;if(N.markIndex!==65535&&q>=0&&q<Q.length){let V=K[N.markIndex];if(V){let X=Q[q];if(X){let z=V.get(X.glyphId);if(z!==void 0)X.glyphId=z}}}if(!W&&N.currentIndex!==65535){let V=K[N.currentIndex];if(V){let X=Q[U];if(X){let z=V.get(X.glyphId);if(z!==void 0)X.glyphId=z}}}if(!(N.flags&16384));J=N.newState}}function M1($,Q){let{stateTable:Z,ligatureActions:K,components:J,ligatures:q}=$,U=0,W=[],H=[],_=new Set;for(let N=0;N<=Q.length;N++){let X=N>=Q.length?0:V0(Z.classTable,Q[N]?.glyphId),z=Z.stateArray[U];if(!z)break;let j=z[X];if(!j)break;if(j.flags&32768)W.push(N);if(j.flags&8192&&j.ligActionIndex<K.length){let Y=j.ligActionIndex,G=0,E=[];while(Y<K.length){let w=K[Y];if(w===void 0)break;let F=(w&2147483648)!==0,A=(w&1073741824)!==0,M=(w&1073741823)<<2>>2,L=W.pop();if(L!==void 0&&L<Q.length){if(E.push(L),Q[L]){let T=M;if(T>=0&&T<J.length){let v=J[T];if(v!==void 0)G=G+v}}}if(A&&G<q.length){let O=E[E.length-1];if(O!==void 0&&O<Q.length){let T=Q[O],v=q[G];if(T&&v!==void 0){T.glyphId=v;for(let R=0;R<E.length;R++)if(R<E.length-1){let u=E[R];_.add(u)}}}G=0}if(F)break;Y++}}if(!(j.flags&16384));U=j.newState}for(let N=0;N<Q.length;N++)if(!_.has(N)){let V=Q[N];H.push(V)}return H}function B1($,Q){let{stateTable:Z,insertionGlyphs:K}=$,J=0,q=-1,U=[],W=new Map;for(let H=0;H<=Q.length;H++){let _=H>=Q.length,N=_?0:V0(Z.classTable,Q[H]?.glyphId),V=Z.stateArray[J];if(!V)break;let X=V[N];if(!X)break;if(X.flags&32768)q=H;if(X.markedInsertIndex!==65535&&q>=0){let z=X.flags>>5&31,j=(X.flags&2048)!==0,Y=K.slice(X.markedInsertIndex,X.markedInsertIndex+z),G=W.get(q);if(!G)G={before:[],after:[]},W.set(q,G);if(j)G.before.push(...Y);else G.after.push(...Y)}if(!_&&X.currentInsertIndex!==65535){let z=X.flags&31,j=(X.flags&32)!==0,Y=K.slice(X.currentInsertIndex,X.currentInsertIndex+z),G=W.get(H);if(!G)G={before:[],after:[]},W.set(H,G);if(j)G.before.push(...Y);else G.after.push(...Y)}if(!(X.flags&16384));J=X.newState}for(let H=0;H<Q.length;H++){let _=Q[H],N=W.get(H);if(N)for(let V=0;V<N.before.length;V++){let X=N.before[V];U.push({glyphId:X,cluster:_.cluster,mask:_.mask,codepoint:0})}if(U.push(_),N)for(let V=0;V<N.after.length;V++){let X=N.after[V];U.push({glyphId:X,cluster:_.cluster,mask:_.mask,codepoint:0})}}return U}function W$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="ADD: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z+Q}function H$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="SUB: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z-Q}function _$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="DIV: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}if(Q===0){$.error="DIV: division by zero",$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Math.trunc(Z*64/Q)}function N$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MUL: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Math.trunc(Z*Q/64)}function V$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="ABS: stack underflow";return}$.stack[$.stackTop-1]=Q<0?-Q:Q}function X$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="NEG: stack underflow";return}$.stack[$.stackTop-1]=-Q}function z$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="FLOOR: stack underflow";return}$.stack[$.stackTop-1]=Q&-64}function j$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="CEILING: stack underflow";return}$.stack[$.stackTop-1]=Q+63&-64}function Y$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MAX: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>Q?Z:Q}function G$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MIN: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<Q?Z:Q}function E$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="LT: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<Q?1:0}function w$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="LTEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<=Q?1:0}function A$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="GT: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>Q?1:0}function F$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="GTEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>=Q?1:0}function L$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="EQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z===Q?1:0}function D$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="NEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z!==Q?1:0}function M$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="ODD: stack underflow";return}let Z=Q+32&-64;$.stack[$.stackTop-1]=Z&64?1:0}function B$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="EVEN: stack underflow";return}let Z=Q+32&-64;$.stack[$.stackTop-1]=Z&64?0:1}function R$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="AND: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z&&Q?1:0}function T$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="OR: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z||Q?1:0}function O$($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="NOT: stack underflow";return}$.stack[$.stackTop-1]=Q?0:1}function P$($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="IF: stack underflow",$.stackTop++;return}if(Q)return;let Z=1;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;switch(K){case 88:Z++;break;case 27:if(Z===1)return;break;case 89:if(Z--,Z===0)return;break;case 64:$.IP+=1+($.code[$.IP]??0);break;case 65:$.IP+=1+($.code[$.IP]??0)*2;break;default:if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}}$.error="IF: missing EIF"}function v$($){let Q=1;while($.IP<$.codeSize){let Z=$.code[$.IP++];if(Z===void 0)break;switch(Z){case 88:Q++;break;case 89:if(Q--,Q===0)return;break;case 64:$.IP+=1+($.code[$.IP]??0);break;case 65:$.IP+=1+($.code[$.IP]??0)*2;break;default:if(Z>=176&&Z<=183)$.IP+=Z-176+1;else if(Z>=184&&Z<=191)$.IP+=(Z-184+1)*2}}$.error="ELSE: missing EIF"}function I$($){}function k$($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="JMPR: stack underflow",$.stackTop++;return}$.IP+=Q-1}function C$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="JROT: stack underflow",$.stackTop+=2;return}if(Q)$.IP+=Z-1}function S$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="JROF: stack underflow",$.stackTop+=2;return}if(!Q)$.IP+=Z-1}function h$($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="FDEF: stack underflow",$.stackTop++;return}if(Q<0||Q>=$.maxFDefs){$.error=`FDEF: invalid function number ${Q}`;return}let Z=$.FDefs[Q];if(!Z){$.error=`FDEF: no slot for function ${Q}`;return}Z.id=Q,Z.start=$.IP,Z.active=!0,Z.range=$.currentRange;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;if(K===45){Z.end=$.IP;return}if(K===64)$.IP+=1+($.code[$.IP]??0);else if(K===65)$.IP+=1+($.code[$.IP]??0)*2;else if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}$.error="FDEF: missing ENDF"}function y$($){if($.callStackTop<=0){$.error="ENDF: not in function call";return}let Q=$.callStack[$.callStackTop-1];if(!Q){$.error="ENDF: missing call frame";return}if(Q.count--,Q.count>0)$.IP=Q.def.start;else{$.callStackTop--,$.IP=Q.callerIP,$.currentRange=Q.callerRange;let Z=$.codeRanges.get($.currentRange);if(Z)$.code=Z.code,$.codeSize=Z.size}}function b$($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="CALL: stack underflow",$.stackTop++;return}if(Q<0||Q>=$.maxFDefs){$.error=`CALL: invalid function number ${Q}`;return}let Z=$.FDefs[Q];if(!Z||!Z.active){$.error=`CALL: function ${Q} not defined`;return}if($.callStackTop>=$.maxCallStack){$.error="CALL: call stack overflow";return}let K=$.callStack[$.callStackTop++];if(!K){$.error="CALL: no call frame available",$.callStackTop--;return}K.callerIP=$.IP,K.callerRange=$.currentRange,K.def=Z,K.count=1,$.currentRange=Z.range;let J=$.codeRanges.get($.currentRange);if(J)$.code=J.code,$.codeSize=J.size;$.IP=Z.start}function m$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="LOOPCALL: stack underflow",$.stackTop+=2;return}if(Q<0||Q>=$.maxFDefs){$.error=`LOOPCALL: invalid function number ${Q}`;return}let K=$.FDefs[Q];if(!K||!K.active){$.error=`LOOPCALL: function ${Q} not defined`;return}if(Z<=0)return;if($.callStackTop>=$.maxCallStack){$.error="LOOPCALL: call stack overflow";return}let J=$.callStack[$.callStackTop++];if(!J){$.error="LOOPCALL: no call frame available",$.callStackTop--;return}J.callerIP=$.IP,J.callerRange=$.currentRange,J.def=K,J.count=Z,$.currentRange=K.range;let q=$.codeRanges.get($.currentRange);if(q)$.code=q.code,$.codeSize=q.size;$.IP=K.start}function g$($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="IDEF: stack underflow",$.stackTop++;return}if(Q<0||Q>=$.maxIDefs){$.error=`IDEF: invalid opcode ${Q}`;return}let Z=$.IDefs[Q];if(!Z){$.error=`IDEF: no slot for opcode ${Q}`;return}Z.opcode=Q,Z.start=$.IP,Z.active=!0,Z.range=$.currentRange;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;if(K===45){Z.end=$.IP;return}if(K===64)$.IP+=1+($.code[$.IP]??0);else if(K===65)$.IP+=1+($.code[$.IP]??0)*2;else if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}$.error="IDEF: missing ENDF"}var A9;((H)=>{H[H.ToHalfGrid=0]="ToHalfGrid";H[H.ToGrid=1]="ToGrid";H[H.ToDoubleGrid=2]="ToDoubleGrid";H[H.DownToGrid=3]="DownToGrid";H[H.UpToGrid=4]="UpToGrid";H[H.Off=5]="Off";H[H.Super=6]="Super";H[H.Super45=7]="Super45"})(A9||={});var f8;((K)=>{K[K.X=1]="X";K[K.Y=2]="Y";K[K.Both=3]="Both"})(f8||={});function R1(){return{rp0:0,rp1:0,rp2:0,dualVector:{x:16384,y:0},projVector:{x:16384,y:0},freeVector:{x:16384,y:0},loop:1,minimumDistance:64,roundState:1,autoFlip:!0,controlValueCutIn:68,singleWidthCutIn:0,singleWidthValue:0,deltaBase:9,deltaShift:3,instructControl:0,scanControl:0,scanType:0,gep0:1,gep1:1,gep2:1,period:64,phase:0,threshold:32}}var F9;((J)=>{J[J.None=0]="None";J[J.Font=1]="Font";J[J.CVT=2]="CVT";J[J.Glyph=3]="Glyph"})(F9||={});function $8($,Q){return{nPoints:0,nContours:0,org:Array($).fill(null).map(()=>({x:0,y:0})),cur:Array($).fill(null).map(()=>({x:0,y:0})),orus:Array($).fill(null).map(()=>({x:0,y:0})),tags:new Uint8Array($),contours:new Uint16Array(Q)}}function X0($=256,Q=64,Z=64,K=64,J=32,q=16){let U=R1();return{GS:{...U},defaultGS:U,zp0:$8(0,0),zp1:$8(0,0),zp2:$8(0,0),twilight:$8(q,1),pts:$8(0,0),stack:new Int32Array($),stackTop:0,IP:0,code:new Uint8Array(0),codeSize:0,currentRange:0,opcode:0,numArgs:0,cvt:new Int32Array(0),cvtSize:0,storage:new Int32Array(Q),storageSize:Q,FDefs:Array(Z).fill(null).map((W,H)=>({id:H,start:0,end:0,active:!1,range:0})),maxFDefs:Z,IDefs:Array(K).fill(null).map((W,H)=>({opcode:H,start:0,end:0,active:!1,range:0})),maxIDefs:K,callStack:Array(J).fill(null).map(()=>({callerIP:0,callerRange:0,def:{id:0,start:0,end:0,active:!1,range:0},count:0})),callStackTop:0,maxCallStack:J,codeRanges:new Map,ppem:12,pointSize:12,scale:1,error:null,instructionCount:0,maxInstructions:1e6}}var D={NPUSHB:64,NPUSHW:65,PUSHB_0:176,PUSHB_1:177,PUSHB_2:178,PUSHB_3:179,PUSHB_4:180,PUSHB_5:181,PUSHB_6:182,PUSHB_7:183,PUSHW_0:184,PUSHW_1:185,PUSHW_2:186,PUSHW_3:187,PUSHW_4:188,PUSHW_5:189,PUSHW_6:190,PUSHW_7:191,RS:67,WS:66,RCVT:69,WCVTP:68,WCVTF:112,DUP:32,POP:33,CLEAR:34,SWAP:35,DEPTH:36,CINDEX:37,MINDEX:38,ROLL:138,ADD:96,SUB:97,DIV:98,MUL:99,ABS:100,NEG:101,FLOOR:102,CEILING:103,MAX:139,MIN:140,LT:80,LTEQ:81,GT:82,GTEQ:83,EQ:84,NEQ:85,ODD:86,EVEN:87,AND:90,OR:91,NOT:92,IF:88,ELSE:27,EIF:89,JMPR:28,JROT:120,JROF:121,FDEF:44,ENDF:45,CALL:43,LOOPCALL:42,IDEF:137,SVTCA_Y:0,SVTCA_X:1,SPVTCA_Y:2,SPVTCA_X:3,SFVTCA_Y:4,SFVTCA_X:5,SPVTL_0:6,SPVTL_1:7,SFVTL_0:8,SFVTL_1:9,SDPVTL_0:134,SDPVTL_1:135,SPVFS:10,SFVFS:11,GPV:12,GFV:13,SFVTPV:14,ISECT:15,SRP0:16,SRP1:17,SRP2:18,SZP0:19,SZP1:20,SZP2:21,SZPS:22,SLOOP:23,RTG:24,RTHG:25,SMD:26,RDTG:125,RUTG:124,ROFF:122,SROUND:118,S45ROUND:119,SCVTCI:29,SSWCI:30,SSW:31,FLIPON:77,FLIPOFF:78,SANGW:126,SDB:94,SDS:95,GC_0:70,GC_1:71,SCFS:72,MD_0:73,MD_1:74,MPPEM:75,MPS:76,FLIPPT:128,FLIPRGON:129,FLIPRGOFF:130,SHP_0:50,SHP_1:51,SHC_0:52,SHC_1:53,SHZ_0:54,SHZ_1:55,SHPIX:56,IP:57,MSIRP_0:58,MSIRP_1:59,ALIGNRP:60,RTDG:61,MIAP_0:62,MIAP_1:63,ALIGNPTS:39,UTP:41,MDAP_0:46,MDAP_1:47,IUP_Y:48,IUP_X:49,DELTAP1:93,DELTAP2:113,DELTAP3:114,DELTAC1:115,DELTAC2:116,DELTAC3:117,ROUND_0:104,ROUND_1:105,ROUND_2:106,ROUND_3:107,NROUND_0:108,NROUND_1:109,NROUND_2:110,NROUND_3:111,GETINFO:136,INSTCTRL:142,SCANCTRL:133,SCANTYPE:141,AA:127,DEBUG:79,MDRP_BASE:192,MIRP_BASE:224},rj={[D.RS]:1,[D.WS]:2,[D.RCVT]:1,[D.WCVTP]:2,[D.WCVTF]:2,[D.DUP]:1,[D.POP]:1,[D.CLEAR]:0,[D.SWAP]:2,[D.DEPTH]:0,[D.CINDEX]:1,[D.MINDEX]:1,[D.ROLL]:3,[D.ADD]:2,[D.SUB]:2,[D.DIV]:2,[D.MUL]:2,[D.ABS]:1,[D.NEG]:1,[D.FLOOR]:1,[D.CEILING]:1,[D.MAX]:2,[D.MIN]:2,[D.LT]:2,[D.LTEQ]:2,[D.GT]:2,[D.GTEQ]:2,[D.EQ]:2,[D.NEQ]:2,[D.ODD]:1,[D.EVEN]:1,[D.AND]:2,[D.OR]:2,[D.NOT]:1,[D.IF]:1,[D.JMPR]:1,[D.JROT]:2,[D.JROF]:2,[D.CALL]:1,[D.LOOPCALL]:2,[D.SRP0]:1,[D.SRP1]:1,[D.SRP2]:1,[D.SZP0]:1,[D.SZP1]:1,[D.SZP2]:1,[D.SZPS]:1,[D.SLOOP]:1,[D.SMD]:1,[D.SCVTCI]:1,[D.SSWCI]:1,[D.SSW]:1,[D.SDB]:1,[D.SDS]:1,[D.SPVFS]:2,[D.SFVFS]:2,[D.SPVTL_0]:2,[D.SPVTL_1]:2,[D.SFVTL_0]:2,[D.SFVTL_1]:2,[D.SCFS]:2,[D.GC_0]:1,[D.GC_1]:1,[D.MD_0]:2,[D.MD_1]:2,[D.ISECT]:5,[D.ALIGNRP]:0,[D.IP]:0,[D.SHPIX]:1,[D.MSIRP_0]:2,[D.MSIRP_1]:2,[D.MIAP_0]:2,[D.MIAP_1]:2,[D.MDAP_0]:1,[D.MDAP_1]:1,[D.DELTAP1]:1,[D.DELTAP2]:1,[D.DELTAP3]:1,[D.DELTAC1]:1,[D.DELTAC2]:1,[D.DELTAC3]:1,[D.SROUND]:1,[D.S45ROUND]:1,[D.ROUND_0]:1,[D.ROUND_1]:1,[D.ROUND_2]:1,[D.ROUND_3]:1,[D.NROUND_0]:1,[D.NROUND_1]:1,[D.NROUND_2]:1,[D.NROUND_3]:1,[D.INSTCTRL]:2,[D.SCANCTRL]:1,[D.SCANTYPE]:1,[D.GETINFO]:1,[D.FLIPPT]:0,[D.FLIPRGON]:2,[D.FLIPRGOFF]:2};function z0($,Q){if($>=0)return $+32+Q&-64;else return-(-$+32+Q&-64)}function T1($,Q){if($>=0)return($+32+Q&-64)+32;else return-((-$+32+Q&-64)+32)}function O1($,Q){if($>=0)return $+16+Q&-32;else return-(-$+16+Q&-32)}function P1($,Q){if($>=0)return $+Q&-64;else return-(Q-$&-64)}function v1($,Q){if($>=0)return $+63+Q&-64;else return-(63+Q-$&-64)}function I1($,Q){return $}function k1($,Q,Z){let{period:K,phase:J,threshold:q}=Z;if($>=0)return($+q-J+Q&-K)+J;else return-((-$+q-J+Q&-K)+J)}function C1($,Q,Z){let{period:K,phase:J,threshold:q}=Z,U=Math.round(K*46/64);if($>=0)return($+q-J+Q&-U)+J;else return-((-$+q-J+Q&-U)+J)}function N8($,Q,Z){switch(Z.roundState){case 1:return z0($,Q);case 0:return T1($,Q);case 2:return O1($,Q);case 3:return P1($,Q);case 4:return v1($,Q);case 5:return I1($,Q);case 6:return k1($,Q,Z);case 7:return C1($,Q,Z);default:return z0($,Q)}}function L9($,Q){switch($>>6&3){case 0:Q.period=32;break;case 1:Q.period=64;break;case 2:Q.period=128;break;default:Q.period=64}switch($>>4&3){case 0:Q.phase=0;break;case 1:Q.phase=Q.period>>2;break;case 2:Q.phase=Q.period>>1;break;case 3:Q.phase=Q.period*3>>2;break}let Z=$&15;if(Z===0)Q.threshold=Q.period-1;else Q.threshold=(Z-4)*Q.period>>3}function Q8($,Q){return 0}function MW($,Q){return Q.x*$.GS.projVector.x+Q.y*$.GS.projVector.y+8192>>14}function BW($,Q){return Q.x*$.GS.dualVector.x+Q.y*$.GS.dualVector.y+8192>>14}function B6($,Q,Z,K){let J=Q.cur[Z],q=$.GS.freeVector,U=$.GS.projVector,W=q.x*U.x+q.y*U.y+8192>>14;if(W===0)return;let H=Math.round(K*q.x/W),_=Math.round(K*q.y/W);J.x+=H,J.y+=_}function X6($,Q,Z){let K=Q.cur[Z];if(!K)return 0;return MW($,K)}function m6($,Q,Z){let K=Q.org[Z];if(!K)return 0;return BW($,K)}function T6($,Q,Z){let K=$.GS.freeVector;if(K.y!==0)Q.tags[Z]|=2;if(K.x!==0)Q.tags[Z]|=1}function S1($,Q){let Z=$.stack[--$.stackTop],K=$.zp0;if(Z<0||Z>=K.nPoints){$.error=`MDAP: invalid point ${Z}`;return}let J=X6($,K,Z);if(Q){let q=Q8(J,$.GS);J=N8(J,q,$.GS)-J}else J=0;B6($,K,Z,J),T6($,K,Z),$.GS.rp0=Z,$.GS.rp1=Z}function h1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0;if(K<0||K>=J.nPoints){$.error=`MIAP: invalid point ${K}`;return}if(Z<0||Z>=$.cvtSize){$.error=`MIAP: invalid CVT index ${Z}`;return}let q=$.cvt[Z],U=X6($,J,K);if(Q){if(Math.abs(q-U)>$.GS.controlValueCutIn)q=U;let _=Q8(q,$.GS);q=N8(q,_,$.GS)}let W=q-U;B6($,J,K,W),T6($,J,K),$.GS.rp0=K,$.GS.rp1=K}function x$($,Q){let Z=$.stack[--$.stackTop],K=(Q&16)!==0,J=(Q&8)!==0,q=(Q&4)!==0,U=$.zp0,W=$.zp1;if(Z<0||Z>=W.nPoints){$.error=`MDRP: invalid point ${Z}`;return}let H=$.GS.rp0;if(H<0||H>=U.nPoints){$.error=`MDRP: invalid rp0 ${H}`;return}let _=m6($,W,Z)-m6($,U,H);if($.GS.autoFlip&&_<0)_=-_;if(q){let X=Q8(_,$.GS);_=N8(_,X,$.GS)}if(J){if(_>=0){if(_<$.GS.minimumDistance)_=$.GS.minimumDistance}else if(_>-$.GS.minimumDistance)_=-$.GS.minimumDistance}let N=X6($,W,Z)-X6($,U,H),V=_-N;if(B6($,W,Z,V),T6($,W,Z),$.GS.rp1=$.GS.rp0,$.GS.rp2=Z,K)$.GS.rp0=Z}function u$($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=(Q&16)!==0,q=(Q&8)!==0,U=(Q&4)!==0,W=$.zp0,H=$.zp1;if(K<0||K>=H.nPoints){$.error=`MIRP: invalid point ${K}`;return}if(Z<0||Z>=$.cvtSize){$.error=`MIRP: invalid CVT index ${Z}`;return}let _=$.GS.rp0;if(_<0||_>=W.nPoints){$.error=`MIRP: invalid rp0 ${_}`;return}let N=m6($,H,K)-m6($,W,_),V=$.cvt[Z];if($.GS.autoFlip){if(N<0&&V>0||N>0&&V<0)V=-V}let X=Math.abs(N-V),z;if(X>$.GS.controlValueCutIn)z=N;else z=V;if(U){let G=Q8(z,$.GS);z=N8(z,G,$.GS)}if(q){if(N>=0){if(z<$.GS.minimumDistance)z=$.GS.minimumDistance}else if(z>-$.GS.minimumDistance)z=-$.GS.minimumDistance}let j=X6($,H,K)-X6($,W,_),Y=z-j;if(B6($,H,K,Y),T6($,H,K),$.GS.rp1=$.GS.rp0,$.GS.rp2=K,J)$.GS.rp0=K}function y1($,Q){let Z=Q?$.zp0:$.zp1,K=Q?$.GS.rp1:$.GS.rp2;if(K<0||K>=Z.nPoints){$.error=`SHP: invalid reference point ${K}`;return}let J=m6($,Z,K),U=X6($,Z,K)-J,W=$.zp2,H=$.GS.loop;$.GS.loop=1;for(let _=0;_<H;_++){let N=$.stack[--$.stackTop];if(N<0||N>=W.nPoints){$.error=`SHP: invalid point ${N}`;return}B6($,W,N,U),T6($,W,N)}}function b1($,Q){let Z=$.stack[--$.stackTop],K=Q?$.zp0:$.zp1,J=Q?$.GS.rp1:$.GS.rp2;if(J<0||J>=K.nPoints){$.error=`SHC: invalid reference point ${J}`;return}let q=$.zp2;if(Z<0||Z>=q.nContours){$.error=`SHC: invalid contour ${Z}`;return}let U=m6($,K,J),H=X6($,K,J)-U,_=Z===0?0:q.contours[Z-1]+1,N=q.contours[Z];for(let V=_;V<=N;V++){if(q===K&&V===J)continue;B6($,q,V,H),T6($,q,V)}}function m1($,Q){let Z=$.stack[--$.stackTop],K=Q?$.zp0:$.zp1,J=Q?$.GS.rp1:$.GS.rp2;if(J<0||J>=K.nPoints){$.error=`SHZ: invalid reference point ${J}`;return}let q=Z===0?$.twilight:$.pts,U=m6($,K,J),H=X6($,K,J)-U;for(let _=0;_<q.nPoints;_++){if(q===K&&_===J)continue;B6($,q,_,H)}}function f$($){let Q=$.stack[--$.stackTop],Z=$.zp2,K=$.GS.loop;$.GS.loop=1;for(let J=0;J<K;J++){let q=$.stack[--$.stackTop];if(q<0||q>=Z.nPoints){$.error=`SHPIX: invalid point ${q}`;return}B6($,Z,q,Q),T6($,Z,q)}}function l$($){let Q=$.GS.rp1,Z=$.GS.rp2;if(Q<0||Q>=$.zp0.nPoints){$.error=`IP: invalid rp1 ${Q}`;return}if(Z<0||Z>=$.zp1.nPoints){$.error=`IP: invalid rp2 ${Z}`;return}let K=m6($,$.zp0,Q),J=m6($,$.zp1,Z),q=X6($,$.zp0,Q),U=X6($,$.zp1,Z),W=J-K,H=U-q,_=$.zp2,N=$.GS.loop;$.GS.loop=1;for(let V=0;V<N;V++){let X=$.stack[--$.stackTop];if(X<0||X>=_.nPoints){$.error=`IP: invalid point ${X}`;return}let z=m6($,_,X),j=X6($,_,X),Y;if(W!==0){let G=z-K;Y=q+Math.round(G*H/W)}else Y=j+(q-K);B6($,_,X,Y-j),T6($,_,X)}}function n$($){let Q=$.GS.rp0;if(Q<0||Q>=$.zp0.nPoints){$.error=`ALIGNRP: invalid rp0 ${Q}`;return}let Z=X6($,$.zp0,Q),K=$.zp1,J=$.GS.loop;$.GS.loop=1;for(let q=0;q<J;q++){let U=$.stack[--$.stackTop];if(U<0||U>=K.nPoints){$.error=`ALIGNRP: invalid point ${U}`;return}let W=X6($,K,U),H=Z-W;B6($,K,U,H),T6($,K,U)}}function g1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0,q=$.zp1;if(K<0||K>=q.nPoints){$.error=`MSIRP: invalid point ${K}`;return}let U=$.GS.rp0;if(U<0||U>=J.nPoints){$.error=`MSIRP: invalid rp0 ${U}`;return}let W=X6($,q,K)-X6($,J,U),H=Z-W;if(B6($,q,K,H),T6($,q,K),$.GS.rp1=$.GS.rp0,$.GS.rp2=K,Q)$.GS.rp0=K}function d$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.stack[--$.stackTop],q=$.stack[--$.stackTop],U=$.zp0,W=$.zp1,H=$.zp2;if(J<0||J>=U.nPoints||K<0||K>=U.nPoints){$.error="ISECT: invalid line A points";return}if(Z<0||Z>=W.nPoints||Q<0||Q>=W.nPoints){$.error="ISECT: invalid line B points";return}if(q<0||q>=H.nPoints){$.error=`ISECT: invalid point ${q}`;return}let _=U.cur[J],N=U.cur[K],V=W.cur[Z],X=W.cur[Q],z=N.x-_.x,j=N.y-_.y,Y=X.x-V.x,G=X.y-V.y,E=z*G-j*Y,w=H.cur[q];if(E===0)w.x=_.x+N.x+V.x+X.x>>2,w.y=_.y+N.y+V.y+X.y>>2;else{let F=V.x-_.x,A=V.y-_.y,M=(F*G-A*Y)/E;w.x=Math.round(_.x+M*z),w.y=Math.round(_.y+M*j)}H.tags[q]|=3}function p$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.zp0,J=$.zp1;if(Z<0||Z>=K.nPoints){$.error=`ALIGNPTS: invalid point ${Z}`;return}if(Q<0||Q>=J.nPoints){$.error=`ALIGNPTS: invalid point ${Q}`;return}let q=X6($,K,Z),U=X6($,J,Q),W=q+U>>1;B6($,K,Z,W-q),B6($,J,Q,W-U),T6($,K,Z),T6($,J,Q)}function x1($,Q){let Z=$.stack[--$.stackTop],K=$.zp2;if(Z<0||Z>=K.nPoints){$.error=`GC: invalid point ${Z}`,$.stack[$.stackTop++]=0;return}let J=Q?m6($,K,Z):X6($,K,Z);$.stack[$.stackTop++]=J}function c$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.zp2;if(Z<0||Z>=K.nPoints){$.error=`SCFS: invalid point ${Z}`;return}let J=X6($,K,Z);B6($,K,Z,Q-J),T6($,K,Z)}function u1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0,q=$.zp1;if(K<0||K>=J.nPoints){$.error=`MD: invalid point ${K}`,$.stack[$.stackTop++]=0;return}if(Z<0||Z>=q.nPoints){$.error=`MD: invalid point ${Z}`,$.stack[$.stackTop++]=0;return}let U;if(Q)U=m6($,q,Z)-m6($,J,K);else U=X6($,q,Z)-X6($,J,K);$.stack[$.stackTop++]=U}function o$($){$.stack[$.stackTop++]=$.ppem}function i$($){$.stack[$.stackTop++]=$.pointSize}function s$($){let Q=$.pts,Z=$.GS.loop;$.GS.loop=1;for(let K=0;K<Z;K++){let J=$.stack[--$.stackTop];if(J<0||J>=Q.nPoints){$.error=`FLIPPT: invalid point ${J}`;return}Q.tags[J]^=1}}function a$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.pts;if(Z<0||Q>=K.nPoints||Z>Q){$.error=`FLIPRGON: invalid range ${Z}-${Q}`;return}for(let J=Z;J<=Q;J++)K.tags[J]|=1}function r$($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.pts;if(Z<0||Q>=K.nPoints||Z>Q){$.error=`FLIPRGOFF: invalid range ${Z}-${Q}`;return}for(let J=Z;J<=Q;J++)K.tags[J]&=-2}function D9($,Q){let Z=$.stack[--$.stackTop],K=Q8(Z,$.GS);$.stack[$.stackTop++]=N8(Z,K,$.GS)}function M9($,Q){let Z=$.stack[--$.stackTop],K=Q8(Z,$.GS);$.stack[$.stackTop++]=Z+K}function t$($){f1($,0)}function e$($){f1($,16)}function $Q($){f1($,32)}function f1($,Q){let Z=$.stack[--$.stackTop];if(Z<0){$.error=`DELTAP: invalid count ${Z}`;return}let K=$.zp0;for(let J=0;J<Z;J++){let q=$.stack[--$.stackTop],U=$.stack[--$.stackTop];if(q<0||q>=K.nPoints){$.error=`DELTAP: invalid point ${q}`;return}let W=(U>>4&15)+$.GS.deltaBase+Q,H=U&15;if(W!==$.ppem)continue;let _;if(H<8)_=H+1<<6-$.GS.deltaShift;else _=-(H-7<<6-$.GS.deltaShift);B6($,K,q,_),T6($,K,q)}}function QQ($){l1($,0)}function ZQ($){l1($,16)}function KQ($){l1($,32)}function l1($,Q){let Z=$.stack[--$.stackTop];if(Z<0){$.error=`DELTAC: invalid count ${Z}`;return}for(let K=0;K<Z;K++){let J=$.stack[--$.stackTop],q=$.stack[--$.stackTop];if(J<0||J>=$.cvtSize){$.error=`DELTAC: invalid CVT index ${J}`;return}let U=(q>>4&15)+$.GS.deltaBase+Q,W=q&15;if(U!==$.ppem)continue;let H;if(W<8)H=W+1<<6-$.GS.deltaShift;else H=-(W-7<<6-$.GS.deltaShift);$.cvt[J]+=H}}function n1($,Q){if(Q===0)$.GS.projVector={x:0,y:16384},$.GS.freeVector={x:0,y:16384},$.GS.dualVector={x:0,y:16384};else $.GS.projVector={x:16384,y:0},$.GS.freeVector={x:16384,y:0},$.GS.dualVector={x:16384,y:0}}function d1($,Q){if(Q===0)$.GS.projVector={x:0,y:16384},$.GS.dualVector={x:0,y:16384};else $.GS.projVector={x:16384,y:0},$.GS.dualVector={x:16384,y:0}}function p1($,Q){if(Q===0)$.GS.freeVector={x:0,y:16384};else $.GS.freeVector={x:16384,y:0}}function c1($,Q,Z,K,J){let q=K===0?$.twilight:$.pts,U=J===0?$.twilight:$.pts,W=q.cur[Q],H=U.cur[Z];if(!W||!H)return{x:16384,y:0};let _=H.x-W.x,N=H.y-W.y,V=Math.sqrt(_*_+N*N);if(V===0)return{x:16384,y:0};return{x:Math.round(_/V*16384),y:Math.round(N/V*16384)}}function o1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=c1($,K,Z,$.GS.gep1,$.GS.gep2);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.projVector=J,$.GS.dualVector=J}function i1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=c1($,K,Z,$.GS.gep1,$.GS.gep2);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.freeVector=J}function s1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=c1($,K,Z,$.GS.gep1,$.GS.gep2);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.dualVector=J}function JQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=Math.sqrt(Z*Z+Q*Q);if(K===0)$.GS.projVector={x:16384,y:0};else $.GS.projVector={x:Math.round(Z/K*16384),y:Math.round(Q/K*16384)};$.GS.dualVector={...$.GS.projVector}}function qQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=Math.sqrt(Z*Z+Q*Q);if(K===0)$.GS.freeVector={x:16384,y:0};else $.GS.freeVector={x:Math.round(Z/K*16384),y:Math.round(Q/K*16384)}}function UQ($){$.stack[$.stackTop++]=$.GS.projVector.x,$.stack[$.stackTop++]=$.GS.projVector.y}function WQ($){$.stack[$.stackTop++]=$.GS.freeVector.x,$.stack[$.stackTop++]=$.GS.freeVector.y}function HQ($){$.GS.freeVector={...$.GS.projVector}}function _Q($){$.GS.rp0=$.stack[--$.stackTop]}function NQ($){$.GS.rp1=$.stack[--$.stackTop]}function VQ($){$.GS.rp2=$.stack[--$.stackTop]}function XQ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP0: invalid zone ${Q}`;return}$.GS.gep0=Q,$.zp0=Q===0?$.twilight:$.pts}function zQ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP1: invalid zone ${Q}`;return}$.GS.gep1=Q,$.zp1=Q===0?$.twilight:$.pts}function jQ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP2: invalid zone ${Q}`;return}$.GS.gep2=Q,$.zp2=Q===0?$.twilight:$.pts}function YQ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZPS: invalid zone ${Q}`;return}$.GS.gep0=Q,$.GS.gep1=Q,$.GS.gep2=Q;let Z=Q===0?$.twilight:$.pts;$.zp0=Z,$.zp1=Z,$.zp2=Z}function GQ($){let Q=$.stack[--$.stackTop];if(Q<=0){$.error=`SLOOP: invalid count ${Q}`;return}$.GS.loop=Q}function EQ($){$.GS.minimumDistance=$.stack[--$.stackTop]}function wQ($){$.GS.controlValueCutIn=$.stack[--$.stackTop]}function AQ($){$.GS.singleWidthCutIn=$.stack[--$.stackTop]}function FQ($){$.GS.singleWidthValue=$.stack[--$.stackTop]}function LQ($){$.GS.deltaBase=$.stack[--$.stackTop]}function DQ($){$.GS.deltaShift=$.stack[--$.stackTop]}function MQ($){$.GS.roundState=1}function BQ($){$.GS.roundState=0}function RQ($){$.GS.roundState=2}function TQ($){$.GS.roundState=3}function OQ($){$.GS.roundState=4}function PQ($){$.GS.roundState=5}function vQ($){let Q=$.stack[--$.stackTop];L9(Q,$.GS),$.GS.roundState=6}function IQ($){let Q=$.stack[--$.stackTop];L9(Q,$.GS),$.GS.roundState=7}function kQ($){$.GS.autoFlip=!0}function CQ($){$.GS.autoFlip=!1}function SQ($){$.GS.scanControl=$.stack[--$.stackTop]}function hQ($){$.GS.scanType=$.stack[--$.stackTop]}function yQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===1||Q===2)if(Z)$.GS.instructControl|=Q;else $.GS.instructControl&=~Q}function bQ($){let Q=$.stack[--$.stackTop],Z=0;if(Q&1)Z|=35;if(Q&32)Z|=4096;$.stack[$.stackTop++]=Z}function mQ($){let Q=$.stack[--$.stackTop];if(Q<0||Q>=$.storageSize){$.error=`RS: invalid index ${Q}`,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=$.storage[Q]}function gQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.storageSize){$.error=`WS: invalid index ${Z}`;return}$.storage[Z]=Q}function xQ($){let Q=$.stack[--$.stackTop];if(Q<0||Q>=$.cvtSize){$.error=`RCVT: invalid index ${Q}`,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=$.cvt[Q]}function uQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.cvtSize){$.error=`WCVTP: invalid index ${Z}`;return}$.cvt[Z]=Q}function fQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.cvtSize){$.error=`WCVTF: invalid index ${Z}`;return}$.cvt[Z]=Math.round(Q*$.scale)}function lQ($){let Q=$.stack[--$.stackTop],Z=$.zp0;if(Q<0||Q>=Z.nPoints){$.error=`UTP: invalid point ${Q}`;return}let K=$.GS.freeVector;if(K.y!==0)Z.tags[Q]&=~2;if(K.x!==0)Z.tags[Q]&=~1}function dQ($){cQ($,1,!0)}function pQ($){cQ($,2,!1)}function cQ($,Q,Z){let K=$.pts,J=K.nPoints,q=K.nContours;if(J===0||q===0)return;let U=0;for(let W=0;W<q;W++){let H=K.contours[W],_=-1;for(let z=U;z<=H;z++)if(K.tags[z]&Q){_=z;break}if(_<0){U=H+1;continue}let N=_,V=_+1,X=!1;while(!0){if(V>H){if(X)break;V=U,X=!0}if(V===_&&X){if(N!==_)nQ(K,N,_,U,H,Z);break}if(K.tags[V]&Q){if(N!==V)nQ(K,N,V,U,H,Z);N=V}V++}U=H+1}}function nQ($,Q,Z,K,J,q){let U=q?$.org[Q]?.x:$.org[Q]?.y,W=q?$.org[Z]?.x:$.org[Z]?.y,H=q?$.cur[Q]?.x:$.cur[Q]?.y,_=q?$.cur[Z]?.x:$.cur[Z]?.y,N,V,X,z;if(U<=W)N=U,V=W,X=H,z=_;else N=W,V=U,X=_,z=H;let j=V-N,Y=z-X,G=Q+1;if(G>J)G=K;while(G!==Z){let E=q?$.org[G]?.x:$.org[G]?.y,w;if(E<=N)w=(q?$.cur[G]?.x:$.cur[G]?.y)+(X-N);else if(E>=V)w=(q?$.cur[G]?.x:$.cur[G]?.y)+(z-V);else if(j!==0){let F=E-N;w=X+Math.round(F*Y/j)}else w=X;if(q)$.cur[G].x=w;else $.cur[G].y=w;if(G++,G>J)G=K}}function oQ($){let Q=$.stack[$.stackTop-1];$.stack[$.stackTop++]=Q}function iQ($){$.stackTop--}function sQ($){$.stackTop=0}function aQ($){let Q=$.stack[$.stackTop-1],Z=$.stack[$.stackTop-2];$.stack[$.stackTop-1]=Z,$.stack[$.stackTop-2]=Q}function rQ($){let Q=$.stackTop;$.stack[$.stackTop++]=Q}function tQ($){let Q=$.stack[--$.stackTop];if(Q<=0||Q>$.stackTop){$.error=`CINDEX: invalid index ${Q}`;return}let Z=$.stack[$.stackTop-Q];$.stack[$.stackTop++]=Z}function eQ($){let Q=$.stack[--$.stackTop];if(Q<=0||Q>$.stackTop){$.error=`MINDEX: invalid index ${Q}`;return}let Z=$.stack[$.stackTop-Q];for(let K=$.stackTop-Q;K<$.stackTop-1;K++)$.stack[K]=$.stack[K+1];$.stack[$.stackTop-1]=Z}function $Z($){let Q=$.stack[$.stackTop-1],Z=$.stack[$.stackTop-2],K=$.stack[$.stackTop-3];$.stack[$.stackTop-1]=K,$.stack[$.stackTop-2]=Q,$.stack[$.stackTop-3]=Z}function a1($,Q){for(let Z=0;Z<Q;Z++)$.stack[$.stackTop++]=$.code[$.IP++]}function r1($,Q){for(let Z=0;Z<Q;Z++){let K=$.code[$.IP++],J=$.code[$.IP++],q=K<<8|J;if(q>=32768)q-=65536;$.stack[$.stackTop++]=q}}function QZ($){let Q=$.code[$.IP++];a1($,Q)}function ZZ($){let Q=$.code[$.IP++];r1($,Q)}function t1($){while($.IP<$.codeSize&&$.error===null){if(++$.instructionCount>$.maxInstructions){$.error="Instruction limit exceeded (possible infinite loop)";return}let Q=$.code[$.IP++];$.opcode=Q,RW($,Q)}}function RW($,Q){if(Q>=176&&Q<=183){a1($,Q-176+1);return}if(Q>=184&&Q<=191){r1($,Q-184+1);return}if(Q>=192&&Q<=223){x$($,Q&31);return}if(Q>=224&&Q<=255){u$($,Q&31);return}switch(Q){case D.SVTCA_Y:n1($,0);break;case D.SVTCA_X:n1($,1);break;case D.SPVTCA_Y:d1($,0);break;case D.SPVTCA_X:d1($,1);break;case D.SFVTCA_Y:p1($,0);break;case D.SFVTCA_X:p1($,1);break;case D.SPVTL_0:o1($,!1);break;case D.SPVTL_1:o1($,!0);break;case D.SFVTL_0:i1($,!1);break;case D.SFVTL_1:i1($,!0);break;case D.SDPVTL_0:s1($,!1);break;case D.SDPVTL_1:s1($,!0);break;case D.SPVFS:JQ($);break;case D.SFVFS:qQ($);break;case D.GPV:UQ($);break;case D.GFV:WQ($);break;case D.SFVTPV:HQ($);break;case D.ISECT:d$($);break;case D.SRP0:_Q($);break;case D.SRP1:NQ($);break;case D.SRP2:VQ($);break;case D.SZP0:XQ($);break;case D.SZP1:zQ($);break;case D.SZP2:jQ($);break;case D.SZPS:YQ($);break;case D.SLOOP:GQ($);break;case D.RTG:MQ($);break;case D.RTHG:BQ($);break;case D.SMD:EQ($);break;case D.ELSE:v$($);break;case D.JMPR:k$($);break;case D.SCVTCI:wQ($);break;case D.SSWCI:AQ($);break;case D.SSW:FQ($);break;case D.DUP:oQ($);break;case D.POP:iQ($);break;case D.CLEAR:sQ($);break;case D.SWAP:aQ($);break;case D.DEPTH:rQ($);break;case D.CINDEX:tQ($);break;case D.MINDEX:eQ($);break;case D.ROLL:$Z($);break;case D.FDEF:h$($);break;case D.ENDF:y$($);break;case D.CALL:b$($);break;case D.LOOPCALL:m$($);break;case D.MDAP_0:S1($,!1);break;case D.MDAP_1:S1($,!0);break;case D.IUP_Y:pQ($);break;case D.IUP_X:dQ($);break;case D.SHP_0:y1($,!1);break;case D.SHP_1:y1($,!0);break;case D.SHC_0:b1($,!1);break;case D.SHC_1:b1($,!0);break;case D.SHZ_0:m1($,!1);break;case D.SHZ_1:m1($,!0);break;case D.SHPIX:f$($);break;case D.IP:l$($);break;case D.MSIRP_0:g1($,!1);break;case D.MSIRP_1:g1($,!0);break;case D.ALIGNRP:n$($);break;case D.ALIGNPTS:p$($);break;case D.UTP:lQ($);break;case D.RTDG:RQ($);break;case D.MIAP_0:h1($,!1);break;case D.MIAP_1:h1($,!0);break;case D.NPUSHB:QZ($);break;case D.NPUSHW:ZZ($);break;case D.WS:gQ($);break;case D.RS:mQ($);break;case D.WCVTP:uQ($);break;case D.RCVT:xQ($);break;case D.GC_0:x1($,!1);break;case D.GC_1:x1($,!0);break;case D.SCFS:c$($);break;case D.MD_0:u1($,!1);break;case D.MD_1:u1($,!0);break;case D.MPPEM:o$($);break;case D.MPS:i$($);break;case D.FLIPON:kQ($);break;case D.FLIPOFF:CQ($);break;case D.DEBUG:break;case D.LT:E$($);break;case D.LTEQ:w$($);break;case D.GT:A$($);break;case D.GTEQ:F$($);break;case D.EQ:L$($);break;case D.NEQ:D$($);break;case D.ODD:M$($);break;case D.EVEN:B$($);break;case D.IF:P$($);break;case D.EIF:I$($);break;case D.AND:R$($);break;case D.OR:T$($);break;case D.NOT:O$($);break;case D.DELTAP1:t$($);break;case D.SDB:LQ($);break;case D.SDS:DQ($);break;case D.ADD:W$($);break;case D.SUB:H$($);break;case D.DIV:_$($);break;case D.MUL:N$($);break;case D.ABS:V$($);break;case D.NEG:X$($);break;case D.FLOOR:z$($);break;case D.CEILING:j$($);break;case D.ROUND_0:D9($,0);break;case D.ROUND_1:D9($,1);break;case D.ROUND_2:D9($,2);break;case D.ROUND_3:D9($,3);break;case D.NROUND_0:M9($,0);break;case D.NROUND_1:M9($,1);break;case D.NROUND_2:M9($,2);break;case D.NROUND_3:M9($,3);break;case D.WCVTF:fQ($);break;case D.DELTAP2:e$($);break;case D.DELTAP3:$Q($);break;case D.DELTAC1:QQ($);break;case D.DELTAC2:ZQ($);break;case D.DELTAC3:KQ($);break;case D.SROUND:vQ($);break;case D.S45ROUND:IQ($);break;case D.JROT:C$($);break;case D.JROF:S$($);break;case D.ROFF:PQ($);break;case D.RUTG:OQ($);break;case D.RDTG:TQ($);break;case D.SANGW:$.stackTop--;break;case D.AA:$.stackTop--;break;case D.FLIPPT:s$($);break;case D.FLIPRGON:a$($);break;case D.FLIPRGOFF:r$($);break;case D.SCANCTRL:SQ($);break;case D.SCANTYPE:hQ($);break;case D.MAX:Y$($);break;case D.MIN:G$($);break;case D.GETINFO:bQ($);break;case D.IDEF:g$($);break;case D.INSTCTRL:yQ($);break;default:if(Q<$.maxIDefs&&$.IDefs[Q]?.active){let Z=$.IDefs[Q];if($.callStackTop>=$.maxCallStack){$.error="IDEF call: call stack overflow";return}let K=$.callStack[$.callStackTop++];K.callerIP=$.IP,K.callerRange=$.currentRange,K.def={id:Q,start:Z.start,end:Z.end,active:!0,range:Z.range},K.count=1,$.currentRange=Z.range;let J=$.codeRanges.get($.currentRange);if(J)$.code=J.code,$.codeSize=J.size;$.IP=Z.start}else $.error=`Unknown opcode 0x${Q.toString(16)}`}}function l8($,Q,Z){$.codeRanges.set(Q,{code:Z,size:Z.length})}function B9($,Q){let Z=$.codeRanges.get(Q);if(!Z)return;$.currentRange=Q,$.code=Z.code,$.codeSize=Z.size,$.IP=0,$.instructionCount=0,t1($)}function j0($){B9($,1)}function Y0($){$.GS={...$.defaultGS},B9($,2),$.defaultGS={...$.GS}}function G0($,Q){$.GS={...$.defaultGS},$.zp0=$.pts,$.zp1=$.pts,$.zp2=$.pts,l8($,3,Q),B9($,3)}function E0($,Q=256,Z=64,K=64,J=16,q){let U=X0(Q,Z,K,K,32,J);if(q)U.cvt=new Int32Array(q),U.cvtSize=q.length;return U.twilight.nPoints=J,U.zp0=U.twilight,U.zp1=U.twilight,U.zp2=U.twilight,{ctx:U,unitsPerEM:$,fpgmExecuted:!1,currentPpem:0}}function w0($,Q){l8($.ctx,1,Q)}function A0($,Q){l8($.ctx,2,Q)}function e1($){if($.fpgmExecuted)return null;return $.ctx.error=null,j0($.ctx),$.fpgmExecuted=!0,$.ctx.error}function F0($,Q,Z){if(!$.fpgmExecuted){let K=e1($);if(K)return K}if($.currentPpem===Q)return null;return $.ctx.scale=Q*64/$.unitsPerEM,$.ctx.ppem=Q,$.ctx.pointSize=Z,TW($.ctx),$.ctx.error=null,Y0($.ctx),$.currentPpem=Q,$.ctx.error}function TW($){for(let Q=0;Q<$.cvtSize;Q++)$.cvt[Q]=Math.round($.cvt[Q]*$.scale)}function L0($,Q){let Z=$.ctx,K=Q.xCoords.length,J=Q.contourEnds.length,q=K+4,U=$8(q,J);U.nPoints=q,U.nContours=J;for(let j=0;j<K;j++){let Y=Math.round(Q.xCoords[j]*Z.scale),G=Math.round(Q.yCoords[j]*Z.scale);U.org[j].x=Y,U.org[j].y=G,U.cur[j].x=Y,U.cur[j].y=G,U.orus[j].x=Q.xCoords[j],U.orus[j].y=Q.yCoords[j],U.tags[j]=Q.flags[j]}let W=1/0;for(let j=0;j<K;j++)if(Q.xCoords[j]<W)W=Q.xCoords[j];if(!Number.isFinite(W))W=0;let H=Q.lsb??0,_=Q.advanceWidth??0,N=Math.round((W-H)*Z.scale);U.org[K].x=N,U.org[K].y=0,U.cur[K].x=N,U.cur[K].y=0,U.orus[K].x=W-H,U.orus[K].y=0,U.tags[K]=0;let V=Math.round((W-H+_)*Z.scale);U.org[K+1].x=V,U.org[K+1].y=0,U.cur[K+1].x=V,U.cur[K+1].y=0,U.orus[K+1].x=W-H+_,U.orus[K+1].y=0,U.tags[K+1]=0;for(let j=K+2;j<q;j++)U.org[j].x=0,U.org[j].y=0,U.cur[j].x=0,U.cur[j].y=0,U.orus[j].x=0,U.orus[j].y=0,U.tags[j]=0;for(let j=0;j<J;j++)U.contours[j]=Q.contourEnds[j];Z.pts=U,Z.zp0=U,Z.zp1=U,Z.zp2=U,Z.twilight.nPoints=Z.twilight.org.length;for(let j=0;j<Z.twilight.nPoints;j++)Z.twilight.org[j].x=0,Z.twilight.org[j].y=0,Z.twilight.cur[j].x=0,Z.twilight.cur[j].y=0,Z.twilight.tags[j]=0;if(Z.error=null,Q.instructions.length>0)G0(Z,Q.instructions);let X=Array(K),z=Array(K);for(let j=0;j<K;j++)X[j]=U.cur[j]?.x,z[j]=U.cur[j]?.y;return{xCoords:X,yCoords:z,flags:Q.flags,contourEnds:Q.contourEnds,error:Z.error}}function KZ($){return $.map((Q)=>Q/64)}var D0;((q)=>{q[q.Invalid=0]="Invalid";q[q.LTR=4]="LTR";q[q.RTL=5]="RTL";q[q.TTB=6]="TTB";q[q.BTT=7]="BTT"})(D0||={});var JZ;((K)=>{K[K.MonotoneGraphemes=0]="MonotoneGraphemes";K[K.MonotoneCharacters=1]="MonotoneCharacters";K[K.Characters=2]="Characters"})(JZ||={});var qZ;((U)=>{U[U.Default=0]="Default";U[U.BeginningOfText=1]="BeginningOfText";U[U.EndOfText=2]="EndOfText";U[U.PreserveDefaultIgnorables=4]="PreserveDefaultIgnorables";U[U.RemoveDefaultIgnorables=8]="RemoveDefaultIgnorables";U[U.DoNotInsertDottedCircle=16]="DoNotInsertDottedCircle"})(qZ||={});var M0;((J)=>{J[J.Base=1]="Base";J[J.Ligature=2]="Ligature";J[J.Mark=3]="Mark";J[J.Component=4]="Component"})(M0||={});function k($){if($.length!==4)throw Error(`Tag must be exactly 4 characters: "${$}"`);return $.charCodeAt(0)<<24|$.charCodeAt(1)<<16|$.charCodeAt(2)<<8|$.charCodeAt(3)}function R9($){return String.fromCharCode($>>24&255,$>>16&255,$>>8&255,$&255)}var p={head:k("head"),hhea:k("hhea"),hmtx:k("hmtx"),maxp:k("maxp"),cmap:k("cmap"),loca:k("loca"),glyf:k("glyf"),name:k("name"),OS2:k("OS/2"),post:k("post"),GDEF:k("GDEF"),GSUB:k("GSUB"),GPOS:k("GPOS"),BASE:k("BASE"),JSTF:k("JSTF"),MATH:k("MATH"),CFF:k("CFF "),CFF2:k("CFF2"),fvar:k("fvar"),gvar:k("gvar"),avar:k("avar"),HVAR:k("HVAR"),VVAR:k("VVAR"),MVAR:k("MVAR"),morx:k("morx"),kerx:k("kerx"),kern:k("kern"),trak:k("trak"),feat:k("feat"),COLR:k("COLR"),CPAL:k("CPAL"),SVG:k("SVG "),sbix:k("sbix"),CBDT:k("CBDT"),CBLC:k("CBLC"),STAT:k("STAT"),vhea:k("vhea"),vmtx:k("vmtx"),VORG:k("VORG"),fpgm:k("fpgm"),prep:k("prep"),cvt:k("cvt "),gasp:k("gasp")},vY={ccmp:k("ccmp"),locl:k("locl"),rlig:k("rlig"),liga:k("liga"),clig:k("clig"),calt:k("calt"),rclt:k("rclt"),dlig:k("dlig"),smcp:k("smcp"),c2sc:k("c2sc"),isol:k("isol"),init:k("init"),medi:k("medi"),fina:k("fina"),kern:k("kern"),mark:k("mark"),mkmk:k("mkmk"),curs:k("curs"),dist:k("dist")};class R8{direction=4;script="Zyyy";language=null;infos=[];positions=[];_deleted=null;_deletedCount=0;_infoPool=[];_posPool=[];_capacity=0;static withCapacity($){let Q=new R8;return Q._capacity=$,Q}get length(){return this.infos.length}reset(){this.infos.length=0,this.positions.length=0,this._deleted=null,this._deletedCount=0}initFromCodepoints($,Q,Z){let K=$.length,J=this._infoPool.length;if(J<K){let q=K-J;for(let U=0;U<q;U++)this._infoPool.push({glyphId:0,cluster:0,mask:0,codepoint:0}),this._posPool.push({xAdvance:0,yAdvance:0,xOffset:0,yOffset:0})}this.infos.length=K,this.positions.length=K;for(let q=0;q<K;q++){let U=$[q],W=this._infoPool[q];W.glyphId=Z(U),W.cluster=Q[q],W.mask=4294967295,W.codepoint=U,this.infos[q]=W;let H=this._posPool[q];H.xAdvance=0,H.yAdvance=0,H.xOffset=0,H.yOffset=0,this.positions[q]=H}this._deleted=null,this._deletedCount=0}initFromCodepointsWithFont($,Q,Z){let K=$.length,J=this._infoPool.length;if(J<K){let q=K-J;for(let U=0;U<q;U++)this._infoPool.push({glyphId:0,cluster:0,mask:0,codepoint:0}),this._posPool.push({xAdvance:0,yAdvance:0,xOffset:0,yOffset:0})}this.infos.length=K,this.positions.length=K;for(let q=0;q<K;q++){let U=$[q],W=this._infoPool[q];W.glyphId=Z.glyphId(U),W.cluster=Q[q],W.mask=4294967295,W.codepoint=U,this.infos[q]=W;let H=this._posPool[q];H.xAdvance=0,H.yAdvance=0,H.xOffset=0,H.yOffset=0,this.positions[q]=H}this._deleted=null,this._deletedCount=0}initFromInfos($){this.infos=$;let Q=$.length,Z=Array(Q);for(let K=0;K<Q;K++)Z[K]={xAdvance:0,yAdvance:0,xOffset:0,yOffset:0};this.positions=Z}setAdvance($,Q,Z=0){let K=this.positions[$];if(K)K.xAdvance=Q,K.yAdvance=Z}addOffset($,Q,Z){let K=this.positions[$];if(K)K.xOffset+=Q,K.yOffset+=Z}replaceGlyph($,Q){let Z=this.infos[$];if(Z)Z.glyphId=Q}insertGlyph($,Q,Z){if(this.infos.splice($,0,Q),this.positions.splice($,0,Z),this._deleted){let K=new Uint8Array(this.infos.length);for(let J=0;J<$;J++)K[J]=this._deleted[J];K[$]=0;for(let J=$;J<this._deleted.length;J++)K[J+1]=this._deleted[J];this._deleted=K}}removeRange($,Q){let Z=Q-$;if(this.infos.splice($,Z),this.positions.splice($,Z),this._deleted&&this._deleted.length>this.infos.length)this._deleted=this._deleted.slice(0,this.infos.length)}markDeleted($){if(!this._deleted)this._deleted=new Uint8Array(this.infos.length);if(!this._deleted[$])this._deleted[$]=1,this._deletedCount++}isDeleted($){return this._deleted?this._deleted[$]===1:!1}hasPendingDeletions(){return this._deletedCount>0}compact(){if(this._deletedCount===0||!this._deleted)return;let $=0;for(let Q=0;Q<this.infos.length;Q++)if(!this._deleted[Q]){if($!==Q)this.infos[$]=this.infos[Q],this.positions[$]=this.positions[Q];$++}this.infos.length=$,this.positions.length=$,this._deleted=null,this._deletedCount=0}mergeClusters($,Q){if($>=Q||$<0||Q>=this.infos.length)return;let Z=this.infos[$]?.cluster;for(let K=$+1;K<=Q;K++){let J=this.infos[K];if(J)J.cluster=Z}}reverse(){this.infos.reverse(),this.positions.reverse()}reverseRange($,Q){let Z=$,K=Q-1;while(Z<K){let J=this.infos[Z],q=this.infos[K];if(!J||!q)break;this.infos[Z]=q,this.infos[K]=J;let U=this.positions[Z],W=this.positions[K];if(!U||!W)break;this.positions[Z]=W,this.positions[K]=U,Z++,K--}}getTotalAdvance(){let $=0,Q=0,Z=this.positions;for(let K=0;K<Z.length;K++){let J=Z[K];$+=J.xAdvance,Q+=J.yAdvance}return{x:$,y:Q}}serialize(){let $=[],Q=this.infos,Z=this.positions;for(let K=0;K<Q.length;K++){let J=Q[K],q=Z[K];if(!q)continue;let U=`${J.glyphId}`;if(K===0||J.cluster!==Q[K-1]?.cluster)U+=`=${J.cluster}`;if(q.xOffset!==0||q.yOffset!==0)U+=`@${q.xOffset},${q.yOffset}`;if(q.xAdvance!==0)U+=`+${q.xAdvance}`;$.push(U)}return`[${$.join("|")}]`}glyphIds(){return this.infos.map(($)=>$.glyphId)}clusters(){return this.infos.map(($)=>$.cluster)}*[Symbol.iterator](){let $=this.infos,Q=this.positions;for(let Z=0;Z<$.length;Z++){let K=$[Z],J=Q[Z];if(!J)continue;yield{info:K,position:J}}}}class UZ{_direction=4;_script="Zyyy";_language=null;_clusterLevel=0;_flags=0;codepoints=[];clusters=[];preContext=[];postContext=[];addStr($,Q=0){let Z=$.length;if(Z===0)return this;if(this.codepoints.length>0)return this._addStrAppend($,Q);let J=Array(Z),q=Array(Z),U=Q,W=0;for(let H=0;H<Z;H++){let _=$.charCodeAt(H);if(_>=55296&&_<=56319&&H+1<Z){let N=$.charCodeAt(H+1);if(N>=56320&&N<=57343){J[W]=(_-55296<<10)+(N-56320)+65536,q[W]=U,W++,U++,H++;continue}}J[W]=_,q[W]=U,W++,U++}if(W<Z)J.length=W,q.length=W;return this.codepoints=J,this.clusters=q,this}_addStrAppend($,Q){let Z=Q,K=$.length;for(let J=0;J<K;J++){let q=$.charCodeAt(J);if(q>=55296&&q<=56319&&J+1<K){let U=$.charCodeAt(J+1);if(U>=56320&&U<=57343){this.codepoints.push((q-55296<<10)+(U-56320)+65536),this.clusters.push(Z),Z++,J++;continue}}this.codepoints.push(q),this.clusters.push(Z),Z++}return this}addCodepoints($,Q=0){let Z=Q;for(let K=0;K<$.length;K++){let J=$[K];this.codepoints.push(J),this.clusters.push(Z),Z++}return this}addCodepoint($,Q){return this.codepoints.push($),this.clusters.push(Q??this.codepoints.length-1),this}setDirection($){return this._direction=$,this}setScript($){return this._script=$,this}setLanguage($){return this._language=$,this}setClusterLevel($){return this._clusterLevel=$,this}setFlags($){return this._flags=$,this}setPreContext($){this.preContext=[];let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$.charCodeAt(Z);if(K>=55296&&K<=56319&&Z+1<Q){let J=$.charCodeAt(Z+1);if(J>=56320&&J<=57343){this.preContext.push((K-55296<<10)+(J-56320)+65536),Z++;continue}}this.preContext.push(K)}return this}setPostContext($){this.postContext=[];let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$.charCodeAt(Z);if(K>=55296&&K<=56319&&Z+1<Q){let J=$.charCodeAt(Z+1);if(J>=56320&&J<=57343){this.postContext.push((K-55296<<10)+(J-56320)+65536),Z++;continue}}this.postContext.push(K)}return this}clear(){return this.codepoints.length=0,this.clusters.length=0,this.preContext.length=0,this.postContext.length=0,this}get length(){return this.codepoints.length}get direction(){return this._direction}get script(){return this._script}get language(){return this._language}get clusterLevel(){return this._clusterLevel}get flags(){return this._flags}toGlyphInfos(){return this.codepoints.map(($,Q)=>({glyphId:0,cluster:this.clusters[Q]??0,mask:0,codepoint:$}))}}function O6(){return[1,0,0,1,0,0]}function $5(){return[[1,0,0],[0,1,0],[0,0,1]]}function n8($,Q){return[1,0,0,1,$,Q]}function T8($,Q){return[$,0,0,Q,0,0]}function O8($){let Q=Math.cos($),Z=Math.sin($);return[Q,Z,-Z,Q,0,0]}function P8($,Q){return[1,Q,$,1,0,0]}function v8($,Q){return[$[0]*Q[0]+$[2]*Q[1],$[1]*Q[0]+$[3]*Q[1],$[0]*Q[2]+$[2]*Q[3],$[1]*Q[2]+$[3]*Q[3],$[0]*Q[4]+$[2]*Q[5]+$[4],$[1]*Q[4]+$[3]*Q[5]+$[5]]}function T9($,Q){let Z=[[0,0,0],[0,0,0],[0,0,0]];for(let K=0;K<3;K++)for(let J=0;J<3;J++)Z[K][J]=$[K][0]*Q[0][J]+$[K][1]*Q[1][J]+$[K][2]*Q[2][J];return Z}function $6($,Q,Z){return{x:Z[0]*$+Z[2]*Q+Z[4],y:Z[1]*$+Z[3]*Q+Z[5]}}function t($,Q,Z){let K=Z[2][0]*$+Z[2][1]*Q+Z[2][2],J=0.01;if(K<0.01)return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/0.01,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/0.01};return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/K,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/K}}function OW($,Q=0,Z=0){let K=$.commands.map((q)=>{switch(q.type){case"M":case"L":return{type:q.type,x:-q.y+Q,y:q.x+Z};case"Q":return{type:"Q",x1:-q.y1+Q,y1:q.x1+Z,x:-q.y+Q,y:q.x+Z};case"C":return{type:"C",x1:-q.y1+Q,y1:q.x1+Z,x2:-q.y2+Q,y2:q.x2+Z,x:-q.y+Q,y:q.x+Z};case"Z":return{type:"Z"};default:return q}}),J=null;if($.bounds){let q=$.bounds;if(J={xMin:-q.yMax+Q,yMin:q.xMin+Z,xMax:-q.yMin+Q,yMax:q.xMax+Z},J.xMin>J.xMax)[J.xMin,J.xMax]=[J.xMax,J.xMin];if(J.yMin>J.yMax)[J.yMin,J.yMax]=[J.yMax,J.yMin]}return{commands:K,bounds:J,flags:$.flags}}function PW($,Q,Z){let K=Q>=0?1<<Q:1/(1<<-Q),J=Z>=0?1<<Z:1/(1<<-Z),q=$.commands.map((W)=>{switch(W.type){case"M":case"L":return{type:W.type,x:W.x*K,y:W.y*J};case"Q":return{type:"Q",x1:W.x1*K,y1:W.y1*J,x:W.x*K,y:W.y*J};case"C":return{type:"C",x1:W.x1*K,y1:W.y1*J,x2:W.x2*K,y2:W.y2*J,x:W.x*K,y:W.y*J};case"Z":return{type:"Z"};default:return W}}),U=null;if($.bounds)U={xMin:$.bounds.xMin*K,yMin:$.bounds.yMin*J,xMax:$.bounds.xMax*K,yMax:$.bounds.yMax*J};return{commands:q,bounds:U,flags:$.flags}}function R6($,Q){let Z=$.commands.map((J)=>{switch(J.type){case"M":case"L":{let q=$6(J.x,J.y,Q);return{type:J.type,x:q.x,y:q.y}}case"Q":{let q=$6(J.x1,J.y1,Q),U=$6(J.x,J.y,Q);return{type:"Q",x1:q.x,y1:q.y,x:U.x,y:U.y}}case"C":{let q=$6(J.x1,J.y1,Q),U=$6(J.x2,J.y2,Q),W=$6(J.x,J.y,Q);return{type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}}case"Z":return{type:"Z"};default:return J}}),K=null;if($.bounds){let J=$.bounds,q=[$6(J.xMin,J.yMin,Q),$6(J.xMax,J.yMin,Q),$6(J.xMin,J.yMax,Q),$6(J.xMax,J.yMax,Q)];K={xMin:Math.min(...q.map((U)=>U.x)),yMin:Math.min(...q.map((U)=>U.y)),xMax:Math.max(...q.map((U)=>U.x)),yMax:Math.max(...q.map((U)=>U.y))}}return{commands:Z,bounds:K,flags:$.flags}}function O9($,Q){let Z=$.commands.map((J)=>{switch(J.type){case"M":case"L":{let q=t(J.x,J.y,Q);return{type:J.type,x:q.x,y:q.y}}case"Q":{let q=t(J.x1,J.y1,Q),U=t(J.x,J.y,Q);return{type:"Q",x1:q.x,y1:q.y,x:U.x,y:U.y}}case"C":{let q=t(J.x1,J.y1,Q),U=t(J.x2,J.y2,Q),W=t(J.x,J.y,Q);return{type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}}case"Z":return{type:"Z"};default:return J}}),K=null;if($.bounds){let J=$.bounds,q=[t(J.xMin,J.yMin,Q),t(J.xMax,J.yMin,Q),t(J.xMin,J.yMax,Q),t(J.xMax,J.yMax,Q)];K={xMin:Math.min(...q.map((U)=>U.x)),yMin:Math.min(...q.map((U)=>U.y)),xMax:Math.max(...q.map((U)=>U.x)),yMax:Math.max(...q.map((U)=>U.y))}}return{commands:Z,bounds:K,flags:$.flags}}function Q5($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),Z=Math.min(Z,U.y),K=Math.max(K,U.x),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x1,U.x),Z=Math.min(Z,U.y1,U.y),K=Math.max(K,U.x1,U.x),J=Math.max(J,U.y1,U.y);break;case"C":Q=Math.min(Q,U.x1,U.x2,U.x),Z=Math.min(Z,U.y1,U.y2,U.y),K=Math.max(K,U.x1,U.x2,U.x),J=Math.max(J,U.y1,U.y2,U.y);break}}if(!Number.isFinite(Q))return{xMin:0,yMin:0,xMax:0,yMax:0};return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function WZ($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function HZ($,Q,Z,K){let J=-$+3*Q-3*Z+K,q=2*($-2*Q+Z),U=-$+Q,W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)>0.0000000001){let H=-U/q;if(H>0&&H<1)W.push(H)}}else{let H=q*q-4*J*U;if(H>=0){let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V)}}return W}function _Z($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function NZ($,Q,Z,K,J){let q=1-J;return q*q*q*$+3*q*q*J*Q+3*q*J*J*Z+J*J*J*K}function B0($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0;for(let W=0;W<$.commands.length;W++){let H=$.commands[W];switch(H.type){case"M":q=H.x,U=H.y,Q=Math.min(Q,q),Z=Math.min(Z,U),K=Math.max(K,q),J=Math.max(J,U);break;case"L":q=H.x,U=H.y,Q=Math.min(Q,q),Z=Math.min(Z,U),K=Math.max(K,q),J=Math.max(J,U);break;case"Q":{Q=Math.min(Q,H.x),Z=Math.min(Z,H.y),K=Math.max(K,H.x),J=Math.max(J,H.y);let _=WZ(q,H.x1,H.x);for(let V=0;V<_.length;V++){let X=_[V],z=_Z(q,H.x1,H.x,X);Q=Math.min(Q,z),K=Math.max(K,z)}let N=WZ(U,H.y1,H.y);for(let V=0;V<N.length;V++){let X=N[V],z=_Z(U,H.y1,H.y,X);Z=Math.min(Z,z),J=Math.max(J,z)}q=H.x,U=H.y;break}case"C":{Q=Math.min(Q,H.x),Z=Math.min(Z,H.y),K=Math.max(K,H.x),J=Math.max(J,H.y);let _=HZ(q,H.x1,H.x2,H.x);for(let V=0;V<_.length;V++){let X=_[V],z=NZ(q,H.x1,H.x2,H.x,X);Q=Math.min(Q,z),K=Math.max(K,z)}let N=HZ(U,H.y1,H.y2,H.y);for(let V=0;V<N.length;V++){let X=N[V],z=NZ(U,H.y1,H.y2,H.y,X);Z=Math.min(Z,z),J=Math.max(J,z)}q=H.x,U=H.y;break}}}if(!Number.isFinite(Q))return{xMin:0,yMin:0,xMax:0,yMax:0};return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function vW($,Q,Z){let K=Z;for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":{let U=t(q.x,q.y,Q);K=Math.min(K,U.x);break}case"Q":{let U=t(q.x1,q.y1,Q),W=t(q.x,q.y,Q);K=Math.min(K,U.x,W.x);break}case"C":{let U=t(q.x1,q.y1,Q),W=t(q.x2,q.y2,Q),H=t(q.x,q.y,Q);K=Math.min(K,U.x,W.x,H.x);break}}}return K}function IW($,Q,Z){return R6($,n8(Q,Z))}function kW($,Q,Z=Q){return R6($,T8(Q,Z))}function CW($,Q){return R6($,O8(Q))}function SW($,Q){let Z=Math.tan(Q*Math.PI/180);return R6($,P8(Z,0))}function Z5($,Q,Z){return[[1,0,-$*Z],[0,1,-Q*Z],[0,0,1]]}function P9($){let Q=[],Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let W=0;W<$.length;W++){let H=$[W];if(Q.push(...H.commands),H.bounds)Z=Math.min(Z,H.bounds.xMin),K=Math.min(K,H.bounds.yMin),J=Math.max(J,H.bounds.xMax),q=Math.max(q,H.bounds.yMax)}let U=Number.isFinite(Z)?{xMin:Z,yMin:K,xMax:J,yMax:q}:null;return{commands:Q,bounds:U}}function d8($){return{commands:$.commands.map((Q)=>({...Q})),bounds:$.bounds?{...$.bounds}:null,flags:$.flags}}function J5($){if($.length===0)return[];for(let Q=0;Q<$.length;Q++){let Z=$[Q];if(!Z.onCurve)return Z.cubic?hW($):VZ($)}return VZ($)}function hW($){if($.length===0)return[];let Q=[],Z=0,K=$[0];if(!K)return[];Q.push({type:"M",x:K.x,y:K.y}),Z=1;while(Z<$.length){let J=$[Z];if(!J)break;if(J.onCurve)Q.push({type:"L",x:J.x,y:J.y}),Z++;else if(J.cubic){let q=J,U=$[Z+1],W=$[Z+2];if(!U||!W){Z++;continue}Q.push({type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}),Z+=3}else{let q=J,U=$[Z+1];if(!U){Z++;continue}let W;if(U.onCurve)W=U,Z+=2;else W={x:(q.x+U.x)/2,y:(q.y+U.y)/2,onCurve:!0},Z++;Q.push({type:"Q",x1:q.x,y1:q.y,x:W.x,y:W.y})}}return Q.push({type:"Z"}),Q}function VZ($){if($.length===0)return[];let Q=[],Z=0;for(let _=0;_<$.length;_++)if($[_].onCurve){Z=_;break}let K=$.every((_)=>!_.onCurve),J;if(K){let _=$[0],N=$[$.length-1];if(!_||!N)return[];J={x:(_.x+N.x)/2,y:(_.y+N.y)/2,onCurve:!0},Z=0}else{let _=$[Z];if(!_)return[];J=_}Q.push({type:"M",x:J.x,y:J.y});let q=$.length,U=K?0:Z+1;if(U>=q)U=0;let W=J,H=0;while(H<q){let _=$[U];if(!_)break;if(_.onCurve)Q.push({type:"L",x:_.x,y:_.y}),W=_;else{let N=U+1<q?U+1:0,V=$[N];if(!V)break;let X;if(V.onCurve)X=V,U=N,H++;else X={x:(_.x+V.x)/2,y:(_.y+V.y)/2,onCurve:!0};Q.push({type:"Q",x1:_.x,y1:_.y,x:X.x,y:X.y}),W=X}if(U++,U>=q)U=0;if(H++,W.x===J.x&&W.y===J.y)break}return Q.push({type:"Z"}),Q}var K5=new WeakMap;function S6($,Q){let Z=K5.get($);if(Z){let U=Z.get(Q);if(U!==void 0)return U}let K=$.getGlyphContoursAndBounds(Q);if(!K){if(!Z)Z=new Map,K5.set($,Z);return Z.set(Q,null),null}let J=[];for(let U=0;U<K.contours.length;U++){let W=K.contours[U];J.push(...J5(W))}let q={commands:J,bounds:K.bounds};if(!Z)Z=new Map,K5.set($,Z);return Z.set(Q,q),q}var Y6=10,XZ=new WeakMap;function V8($,Q){let Z=Q?.scale??1,K=Q?.flipY??!0;if(Z===1&&K){let W=XZ.get($);if(W)return W}let J=Z*Y6,q=K?-J:J,U="";for(let W=0;W<$.commands.length;W++){let H=$.commands[W];if(W>0)U+=" ";switch(H.type){case"M":U+="M "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"L":U+="L "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"Q":U+="Q "+Math.round(H.x1*J)+" "+Math.round(H.y1*q)+" "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"C":U+="C "+Math.round(H.x1*J)+" "+Math.round(H.y1*q)+" "+Math.round(H.x2*J)+" "+Math.round(H.y2*q)+" "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"Z":U+="Z";break}}if(Z===1&&K)XZ.set($,U);return U}function p8($,Q,Z){let K=Z?.scale??1,J=Z?.flipY??!0,q=Z?.offsetX??0,U=Z?.offsetY??0;for(let W=0;W<Q.commands.length;W++){let H=Q.commands[W];switch(H.type){case"M":$.moveTo(H.x*K+q,(J?-H.y:H.y)*K+U);break;case"L":$.lineTo(H.x*K+q,(J?-H.y:H.y)*K+U);break;case"Q":$.quadraticCurveTo(H.x1*K+q,(J?-H.y1:H.y1)*K+U,H.x*K+q,(J?-H.y:H.y)*K+U);break;case"C":$.bezierCurveTo(H.x1*K+q,(J?-H.y1:H.y1)*K+U,H.x2*K+q,(J?-H.y2:H.y2)*K+U,H.x*K+q,(J?-H.y:H.y)*K+U);break;case"Z":$.closePath();break}}}function yW($,Q,Z){let K=S6($,Q);if(!K)return null;let J=Z?.fontSize??100,q=Z?.fill??"currentColor",U=Z?.stroke,W=Z?.strokeWidth??1,H=J/$.unitsPerEm,_=K.bounds;if(!_)return null;let N=U?W/2:0,V=Math.ceil((_.xMax-_.xMin)*H+N*2),X=Math.ceil((_.yMax-_.yMin)*H+N*2),z=Math.round((_.xMin-N)*Y6),j=Math.round((-_.yMax-N)*Y6),Y=Math.round((_.xMax-_.xMin+N*2)*Y6),G=Math.round((_.yMax-_.yMin+N*2)*Y6),E=`${z} ${j} ${Y} ${G}`,w=V8(K,{flipY:!0,scale:1}),F=U?` stroke="${U}" stroke-width="${W*Y6}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${X}" viewBox="${E}">
|
|
3
|
+
`),h("",0,":"),h(" ",0,". "),h("",0,"ed "),h("",20,""),h("",18,""),h("",6,""),h("",0,"("),h("",10,", "),h("",8,""),h("",0," at "),h("",0,"ly "),h(" the ",0," of "),h("",5,""),h("",9,""),h(" ",10,", "),h("",10,'"'),h(".",0,"("),h("",11," "),h("",10,'">'),h("",0,'="'),h(" ",0,"."),h(".com/",0,""),h(" the ",0," of the "),h("",10,"'"),h("",0,". This "),h("",0,","),h(".",0," "),h("",10,"("),h("",10,"."),h("",0," not "),h(" ",0,'="'),h("",0,"er "),h(" ",11," "),h("",0,"al "),h(" ",11,""),h("",0,"='"),h("",11,'"'),h("",10,". "),h(" ",0,"("),h("",0,"ful "),h(" ",10,". "),h("",0,"ive "),h("",0,"less "),h("",11,"'"),h("",0,"est "),h(" ",10,"."),h("",11,'">'),h(" ",0,"='"),h("",10,","),h("",0,"ize "),h("",11,"."),h("Â ",0,""),h(" ",0,","),h("",10,'="'),h("",11,'="'),h("",0,"ous "),h("",11,", "),h("",10,"='"),h(" ",10,","),h(" ",11,'="'),h(" ",11,", "),h("",11,","),h("",11,"("),h("",11,". "),h(" ",11,"."),h("",11,"='"),h(" ",11,". "),h(" ",10,'="'),h(" ",11,"='"),h(" ",10,"='")]});var SJ={};XQ(SJ,{decompress:()=>K_,__testing:()=>J_});class x5{data;buf;pos=0;val=0;bitPos=0;bitEndPos=0;eos=!1;constructor($){this.data=$;this.buf=new Uint8Array(8224),this.fillBuffer();for(let Q=0;Q<4;Q++)this.val|=this.buf[this.pos]<<8*Q,this.pos++}fillBuffer(){if(this.bitEndPos>256)return;if(this.eos){if(this.bitPos>this.bitEndPos)throw Error("Unexpected end of input");return}let $=this.data.length-this.pos,Q=Math.min(4096,$);if(Q>0)this.buf.set(this.data.subarray(this.pos,this.pos+Q),0),this.pos=0;if(Q<4096){this.eos=!0;for(let Z=0;Z<32;Z++)this.buf[Q+Z]=0}this.bitEndPos+=Q<<3}readMoreInput(){if(this.bitEndPos>256)return;if(this.eos){if(this.bitPos>this.bitEndPos)throw Error("Unexpected end of input");return}let $=this.pos&4095,Q=Math.min(4096,this.data.length-(this.pos&-4096));if(Q>0){let Z=this.pos&-4096;this.buf.set(this.data.subarray(Z,Z+Q),$===0?0:4096)}if(Q<4096){this.eos=!0;for(let Z=0;Z<32;Z++)this.buf[$+Q+Z]=0}this.bitEndPos+=Q<<3}fillBitWindow(){while(this.bitPos>=8)this.val>>>=8,this.val|=this.buf[this.pos&8191]<<24,this.pos++,this.bitPos-=8,this.bitEndPos-=8}readBits($){if(32-this.bitPos<$)this.fillBitWindow();let Q=this.val>>>this.bitPos&(1<<$)-1;return this.bitPos+=$,Q}get currentBitPos(){return this.bitPos}set currentBitPos($){this.bitPos=$}get currentVal(){return this.val}}function f5($,Q,Z,K,J){let U=new Int32Array(16),W=new Int32Array(16),H=new Int32Array(J);for(let E=0;E<J;E++)U[K[E]]++;W[1]=0;for(let E=1;E<15;E++)W[E+1]=W[E]+U[E];for(let E=0;E<J;E++)if(K[E]!==0)H[W[K[E]]++]=E;let _=Z,N=1<<_,V=N;if(W[15]===1){for(let E=0;E<V;E++)$[Q+E]={bits:0,value:H[0]&65535};return V}let X=0,j=0;for(let E=1,w=2;E<=Z;E++,w<<=1)for(;U[E]>0;U[E]--){let F={bits:E&255,value:H[j++]&65535};u5($,Q+X,w,N,F),X=g5(X,E)}let z=V-1,Y=-1,G=Q;for(let E=Z+1,w=2;E<=15;E++,w<<=1)for(;U[E]>0;U[E]--){if((X&z)!==Y)G+=N,_=IJ(U,E,Z),N=1<<_,V+=N,Y=X&z,$[Q+Y]={bits:_+Z&255,value:G-Q-Y&65535};let F={bits:E-Z&255,value:H[j++]&65535};u5($,G+(X>>Z),w,N,F),X=g5(X,E)}return V}function g5($,Q){let Z=1<<Q-1;while($&Z)Z>>=1;return($&Z-1)+Z}function u5($,Q,Z,K,J){do K-=Z,$[Q+K]={bits:J.bits,value:J.value};while(K>0)}function IJ($,Q,Z){let K=1<<Q-Z;while(Q<15){if(K-=$[Q],K<=0)break;Q++,K<<=1}return Q-Z}function w8($,Q,Z){Z.fillBitWindow();let K=Q+(Z.currentVal>>>Z.currentBitPos&c4),J=$[K].bits-m5;if(J>0)Z.currentBitPos+=m5,K+=$[K].value,K+=Z.currentVal>>>Z.currentBitPos&(1<<J)-1;return Z.currentBitPos+=$[K].bits,$[K].value}function kJ($){if($.readBits(1)){let Q=$.readBits(3);if(Q===0)return 1;return $.readBits(Q)+(1<<Q)}return 0}function $_($){if($.readBits(1)===0)return 16;let Q=$.readBits(3);if(Q>0)return 17+Q;if(Q=$.readBits(3),Q>0)return 8+Q;return 17}function Q_($){let Q=$.readBits(1)===1;if(Q&&$.readBits(1))return{length:0,isLast:!0,isUncompressed:!1,isMetadata:!1};let Z=$.readBits(2)+4;if(Z===7){if($.readBits(1)!==0)throw Error("Invalid reserved bit");let q=$.readBits(2);if(q===0)return{length:0,isLast:Q,isUncompressed:!1,isMetadata:!0};let U=0;for(let W=0;W<q;W++){let H=$.readBits(8);if(W+1===q&&q>1&&H===0)throw Error("Invalid size byte");U|=H<<W*8}return{length:U+1,isLast:Q,isUncompressed:!1,isMetadata:!0}}let K=0;for(let q=0;q<Z;q++){let U=$.readBits(4);if(q+1===Z&&Z>4&&U===0)throw Error("Invalid size nibble");K|=U<<q*4}K++;let J=!Q?$.readBits(1)===1:!1;return{length:K,isLast:Q,isUncompressed:J,isMetadata:!1}}function CJ($,Q,Z,K){let U=0,W=8,H=0,_=0,N=32768,V=[];for(let X=0;X<32;X++)V.push({bits:0,value:0});f5(V,0,5,$,f0);while(U<Q&&N>0){K.readMoreInput(),K.fillBitWindow();let X=K.currentVal>>>K.currentBitPos&31;K.currentBitPos+=V[X].bits;let j=V[X].value&255;if(j<16){if(H=0,Z[U++]=j,j!==0)W=j,N-=32768>>j}else{let z=j-14,Y=0;if(j===16)Y=W;if(_!==Y)H=0,_=Y;let G=H;if(H>0)H-=2,H<<=z;H+=K.readBits(z)+3;let E=H-G;if(U+E>Q)throw Error("Symbol overflow");for(let w=0;w<E;w++)Z[U+w]=_;if(U+=E,_!==0)N-=E<<15-_}}if(N!==0)throw Error("Invalid code lengths");for(;U<Q;U++)Z[U]=0}function l0($,Q,Z,K){let J=new Uint8Array($);K.readMoreInput();let q=K.readBits(2);if(q===1){let U=$-1,W=0;while(U)U>>=1,W++;let H=new Int32Array(4),_=K.readBits(2)+1;for(let N=0;N<_;N++)H[N]=K.readBits(W)%$,J[H[N]]=2;switch(J[H[0]]=1,_){case 2:if(H[0]===H[1])throw Error("Invalid symbols");J[H[1]]=1;break;case 4:if(K.readBits(1))J[H[2]]=3,J[H[3]]=3;else J[H[0]]=2;break}}else{let U=new Uint8Array(f0),W=32,H=0,_=[{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:3,value:2},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:4,value:1},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:3,value:2},{bits:2,value:0},{bits:2,value:4},{bits:2,value:3},{bits:4,value:5}];for(let N=q;N<f0&&W>0;N++){let V=i4[N];K.fillBitWindow();let X=K.currentVal>>>K.currentBitPos&15;K.currentBitPos+=_[X].bits;let j=_[X].value;if(U[V]=j,j!==0)W-=32>>j,H++}if(!(H===1||W===0))throw Error("Invalid code length codes");CJ(U,$,J,K)}return f5(Q,Z,m5,J,$)}class x0{alphabetSize;numHTrees;codes=[];htrees;constructor($,Q){this.alphabetSize=$;this.numHTrees=Q;this.htrees=new Uint32Array(Q);let Z=this.getMaxTableSize();for(let K=0;K<Q+Q*Z;K++)this.codes.push({bits:0,value:0})}getMaxTableSize(){let $=[256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080],Q=this.alphabetSize+31>>>5;return $[Math.min(Q,$.length-1)]}decode($){let Q=0;for(let Z=0;Z<this.numHTrees;Z++){this.htrees[Z]=Q;let K=l0(this.alphabetSize,this.codes,Q,$);Q+=K}}}function vJ($,Q){Q.readMoreInput();let Z=kJ(Q)+1,K=new Uint8Array($);if(Z<=1)return{numHTrees:Z,contextMap:K};let J=Q.readBits(1)===1,q=0;if(J)q=Q.readBits(4)+1;let U=[];for(let W=0;W<W8;W++)U.push({bits:0,value:0});l0(Z+q,U,0,Q);for(let W=0;W<$;){Q.readMoreInput();let H=w8(U,0,Q);if(H===0)K[W++]=0;else if(H<=q){let _=1+(1<<H)+Q.readBits(H);for(let N=1;N<_&&W<$;N++)K[W++]=0}else K[W++]=H-q}if(Q.readBits(1)){let W=new Uint8Array(256);for(let H=0;H<256;H++)W[H]=H;for(let H=0;H<$;H++){let _=K[H];if(K[H]=W[_],_){let N=W[_];for(let V=_;V>0;V--)W[V]=W[V-1];W[0]=N}}}return{numHTrees:Z,contextMap:K}}function c9($,Q,Z){let K=w8($,Q,Z),J=r4[K];return J.offset+Z.readBits(J.nbits)}function Z_($,Q,Z){if($<b5){let K=Z+s4[$]&3;return Q[K]+a4[$]}return $-b5+1}function K_($){let Q=new x5($),Z=$_(Q),K=(1<<Z)-16,J=1<<Z,q=J-1,U=new Uint8Array(J+578),W=0,H=0,_=[16,15,11,4],N=0,V=0,X=0,j=[];while(!0){Q.readMoreInput();let z=Q_(Q);if(z.length===0&&z.isLast)break;if(z.isMetadata){Q.currentBitPos=Q.currentBitPos+7&-8;for(let n=0;n<z.length;n++)Q.readMoreInput(),Q.readBits(8);continue}let Y=z.length;if(Y===0)continue;if(z.isUncompressed){Q.currentBitPos=Q.currentBitPos+7&-8;for(let n=0;n<Y;n++){Q.readMoreInput();let e=Q.readBits(8);if(U[W&q]=e,(W&q)===q)j.push(...U.slice(0,J));W++}continue}let G=[1,1,1],E=[268435456,268435456,268435456],w=[0,0,0],F=[0,1,0,1,0,1],A=[0,0,0],M=[],L=[];for(let n=0;n<3*W8;n++)M.push({bits:0,value:0}),L.push({bits:0,value:0});for(let n=0;n<3;n++)if(G[n]=kJ(Q)+1,G[n]>=2)l0(G[n]+2,M,n*W8,Q),l0(o4,L,n*W8,Q),E[n]=c9(L,n*W8,Q),A[n]=1;Q.readMoreInput();let T=Q.readBits(2),B=b5+(Q.readBits(4)<<T),I=(1<<T)-1,O=B+(48<<T),x=new Uint8Array(G[0]);for(let n=0;n<G[0];n++)Q.readMoreInput(),x[n]=Q.readBits(2)<<1;let v=vJ(G[0]<<6,Q),f=vJ(G[2]<<2,Q),l=[new x0(n4,v.numHTrees),new x0(p4,G[1]),new x0(O,f.numHTrees)];for(let n=0;n<3;n++)l[n].decode(Q);let C=0,R=0,y=x[w[0]],u=o9[y],d=o9[y+1],c=l[1].htrees[0];while(Y>0){if(Q.readMoreInput(),E[1]===0){let g6=w8(M,W8,Q),h6;if(g6===0)h6=F[2+(A[1]&1)];else if(g6===1)h6=F[2+(A[1]-1&1)]+1;else h6=g6-2;if(h6>=G[1])h6-=G[1];w[1]=h6,F[2+(A[1]&1)]=h6,A[1]++,E[1]=c9(L,W8,Q),c=l[1].htrees[w[1]]}E[1]--;let n=w8(l[1].codes,c,Q),e=n>>6,g;if(e>=2)g=-1;else g=0;let X6=t4[e]+(n>>3&7),S=e4[e]+(n&7),q6=OJ[X6].offset+Q.readBits(OJ[X6].nbits),b=PJ[S].offset+Q.readBits(PJ[S].nbits);V=U[W-1&q],X=U[W-2&q];for(let g6=0;g6<q6;g6++){if(Q.readMoreInput(),E[0]===0){let R6=w8(M,0,Q),p6;if(R6===0)p6=F[A[0]&1];else if(R6===1)p6=F[A[0]-1&1]+1;else p6=R6-2;if(p6>=G[0])p6-=G[0];w[0]=p6,F[A[0]&1]=p6,A[0]++,E[0]=c9(L,0,Q),C=w[0]<<6,y=x[w[0]],u=o9[y],d=o9[y+1]}let h6=h5[u+V]|h5[d+X],s6=v.contextMap[C+h6];if(E[0]--,X=V,V=w8(l[0].codes,l[0].htrees[s6],Q),U[W&q]=V,(W&q)===q)j.push(...U.slice(0,J));W++}if(Y-=q6,Y<=0)break;if(g<0){if(Q.readMoreInput(),E[2]===0){let s6=w8(M,2*W8,Q),R6;if(s6===0)R6=F[4+(A[2]&1)];else if(s6===1)R6=F[4+(A[2]-1&1)]+1;else R6=s6-2;if(R6>=G[2])R6-=G[2];w[2]=R6,F[4+(A[2]&1)]=R6,A[2]++,E[2]=c9(L,2*W8,Q),R=w[2]<<2}E[2]--;let g6=(b>4?3:b-2)&255,h6=f.contextMap[R+g6];if(g=w8(l[2].codes,l[2].htrees[h6],Q),g>=B){g-=B;let s6=g&I;g>>=T;let R6=(g>>1)+1,p6=(2+(g&1)<<R6)-4;g=B+(p6+Q.readBits(R6)<<T)+s6}}let L6=Z_(g,_,N);if(L6<0)throw Error("Invalid distance");if(W<K&&H!==K)H=W;else H=K;let X0=W&q;if(L6>H)if(b>=4&&b<=24){let g6=FJ[b],h6=L6-H-1,s6=LJ[b],R6=(1<<s6)-1,p6=h6&R6,L1=h6>>s6,CW=g6+p6*b;if(L1<y5.length){let D1=RJ(U,X0,CW,b,L1,DJ);if(X0+=D1,W+=D1,Y-=D1,X0>=J){j.push(...U.slice(0,J));for(let j0=0;j0<X0-J;j0++)U[j0]=U[J+j0]}}else throw Error("Invalid backward reference")}else throw Error("Invalid backward reference");else{if(g>0)_[N&3]=L6,N++;if(b>Y)throw Error("Invalid backward reference");for(let g6=0;g6<b;g6++){if(U[W&q]=U[W-L6&q],(W&q)===q)j.push(...U.slice(0,J));W++,Y--}}V=U[W-1&q],X=U[W-2&q]}if(z.isLast)break}return j.push(...U.slice(0,W&q)),new Uint8Array(j)}var W8=1080,f0=18,n4=256,p4=704,o4=26,b5=16,m5=8,c4=255,i4,s4,a4,r4,OJ,PJ,t4,e4,J_;var hJ=D9(()=>{AJ();MJ();TJ();i4=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),s4=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),a4=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),r4=[{offset:1,nbits:2},{offset:5,nbits:2},{offset:9,nbits:2},{offset:13,nbits:2},{offset:17,nbits:3},{offset:25,nbits:3},{offset:33,nbits:3},{offset:41,nbits:3},{offset:49,nbits:4},{offset:65,nbits:4},{offset:81,nbits:4},{offset:97,nbits:4},{offset:113,nbits:5},{offset:145,nbits:5},{offset:177,nbits:5},{offset:209,nbits:5},{offset:241,nbits:6},{offset:305,nbits:6},{offset:369,nbits:7},{offset:497,nbits:8},{offset:753,nbits:9},{offset:1265,nbits:10},{offset:2289,nbits:11},{offset:4337,nbits:12},{offset:8433,nbits:13},{offset:16625,nbits:24}],OJ=[{offset:0,nbits:0},{offset:1,nbits:0},{offset:2,nbits:0},{offset:3,nbits:0},{offset:4,nbits:0},{offset:5,nbits:0},{offset:6,nbits:1},{offset:8,nbits:1},{offset:10,nbits:2},{offset:14,nbits:2},{offset:18,nbits:3},{offset:26,nbits:3},{offset:34,nbits:4},{offset:50,nbits:4},{offset:66,nbits:5},{offset:98,nbits:5},{offset:130,nbits:6},{offset:194,nbits:7},{offset:322,nbits:8},{offset:578,nbits:9},{offset:1090,nbits:10},{offset:2114,nbits:12},{offset:6210,nbits:14},{offset:22594,nbits:24}],PJ=[{offset:2,nbits:0},{offset:3,nbits:0},{offset:4,nbits:0},{offset:5,nbits:0},{offset:6,nbits:0},{offset:7,nbits:0},{offset:8,nbits:0},{offset:9,nbits:0},{offset:10,nbits:1},{offset:12,nbits:1},{offset:14,nbits:2},{offset:18,nbits:2},{offset:22,nbits:3},{offset:30,nbits:3},{offset:38,nbits:4},{offset:54,nbits:4},{offset:70,nbits:5},{offset:102,nbits:5},{offset:134,nbits:6},{offset:198,nbits:7},{offset:326,nbits:8},{offset:582,nbits:9},{offset:1094,nbits:10},{offset:2118,nbits:24}],t4=[0,0,8,8,0,16,8,16,16],e4=[0,8,0,8,16,0,16,8,16];J_={getNextKey:g5,replicateValue:u5,nextTableBitSize:IJ,buildHuffmanTable:f5,readBlockLength:c9,readHuffmanCodeLengths:CJ,BitReader:x5,HuffmanCode:{},CODE_LENGTH_CODES:f0}});function Y0($,Q){if(Q<0||Q>=$.classArray.length)return 1;return $.classArray[Q]??1}function B1($,Q){let{stateTable:Z}=$,K=0,J=0,q=0;for(let U=0;U<=Q.length;U++){let H=U>=Q.length?0:Y0(Z.classTable,Q[U]?.glyphId),_=Z.stateArray[K];if(!_)break;let N=_[H];if(!N)break;let V=N.flags;if(V&32768)J=U;if(V&8192)q=U;let X=V&15;if(X!==0&&J<=q&&q<Q.length)bW(Q,J,q,X);if(!(V&16384));K=N.newState}}function bW($,Q,Z,K){if(Q>=Z||Q>=$.length||Z>=$.length)return;let J=$[Q],q=$[Q+1],U=$[Z-1],W=$[Z];if(!J||!W)return;switch(K){case 1:if(q)$[Q]=q,$[Q+1]=J;break;case 2:if(U)$[Z]=U,$[Z-1]=W;break;case 3:$[Q]=W,$[Z]=J;break;case 4:if(q&&U){let H=$.slice(Q,Q+2),[_,N]=H,V=$[Q+2];if(_&&N&&V)$[Q]=V,$[Q+1]=_,$[Q+2]=N}break;case 5:if(q&&U){let H=$.slice(Q,Q+2),[_,N]=H,V=$[Q+2];if(_&&N&&V)$[Q]=V,$[Q+1]=N,$[Q+2]=_}break;case 6:if(U&&q){let H=$.slice(Z-1,Z+1),[_,N]=H,V=$[Z-2];if(_&&N&&V)$[Z]=V,$[Z-1]=N,$[Z-2]=_}break;case 7:if(U&&q){let H=$.slice(Z-1,Z+1),[_,N]=H,V=$[Z-2];if(_&&N&&V)$[Z]=V,$[Z-1]=_,$[Z-2]=N}break;case 8:if(U){let H=J;$[Q]=U,$[Z-1]=W,$[Z]=H}break;case 9:if(U){let H=J;$[Q]=W,$[Z-1]=U,$[Z]=H}break;case 10:if(q&&U){let H=J,_=q,N=U;$[Q]=W,$[Q+1]=N,$[Z-1]=H,$[Z]=_}break;case 11:if(q&&U){let H=J,_=q,N=U;$[Q]=W,$[Q+1]=N,$[Z-1]=_,$[Z]=H}break;case 12:if(q&&U){let H=[J,q];$[Q]=U,$[Q+1]=W,$[Z-1]=H[0],$[Z]=H[1]}break;case 13:if(q&&U){let H=[J,q];$[Q]=U,$[Q+1]=W,$[Z-1]=H[1],$[Z]=H[0]}break;case 14:if(q&&U){let H=[J,q];$[Q]=W,$[Q+1]=U,$[Z-1]=H[0],$[Z]=H[1]}break;case 15:if(q&&U){let H=[J,q];$[Q]=W,$[Q+1]=U,$[Z-1]=H[1],$[Z]=H[0]}break}}function R1($,Q){let{stateTable:Z,substitutionTable:K}=$,J=0,q=-1;for(let U=0;U<=Q.length;U++){let W=U>=Q.length,H=W?0:Y0(Z.classTable,Q[U]?.glyphId),_=Z.stateArray[J];if(!_)break;let N=_[H];if(!N)break;if(N.flags&32768)q=U;if(N.markIndex!==65535&&q>=0&&q<Q.length){let V=K[N.markIndex];if(V){let X=Q[q];if(X){let j=V.get(X.glyphId);if(j!==void 0)X.glyphId=j}}}if(!W&&N.currentIndex!==65535){let V=K[N.currentIndex];if(V){let X=Q[U];if(X){let j=V.get(X.glyphId);if(j!==void 0)X.glyphId=j}}}if(!(N.flags&16384));J=N.newState}}function T1($,Q){let{stateTable:Z,ligatureActions:K,components:J,ligatures:q}=$,U=0,W=[],H=[],_=new Set;for(let N=0;N<=Q.length;N++){let X=N>=Q.length?0:Y0(Z.classTable,Q[N]?.glyphId),j=Z.stateArray[U];if(!j)break;let z=j[X];if(!z)break;if(z.flags&32768)W.push(N);if(z.flags&8192&&z.ligActionIndex<K.length){let Y=z.ligActionIndex,G=0,E=[];while(Y<K.length){let w=K[Y];if(w===void 0)break;let F=(w&2147483648)!==0,A=(w&1073741824)!==0,M=(w&1073741823)<<2>>2,L=W.pop();if(L!==void 0&&L<Q.length){if(E.push(L),Q[L]){let B=M;if(B>=0&&B<J.length){let I=J[B];if(I!==void 0)G=G+I}}}if(A&&G<q.length){let T=E[E.length-1];if(T!==void 0&&T<Q.length){let B=Q[T],I=q[G];if(B&&I!==void 0){B.glyphId=I;for(let O=0;O<E.length;O++)if(O<E.length-1){let x=E[O];_.add(x)}}}G=0}if(F)break;Y++}}if(!(z.flags&16384));U=z.newState}for(let N=0;N<Q.length;N++)if(!_.has(N)){let V=Q[N];H.push(V)}return H}function O1($,Q){let{stateTable:Z,insertionGlyphs:K}=$,J=0,q=-1,U=[],W=new Map;for(let H=0;H<=Q.length;H++){let _=H>=Q.length,N=_?0:Y0(Z.classTable,Q[H]?.glyphId),V=Z.stateArray[J];if(!V)break;let X=V[N];if(!X)break;if(X.flags&32768)q=H;if(X.markedInsertIndex!==65535&&q>=0){let j=X.flags>>5&31,z=(X.flags&2048)!==0,Y=K.slice(X.markedInsertIndex,X.markedInsertIndex+j),G=W.get(q);if(!G)G={before:[],after:[]},W.set(q,G);if(z)G.before.push(...Y);else G.after.push(...Y)}if(!_&&X.currentInsertIndex!==65535){let j=X.flags&31,z=(X.flags&32)!==0,Y=K.slice(X.currentInsertIndex,X.currentInsertIndex+j),G=W.get(H);if(!G)G={before:[],after:[]},W.set(H,G);if(z)G.before.push(...Y);else G.after.push(...Y)}if(!(X.flags&16384));J=X.newState}for(let H=0;H<Q.length;H++){let _=Q[H],N=W.get(H);if(N)for(let V=0;V<N.before.length;V++){let X=N.before[V];U.push({glyphId:X,cluster:_.cluster,mask:_.mask,codepoint:0})}if(U.push(_),N)for(let V=0;V<N.after.length;V++){let X=N.after[V];U.push({glyphId:X,cluster:_.cluster,mask:_.mask,codepoint:0})}}return U}function jQ($,Q,Z){if(Z===0)return($^Q)<0?-2147483647:2147483647;let K=1;if($<0)$=-$,K=-K;if(Q<0)Q=-Q,K=-K;if(Z<0)Z=-Z,K=-K;let J=Math.floor(($*Q+(Z>>1))/Z);return K<0?-J:J}function zQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="ADD: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z+Q}function YQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="SUB: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z-Q}function GQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="DIV: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}if(Q===0){$.error="DIV: division by zero",$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=jQ(Z,64,Q)}function EQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MUL: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=jQ(Z,Q,64)}function wQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="ABS: stack underflow";return}$.stack[$.stackTop-1]=Q<0?-Q:Q}function AQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="NEG: stack underflow";return}$.stack[$.stackTop-1]=-Q}function FQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="FLOOR: stack underflow";return}$.stack[$.stackTop-1]=Q&-64}function LQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="CEILING: stack underflow";return}$.stack[$.stackTop-1]=Q+63&-64}function DQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MAX: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>Q?Z:Q}function MQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="MIN: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<Q?Z:Q}function BQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="LT: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<Q?1:0}function RQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="LTEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z<=Q?1:0}function TQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="GT: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>Q?1:0}function OQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="GTEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z>=Q?1:0}function PQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="EQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z===Q?1:0}function vQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="NEQ: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z!==Q?1:0}function IQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="ODD: stack underflow";return}let Z=Q+32&-64;$.stack[$.stackTop-1]=Z&64?1:0}function kQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="EVEN: stack underflow";return}let Z=Q+32&-64;$.stack[$.stackTop-1]=Z&64?0:1}function CQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="AND: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z&&Q?1:0}function SQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z===void 0||Q===void 0){$.error="OR: stack underflow",$.stackTop+=2,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=Z||Q?1:0}function hQ($){let Q=$.stack[$.stackTop-1];if(Q===void 0){$.error="NOT: stack underflow";return}$.stack[$.stackTop-1]=Q?0:1}var j6=typeof process<"u"&&process?.env?process.env:void 0;function yQ($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="IF: stack underflow",$.stackTop++;return}if(Q)return;let Z=1;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;switch(K){case 88:Z++;break;case 27:if(Z===1)return;break;case 89:if(Z--,Z===0)return;break;case 64:$.IP+=1+($.code[$.IP]??0);break;case 65:$.IP+=1+($.code[$.IP]??0)*2;break;default:if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}}$.error="IF: missing EIF"}function bQ($){let Q=1;while($.IP<$.codeSize){let Z=$.code[$.IP++];if(Z===void 0)break;switch(Z){case 88:Q++;break;case 89:if(Q--,Q===0)return;break;case 64:$.IP+=1+($.code[$.IP]??0);break;case 65:$.IP+=1+($.code[$.IP]??0)*2;break;default:if(Z>=176&&Z<=183)$.IP+=Z-176+1;else if(Z>=184&&Z<=191)$.IP+=(Z-184+1)*2}}$.error="ELSE: missing EIF"}function mQ($){}function gQ($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="JMPR: stack underflow",$.stackTop++;return}$.IP+=Q-1}function uQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="JROT: stack underflow",$.stackTop+=2;return}if(Q)$.IP+=Z-1}function xQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="JROF: stack underflow",$.stackTop+=2;return}if(!Q)$.IP+=Z-1}function fQ($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="FDEF: stack underflow",$.stackTop++;return}if(Q<0||Q>=$.maxFDefs){$.error=`FDEF: invalid function number ${Q}`;return}let Z=$.FDefs[Q];if(!Z){$.error=`FDEF: no slot for function ${Q}`;return}Z.id=Q,Z.start=$.IP,Z.active=!0,Z.range=$.currentRange;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;if(K===45){Z.end=$.IP;return}if(K===64)$.IP+=1+($.code[$.IP]??0);else if(K===65)$.IP+=1+($.code[$.IP]??0)*2;else if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}$.error="FDEF: missing ENDF"}function lQ($){if($.callStackTop<=0){$.error="ENDF: not in function call";return}let Q=$.callStack[$.callStackTop-1];if(!Q){$.error="ENDF: missing call frame";return}if(Q.count--,Q.count>0)$.IP=Q.def.start;else{$.callStackTop--,$.IP=Q.callerIP,$.currentRange=Q.callerRange;let Z=$.codeRanges.get($.currentRange);if(Z)$.code=Z.code,$.codeSize=Z.size}}function dQ($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="CALL: stack underflow",$.stackTop++;return}if(j6?.HINT_TRACE_CALLS==="1")console.log("trace CALL",{funcNum:Q,range:$.currentRange,ip:$.IP,stackTop:$.stackTop});if(Q<0||Q>=$.maxFDefs){$.error=`CALL: invalid function number ${Q}`;return}let Z=$.FDefs[Q];if(!Z||!Z.active){$.error=`CALL: function ${Q} not defined`;return}if($.callStackTop>=$.maxCallStack){$.error="CALL: call stack overflow";return}let K=$.callStack[$.callStackTop++];if(!K){$.error="CALL: no call frame available",$.callStackTop--;return}K.callerIP=$.IP,K.callerRange=$.currentRange,K.def=Z,K.count=1,$.currentRange=Z.range;let J=$.codeRanges.get($.currentRange);if(J)$.code=J.code,$.codeSize=J.size;$.IP=Z.start}function nQ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===void 0||Z===void 0){$.error="LOOPCALL: stack underflow",$.stackTop+=2;return}if(Q<0||Q>=$.maxFDefs){$.error=`LOOPCALL: invalid function number ${Q}`;return}let K=$.FDefs[Q];if(!K||!K.active){$.error=`LOOPCALL: function ${Q} not defined`;return}if(Z<=0)return;if($.callStackTop>=$.maxCallStack){$.error="LOOPCALL: call stack overflow";return}let J=$.callStack[$.callStackTop++];if(!J){$.error="LOOPCALL: no call frame available",$.callStackTop--;return}J.callerIP=$.IP,J.callerRange=$.currentRange,J.def=K,J.count=Z,$.currentRange=K.range;let q=$.codeRanges.get($.currentRange);if(q)$.code=q.code,$.codeSize=q.size;$.IP=K.start}function pQ($){let Q=$.stack[--$.stackTop];if(Q===void 0){$.error="IDEF: stack underflow",$.stackTop++;return}if(Q<0||Q>=$.maxIDefs){$.error=`IDEF: invalid opcode ${Q}`;return}let Z=$.IDefs[Q];if(!Z){$.error=`IDEF: no slot for opcode ${Q}`;return}Z.opcode=Q,Z.start=$.IP,Z.active=!0,Z.range=$.currentRange;while($.IP<$.codeSize){let K=$.code[$.IP++];if(K===void 0)break;if(K===45){Z.end=$.IP;return}if(K===64)$.IP+=1+($.code[$.IP]??0);else if(K===65)$.IP+=1+($.code[$.IP]??0)*2;else if(K>=176&&K<=183)$.IP+=K-176+1;else if(K>=184&&K<=191)$.IP+=(K-184+1)*2}$.error="IDEF: missing ENDF"}var d8;((H)=>{H[H.ToHalfGrid=0]="ToHalfGrid";H[H.ToGrid=1]="ToGrid";H[H.ToDoubleGrid=2]="ToDoubleGrid";H[H.DownToGrid=3]="DownToGrid";H[H.UpToGrid=4]="UpToGrid";H[H.Off=5]="Off";H[H.Super=6]="Super";H[H.Super45=7]="Super45"})(d8||={});var n8;((K)=>{K[K.X=16]="X";K[K.Y=32]="Y";K[K.Both=48]="Both"})(n8||={});function P1(){return{rp0:0,rp1:0,rp2:0,dualVector:{x:16384,y:0},projVector:{x:16384,y:0},freeVector:{x:16384,y:0},loop:1,minimumDistance:64,roundState:1,autoFlip:!0,controlValueCutIn:68,singleWidthCutIn:0,singleWidthValue:0,deltaBase:9,deltaShift:3,instructControl:0,scanControl:0,scanType:0,gep0:1,gep1:1,gep2:1,period:64,phase:0,threshold:32}}var M9;((J)=>{J[J.None=0]="None";J[J.Font=1]="Font";J[J.CVT=2]="CVT";J[J.Glyph=3]="Glyph"})(M9||={});function Q8($,Q){return{nPoints:0,nContours:0,org:Array($).fill(null).map(()=>({x:0,y:0})),cur:Array($).fill(null).map(()=>({x:0,y:0})),orus:Array($).fill(null).map(()=>({x:0,y:0})),tags:new Uint8Array($),contours:new Uint16Array(Q)}}function G0($=256,Q=64,Z=64,K=64,J=32,q=16){let U=P1();return{GS:{...U},defaultGS:U,zp0:Q8(0,0),zp1:Q8(0,0),zp2:Q8(0,0),twilight:Q8(q,1),pts:Q8(0,0),stack:new Int32Array($),stackTop:0,IP:0,code:new Uint8Array(0),codeSize:0,currentRange:0,opcode:0,numArgs:0,cvt:new Int32Array(0),cvtSize:0,storage:new Int32Array(Q),storageSize:Q,FDefs:Array(Z).fill(null).map((W,H)=>({id:H,start:0,end:0,active:!1,range:0})),maxFDefs:Z,IDefs:Array(K).fill(null).map((W,H)=>({opcode:H,start:0,end:0,active:!1,range:0})),maxIDefs:K,callStack:Array(J).fill(null).map(()=>({callerIP:0,callerRange:0,def:{id:0,start:0,end:0,active:!1,range:0},count:0})),callStackTop:0,maxCallStack:J,codeRanges:new Map,ppem:12,pointSize:12,scale:1,scaleFix:65536,error:null,instructionCount:0,maxInstructions:1e6}}var D={NPUSHB:64,NPUSHW:65,PUSHB_0:176,PUSHB_1:177,PUSHB_2:178,PUSHB_3:179,PUSHB_4:180,PUSHB_5:181,PUSHB_6:182,PUSHB_7:183,PUSHW_0:184,PUSHW_1:185,PUSHW_2:186,PUSHW_3:187,PUSHW_4:188,PUSHW_5:189,PUSHW_6:190,PUSHW_7:191,RS:67,WS:66,RCVT:69,WCVTP:68,WCVTF:112,DUP:32,POP:33,CLEAR:34,SWAP:35,DEPTH:36,CINDEX:37,MINDEX:38,ROLL:138,ADD:96,SUB:97,DIV:98,MUL:99,ABS:100,NEG:101,FLOOR:102,CEILING:103,MAX:139,MIN:140,LT:80,LTEQ:81,GT:82,GTEQ:83,EQ:84,NEQ:85,ODD:86,EVEN:87,AND:90,OR:91,NOT:92,IF:88,ELSE:27,EIF:89,JMPR:28,JROT:120,JROF:121,FDEF:44,ENDF:45,CALL:43,LOOPCALL:42,IDEF:137,SVTCA_Y:0,SVTCA_X:1,SPVTCA_Y:2,SPVTCA_X:3,SFVTCA_Y:4,SFVTCA_X:5,SPVTL_0:6,SPVTL_1:7,SFVTL_0:8,SFVTL_1:9,SDPVTL_0:134,SDPVTL_1:135,SPVFS:10,SFVFS:11,GPV:12,GFV:13,SFVTPV:14,ISECT:15,SRP0:16,SRP1:17,SRP2:18,SZP0:19,SZP1:20,SZP2:21,SZPS:22,SLOOP:23,RTG:24,RTHG:25,SMD:26,RDTG:125,RUTG:124,ROFF:122,SROUND:118,S45ROUND:119,SCVTCI:29,SSWCI:30,SSW:31,FLIPON:77,FLIPOFF:78,SANGW:126,SDB:94,SDS:95,GC_0:70,GC_1:71,SCFS:72,MD_0:73,MD_1:74,MPPEM:75,MPS:76,FLIPPT:128,FLIPRGON:129,FLIPRGOFF:130,SHP_0:50,SHP_1:51,SHC_0:52,SHC_1:53,SHZ_0:54,SHZ_1:55,SHPIX:56,IP:57,MSIRP_0:58,MSIRP_1:59,ALIGNRP:60,RTDG:61,MIAP_0:62,MIAP_1:63,ALIGNPTS:39,UTP:41,MDAP_0:46,MDAP_1:47,IUP_Y:48,IUP_X:49,DELTAP1:93,DELTAP2:113,DELTAP3:114,DELTAC1:115,DELTAC2:116,DELTAC3:117,ROUND_0:104,ROUND_1:105,ROUND_2:106,ROUND_3:107,NROUND_0:108,NROUND_1:109,NROUND_2:110,NROUND_3:111,GETINFO:136,INSTCTRL:142,SCANCTRL:133,SCANTYPE:141,AA:127,DEBUG:79,MDRP_BASE:192,MIRP_BASE:224},zY={[D.RS]:1,[D.WS]:2,[D.RCVT]:1,[D.WCVTP]:2,[D.WCVTF]:2,[D.DUP]:1,[D.POP]:1,[D.CLEAR]:0,[D.SWAP]:2,[D.DEPTH]:0,[D.CINDEX]:1,[D.MINDEX]:1,[D.ROLL]:3,[D.ADD]:2,[D.SUB]:2,[D.DIV]:2,[D.MUL]:2,[D.ABS]:1,[D.NEG]:1,[D.FLOOR]:1,[D.CEILING]:1,[D.MAX]:2,[D.MIN]:2,[D.LT]:2,[D.LTEQ]:2,[D.GT]:2,[D.GTEQ]:2,[D.EQ]:2,[D.NEQ]:2,[D.ODD]:1,[D.EVEN]:1,[D.AND]:2,[D.OR]:2,[D.NOT]:1,[D.IF]:1,[D.JMPR]:1,[D.JROT]:2,[D.JROF]:2,[D.CALL]:1,[D.LOOPCALL]:2,[D.SRP0]:1,[D.SRP1]:1,[D.SRP2]:1,[D.SZP0]:1,[D.SZP1]:1,[D.SZP2]:1,[D.SZPS]:1,[D.SLOOP]:1,[D.SMD]:1,[D.SCVTCI]:1,[D.SSWCI]:1,[D.SSW]:1,[D.SDB]:1,[D.SDS]:1,[D.SPVFS]:2,[D.SFVFS]:2,[D.SPVTL_0]:2,[D.SPVTL_1]:2,[D.SFVTL_0]:2,[D.SFVTL_1]:2,[D.SCFS]:2,[D.GC_0]:1,[D.GC_1]:1,[D.MD_0]:2,[D.MD_1]:2,[D.ISECT]:5,[D.ALIGNRP]:0,[D.IP]:0,[D.SHPIX]:1,[D.MSIRP_0]:2,[D.MSIRP_1]:2,[D.MIAP_0]:2,[D.MIAP_1]:2,[D.MDAP_0]:1,[D.MDAP_1]:1,[D.DELTAP1]:1,[D.DELTAP2]:1,[D.DELTAP3]:1,[D.DELTAC1]:1,[D.DELTAC2]:1,[D.DELTAC3]:1,[D.SROUND]:1,[D.S45ROUND]:1,[D.ROUND_0]:1,[D.ROUND_1]:1,[D.ROUND_2]:1,[D.ROUND_3]:1,[D.NROUND_0]:1,[D.NROUND_1]:1,[D.NROUND_2]:1,[D.NROUND_3]:1,[D.INSTCTRL]:2,[D.SCANCTRL]:1,[D.SCANTYPE]:1,[D.GETINFO]:1,[D.FLIPPT]:0,[D.FLIPRGON]:2,[D.FLIPRGOFF]:2};function Z8($,Q){if($>=0)return $+Q+32&-64;else return-(-$+Q+32&-64)}function v1($,Q){if($>=0)return($+Q+32&-64)+32;else return-((-$+Q+32&-64)+32)}function I1($,Q){if($>=0)return $+16+Q&-32;else return-(-$+16+Q&-32)}function k1($,Q){if($>=0)return $+Q&-64;else return-(-$+Q&-64)}function C1($,Q){if($>=0)return $+Q+63&-64;else return-(-$+Q+63&-64)}function S1($,Q){return $}function h1($,Q,Z){let{period:K,phase:J,threshold:q}=Z;if($>=0)return($+q-J+Q&-K)+J;else return-((-$+q-J+Q&-K)+J)}function y1($,Q,Z){let{period:K,phase:J,threshold:q}=Z,U=Math.round(K*46/64);if($>=0)return($+q-J+Q&-U)+J;else return-((-$+q-J+Q&-U)+J)}function X8($,Q,Z){switch(Z.roundState){case 1:return Z8($,Q);case 0:return v1($,Q);case 2:return I1($,Q);case 3:return k1($,Q);case 4:return C1($,Q);case 5:return S1($,Q);case 6:return h1($,Q,Z);case 7:return y1($,Q,Z);default:return Z8($,Q)}}function B9($,Q){switch($>>6&3){case 0:Q.period=32;break;case 1:Q.period=64;break;case 2:Q.period=128;break;default:Q.period=64}switch($>>4&3){case 0:Q.phase=0;break;case 1:Q.phase=Q.period>>2;break;case 2:Q.phase=Q.period>>1;break;case 3:Q.phase=Q.period*3>>2;break}let Z=$&15;if(Z===0)Q.threshold=Q.period-1;else Q.threshold=(Z-4)*Q.period>>3}function K8($,Q){return 0}function b1($,Q){if($===0||Q===0)return 0;let Z=1,K=$,J=Q;if(K<0)K=-K,Z=-Z;if(J<0)J=-J,Z=-Z;let q=Math.floor((K*J+32768)/65536);return Z<0?-q:q}function oQ($,Q){if(Q===0)return $<0?-2147483647:2147483647;let Z=1,K=$,J=Q;if(K<0)K=-K,Z=-Z;if(J<0)J=-J,Z=-Z;let q=Math.floor((K*65536+(J>>1))/J);return Z<0?-q:q}function u6($,Q){return b1($,Q)}function iQ($,Q,Z,K){let J=$*Z+Q*K,q=J+8192+(J<0?-1:0);return Math.floor(q/16384)}function cQ($,Q){let Z=$*Q,K=Z+8192+(Z<0?-1:0);return Math.floor(K/16384)}function mW($,Q,Z,K){let J=$*Z+Q*K,q=J+8192+(J<0?-1:0);return Math.floor(q/16384)}function m1($,Q,Z){if(Z===0)return($^Q)<0?-2147483647:2147483647;let K=1;if($<0)$=-$,K=-K;if(Q<0)Q=-Q,K=-K;if(Z<0)Z=-Z,K=-K;let J=Math.floor(($*Q+(Z>>1))/Z);return K<0?-J:J}function R9($,Q){return iQ(Q.x,Q.y,$.GS.projVector.x,$.GS.projVector.y)}function gW($,Q){return iQ(Q.x,Q.y,$.GS.dualVector.x,$.GS.dualVector.y)}function T6($,Q,Z,K){let J=Q.cur[Z],q=$.GS.freeVector,U=$.GS.projVector,W=mW(q.x,q.y,U.x,U.y);if(W===0)return;let H=m1(K,q.x,W),_=m1(K,q.y,W),N=j6?.HINT_TRACE_POINTS;if(N){if(N.split(",").map((X)=>Number.parseInt(X.trim(),10)).includes(Z))console.log("trace movePoint",{pointIndex:Z,opcode:$.opcode,ip:$.IP,range:$.currentRange,distance:K,dx:H,dy:_,proj:$.GS.projVector,free:$.GS.freeVector,dual:$.GS.dualVector,rp0:$.GS.rp0,rp1:$.GS.rp1,rp2:$.GS.rp2})}if(J.x+=H,J.y+=_,Q===$.twilight){let V=Q.org[Z];V.x+=H,V.y+=_}}function V6($,Q,Z){let K=Q.cur[Z];if(!K)return 0;return R9($,K)}function f6($,Q,Z){let K=Q.org[Z];if(!K)return 0;return gW($,K)}function P6($,Q,Z){let K=$.GS.freeVector;if(K.y!==0)Q.tags[Z]|=32;if(K.x!==0)Q.tags[Z]|=16}function g1($,Q){let Z=$.stack[--$.stackTop],K=$.zp0;if(Z<0||Z>=K.nPoints){$.error=`MDAP: invalid point ${Z}`;return}let J=V6($,K,Z);if(Q){let q=K8(J,$.GS);J=X8(J,q,$.GS)-J}else J=0;if(T6($,K,Z,J),P6($,K,Z),$.GS.rp0=Z,$.GS.rp1=Z,j6?.HINT_TRACE_RP0==="1")console.log("trace rp0",{ip:$.IP,range:$.currentRange,opcode:$.opcode,rp0:$.GS.rp0})}function u1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0;if(K<0||K>=J.nPoints){$.error=`MIAP: invalid point ${K}`;return}if(Z<0||Z>=$.cvtSize){$.error=`MIAP: invalid CVT index ${Z}`;return}let q=$.cvt[Z],U=V6($,J,K);if(Q){if(Math.abs(q-U)>$.GS.controlValueCutIn)q=U;let _=K8(q,$.GS);q=X8(q,_,$.GS)}let W=q-U;if(T6($,J,K,W),P6($,J,K),$.GS.rp0=K,$.GS.rp1=K,j6?.HINT_TRACE_RP0==="1")console.log("trace rp0",{ip:$.IP,range:$.currentRange,opcode:$.opcode,rp0:$.GS.rp0})}function sQ($,Q){let Z=$.stack[--$.stackTop],K=(Q&16)!==0,J=(Q&8)!==0,q=(Q&4)!==0,U=Q&3,W=$.GS.roundState;if(U===1)W=1;else if(U===2)W=0;else if(U===3)W=2;let{zp0:H,zp1:_}=$;if(Z<0||Z>=_.nPoints){$.error=`MDRP: invalid point ${Z}`;return}let N=$.GS.rp0;if(N<0||N>=H.nPoints){$.error=`MDRP: invalid rp0 ${N}`;return}let V=f6($,_,Z)-f6($,H,N);if($.GS.singleWidthCutIn>0&&Math.abs(V-$.GS.singleWidthValue)<$.GS.singleWidthCutIn)V=V>=0?$.GS.singleWidthValue:-$.GS.singleWidthValue;let X=K8(V,$.GS),j;if(q){let G=$.GS.roundState;$.GS.roundState=W,j=X8(V,X,$.GS),$.GS.roundState=G}else j=V+X;if(J){if(V>=0){if(j<$.GS.minimumDistance)j=$.GS.minimumDistance}else if(j>-$.GS.minimumDistance)j=-$.GS.minimumDistance}let z=V6($,_,Z)-V6($,H,N),Y=j-z;if(T6($,_,Z,Y),P6($,_,Z),$.GS.rp1=$.GS.rp0,$.GS.rp2=Z,K){if($.GS.rp0=Z,j6?.HINT_TRACE_RP0==="1")console.log("trace rp0",{ip:$.IP,range:$.currentRange,opcode:$.opcode,rp0:$.GS.rp0})}}function aQ($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=(Q&16)!==0,q=(Q&8)!==0,U=(Q&4)!==0,W=Q&3,H=$.GS.roundState;if(W===1)H=1;else if(W===2)H=0;else if(W===3)H=2;let{zp0:_,zp1:N}=$;if(K<0||K>=N.nPoints){$.error=`MIRP: invalid point ${K}`;return}if(Z<-1||Z>=$.cvtSize){$.error=`MIRP: invalid CVT index ${Z}`;return}let V=$.GS.rp0;if(V<0||V>=_.nPoints){$.error=`MIRP: invalid rp0 ${V}`;return}let X=f6($,N,K)-f6($,_,V),j=Z===-1?0:$.cvt[Z];if($.GS.singleWidthCutIn>0&&Math.abs(j-$.GS.singleWidthValue)<$.GS.singleWidthCutIn)j=j>=0?$.GS.singleWidthValue:-$.GS.singleWidthValue;if($.GS.gep1===0){let F=$.zp0.org[V],A=cQ(j,$.GS.freeVector.x),M=cQ(j,$.GS.freeVector.y);$.zp1.org[K].x=F.x+A,$.zp1.org[K].y=F.y+M,$.zp1.cur[K].x=$.zp1.org[K].x,$.zp1.cur[K].y=$.zp1.org[K].y}if($.GS.autoFlip){if((X^j)<0)j=-j}let z=j,Y=K8(j,$.GS);if(U){if($.GS.gep0===$.GS.gep1){if(Math.abs(j-X)>$.GS.controlValueCutIn)z=X}let F=$.GS.roundState;$.GS.roundState=H,z=X8(z,Y,$.GS),$.GS.roundState=F}else z=z+Y;if(q){if(X>=0){if(z<$.GS.minimumDistance)z=$.GS.minimumDistance}else if(z>-$.GS.minimumDistance)z=-$.GS.minimumDistance}let G=V6($,N,K)-V6($,_,V),E=z-G,w=j6?.HINT_TRACE_MIRP;if(w){let F=w.split(",").map((A)=>Number.parseInt(A.trim(),10)).filter((A)=>Number.isFinite(A));if(F.length===0||F.includes(K))console.log("trace MIRP",{pointIndex:K,cvtIndex:Z,orgDist:X,cvtDist:j,currentDist:G,distance:z,move:E,flags:Q,rp0:V,roundState:$.GS.roundState})}if(T6($,N,K,E),P6($,N,K),$.GS.rp1=$.GS.rp0,$.GS.rp2=K,J){if($.GS.rp0=K,j6?.HINT_TRACE_RP0==="1")console.log("trace rp0",{ip:$.IP,range:$.currentRange,opcode:$.opcode,rp0:$.GS.rp0})}}function x1($,Q){let Z=Q?$.zp0:$.zp1,K=Q?$.GS.rp1:$.GS.rp2;if(K<0||K>=Z.nPoints){$.error=`SHP: invalid reference point ${K}`;return}let J=R9($,Z.org[K]),q=V6($,Z,K),U=q-J;if(j6?.HINT_TRACE_SHP==="1")console.log("trace SHP",{refPoint:K,orgRef:J,curRef:q,shift:U,useRp1:Q,gep0:$.GS.gep0,gep1:$.GS.gep1,gep2:$.GS.gep2,ip:$.IP,range:$.currentRange});let W=$.zp2,H=$.GS.loop;$.GS.loop=1;for(let _=0;_<H;_++){let N=$.stack[--$.stackTop];if(N<0||N>=W.nPoints){$.error=`SHP: invalid point ${N}`;return}T6($,W,N,U),P6($,W,N)}}function f1($,Q){let Z=$.stack[--$.stackTop],K=Q?$.zp0:$.zp1,J=Q?$.GS.rp1:$.GS.rp2;if(J<0||J>=K.nPoints){$.error=`SHC: invalid reference point ${J}`;return}let q=$.zp2;if(Z<0||Z>=q.nContours){$.error=`SHC: invalid contour ${Z}`;return}let U=R9($,K.org[J]),H=V6($,K,J)-U,_=Z===0?0:q.contours[Z-1]+1,N=q.contours[Z];for(let V=_;V<=N;V++){if(q===K&&V===J)continue;T6($,q,V,H),P6($,q,V)}}function l1($,Q){let Z=$.stack[--$.stackTop],K=Q?$.zp0:$.zp1,J=Q?$.GS.rp1:$.GS.rp2;if(J<0||J>=K.nPoints){$.error=`SHZ: invalid reference point ${J}`;return}let q=Z===0?$.twilight:$.pts,U=R9($,K.org[J]),H=V6($,K,J)-U;for(let _=0;_<q.nPoints;_++){if(q===K&&_===J)continue;T6($,q,_,H)}}function rQ($){let Q=$.stack[--$.stackTop],Z=$.zp2,K=$.GS.loop;$.GS.loop=1;for(let J=0;J<K;J++){let q=$.stack[--$.stackTop];if(q<0||q>=Z.nPoints){$.error=`SHPIX: invalid point ${q}`;return}T6($,Z,q,Q),P6($,Z,q)}}function tQ($){let Q=$.GS.rp1,Z=$.GS.rp2;if(Q<0||Q>=$.zp0.nPoints){$.error=`IP: invalid rp1 ${Q}`;return}if(Z<0||Z>=$.zp1.nPoints){$.error=`IP: invalid rp2 ${Z}`;return}let K=f6($,$.zp1,Z)-f6($,$.zp0,Q),J=V6($,$.zp1,Z)-V6($,$.zp0,Q),q=f6($,$.zp0,Q),U=V6($,$.zp0,Q),W=$.zp2,H=$.GS.loop;$.GS.loop=1;for(let _=0;_<H;_++){let N=$.stack[--$.stackTop];if(N<0||N>=W.nPoints){$.error=`IP: invalid point ${N}`;return}let V=f6($,W,N)-q,X=V6($,W,N)-U,j;if(V!==0)if(K!==0)j=m1(V,J,K);else j=V;else j=0;T6($,W,N,j-X),P6($,W,N)}}function eQ($){let Q=$.GS.rp0;if(Q<0||Q>=$.zp0.nPoints){$.error=`ALIGNRP: invalid rp0 ${Q}`;return}let Z=$.GS.gep0===0?f6($,$.zp0,Q):V6($,$.zp0,Q),K=$.zp1,J=$.GS.loop;$.GS.loop=1;for(let q=0;q<J;q++){let U=$.stack[--$.stackTop];if(U<0||U>=K.nPoints){$.error=`ALIGNRP: invalid point ${U}`;return}let W=V6($,K,U),H=Z-W,_=j6?.HINT_TRACE_POINTS;if(_){if(_.split(",").map((V)=>Number.parseInt(V.trim(),10)).includes(U)){let V=f6($,$.zp0,Q),X=V6($,$.zp0,Q);console.log("trace ALIGNRP",{pointIndex:U,refPos:Z,refOrg:V,refCur:X,curPos:W,distance:H,gep0:$.GS.gep0,gep1:$.GS.gep1,gep2:$.GS.gep2})}}T6($,K,U,H),P6($,K,U)}}function d1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0,q=$.zp1;if(K<0||K>=q.nPoints){$.error=`MSIRP: invalid point ${K}`;return}let U=$.GS.rp0;if(U<0||U>=J.nPoints){$.error=`MSIRP: invalid rp0 ${U}`;return}let W=V6($,q,K)-V6($,J,U),H=Z-W;if(T6($,q,K,H),P6($,q,K),$.GS.rp1=$.GS.rp0,$.GS.rp2=K,Q){if($.GS.rp0=K,j6?.HINT_TRACE_RP0==="1")console.log("trace rp0",{ip:$.IP,range:$.currentRange,opcode:$.opcode,rp0:$.GS.rp0})}}function $Z($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.stack[--$.stackTop],q=$.stack[--$.stackTop],U=$.zp0,W=$.zp1,H=$.zp2;if(J<0||J>=U.nPoints||K<0||K>=U.nPoints){$.error="ISECT: invalid line A points";return}if(Z<0||Z>=W.nPoints||Q<0||Q>=W.nPoints){$.error="ISECT: invalid line B points";return}if(q<0||q>=H.nPoints){$.error=`ISECT: invalid point ${q}`;return}let _=U.cur[J],N=U.cur[K],V=W.cur[Z],X=W.cur[Q],j=N.x-_.x,z=N.y-_.y,Y=X.x-V.x,G=X.y-V.y,E=j*G-z*Y,w=H.cur[q];if(E===0)w.x=_.x+N.x+V.x+X.x>>2,w.y=_.y+N.y+V.y+X.y>>2;else{let F=V.x-_.x,A=V.y-_.y,M=(F*G-A*Y)/E;w.x=Math.round(_.x+M*j),w.y=Math.round(_.y+M*z)}H.tags[q]|=48}function QZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.zp0,J=$.zp1;if(Z<0||Z>=K.nPoints){$.error=`ALIGNPTS: invalid point ${Z}`;return}if(Q<0||Q>=J.nPoints){$.error=`ALIGNPTS: invalid point ${Q}`;return}let q=V6($,K,Z),U=V6($,J,Q),W=q+U>>1;T6($,K,Z,W-q),T6($,J,Q,W-U),P6($,K,Z),P6($,J,Q)}function n1($,Q){let Z=$.stack[--$.stackTop],K=$.zp2;if(Z<0||Z>=K.nPoints){$.error=`GC: invalid point ${Z}`,$.stack[$.stackTop++]=0;return}let J=Q?R9($,K.org[Z]):V6($,K,Z);$.stack[$.stackTop++]=J}function ZZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.zp2;if(Z<0||Z>=K.nPoints){$.error=`SCFS: invalid point ${Z}`;return}let J=V6($,K,Z);T6($,K,Z,Q-J),P6($,K,Z)}function p1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=$.zp0,q=$.zp1;if(K<0||K>=J.nPoints){$.error=`MD: invalid point ${K}`,$.stack[$.stackTop++]=0;return}if(Z<0||Z>=q.nPoints){$.error=`MD: invalid point ${Z}`,$.stack[$.stackTop++]=0;return}let U;if(Q)U=f6($,q,Z)-f6($,J,K);else U=V6($,q,Z)-V6($,J,K);$.stack[$.stackTop++]=U}function KZ($){$.stack[$.stackTop++]=$.ppem}function JZ($){$.stack[$.stackTop++]=$.pointSize}function qZ($){let Q=$.pts,Z=$.GS.loop;$.GS.loop=1;for(let K=0;K<Z;K++){let J=$.stack[--$.stackTop];if(J<0||J>=Q.nPoints){$.error=`FLIPPT: invalid point ${J}`;return}Q.tags[J]^=1}}function UZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.pts;if(Z<0||Q>=K.nPoints||Z>Q){$.error=`FLIPRGON: invalid range ${Z}-${Q}`;return}for(let J=Z;J<=Q;J++)K.tags[J]|=1}function WZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=$.pts;if(Z<0||Q>=K.nPoints||Z>Q){$.error=`FLIPRGOFF: invalid range ${Z}-${Q}`;return}for(let J=Z;J<=Q;J++)K.tags[J]&=-2}function T9($,Q){let Z=$.stack[--$.stackTop],K=K8(Z,$.GS);$.stack[$.stackTop++]=X8(Z,K,$.GS)}function O9($,Q){let Z=$.stack[--$.stackTop],K=K8(Z,$.GS);$.stack[$.stackTop++]=Z+K}function HZ($){o1($,0)}function _Z($){o1($,16)}function NZ($){o1($,32)}function o1($,Q){let Z=$.stack[--$.stackTop];if(Z<0){$.error=`DELTAP: invalid count ${Z}`;return}let K=$.zp0;for(let J=0;J<Z;J++){let q=$.stack[--$.stackTop],U=$.stack[--$.stackTop];if(q<0||q>=K.nPoints){$.error=`DELTAP: invalid point ${q}`;return}let W=(U>>4&15)+$.GS.deltaBase+Q,H=U&15;if(W!==$.ppem)continue;let _=1<<6-$.GS.deltaShift,N=H-8;if(N>=0)N+=1;let V=N*_;T6($,K,q,V),P6($,K,q)}}function VZ($){c1($,0)}function XZ($){c1($,16)}function jZ($){c1($,32)}function c1($,Q){let Z=$.stack[--$.stackTop];if(Z<0){$.error=`DELTAC: invalid count ${Z}`;return}for(let K=0;K<Z;K++){let J=$.stack[--$.stackTop],q=$.stack[--$.stackTop];if(J<0||J>=$.cvtSize){$.error=`DELTAC: invalid CVT index ${J}`;return}let U=(q>>4&15)+$.GS.deltaBase+Q,W=q&15;if(U!==$.ppem)continue;let H=1<<6-$.GS.deltaShift,_=W-8;if(_>=0)_+=1;let N=_*H;$.cvt[J]+=N}}function i1($,Q){if(Q===0)$.GS.projVector={x:0,y:16384},$.GS.freeVector={x:0,y:16384},$.GS.dualVector={x:0,y:16384};else $.GS.projVector={x:16384,y:0},$.GS.freeVector={x:16384,y:0},$.GS.dualVector={x:16384,y:0}}function s1($,Q){if(Q===0)$.GS.projVector={x:0,y:16384},$.GS.dualVector={x:0,y:16384};else $.GS.projVector={x:16384,y:0},$.GS.dualVector={x:16384,y:0}}function a1($,Q){if(Q===0)$.GS.freeVector={x:0,y:16384};else $.GS.freeVector={x:16384,y:0}}function r1($,Q,Z,K,J,q){let U=K===0?$.twilight:$.pts,W=J===0?$.twilight:$.pts,H=q?U.org[Q]:U.cur[Q],_=q?W.org[Z]:W.cur[Z];if(!H||!_)return{x:16384,y:0};let N=H.x-_.x,V=H.y-_.y,X=Math.sqrt(N*N+V*V);if(X===0)return{x:16384,y:0};return{x:Math.round(N/X*16384),y:Math.round(V/X*16384)}}function t1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=r1($,Z,K,$.GS.gep1,$.GS.gep2,!1);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.projVector=J,$.GS.dualVector={...J}}function e1($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=r1($,Z,K,$.GS.gep1,$.GS.gep2,!1);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.freeVector=J}function $5($,Q){let Z=$.stack[--$.stackTop],K=$.stack[--$.stackTop],J=r1($,Z,K,$.GS.gep1,$.GS.gep2,!0);if(Q){let q=J.x;J.x=J.y,J.y=-q}$.GS.dualVector=J}function zZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=Math.sqrt(Z*Z+Q*Q);if(K===0)$.GS.projVector={x:16384,y:0};else $.GS.projVector={x:Math.round(Z/K*16384),y:Math.round(Q/K*16384)};$.GS.dualVector={...$.GS.projVector}}function YZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop],K=Math.sqrt(Z*Z+Q*Q);if(K===0)$.GS.freeVector={x:16384,y:0};else $.GS.freeVector={x:Math.round(Z/K*16384),y:Math.round(Q/K*16384)}}function GZ($){$.stack[$.stackTop++]=$.GS.projVector.x,$.stack[$.stackTop++]=$.GS.projVector.y}function EZ($){$.stack[$.stackTop++]=$.GS.freeVector.x,$.stack[$.stackTop++]=$.GS.freeVector.y}function wZ($){$.GS.freeVector={...$.GS.projVector}}function AZ($){$.GS.rp0=$.stack[--$.stackTop]}function FZ($){$.GS.rp1=$.stack[--$.stackTop]}function LZ($){$.GS.rp2=$.stack[--$.stackTop]}function DZ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP0: invalid zone ${Q}`;return}$.GS.gep0=Q,$.zp0=Q===0?$.twilight:$.pts}function MZ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP1: invalid zone ${Q}`;return}$.GS.gep1=Q,$.zp1=Q===0?$.twilight:$.pts}function BZ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZP2: invalid zone ${Q}`;return}$.GS.gep2=Q,$.zp2=Q===0?$.twilight:$.pts}function RZ($){let Q=$.stack[--$.stackTop];if(Q!==0&&Q!==1){$.error=`SZPS: invalid zone ${Q}`;return}$.GS.gep0=Q,$.GS.gep1=Q,$.GS.gep2=Q;let Z=Q===0?$.twilight:$.pts;$.zp0=Z,$.zp1=Z,$.zp2=Z}function TZ($){let Q=$.stack[--$.stackTop];if(Q<=0){$.error=`SLOOP: invalid count ${Q}`;return}$.GS.loop=Q}function OZ($){$.GS.minimumDistance=$.stack[--$.stackTop]}function PZ($){if($.GS.controlValueCutIn=$.stack[--$.stackTop],j6?.HINT_TRACE_SCVTCI==="1")console.log("trace SCVTCI",{ip:$.IP,range:$.currentRange,value:$.GS.controlValueCutIn,ppem:$.ppem})}function vZ($){$.GS.singleWidthCutIn=$.stack[--$.stackTop]}function IZ($){$.GS.singleWidthValue=$.stack[--$.stackTop]}function kZ($){$.GS.deltaBase=$.stack[--$.stackTop]}function CZ($){$.GS.deltaShift=$.stack[--$.stackTop]}function SZ($){$.GS.roundState=1}function hZ($){$.GS.roundState=0}function yZ($){$.GS.roundState=2}function bZ($){$.GS.roundState=3}function mZ($){$.GS.roundState=4}function gZ($){$.GS.roundState=5}function uZ($){let Q=$.stack[--$.stackTop];B9(Q,$.GS),$.GS.roundState=6}function xZ($){let Q=$.stack[--$.stackTop];B9(Q,$.GS),$.GS.roundState=7}function fZ($){$.GS.autoFlip=!0}function lZ($){$.GS.autoFlip=!1}function dZ($){$.GS.scanControl=$.stack[--$.stackTop]}function nZ($){$.GS.scanType=$.stack[--$.stackTop]}function pZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Q===1||Q===2)if(Z)$.GS.instructControl|=Q;else $.GS.instructControl&=~Q}function oZ($){let Q=$.stack[--$.stackTop],Z=0;if(Q&1)Z|=40;if(Q&32)Z|=4096;$.stack[$.stackTop++]=Z}function cZ($){let Q=$.stack[--$.stackTop];if(Q<0||Q>=$.storageSize){$.error=`RS: invalid index ${Q}`,$.stack[$.stackTop++]=0;return}let Z=j6?.HINT_TRACE_STORAGE;if(Z){if(Z.split(",").map((J)=>Number.parseInt(J.trim(),10)).includes(Q))console.log("trace RS",{ip:$.IP,range:$.currentRange,index:Q,value:$.storage[Q]})}$.stack[$.stackTop++]=$.storage[Q]}function iZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.storageSize){$.error=`WS: invalid index ${Z}`;return}$.storage[Z]=Q;let K=j6?.HINT_TRACE_STORAGE;if(K){if(K.split(",").map((q)=>Number.parseInt(q.trim(),10)).includes(Z))console.log("trace WS",{ip:$.IP,range:$.currentRange,index:Z,value:Q})}}function sZ($){let Q=$.stack[--$.stackTop];if(Q<0||Q>=$.cvtSize){$.error=`RCVT: invalid index ${Q}`,$.stack[$.stackTop++]=0;return}$.stack[$.stackTop++]=$.cvt[Q]}function aZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.cvtSize){$.error=`WCVTP: invalid index ${Z}`;return}if($.cvt[Z]=Q,j6?.HINT_TRACE_CVT0==="1"&&Z===0)console.log("trace WCVTP",{ip:$.IP,range:$.currentRange,index:Z,value:Q,ppem:$.ppem});let K=j6?.HINT_TRACE_CVT;if(K){let J=K.split(",").map((q)=>Number.parseInt(q.trim(),10)).filter((q)=>Number.isFinite(q));if(J.length===0||J.includes(Z))console.log("trace WCVTP",{ip:$.IP,range:$.currentRange,index:Z,value:Q,ppem:$.ppem})}}function rZ($){let Q=$.stack[--$.stackTop],Z=$.stack[--$.stackTop];if(Z<0||Z>=$.cvtSize){$.error=`WCVTF: invalid index ${Z}`;return}if($.cvt[Z]=u6(Q,$.scaleFix),j6?.HINT_TRACE_CVT0==="1"&&Z===0)console.log("trace WCVTF",{ip:$.IP,range:$.currentRange,index:Z,value:Q,ppem:$.ppem})}function tZ($){let Q=$.stack[--$.stackTop],Z=$.zp0;if(Q<0||Q>=Z.nPoints){$.error=`UTP: invalid point ${Q}`;return}let K=$.GS.freeVector;if(K.y!==0)Z.tags[Q]&=~32;if(K.x!==0)Z.tags[Q]&=~16}function $7($){Z7($,16,!0)}function Q7($){Z7($,32,!1)}function Z7($,Q,Z){let K=$.pts,J=K.nPoints,q=K.nContours;if(J===0||q===0)return;let U=0;for(let W=0;W<q;W++){let H=K.contours[W],_=-1;for(let j=U;j<=H;j++)if(K.tags[j]&Q){_=j;break}if(_<0){U=H+1;continue}let N=_,V=_+1,X=!1;while(!0){if(V>H){if(X)break;V=U,X=!0}if(V===_&&X){if(N!==_)eZ(K,N,_,U,H,Z);else uW(K,U,H,_,Z);break}if(K.tags[V]&Q){if(N!==V)eZ(K,N,V,U,H,Z);N=V}V++}U=H+1}}function uW($,Q,Z,K,J){let q=J?$.org[K]?.x:$.org[K]?.y,W=(J?$.cur[K]?.x:$.cur[K]?.y)-q;if(W===0)return;for(let H=Q;H<=Z;H++){if(H===K)continue;if(J)$.cur[H].x+=W;else $.cur[H].y+=W}}function eZ($,Q,Z,K,J,q){let U=Q,W=Z,H=q?$.orus[U]?.x:$.orus[U]?.y,_=q?$.orus[W]?.x:$.orus[W]?.y;if(H>_){let F=H;H=_,_=F;let A=U;U=W,W=A}let N=q?$.org[U]?.x:$.org[U]?.y,V=q?$.org[W]?.x:$.org[W]?.y,X=q?$.cur[U]?.x:$.cur[U]?.y,j=q?$.cur[W]?.x:$.cur[W]?.y,z=X-N,Y=j-V,G=X===j||H===_,E=G?0:oQ(j-X,_-H),w=Q+1;if(w>J)w=K;while(w!==Z){let F=q?$.org[w]?.x:$.org[w]?.y,A;if(F<=N)A=F+z;else if(F>=V)A=F+Y;else if(G)A=X;else{let M=q?$.orus[w]?.x:$.orus[w]?.y;A=X+b1(M-H,E)}if(q)$.cur[w].x=A;else $.cur[w].y=A;if(w++,w>J)w=K}}function K7($){let Q=$.stack[$.stackTop-1];$.stack[$.stackTop++]=Q}function J7($){$.stackTop--}function q7($){$.stackTop=0}function U7($){let Q=$.stack[$.stackTop-1],Z=$.stack[$.stackTop-2];$.stack[$.stackTop-1]=Z,$.stack[$.stackTop-2]=Q}function W7($){let Q=$.stackTop;$.stack[$.stackTop++]=Q}function H7($){let Q=$.stack[--$.stackTop];if(Q<=0||Q>$.stackTop){$.error=`CINDEX: invalid index ${Q}`;return}let Z=$.stack[$.stackTop-Q];$.stack[$.stackTop++]=Z}function _7($){let Q=$.stack[--$.stackTop];if(Q<=0||Q>$.stackTop){$.error=`MINDEX: invalid index ${Q}`;return}let Z=$.stack[$.stackTop-Q];for(let K=$.stackTop-Q;K<$.stackTop-1;K++)$.stack[K]=$.stack[K+1];$.stack[$.stackTop-1]=Z}function N7($){let Q=$.stack[$.stackTop-1],Z=$.stack[$.stackTop-2],K=$.stack[$.stackTop-3];$.stack[$.stackTop-3]=Z,$.stack[$.stackTop-2]=Q,$.stack[$.stackTop-1]=K}function Q5($,Q){for(let Z=0;Z<Q;Z++)$.stack[$.stackTop++]=$.code[$.IP++]}function Z5($,Q){for(let Z=0;Z<Q;Z++){let K=$.code[$.IP++],J=$.code[$.IP++],q=K<<8|J;if(q>=32768)q-=65536;$.stack[$.stackTop++]=q}}function V7($){let Q=$.code[$.IP++];Q5($,Q)}function X7($){let Q=$.code[$.IP++];Z5($,Q)}function K5($){while($.IP<$.codeSize&&$.error===null){if(++$.instructionCount>$.maxInstructions){$.error="Instruction limit exceeded (possible infinite loop)";return}let Q=$.code[$.IP++];$.opcode=Q,xW($,Q)}}function xW($,Q){if(j6?.HINT_TRACE_FUNC48==="1"&&$.currentRange===1&&$.IP-1>=1527&&$.IP-1<1582)console.log("trace func48",{ip:$.IP-1,opcode:Q,stackTop:$.stackTop,stackTail:Array.from($.stack.slice(Math.max(0,$.stackTop-6),$.stackTop))});if(Q>=176&&Q<=183){Q5($,Q-176+1);return}if(Q>=184&&Q<=191){Z5($,Q-184+1);return}if(Q>=192&&Q<=223){sQ($,Q&31);return}if(Q>=224&&Q<=255){aQ($,Q&31);return}switch(Q){case D.SVTCA_Y:i1($,0);break;case D.SVTCA_X:i1($,1);break;case D.SPVTCA_Y:s1($,0);break;case D.SPVTCA_X:s1($,1);break;case D.SFVTCA_Y:a1($,0);break;case D.SFVTCA_X:a1($,1);break;case D.SPVTL_0:t1($,!1);break;case D.SPVTL_1:t1($,!0);break;case D.SFVTL_0:e1($,!1);break;case D.SFVTL_1:e1($,!0);break;case D.SDPVTL_0:$5($,!1);break;case D.SDPVTL_1:$5($,!0);break;case D.SPVFS:zZ($);break;case D.SFVFS:YZ($);break;case D.GPV:GZ($);break;case D.GFV:EZ($);break;case D.SFVTPV:wZ($);break;case D.ISECT:$Z($);break;case D.SRP0:AZ($);break;case D.SRP1:FZ($);break;case D.SRP2:LZ($);break;case D.SZP0:DZ($);break;case D.SZP1:MZ($);break;case D.SZP2:BZ($);break;case D.SZPS:RZ($);break;case D.SLOOP:TZ($);break;case D.RTG:SZ($);break;case D.RTHG:hZ($);break;case D.SMD:OZ($);break;case D.ELSE:bQ($);break;case D.JMPR:gQ($);break;case D.SCVTCI:PZ($);break;case D.SSWCI:vZ($);break;case D.SSW:IZ($);break;case D.DUP:K7($);break;case D.POP:J7($);break;case D.CLEAR:q7($);break;case D.SWAP:U7($);break;case D.DEPTH:W7($);break;case D.CINDEX:H7($);break;case D.MINDEX:_7($);break;case D.ROLL:N7($);break;case D.FDEF:fQ($);break;case D.ENDF:lQ($);break;case D.CALL:dQ($);break;case D.LOOPCALL:nQ($);break;case D.MDAP_0:g1($,!1);break;case D.MDAP_1:g1($,!0);break;case D.IUP_Y:Q7($);break;case D.IUP_X:$7($);break;case D.SHP_0:x1($,!1);break;case D.SHP_1:x1($,!0);break;case D.SHC_0:f1($,!1);break;case D.SHC_1:f1($,!0);break;case D.SHZ_0:l1($,!1);break;case D.SHZ_1:l1($,!0);break;case D.SHPIX:rQ($);break;case D.IP:tQ($);break;case D.MSIRP_0:d1($,!1);break;case D.MSIRP_1:d1($,!0);break;case D.ALIGNRP:eQ($);break;case D.ALIGNPTS:QZ($);break;case D.UTP:tZ($);break;case D.RTDG:yZ($);break;case D.MIAP_0:u1($,!1);break;case D.MIAP_1:u1($,!0);break;case D.NPUSHB:V7($);break;case D.NPUSHW:X7($);break;case D.WS:iZ($);break;case D.RS:cZ($);break;case D.WCVTP:aZ($);break;case D.RCVT:sZ($);break;case D.GC_0:n1($,!1);break;case D.GC_1:n1($,!0);break;case D.SCFS:ZZ($);break;case D.MD_0:p1($,!0);break;case D.MD_1:p1($,!1);break;case D.MPPEM:KZ($);break;case D.MPS:JZ($);break;case D.FLIPON:fZ($);break;case D.FLIPOFF:lZ($);break;case D.DEBUG:break;case D.LT:BQ($);break;case D.LTEQ:RQ($);break;case D.GT:TQ($);break;case D.GTEQ:OQ($);break;case D.EQ:PQ($);break;case D.NEQ:vQ($);break;case D.ODD:IQ($);break;case D.EVEN:kQ($);break;case D.IF:yQ($);break;case D.EIF:mQ($);break;case D.AND:CQ($);break;case D.OR:SQ($);break;case D.NOT:hQ($);break;case D.DELTAP1:HZ($);break;case D.SDB:kZ($);break;case D.SDS:CZ($);break;case D.ADD:zQ($);break;case D.SUB:YQ($);break;case D.DIV:GQ($);break;case D.MUL:EQ($);break;case D.ABS:wQ($);break;case D.NEG:AQ($);break;case D.FLOOR:FQ($);break;case D.CEILING:LQ($);break;case D.ROUND_0:T9($,0);break;case D.ROUND_1:T9($,1);break;case D.ROUND_2:T9($,2);break;case D.ROUND_3:T9($,3);break;case D.NROUND_0:O9($,0);break;case D.NROUND_1:O9($,1);break;case D.NROUND_2:O9($,2);break;case D.NROUND_3:O9($,3);break;case D.WCVTF:rZ($);break;case D.DELTAP2:_Z($);break;case D.DELTAP3:NZ($);break;case D.DELTAC1:VZ($);break;case D.DELTAC2:XZ($);break;case D.DELTAC3:jZ($);break;case D.SROUND:uZ($);break;case D.S45ROUND:xZ($);break;case D.JROT:uQ($);break;case D.JROF:xQ($);break;case D.ROFF:gZ($);break;case D.RUTG:mZ($);break;case D.RDTG:bZ($);break;case D.SANGW:$.stackTop--;break;case D.AA:$.stackTop--;break;case D.FLIPPT:qZ($);break;case D.FLIPRGON:UZ($);break;case D.FLIPRGOFF:WZ($);break;case D.SCANCTRL:dZ($);break;case D.SCANTYPE:nZ($);break;case D.MAX:DQ($);break;case D.MIN:MQ($);break;case D.GETINFO:oZ($);break;case D.IDEF:pQ($);break;case D.INSTCTRL:pZ($);break;default:if(Q<$.maxIDefs&&$.IDefs[Q]?.active){let Z=$.IDefs[Q];if($.callStackTop>=$.maxCallStack){$.error="IDEF call: call stack overflow";return}let K=$.callStack[$.callStackTop++];K.callerIP=$.IP,K.callerRange=$.currentRange,K.def={id:Q,start:Z.start,end:Z.end,active:!0,range:Z.range},K.count=1,$.currentRange=Z.range;let J=$.codeRanges.get($.currentRange);if(J)$.code=J.code,$.codeSize=J.size;$.IP=Z.start}else $.error=`Unknown opcode 0x${Q.toString(16)}`}}function p8($,Q,Z){$.codeRanges.set(Q,{code:Z,size:Z.length})}function P9($,Q){let Z=$.codeRanges.get(Q);if(!Z)return;$.stackTop=0,$.callStackTop=0,$.currentRange=Q,$.code=Z.code,$.codeSize=Z.size,$.IP=0,$.instructionCount=0,K5($)}function E0($){$.twilight.nPoints=$.twilight.org.length;for(let Q=0;Q<$.twilight.nPoints;Q++)$.twilight.org[Q].x=0,$.twilight.org[Q].y=0,$.twilight.cur[Q].x=0,$.twilight.cur[Q].y=0,$.twilight.tags[Q]=0;$.zp0=$.twilight,$.zp1=$.twilight,$.zp2=$.twilight,$.GS.gep0=0,$.GS.gep1=0,$.GS.gep2=0,P9($,1)}function w0($){$.GS={...$.defaultGS},$.twilight.nPoints=$.twilight.org.length;for(let Q=0;Q<$.twilight.nPoints;Q++)$.twilight.org[Q].x=0,$.twilight.org[Q].y=0,$.twilight.cur[Q].x=0,$.twilight.cur[Q].y=0,$.twilight.tags[Q]=0;$.zp0=$.twilight,$.zp1=$.twilight,$.zp2=$.twilight,$.GS.gep0=0,$.GS.gep1=0,$.GS.gep2=0,P9($,2),$.defaultGS={...$.GS},$.defaultGS.projVector={x:16384,y:0},$.defaultGS.freeVector={x:16384,y:0},$.defaultGS.dualVector={x:16384,y:0},$.defaultGS.rp0=0,$.defaultGS.rp1=0,$.defaultGS.rp2=0,$.defaultGS.loop=1,$.defaultGS.gep0=1,$.defaultGS.gep1=1,$.defaultGS.gep2=1}function A0($,Q){$.GS={...$.defaultGS},$.GS.rp0=0,$.GS.rp1=0,$.GS.rp2=0,$.GS.loop=1,$.zp0=$.pts,$.zp1=$.pts,$.zp2=$.pts,$.GS.gep0=1,$.GS.gep1=1,$.GS.gep2=1,p8($,3,Q),P9($,3)}function F0($,Q=256,Z=64,K=64,J=16,q){let U=G0(Q,Z,K,K,32,J),W;if(q)W=new Int32Array(q),U.cvt=new Int32Array(q),U.cvtSize=q.length;return U.twilight.nPoints=J,U.zp0=U.twilight,U.zp1=U.twilight,U.zp2=U.twilight,{ctx:U,unitsPerEM:$,cvtOriginal:W,fpgmExecuted:!1,currentPpem:0}}function L0($,Q){p8($.ctx,1,Q)}function D0($,Q){p8($.ctx,2,Q)}function J5($){if($.fpgmExecuted)return null;return $.ctx.error=null,E0($.ctx),$.fpgmExecuted=!0,$.ctx.error}function M0($,Q,Z){if(!$.fpgmExecuted){let K=J5($);if(K)return K}if($.currentPpem===Q)return null;return $.ctx.scale=Q*64/$.unitsPerEM,$.ctx.scaleFix=Math.round($.ctx.scale*65536),$.ctx.ppem=Q,$.ctx.pointSize=Z*64,fW($.ctx,$.cvtOriginal),$.ctx.error=null,w0($.ctx),$.currentPpem=Q,$.cvtBase=new Int32Array($.ctx.cvt),$.ctx.error}function fW($,Q){if(!Q){for(let Z=0;Z<$.cvtSize;Z++)$.cvt[Z]=u6($.cvt[Z],$.scaleFix);return}for(let Z=0;Z<$.cvtSize;Z++)$.cvt[Z]=u6(Q[Z],$.scaleFix)}function B0($,Q){let Z=$.ctx,K=Q.xCoords.length,J=Q.contourEnds.length,q=K+4,U=Q8(q,J);U.nPoints=q,U.nContours=J;for(let z=0;z<K;z++){let Y=u6(Q.xCoords[z],Z.scaleFix),G=u6(Q.yCoords[z],Z.scaleFix);U.org[z].x=Y,U.org[z].y=G,U.cur[z].x=Y,U.cur[z].y=G,U.orus[z].x=Q.xCoords[z],U.orus[z].y=Q.yCoords[z],U.tags[z]=Q.flags[z]}let W=1/0;for(let z=0;z<K;z++)if(Q.xCoords[z]<W)W=Q.xCoords[z];if(!Number.isFinite(W))W=0;let H=Q.lsb??0,_=Q.advanceWidth??0,N=u6(W-H,Z.scaleFix);U.org[K].x=N,U.org[K].y=0,U.cur[K].x=N,U.cur[K].y=0,U.orus[K].x=W-H,U.orus[K].y=0,U.tags[K]=0;let V=u6(W-H+_,Z.scaleFix);U.org[K+1].x=V,U.org[K+1].y=0,U.cur[K+1].x=V,U.cur[K+1].y=0,U.orus[K+1].x=W-H+_,U.orus[K+1].y=0,U.tags[K+1]=0;for(let z=K+2;z<q;z++)U.org[z].x=0,U.org[z].y=0,U.cur[z].x=0,U.cur[z].y=0,U.orus[z].x=0,U.orus[z].y=0,U.tags[z]=0;U.cur[K].x=Z8(U.cur[K].x,0),U.cur[K+1].x=Z8(U.cur[K+1].x,0),U.cur[K+2].y=Z8(U.cur[K+2].y,0),U.cur[K+3].y=Z8(U.cur[K+3].y,0);for(let z=0;z<J;z++)U.contours[z]=Q.contourEnds[z];Z.pts=U,Z.zp0=U,Z.zp1=U,Z.zp2=U,Z.twilight.nPoints=Z.twilight.org.length;for(let z=0;z<Z.twilight.nPoints;z++)Z.twilight.org[z].x=0,Z.twilight.org[z].y=0,Z.twilight.cur[z].x=0,Z.twilight.cur[z].y=0,Z.twilight.tags[z]=0;if(Z.storage.fill(0),$.cvtBase)Z.cvt.set($.cvtBase);if(Z.error=null,Q.instructions.length>0)A0(Z,Q.instructions);let X=Array(K),j=Array(K);for(let z=0;z<K;z++)X[z]=U.cur[z]?.x,j[z]=U.cur[z]?.y;return{xCoords:X,yCoords:j,flags:Q.flags,contourEnds:Q.contourEnds,error:Z.error}}function j7($){return $.map((Q)=>Q/64)}var R0;((q)=>{q[q.Invalid=0]="Invalid";q[q.LTR=4]="LTR";q[q.RTL=5]="RTL";q[q.TTB=6]="TTB";q[q.BTT=7]="BTT"})(R0||={});var z7;((K)=>{K[K.MonotoneGraphemes=0]="MonotoneGraphemes";K[K.MonotoneCharacters=1]="MonotoneCharacters";K[K.Characters=2]="Characters"})(z7||={});var Y7;((U)=>{U[U.Default=0]="Default";U[U.BeginningOfText=1]="BeginningOfText";U[U.EndOfText=2]="EndOfText";U[U.PreserveDefaultIgnorables=4]="PreserveDefaultIgnorables";U[U.RemoveDefaultIgnorables=8]="RemoveDefaultIgnorables";U[U.DoNotInsertDottedCircle=16]="DoNotInsertDottedCircle"})(Y7||={});var T0;((J)=>{J[J.Base=1]="Base";J[J.Ligature=2]="Ligature";J[J.Mark=3]="Mark";J[J.Component=4]="Component"})(T0||={});function k($){if($.length!==4)throw Error(`Tag must be exactly 4 characters: "${$}"`);return $.charCodeAt(0)<<24|$.charCodeAt(1)<<16|$.charCodeAt(2)<<8|$.charCodeAt(3)}function v9($){return String.fromCharCode($>>24&255,$>>16&255,$>>8&255,$&255)}var p={head:k("head"),hhea:k("hhea"),hmtx:k("hmtx"),maxp:k("maxp"),cmap:k("cmap"),loca:k("loca"),glyf:k("glyf"),name:k("name"),OS2:k("OS/2"),post:k("post"),GDEF:k("GDEF"),GSUB:k("GSUB"),GPOS:k("GPOS"),BASE:k("BASE"),JSTF:k("JSTF"),MATH:k("MATH"),CFF:k("CFF "),CFF2:k("CFF2"),fvar:k("fvar"),gvar:k("gvar"),avar:k("avar"),HVAR:k("HVAR"),VVAR:k("VVAR"),MVAR:k("MVAR"),morx:k("morx"),kerx:k("kerx"),kern:k("kern"),trak:k("trak"),feat:k("feat"),COLR:k("COLR"),CPAL:k("CPAL"),SVG:k("SVG "),sbix:k("sbix"),CBDT:k("CBDT"),CBLC:k("CBLC"),STAT:k("STAT"),vhea:k("vhea"),vmtx:k("vmtx"),VORG:k("VORG"),fpgm:k("fpgm"),prep:k("prep"),cvt:k("cvt "),gasp:k("gasp")},K2={ccmp:k("ccmp"),locl:k("locl"),rlig:k("rlig"),liga:k("liga"),clig:k("clig"),calt:k("calt"),rclt:k("rclt"),dlig:k("dlig"),smcp:k("smcp"),c2sc:k("c2sc"),isol:k("isol"),init:k("init"),medi:k("medi"),fina:k("fina"),kern:k("kern"),mark:k("mark"),mkmk:k("mkmk"),curs:k("curs"),dist:k("dist")};class O8{direction=4;script="Zyyy";language=null;infos=[];positions=[];_deleted=null;_deletedCount=0;_infoPool=[];_posPool=[];_capacity=0;static withCapacity($){let Q=new O8;return Q._capacity=$,Q}get length(){return this.infos.length}reset(){this.infos.length=0,this.positions.length=0,this._deleted=null,this._deletedCount=0}initFromCodepoints($,Q,Z){let K=$.length,J=this._infoPool.length;if(J<K){let q=K-J;for(let U=0;U<q;U++)this._infoPool.push({glyphId:0,cluster:0,mask:0,codepoint:0}),this._posPool.push({xAdvance:0,yAdvance:0,xOffset:0,yOffset:0})}this.infos.length=K,this.positions.length=K;for(let q=0;q<K;q++){let U=$[q],W=this._infoPool[q];W.glyphId=Z(U),W.cluster=Q[q],W.mask=4294967295,W.codepoint=U,this.infos[q]=W;let H=this._posPool[q];H.xAdvance=0,H.yAdvance=0,H.xOffset=0,H.yOffset=0,this.positions[q]=H}this._deleted=null,this._deletedCount=0}initFromCodepointsWithFont($,Q,Z){let K=$.length,J=this._infoPool.length;if(J<K){let q=K-J;for(let U=0;U<q;U++)this._infoPool.push({glyphId:0,cluster:0,mask:0,codepoint:0}),this._posPool.push({xAdvance:0,yAdvance:0,xOffset:0,yOffset:0})}this.infos.length=K,this.positions.length=K;for(let q=0;q<K;q++){let U=$[q],W=this._infoPool[q];W.glyphId=Z.glyphId(U),W.cluster=Q[q],W.mask=4294967295,W.codepoint=U,this.infos[q]=W;let H=this._posPool[q];H.xAdvance=0,H.yAdvance=0,H.xOffset=0,H.yOffset=0,this.positions[q]=H}this._deleted=null,this._deletedCount=0}initFromInfos($){this.infos=$;let Q=$.length,Z=Array(Q);for(let K=0;K<Q;K++)Z[K]={xAdvance:0,yAdvance:0,xOffset:0,yOffset:0};this.positions=Z}setAdvance($,Q,Z=0){let K=this.positions[$];if(K)K.xAdvance=Q,K.yAdvance=Z}addOffset($,Q,Z){let K=this.positions[$];if(K)K.xOffset+=Q,K.yOffset+=Z}replaceGlyph($,Q){let Z=this.infos[$];if(Z)Z.glyphId=Q}insertGlyph($,Q,Z){if(this.infos.splice($,0,Q),this.positions.splice($,0,Z),this._deleted){let K=new Uint8Array(this.infos.length);for(let J=0;J<$;J++)K[J]=this._deleted[J];K[$]=0;for(let J=$;J<this._deleted.length;J++)K[J+1]=this._deleted[J];this._deleted=K}}removeRange($,Q){let Z=Q-$;if(this.infos.splice($,Z),this.positions.splice($,Z),this._deleted&&this._deleted.length>this.infos.length)this._deleted=this._deleted.slice(0,this.infos.length)}markDeleted($){if(!this._deleted)this._deleted=new Uint8Array(this.infos.length);if(!this._deleted[$])this._deleted[$]=1,this._deletedCount++}isDeleted($){return this._deleted?this._deleted[$]===1:!1}hasPendingDeletions(){return this._deletedCount>0}compact(){if(this._deletedCount===0||!this._deleted)return;let $=0;for(let Q=0;Q<this.infos.length;Q++)if(!this._deleted[Q]){if($!==Q)this.infos[$]=this.infos[Q],this.positions[$]=this.positions[Q];$++}this.infos.length=$,this.positions.length=$,this._deleted=null,this._deletedCount=0}mergeClusters($,Q){if($>=Q||$<0||Q>=this.infos.length)return;let Z=this.infos[$]?.cluster;for(let K=$+1;K<=Q;K++){let J=this.infos[K];if(J)J.cluster=Z}}reverse(){this.infos.reverse(),this.positions.reverse()}reverseRange($,Q){let Z=$,K=Q-1;while(Z<K){let J=this.infos[Z],q=this.infos[K];if(!J||!q)break;this.infos[Z]=q,this.infos[K]=J;let U=this.positions[Z],W=this.positions[K];if(!U||!W)break;this.positions[Z]=W,this.positions[K]=U,Z++,K--}}getTotalAdvance(){let $=0,Q=0,Z=this.positions;for(let K=0;K<Z.length;K++){let J=Z[K];$+=J.xAdvance,Q+=J.yAdvance}return{x:$,y:Q}}serialize(){let $=[],Q=this.infos,Z=this.positions;for(let K=0;K<Q.length;K++){let J=Q[K],q=Z[K];if(!q)continue;let U=`${J.glyphId}`;if(K===0||J.cluster!==Q[K-1]?.cluster)U+=`=${J.cluster}`;if(q.xOffset!==0||q.yOffset!==0)U+=`@${q.xOffset},${q.yOffset}`;if(q.xAdvance!==0)U+=`+${q.xAdvance}`;$.push(U)}return`[${$.join("|")}]`}glyphIds(){return this.infos.map(($)=>$.glyphId)}clusters(){return this.infos.map(($)=>$.cluster)}*[Symbol.iterator](){let $=this.infos,Q=this.positions;for(let Z=0;Z<$.length;Z++){let K=$[Z],J=Q[Z];if(!J)continue;yield{info:K,position:J}}}}class G7{_direction=4;_script="Zyyy";_language=null;_clusterLevel=0;_flags=0;codepoints=[];clusters=[];preContext=[];postContext=[];addStr($,Q=0){let Z=$.length;if(Z===0)return this;if(this.codepoints.length>0)return this._addStrAppend($,Q);let J=Array(Z),q=Array(Z),U=Q,W=0;for(let H=0;H<Z;H++){let _=$.charCodeAt(H);if(_>=55296&&_<=56319&&H+1<Z){let N=$.charCodeAt(H+1);if(N>=56320&&N<=57343){J[W]=(_-55296<<10)+(N-56320)+65536,q[W]=U,W++,U++,H++;continue}}J[W]=_,q[W]=U,W++,U++}if(W<Z)J.length=W,q.length=W;return this.codepoints=J,this.clusters=q,this}_addStrAppend($,Q){let Z=Q,K=$.length;for(let J=0;J<K;J++){let q=$.charCodeAt(J);if(q>=55296&&q<=56319&&J+1<K){let U=$.charCodeAt(J+1);if(U>=56320&&U<=57343){this.codepoints.push((q-55296<<10)+(U-56320)+65536),this.clusters.push(Z),Z++,J++;continue}}this.codepoints.push(q),this.clusters.push(Z),Z++}return this}addCodepoints($,Q=0){let Z=Q;for(let K=0;K<$.length;K++){let J=$[K];this.codepoints.push(J),this.clusters.push(Z),Z++}return this}addCodepoint($,Q){return this.codepoints.push($),this.clusters.push(Q??this.codepoints.length-1),this}setDirection($){return this._direction=$,this}setScript($){return this._script=$,this}setLanguage($){return this._language=$,this}setClusterLevel($){return this._clusterLevel=$,this}setFlags($){return this._flags=$,this}setPreContext($){this.preContext=[];let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$.charCodeAt(Z);if(K>=55296&&K<=56319&&Z+1<Q){let J=$.charCodeAt(Z+1);if(J>=56320&&J<=57343){this.preContext.push((K-55296<<10)+(J-56320)+65536),Z++;continue}}this.preContext.push(K)}return this}setPostContext($){this.postContext=[];let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$.charCodeAt(Z);if(K>=55296&&K<=56319&&Z+1<Q){let J=$.charCodeAt(Z+1);if(J>=56320&&J<=57343){this.postContext.push((K-55296<<10)+(J-56320)+65536),Z++;continue}}this.postContext.push(K)}return this}clear(){return this.codepoints.length=0,this.clusters.length=0,this.preContext.length=0,this.postContext.length=0,this}get length(){return this.codepoints.length}get direction(){return this._direction}get script(){return this._script}get language(){return this._language}get clusterLevel(){return this._clusterLevel}get flags(){return this._flags}toGlyphInfos(){return this.codepoints.map(($,Q)=>({glyphId:0,cluster:this.clusters[Q]??0,mask:0,codepoint:$}))}}function A7($,Q){let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.offset32(),W=$.uint16(),H=$.uint16(),_=$.offset32(),N=H&1?4:2,V=[];for(let z=0;z<=W;z++){let Y=N===4?$.uint32():$.uint16()*2;V.push(Y)}let X=[];if(q>0){let z=$.sliceFrom(U);for(let Y=0;Y<q;Y++){let G=[];for(let E=0;E<J;E++)G.push(z.f2dot14());X.push(G)}}let j=[];for(let z=0;z<W;z++){let Y=V[z],G=V[z+1];if(Y===void 0||G===void 0){j.push({tupleVariationHeaders:[]});continue}let E=_+Y,w=_+G;if(E===w){j.push({tupleVariationHeaders:[]});continue}let F=$.sliceFrom(E),A=lW(F,w-E,J,X);j.push(A)}return{majorVersion:Z,minorVersion:K,axisCount:J,sharedTupleCount:q,sharedTuples:X,glyphVariationData:j}}function lW($,Q,Z,K){if(Q===0)return{tupleVariationHeaders:[]};let J=$.offset,q=$.uint16(),U=$.offset16(),W=q&4095,H=(q&32768)!==0,_=[];for(let j=0;j<W;j++){let z=$.uint16(),Y=$.uint16(),G=null,E=null,w=null;if(Y&32768){G=[];for(let F=0;F<Z;F++)G.push($.f2dot14())}else{let F=Y&4095;G=K[F]||null}if(Y&16384){E=[],w=[];for(let F=0;F<Z;F++)E.push($.f2dot14());for(let F=0;F<Z;F++)w.push($.f2dot14())}_.push({variationDataSize:z,tupleIndex:Y,peakTuple:G,intermediateStartTuple:E,intermediateEndTuple:w})}let N=$.sliceFrom(J+U),V=null;if(H)V=E7(N);let X=[];for(let j=0;j<_.length;j++){let z=_[j],Y=(z.tupleIndex&8192)!==0,G;if(Y)G=E7(N);else G=V;let E=G?G.length:0,w=E>0?w7(N,E):[],F=E>0?w7(N,E):[],A=[];for(let M=0;M<w.length;M++){let L=w[M],T=F[M];A.push({x:L??0,y:T??0})}X.push({variationDataSize:z.variationDataSize,tupleIndex:z.tupleIndex,peakTuple:z.peakTuple,intermediateStartTuple:z.intermediateStartTuple,intermediateEndTuple:z.intermediateEndTuple,serializedData:new Uint8Array(0),pointNumbers:G,deltas:A})}return{tupleVariationHeaders:X}}function E7($){let Q=$.uint8(),Z=Q===0?0:Q&128?(Q&127)<<8|$.uint8():Q;if(Z===0)return[];let K=[],J=0;while(K.length<Z){let q=$.uint8(),U=(q&127)+1,W=(q&128)!==0;for(let H=0;H<U&&K.length<Z;H++){let _=W?$.uint16():$.uint8();J+=_,K.push(J)}}return K}function w7($,Q){let Z=[];while(Z.length<Q){let K=$.uint8(),J=(K&63)+1,q=(K&128)!==0,U=(K&64)!==0;for(let W=0;W<J&&Z.length<Q;W++)if(q)Z.push(0);else if(U)Z.push($.int16());else Z.push($.int8())}return Z}function O0($,Q,Z,K){let J=1;for(let q=0;q<$.length;q++){let U=$[q],W=Q[q]??0;if(U===0||W===0){if(U!==0)J=0;continue}if(Z&&K){let H=Z[q],_=K[q];if(H===void 0||_===void 0)continue;if(W<H||W>_){J=0;break}if(W<U)J*=(W-H)/(U-H);else if(W>U)J*=(_-W)/(_-U)}else{if(U>0&&W<0||U<0&&W>0){J=0;break}if(Math.abs(W)<Math.abs(U))J*=W/U}}return J}function dW($,Q,Z,K){let J=$.glyphVariationData[Q];if(!J)return{x:0,y:0};let q=0,U=0;for(let W=0;W<J.tupleVariationHeaders.length;W++){let H=J.tupleVariationHeaders[W];if(!H.peakTuple)continue;let _=O0(H.peakTuple,K,H.intermediateStartTuple,H.intermediateEndTuple);if(_===0)continue;if(H.pointNumbers!==null){let N=H.pointNumbers.indexOf(Z);if(N<0)continue;let V=H.deltas[N];if(V)q+=V.x*_,U+=V.y*_}else{let N=H.deltas[Z];if(N)q+=N.x*_,U+=N.y*_}}return{x:Math.round(q),y:Math.round(U)}}function F7($,Q,Z){let K=Z===0,J=[],q=Q+1;if(K)for(let U=0;U<q;U++)J.push($.uint16()*2);else for(let U=0;U<q;U++)J.push($.uint32());return{offsets:J,isShort:K}}function P0($,Q){if(Q<0||Q>=$.offsets.length-1)return null;let Z=$.offsets[Q],K=$.offsets[Q+1];if(Z===void 0||K===void 0)return null;let J=K-Z;if(J===0)return null;return{offset:Z,length:J}}function nW($,Q){return P0($,Q)!==null}var j8={OnCurve:1,XShortVector:2,YShortVector:4,Repeat:8,XIsSameOrPositive:16,YIsSameOrPositive:32,OverlapSimple:64},w6={Arg1And2AreWords:1,ArgsAreXYValues:2,RoundXYToGrid:4,WeHaveAScale:8,MoreComponents:32,WeHaveAnXAndYScale:64,WeHaveATwoByTwo:128,WeHaveInstructions:256,UseMyMetrics:512,OverlapCompound:1024,ScaledComponentOffset:2048,UnscaledComponentOffset:4096};function D7($){return{reader:$}}function z8($,Q,Z){let K=P0(Q,Z);if(!K)return{type:"empty"};let J=$.reader.slice(K.offset,K.length);return pW(J)}function pW($){let Q=$.int16(),Z=$.int16(),K=$.int16(),J=$.int16(),q=$.int16();if(Q>=0)return oW($,Q,Z,K,J,q);else return cW($,Q,Z,K,J,q)}function oW($,Q,Z,K,J,q){if(Q===0)return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:[],instructions:new Uint8Array(0)};let U=[];for(let w=0;w<Q;w++)U.push($.uint16());let W=U[Q-1];if(W===void 0)return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:[],instructions:new Uint8Array(0)};let H=W+1,_=$.uint16(),N=$.bytes(_),V=[];while(V.length<H){let w=$.uint8();if(V.push(w),w&j8.Repeat){let F=$.uint8();for(let A=0;A<F;A++)V.push(w)}}let X=[],j=0;for(let w=0;w<V.length;w++){let F=V[w];if(F&j8.XShortVector){let A=$.uint8();j+=F&j8.XIsSameOrPositive?A:-A}else if(!(F&j8.XIsSameOrPositive))j+=$.int16();X.push(j)}let z=[],Y=0;for(let w=0;w<V.length;w++){let F=V[w];if(F&j8.YShortVector){let A=$.uint8();Y+=F&j8.YIsSameOrPositive?A:-A}else if(!(F&j8.YIsSameOrPositive))Y+=$.int16();z.push(Y)}let G=[],E=0;for(let w=0;w<U.length;w++){let F=U[w],A=[];while(E<=F){let M=X[E],L=z[E],T=V[E];if(M===void 0||L===void 0||T===void 0)break;A.push({x:M,y:L,onCurve:(T&j8.OnCurve)!==0}),E++}G.push(A)}return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:G,instructions:N}}function cW($,Q,Z,K,J,q){let U=[],W;do{W=$.uint16();let _=$.uint16(),N,V;if(W&w6.Arg1And2AreWords)if(W&w6.ArgsAreXYValues)N=$.int16(),V=$.int16();else N=$.uint16(),V=$.uint16();else if(W&w6.ArgsAreXYValues)N=$.int8(),V=$.int8();else N=$.uint8(),V=$.uint8();let X=1,j=0,z=0,Y=1;if(W&w6.WeHaveAScale)X=Y=$.f2dot14();else if(W&w6.WeHaveAnXAndYScale)X=$.f2dot14(),Y=$.f2dot14();else if(W&w6.WeHaveATwoByTwo)X=$.f2dot14(),j=$.f2dot14(),z=$.f2dot14(),Y=$.f2dot14();U.push({glyphId:_,flags:W,arg1:N,arg2:V,transform:[X,j,z,Y]})}while(W&w6.MoreComponents);let H=new Uint8Array(0);if(W&w6.WeHaveInstructions){let _=$.uint16();H=$.bytes(_)}return{type:"composite",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,components:U,instructions:H}}function iW($,Q,Z,K,J){if($&w6.UnscaledComponentOffset)return!1;if($&w6.ScaledComponentOffset)return!0;return!1}function sW($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z];for(let J=0;J<K.length;J++)Q.push(K[J])}return Q}function aW($,Q,Z,K,J,q,U){let W=Array($.length);for(let H=0;H<$.length;H++){let _=$[H],N=Math.round(Q*_.x+K*_.y+q),V=Math.round(Z*_.x+J*_.y+U),X={x:N,y:V,onCurve:_.onCurve};if(_.cubic)X.cubic=!0;W[H]=X}return W}function M7($,Q,Z,K){let[J,q,U,W]=Z.transform,H=(Z.flags&w6.ArgsAreXYValues)!==0,_=sW(K),N=0,V=0;if(H){if(N=Z.arg1,V=Z.arg2,iW(Z.flags,J,q,U,W)){let X=J*N+U*V,j=q*N+W*V;N=X,V=j}if(Z.flags&w6.RoundXYToGrid)N=Math.round(N),V=Math.round(V)}else{let{arg1:X,arg2:j}=Z;if(X>=0&&X<Q.length&&j>=0&&j<_.length){let z=Q[X],Y=_[j],G=J*Y.x+U*Y.y,E=q*Y.x+W*Y.y;N=z.x-G,V=z.y-E}}for(let X=0;X<K.length;X++){let j=K[X],z=aW(j,J,q,U,W,N,V);$.push(z);for(let Y=0;Y<z.length;Y++)Q.push(z[Y])}}function q5($,Q,Z,K=0){if(K>32)return[];let J=[],q=[];for(let U=0;U<Z.components.length;U++){let W=Z.components[U],H=z8($,Q,W.glyphId),_;if(H.type==="simple")_=H.contours;else if(H.type==="composite")_=q5($,Q,H,K+1);else continue;M7(J,q,W,_)}return J}var L7=new WeakMap,B7=256;function R7($){let Q=L7.get($);if(!Q)Q=new Map,L7.set($,Q);return Q}function T7($,Q,Z){let K=z8($,Q,Z);if(K.type==="empty")return[];else if(K.type==="simple")return K.contours;else{let J=R7($),q=J.get(Z);if(q)return q;let U=q5($,Q,K);if(J.size>=B7){let W=J.keys().next().value;if(W!==void 0)J.delete(W)}return J.set(Z,U),U}}function O7($,Q,Z){let K=z8($,Q,Z);if(K.type==="empty")return{contours:[],bounds:null};let J={xMin:K.xMin,yMin:K.yMin,xMax:K.xMax,yMax:K.yMax};if(K.type==="simple")return{contours:K.contours,bounds:J};let q=R7($),U=q.get(Z);if(!U){if(U=q5($,Q,K),q.size>=B7){let W=q.keys().next().value;if(W!==void 0)q.delete(W)}q.set(Z,U)}return{contours:U,bounds:J}}function P7($,Q,Z){let K=z8($,Q,Z);if(K.type==="empty")return null;return{xMin:K.xMin,yMin:K.yMin,xMax:K.xMax,yMax:K.yMax}}function v7($,Q,Z,K){let J=$.glyphVariationData[Q];if(!J)return Array(Z).fill({x:0,y:0});let q=Array(Z).fill(null).map(()=>({x:0,y:0}));for(let U=0;U<J.tupleVariationHeaders.length;U++){let W=J.tupleVariationHeaders[U];if(!W.peakTuple)continue;let H=O0(W.peakTuple,K,W.intermediateStartTuple,W.intermediateEndTuple);if(H===0)continue;if(W.pointNumbers!==null)for(let _=0;_<W.pointNumbers.length;_++){let N=W.pointNumbers[_],V=q[N],X=W.deltas[_];if(N<Z&&V&&X)V.x+=X.x*H,V.y+=X.y*H}else for(let _=0;_<Math.min(W.deltas.length,Z);_++){let N=q[_],V=W.deltas[_];if(N&&V)N.x+=V.x*H,N.y+=V.y*H}}for(let U=0;U<q.length;U++){let W=q[U];W.x=Math.round(W.x),W.y=Math.round(W.y)}return q}function I7($,Q){let Z=[],K=0;for(let J=0;J<$.length;J++){let q=$[J],U=[];for(let W=0;W<q.length;W++){let H=q[W],_=Q[K]??{x:0,y:0};U.push({x:H.x+_.x,y:H.y+_.y,onCurve:H.onCurve}),K++}Z.push(U)}return Z}function k7($,Q,Z,K,J){let q=z8($,Q,K);if(q.type==="empty")return[];let U;if(q.type==="simple")U=q.contours;else U=C7($,Q,Z,q,J);if(Z&&J&&J.length>0){let W=0;for(let _=0;_<U.length;_++){let N=U[_];W+=N.length}W+=4;let H=v7(Z,K,W,J);U=I7(U,H)}return U}function C7($,Q,Z,K,J,q=0){if(q>32)return[];let U=[],W=[];for(let H=0;H<K.components.length;H++){let _=K.components[H],N=z8($,Q,_.glyphId),V;if(N.type==="simple"){if(V=N.contours,Z&&J&&J.length>0){let X=0;for(let z=0;z<V.length;z++){let Y=V[z];X+=Y.length}X+=4;let j=v7(Z,_.glyphId,X,J);V=I7(V,j)}}else if(N.type==="composite")V=C7($,Q,Z,N,J,q+1);else continue;M7(U,W,_,V)}return U}function v6(){return[1,0,0,1,0,0]}function U5(){return[[1,0,0],[0,1,0],[0,0,1]]}function o8($,Q){return[1,0,0,1,$,Q]}function P8($,Q){return[$,0,0,Q,0,0]}function v8($){let Q=Math.cos($),Z=Math.sin($);return[Q,Z,-Z,Q,0,0]}function I8($,Q){return[1,Q,$,1,0,0]}function k8($,Q){return[$[0]*Q[0]+$[2]*Q[1],$[1]*Q[0]+$[3]*Q[1],$[0]*Q[2]+$[2]*Q[3],$[1]*Q[2]+$[3]*Q[3],$[0]*Q[4]+$[2]*Q[5]+$[4],$[1]*Q[4]+$[3]*Q[5]+$[5]]}function I9($,Q){let Z=[[0,0,0],[0,0,0],[0,0,0]];for(let K=0;K<3;K++)for(let J=0;J<3;J++)Z[K][J]=$[K][0]*Q[0][J]+$[K][1]*Q[1][J]+$[K][2]*Q[2][J];return Z}function $6($,Q,Z){return{x:Z[0]*$+Z[2]*Q+Z[4],y:Z[1]*$+Z[3]*Q+Z[5]}}function t($,Q,Z){let K=Z[2][0]*$+Z[2][1]*Q+Z[2][2],J=0.01;if(K<0.01)return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/0.01,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/0.01};return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/K,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/K}}function rW($,Q=0,Z=0){let K=$.commands.map((q)=>{switch(q.type){case"M":case"L":return{type:q.type,x:-q.y+Q,y:q.x+Z};case"Q":return{type:"Q",x1:-q.y1+Q,y1:q.x1+Z,x:-q.y+Q,y:q.x+Z};case"C":return{type:"C",x1:-q.y1+Q,y1:q.x1+Z,x2:-q.y2+Q,y2:q.x2+Z,x:-q.y+Q,y:q.x+Z};case"Z":return{type:"Z"};default:return q}}),J=null;if($.bounds){let q=$.bounds;if(J={xMin:-q.yMax+Q,yMin:q.xMin+Z,xMax:-q.yMin+Q,yMax:q.xMax+Z},J.xMin>J.xMax)[J.xMin,J.xMax]=[J.xMax,J.xMin];if(J.yMin>J.yMax)[J.yMin,J.yMax]=[J.yMax,J.yMin]}return{commands:K,bounds:J,flags:$.flags}}function tW($,Q,Z){let K=Q>=0?1<<Q:1/(1<<-Q),J=Z>=0?1<<Z:1/(1<<-Z),q=$.commands.map((W)=>{switch(W.type){case"M":case"L":return{type:W.type,x:W.x*K,y:W.y*J};case"Q":return{type:"Q",x1:W.x1*K,y1:W.y1*J,x:W.x*K,y:W.y*J};case"C":return{type:"C",x1:W.x1*K,y1:W.y1*J,x2:W.x2*K,y2:W.y2*J,x:W.x*K,y:W.y*J};case"Z":return{type:"Z"};default:return W}}),U=null;if($.bounds)U={xMin:$.bounds.xMin*K,yMin:$.bounds.yMin*J,xMax:$.bounds.xMax*K,yMax:$.bounds.yMax*J};return{commands:q,bounds:U,flags:$.flags}}function O6($,Q){let Z=$.commands.map((J)=>{switch(J.type){case"M":case"L":{let q=$6(J.x,J.y,Q);return{type:J.type,x:q.x,y:q.y}}case"Q":{let q=$6(J.x1,J.y1,Q),U=$6(J.x,J.y,Q);return{type:"Q",x1:q.x,y1:q.y,x:U.x,y:U.y}}case"C":{let q=$6(J.x1,J.y1,Q),U=$6(J.x2,J.y2,Q),W=$6(J.x,J.y,Q);return{type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}}case"Z":return{type:"Z"};default:return J}}),K=null;if($.bounds){let J=$.bounds,q=[$6(J.xMin,J.yMin,Q),$6(J.xMax,J.yMin,Q),$6(J.xMin,J.yMax,Q),$6(J.xMax,J.yMax,Q)];K={xMin:Math.min(...q.map((U)=>U.x)),yMin:Math.min(...q.map((U)=>U.y)),xMax:Math.max(...q.map((U)=>U.x)),yMax:Math.max(...q.map((U)=>U.y))}}return{commands:Z,bounds:K,flags:$.flags}}function k9($,Q){let Z=$.commands.map((J)=>{switch(J.type){case"M":case"L":{let q=t(J.x,J.y,Q);return{type:J.type,x:q.x,y:q.y}}case"Q":{let q=t(J.x1,J.y1,Q),U=t(J.x,J.y,Q);return{type:"Q",x1:q.x,y1:q.y,x:U.x,y:U.y}}case"C":{let q=t(J.x1,J.y1,Q),U=t(J.x2,J.y2,Q),W=t(J.x,J.y,Q);return{type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}}case"Z":return{type:"Z"};default:return J}}),K=null;if($.bounds){let J=$.bounds,q=[t(J.xMin,J.yMin,Q),t(J.xMax,J.yMin,Q),t(J.xMin,J.yMax,Q),t(J.xMax,J.yMax,Q)];K={xMin:Math.min(...q.map((U)=>U.x)),yMin:Math.min(...q.map((U)=>U.y)),xMax:Math.max(...q.map((U)=>U.x)),yMax:Math.max(...q.map((U)=>U.y))}}return{commands:Z,bounds:K,flags:$.flags}}function W5($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),Z=Math.min(Z,U.y),K=Math.max(K,U.x),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x1,U.x),Z=Math.min(Z,U.y1,U.y),K=Math.max(K,U.x1,U.x),J=Math.max(J,U.y1,U.y);break;case"C":Q=Math.min(Q,U.x1,U.x2,U.x),Z=Math.min(Z,U.y1,U.y2,U.y),K=Math.max(K,U.x1,U.x2,U.x),J=Math.max(J,U.y1,U.y2,U.y);break}}if(!Number.isFinite(Q))return{xMin:0,yMin:0,xMax:0,yMax:0};return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function S7($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function h7($,Q,Z,K){let J=-$+3*Q-3*Z+K,q=2*($-2*Q+Z),U=-$+Q,W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)>0.0000000001){let H=-U/q;if(H>0&&H<1)W.push(H)}}else{let H=q*q-4*J*U;if(H>=0){let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V)}}return W}function y7($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function b7($,Q,Z,K,J){let q=1-J;return q*q*q*$+3*q*q*J*Q+3*q*J*J*Z+J*J*J*K}function v0($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0;for(let W=0;W<$.commands.length;W++){let H=$.commands[W];switch(H.type){case"M":q=H.x,U=H.y,Q=Math.min(Q,q),Z=Math.min(Z,U),K=Math.max(K,q),J=Math.max(J,U);break;case"L":q=H.x,U=H.y,Q=Math.min(Q,q),Z=Math.min(Z,U),K=Math.max(K,q),J=Math.max(J,U);break;case"Q":{Q=Math.min(Q,H.x),Z=Math.min(Z,H.y),K=Math.max(K,H.x),J=Math.max(J,H.y);let _=S7(q,H.x1,H.x);for(let V=0;V<_.length;V++){let X=_[V],j=y7(q,H.x1,H.x,X);Q=Math.min(Q,j),K=Math.max(K,j)}let N=S7(U,H.y1,H.y);for(let V=0;V<N.length;V++){let X=N[V],j=y7(U,H.y1,H.y,X);Z=Math.min(Z,j),J=Math.max(J,j)}q=H.x,U=H.y;break}case"C":{Q=Math.min(Q,H.x),Z=Math.min(Z,H.y),K=Math.max(K,H.x),J=Math.max(J,H.y);let _=h7(q,H.x1,H.x2,H.x);for(let V=0;V<_.length;V++){let X=_[V],j=b7(q,H.x1,H.x2,H.x,X);Q=Math.min(Q,j),K=Math.max(K,j)}let N=h7(U,H.y1,H.y2,H.y);for(let V=0;V<N.length;V++){let X=N[V],j=b7(U,H.y1,H.y2,H.y,X);Z=Math.min(Z,j),J=Math.max(J,j)}q=H.x,U=H.y;break}}}if(!Number.isFinite(Q))return{xMin:0,yMin:0,xMax:0,yMax:0};return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function eW($,Q,Z){let K=Z;for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":{let U=t(q.x,q.y,Q);K=Math.min(K,U.x);break}case"Q":{let U=t(q.x1,q.y1,Q),W=t(q.x,q.y,Q);K=Math.min(K,U.x,W.x);break}case"C":{let U=t(q.x1,q.y1,Q),W=t(q.x2,q.y2,Q),H=t(q.x,q.y,Q);K=Math.min(K,U.x,W.x,H.x);break}}}return K}function $H($,Q,Z){return O6($,o8(Q,Z))}function QH($,Q,Z=Q){return O6($,P8(Q,Z))}function ZH($,Q){return O6($,v8(Q))}function KH($,Q){let Z=Math.tan(Q*Math.PI/180);return O6($,I8(Z,0))}function H5($,Q,Z){return[[1,0,-$*Z],[0,1,-Q*Z],[0,0,1]]}function C9($){let Q=[],Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let W=0;W<$.length;W++){let H=$[W];if(Q.push(...H.commands),H.bounds)Z=Math.min(Z,H.bounds.xMin),K=Math.min(K,H.bounds.yMin),J=Math.max(J,H.bounds.xMax),q=Math.max(q,H.bounds.yMax)}let U=Number.isFinite(Z)?{xMin:Z,yMin:K,xMax:J,yMax:q}:null;return{commands:Q,bounds:U}}function c8($){return{commands:$.commands.map((Q)=>({...Q})),bounds:$.bounds?{...$.bounds}:null,flags:$.flags}}function N5($){if($.length===0)return[];for(let Q=0;Q<$.length;Q++){let Z=$[Q];if(!Z.onCurve)return Z.cubic?JH($):m7($)}return m7($)}function JH($){if($.length===0)return[];let Q=[],Z=0,K=$[0];if(!K)return[];Q.push({type:"M",x:K.x,y:K.y}),Z=1;while(Z<$.length){let J=$[Z];if(!J)break;if(J.onCurve)Q.push({type:"L",x:J.x,y:J.y}),Z++;else if(J.cubic){let q=J,U=$[Z+1],W=$[Z+2];if(!U||!W){Z++;continue}Q.push({type:"C",x1:q.x,y1:q.y,x2:U.x,y2:U.y,x:W.x,y:W.y}),Z+=3}else{let q=J,U=$[Z+1];if(!U){Z++;continue}let W;if(U.onCurve)W=U,Z+=2;else W={x:(q.x+U.x)/2,y:(q.y+U.y)/2,onCurve:!0},Z++;Q.push({type:"Q",x1:q.x,y1:q.y,x:W.x,y:W.y})}}return Q.push({type:"Z"}),Q}function m7($){if($.length===0)return[];let Q=[],Z=0;for(let _=0;_<$.length;_++)if($[_].onCurve){Z=_;break}let K=$.every((_)=>!_.onCurve),J;if(K){let _=$[0],N=$[$.length-1];if(!_||!N)return[];J={x:(_.x+N.x)/2,y:(_.y+N.y)/2,onCurve:!0},Z=0}else{let _=$[Z];if(!_)return[];J=_}Q.push({type:"M",x:J.x,y:J.y});let q=$.length,U=K?0:Z+1;if(U>=q)U=0;let W=J,H=0;while(H<q){let _=$[U];if(!_)break;if(_.onCurve)Q.push({type:"L",x:_.x,y:_.y}),W=_;else{let N=U+1<q?U+1:0,V=$[N];if(!V)break;let X;if(V.onCurve)X=V,U=N,H++;else X={x:(_.x+V.x)/2,y:(_.y+V.y)/2,onCurve:!0};Q.push({type:"Q",x1:_.x,y1:_.y,x:X.x,y:X.y}),W=X}if(U++,U>=q)U=0;if(H++,W.x===J.x&&W.y===J.y)break}return Q.push({type:"Z"}),Q}var _5=new WeakMap;function y6($,Q){let Z=_5.get($);if(Z){let U=Z.get(Q);if(U!==void 0)return U}let K=$.getGlyphContoursAndBounds(Q);if(!K){if(!Z)Z=new Map,_5.set($,Z);return Z.set(Q,null),null}let J=[];for(let U=0;U<K.contours.length;U++){let W=K.contours[U];J.push(...N5(W))}let q={commands:J,bounds:K.bounds};if(!Z)Z=new Map,_5.set($,Z);return Z.set(Q,q),q}var G6=10,g7=new WeakMap;function Y8($,Q){let Z=Q?.scale??1,K=Q?.flipY??!0;if(Z===1&&K){let W=g7.get($);if(W)return W}let J=Z*G6,q=K?-J:J,U="";for(let W=0;W<$.commands.length;W++){let H=$.commands[W];if(W>0)U+=" ";switch(H.type){case"M":U+="M "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"L":U+="L "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"Q":U+="Q "+Math.round(H.x1*J)+" "+Math.round(H.y1*q)+" "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"C":U+="C "+Math.round(H.x1*J)+" "+Math.round(H.y1*q)+" "+Math.round(H.x2*J)+" "+Math.round(H.y2*q)+" "+Math.round(H.x*J)+" "+Math.round(H.y*q);break;case"Z":U+="Z";break}}if(Z===1&&K)g7.set($,U);return U}function i8($,Q,Z){let K=Z?.scale??1,J=Z?.flipY??!0,q=Z?.offsetX??0,U=Z?.offsetY??0;for(let W=0;W<Q.commands.length;W++){let H=Q.commands[W];switch(H.type){case"M":$.moveTo(H.x*K+q,(J?-H.y:H.y)*K+U);break;case"L":$.lineTo(H.x*K+q,(J?-H.y:H.y)*K+U);break;case"Q":$.quadraticCurveTo(H.x1*K+q,(J?-H.y1:H.y1)*K+U,H.x*K+q,(J?-H.y:H.y)*K+U);break;case"C":$.bezierCurveTo(H.x1*K+q,(J?-H.y1:H.y1)*K+U,H.x2*K+q,(J?-H.y2:H.y2)*K+U,H.x*K+q,(J?-H.y:H.y)*K+U);break;case"Z":$.closePath();break}}}function qH($,Q,Z){let K=y6($,Q);if(!K)return null;let J=Z?.fontSize??100,q=Z?.fill??"currentColor",U=Z?.stroke,W=Z?.strokeWidth??1,H=J/$.unitsPerEm,_=K.bounds;if(!_)return null;let N=U?W/2:0,V=Math.ceil((_.xMax-_.xMin)*H+N*2),X=Math.ceil((_.yMax-_.yMin)*H+N*2),j=Math.round((_.xMin-N)*G6),z=Math.round((-_.yMax-N)*G6),Y=Math.round((_.xMax-_.xMin+N*2)*G6),G=Math.round((_.yMax-_.yMin+N*2)*G6),E=`${j} ${z} ${Y} ${G}`,w=Y8(K,{flipY:!0,scale:1}),F=U?` stroke="${U}" stroke-width="${W*G6}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${X}" viewBox="${E}">
|
|
4
4
|
<path d="${w}" fill="${q}"${F}/>
|
|
5
|
-
</svg>`}function
|
|
6
|
-
<path d="${V}" fill="${J}"${
|
|
7
|
-
</svg>`}function
|
|
8
|
-
<path d="${_}" fill="${q}"${
|
|
9
|
-
</svg>`}function mW($,Q,Z){let K=Z/Q.unitsPerEm,J=0;for(let q=0;q<$.length;q++){let U=$[q];J+=U.xAdvance}return J*K}function q5($,Q){let Z=new Path2D;return p8(Z,$,Q),Z}function R0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=$6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=$6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x2,W.y2*q,Z),N=$6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function EZ($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=$6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=$6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x2,W.y2*J,Q),N=$6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function T0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=t(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=t(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=t(W.x1,W.y1*q,Z),_=t(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=t(W.x1,W.y1*q,Z),_=t(W.x2,W.y2*q,Z),N=t(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function wZ($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=t(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=t(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=t(W.x1,W.y1*J,Q),_=t(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=t(W.x1,W.y1*J,Q),_=t(W.x2,W.y2*J,Q),N=t(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function gW($,Q){$.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}function AZ($){return`matrix(${$[0]} ${$[1]} ${$[2]} ${$[3]} ${$[4]} ${$[5]})`}function FZ($,Q,Z,K){let J="",q=Q*Y6,U=-Q*Y6,W=Z*Y6,H=K*Y6;for(let _=0;_<$.commands.length;_++){let N=$.commands[_];if(_>0)J+=" ";switch(N.type){case"M":J+="M "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"L":J+="L "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Q":J+="Q "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"C":J+="C "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x2*q+W)+" "+Math.round(N.y2*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Z":J+="Z";break}}return J}var E6=8,W6=256,xW=255,uW=6,fW=64,lW=16,nW=65536;function dW($){return Math.round($*64)}function pW($){return $/64}function cW($,Q){return Math.round($*Q*256)}function i6($){return $>>8}function I8($){return $&255}function oW($){return $+128>>8}function iW($){return $&-256}function sW($){return $+255&-256}function aW($){return $<<2}function rW($){return $>>2}function U5($,Q,Z){if(Z===0)return 0;let K=$<0?-$:$,J=Q<0?-Q:Q;if(K<8388607&&J<8388607)return Math.trunc($*Q/Z);return Number(BigInt($)*BigInt(Q)/BigInt(Z))}function tW($,Q){return U5($,Q,65536)}function eW($,Q){if(Q===0)return 0;return U5($,65536,Q)}function LZ($,Q){return $=P6($),Q=P6(Q),$>Q?$+(3*Q>>3):Q+(3*$>>3)}function $H($,Q){return LZ($,Q)}function QH($,Q){let Z=Math.sqrt($*$+Q*Q);if(Z===0)return{x:65536,y:0};return{x:Math.round($/Z*65536),y:Math.round(Q/Z*65536)}}function ZH($,Q,Z){return $<Q?Q:$>Z?Z:$}function P6($){return $<0?-$:$}function KH($){return $<0?-1:$>0?1:0}var JH=16384,DZ=2147483647;class O0 extends Error{constructor(){super("Cell pool overflow");this.name="PoolOverflowError"}}class W5{pool;poolSize;freeIndex;ycells;bandMinY=0;bandMaxY=0;minY=1/0;maxY=-1/0;minX=1/0;maxX=-1/0;currentX=0;currentY=0;currentCellIndex=-1;clipMinX=-1/0;clipMinY=-1/0;clipMaxX=1/0;clipMaxY=1/0;nullCellIndex;bandSet=!1;constructor($=JH){this.poolSize=$,this.nullCellIndex=$-1,this.pool=Array($);for(let Q=0;Q<$;Q++)this.pool[Q]={x:0,area:0,cover:0,next:-1};this.pool[this.nullCellIndex].x=DZ,this.pool[this.nullCellIndex].next=-1,this.ycells=[],this.freeIndex=0,this.bandMinY=-1e4,this.bandMaxY=1e4}setClip($,Q,Z,K){this.clipMinX=$,this.clipMinY=Q,this.clipMaxX=Z,this.clipMaxY=K}setBandBounds($,Q){this.bandMinY=$,this.bandMaxY=Q,this.bandSet=!0;let Z=Q-$;if(this.ycells.length<Z)this.ycells=Array(Z);for(let K=0;K<Z;K++)this.ycells[K]=this.nullCellIndex;this.freeIndex=0}reset(){if(this.freeIndex=0,this.pool[this.nullCellIndex].x=DZ,this.pool[this.nullCellIndex].area=0,this.pool[this.nullCellIndex].cover=0,this.pool[this.nullCellIndex].next=-1,this.bandSet)for(let $=0;$<this.ycells.length;$++)this.ycells[$]=this.nullCellIndex;else this.ycells=[],this.bandMinY=-1e5,this.bandMaxY=1e5;this.minY=1/0,this.maxY=-1/0,this.minX=1/0,this.maxX=-1/0,this.currentCellIndex=-1}setCurrentCell($,Q){let Z=i6($),K=i6(Q);if(this.currentCellIndex>=0&&this.currentX===Z&&this.currentY===K)return;if(K<this.bandMinY||K>=this.bandMaxY||K<this.clipMinY||K>=this.clipMaxY||Z<this.clipMinX||Z>=this.clipMaxX){this.currentCellIndex=this.nullCellIndex,this.currentX=Z,this.currentY=K;return}this.currentX=Z,this.currentY=K,this.currentCellIndex=this.findOrCreateCell(Z,K),this.minY=Math.min(this.minY,K),this.maxY=Math.max(this.maxY,K),this.minX=Math.min(this.minX,Z),this.maxX=Math.max(this.maxX,Z)}findOrCreateCell($,Q){if(!this.bandSet)this.ensureYCellsCapacity(Q);let Z=Q-this.bandMinY;if(Z<0||Z>=this.ycells.length)return this.nullCellIndex;let K=-1,J=this.ycells[Z];while(J!==this.nullCellIndex){let W=this.pool[J];if(W.x===$)return J;if(W.x>$)break;K=J,J=W.next}if(this.freeIndex>=this.nullCellIndex)throw new O0;let q=this.freeIndex++,U=this.pool[q];if(U.x=$,U.area=0,U.cover=0,U.next=J,K===-1)this.ycells[Z]=q;else this.pool[K].next=q;return q}ensureYCellsCapacity($){if(this.ycells.length===0){this.bandMinY=Math.min($,0),this.bandMaxY=Math.max($+1,256);let Q=this.bandMaxY-this.bandMinY;this.ycells=Array(Q);for(let Z=0;Z<Q;Z++)this.ycells[Z]=this.nullCellIndex;return}if($<this.bandMinY){let Q=this.bandMinY-$,Z=Array(this.ycells.length+Q);for(let K=0;K<Q;K++)Z[K]=this.nullCellIndex;for(let K=0;K<this.ycells.length;K++)Z[Q+K]=this.ycells[K];this.ycells=Z,this.bandMinY=$}else if($>=this.bandMaxY){let Q=$+1,Z=this.ycells.length,K=Q-this.bandMinY;if(K>Z){let J=Array(K);for(let q=0;q<Z;q++)J[q]=this.ycells[q];for(let q=Z;q<K;q++)J[q]=this.nullCellIndex;this.ycells=J}this.bandMaxY=Q}}addArea($,Q){if(this.currentCellIndex>=0){let Z=this.pool[this.currentCellIndex];Z.area+=$,Z.cover+=Q}}getArea(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.area;return 0}getCover(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.cover;return 0}getCellsForRow($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return[];let Z=[],K=this.ycells[Q];while(K!==this.nullCellIndex)Z.push(this.pool[K]),K=this.pool[K].next;return Z}*iterateCells(){for(let $=0;$<this.ycells.length;$++){let Q=this.bandMinY+$,Z=this.ycells[$];if(Z===this.nullCellIndex)continue;let K=[];while(Z!==this.nullCellIndex)K.push(this.pool[Z]),Z=this.pool[Z].next;if(K.length>0)yield{y:Q,cells:K}}}*iterateScanlines(){for(let $=0;$<this.ycells.length;$++){let Q=this.ycells[$];if(Q!==this.nullCellIndex)yield{y:this.bandMinY+$,firstCellIndex:Q}}}getPool(){return this.pool}getNullIndex(){return this.nullCellIndex}getYCells(){return this.ycells}getBandMinY(){return this.bandMinY}*iterateRowCells($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return;let Z=this.ycells[Q];while(Z!==this.nullCellIndex)yield this.pool[Z],Z=this.pool[Z].next}getCellCount(){return this.freeIndex}isNearCapacity(){return this.freeIndex>this.poolSize*0.9}}z6();var qH=32,BZ=16;class c8{cells;x=0;y=0;minX=0;minY=0;maxX=0;maxY=0;constructor(){this.cells=new W5}setClip($,Q,Z,K){this.minX=$,this.minY=Q,this.maxX=Z,this.maxY=K,this.cells.setClip($,Q,Z,K)}setBandBounds($,Q){this.cells.setBandBounds($,Q)}reset(){this.cells.reset(),this.x=0,this.y=0}moveTo($,Q){this.x=$,this.y=Q,this.cells.setCurrentCell($,Q)}lineTo($,Q){this.renderLine($,Q),this.x=$,this.y=Q}renderLine($,Q){let Z=i6(this.y),K=i6(Q);if(Z>=this.maxY&&K>=this.maxY||Z<this.minY&&K<this.minY)return;let J=I8(this.y),q=I8(Q);if(Z===K){this.renderScanline(Z,this.x,J,$,q);return}let U=$-this.x,W=Q-this.y;if(U===0){let j=i6(this.x),Y=I8(this.x)*2,G,E;if(W>0)G=W6,E=1;else G=0,E=-1;let w=G-J;this.cells.setCurrentCell(this.x,Z<<E6),this.cells.addArea(w*Y,w),Z+=E,this.cells.setCurrentCell(this.x,Z<<E6),w=G+G-W6;while(Z!==K)this.cells.addArea(w*Y,w),Z+=E,this.cells.setCurrentCell(this.x,Z<<E6);w=q-W6+G,this.cells.addArea(w*Y,w);return}let H=this.x,_,N;if(W>0)N=W6,_=1;else N=0,_=-1;let V=N-J,X=this.mulDiv(U,V,P6(W)),z=H+X;if(this.renderScanline(Z,H,J,z,N),H=z,Z+=_,this.cells.setCurrentCell(H,Z<<E6),Z!==K){let j=this.mulDiv(U,W6,P6(W));V=N+N-W6;while(Z!==K)z=H+j,this.renderScanline(Z,H,W6-N,z,N),H=z,Z+=_,this.cells.setCurrentCell(H,Z<<E6)}V=q-W6+N,this.renderScanline(Z,H,W6-N,$,q)}renderScanline($,Q,Z,K,J){let q=i6(Q),U=i6(K);if(Z===J){this.cells.setCurrentCell(K,$<<E6);return}let W=I8(Q),H=I8(K);if(q===U){let G=J-Z;this.cells.setCurrentCell(Q,$<<E6),this.cells.addArea(G*(W+H),G);return}let _=K-Q,N=J-Z,V,X;if(_>0)V=W6,X=1;else V=0,X=-1;let z=this.mulDiv(N,V-W,P6(_));this.cells.setCurrentCell(Q,$<<E6),this.cells.addArea(z*(W+V),z);let j=Z+z,Y=q+X;if(this.cells.setCurrentCell(Y<<E6,$<<E6),Y!==U){let G=this.mulDiv(N,W6,P6(_));while(Y!==U)z=G,this.cells.addArea(z*W6,z),j+=z,Y+=X,this.cells.setCurrentCell(Y<<E6,$<<E6)}z=J-j,this.cells.addArea(z*(H+W6-V),z)}mulDiv($,Q,Z){if(Z===0)return 0;return Math.trunc($*Q/Z)}conicTo($,Q,Z,K){this.subdivConic(this.x,this.y,$,Q,Z,K,0),this.x=Z,this.y=K}subdivConic($,Q,Z,K,J,q,U){if(U>16){this.renderLine(J,q),this.x=J,this.y=q;return}let W=J-$,H=q-Q,_=P6((Z-$)*H-(K-Q)*W),N=P6(W)+P6(H),V=Math.max(W6>>2,N>>4);if(_<=V*N){this.renderLine(J,q),this.x=J,this.y=q;return}let X=$+Z>>1,z=Q+K>>1,j=Z+J>>1,Y=K+q>>1,G=X+j>>1,E=z+Y>>1;this.subdivConic($,Q,X,z,G,E,U+1),this.subdivConic(G,E,j,Y,J,q,U+1)}cubicTo($,Q,Z,K,J,q){this.subdivCubic(this.x,this.y,$,Q,Z,K,J,q,0),this.x=J,this.y=q}subdivCubic($,Q,Z,K,J,q,U,W,H){if(H>16){this.renderLine(U,W),this.x=U,this.y=W;return}let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,X=K+q>>1,z=J+U>>1,j=q+W>>1,Y=_+V>>1,G=N+X>>1,E=V+z>>1,w=X+j>>1,F=Y+E>>1,A=G+w>>1,M=U-$,L=W-Q,O=P6((Z-U)*L-(K-W)*M),T=P6((J-U)*L-(q-W)*M),v=P6(M)+P6(L),R=Math.max(W6>>2,v>>4);if(O+T<=R*v){this.renderLine(U,W),this.x=U,this.y=W;return}this.subdivCubic($,Q,_,N,Y,G,F,A,H+1),this.subdivCubic(F,A,E,w,z,j,U,W,H+1)}sweep($,Q=0){let Z=$.pitch,K=Z<0?($.rows-1)*-Z:0,J=$.width,q=$.rows,U=this.cells.getPool(),W=this.cells.getNullIndex(),H=this.cells.getYCells(),_=this.cells.getBandMinY(),N=H.length;for(let V=0;V<N;V++){let X=H[V];if(X===W)continue;let z=_+V;if(z<0||z>=q)continue;let j=0,Y=0,G=Z<0?K-z*-Z:z*Z,E=X;while(E!==W){let w=U[E];if(w.x>Y&&j!==0){let L=this.applyFillRule(j,Q);if(L>0){let O=Y<0?0:Y,T=w.x>J?J:w.x;this.fillSpan($,G,O,T,L)}}let A=j*(W6*2)-w.area,M=this.applyFillRule(A>>E6+1,Q);if(M>0&&w.x>=0&&w.x<J)this.setPixel($,G,w.x,M);j+=w.cover,Y=w.x+1,E=w.next}if(Y<J&&j!==0){let w=this.applyFillRule(j,Q);if(w>0)this.fillSpan($,G,Y,J,w)}}}applyFillRule($,Q){let Z=$;if(Z<0)Z=-Z;if(Q===1){if(Z&=511,Z>256)Z=512-Z}return Z>255?255:Z}fillSpan($,Q,Z,K,J){if($.pixelMode===1)$.buffer.fill(J,Q+Z,Q+K);else if($.pixelMode===0){if(J>=128)for(let q=Z;q<K;q++){let U=Q+(q>>3),W=7-(q&7);$.buffer[U]|=1<<W}}else if($.pixelMode===2||$.pixelMode===3)for(let q=Z;q<K;q++){let U=Q+q*3;$.buffer[U]=J,$.buffer[U+1]=J,$.buffer[U+2]=J}else if($.pixelMode===4)for(let q=Z;q<K;q++){let U=Q+q*4;$.buffer[U]=0,$.buffer[U+1]=0,$.buffer[U+2]=0,$.buffer[U+3]=J}}setPixel($,Q,Z,K){if($.pixelMode===1)$.buffer[Q+Z]=K;else if($.pixelMode===0){if(K>=128){let J=Q+(Z>>3),q=7-(Z&7);$.buffer[J]|=1<<q}}else if($.pixelMode===2||$.pixelMode===3){let J=Q+Z*3;$.buffer[J]=K,$.buffer[J+1]=K,$.buffer[J+2]=K}else if($.pixelMode===4){let J=Q+Z*4;$.buffer[J]=0,$.buffer[J+1]=0,$.buffer[J+2]=0,$.buffer[J+3]=K}}sweepSpans($,Q=0,Z){let K=this.cells.getYCells(),J=this.cells.getPool(),q=this.cells.getNullIndex(),U=this.cells.getBandMinY();for(let W=0;W<K.length;W++){let H=K[W];if(H===q)continue;let _=U+W,N=[],V=0,X=-1;while(H!==q){let z=J[H];if(V!==0&&z.x>X+1){let E=this.applyFillRule(V,Q);if(E>0)N.push({x:X+1,len:z.x-X-1,coverage:E})}let Y=V*(W6*2)-z.area,G=this.applyFillRule(Y>>E6+1,Q);if(G>0)N.push({x:z.x,len:1,coverage:G});V+=z.cover,X=z.x,H=z.next}if(N.length>0)$(_,N,Z)}}sweepDirect($,Q=0,Z=0,K=1/0,J){let q=[],U=this.cells.getYCells(),W=this.cells.getPool(),H=this.cells.getNullIndex(),_=this.cells.getBandMinY();for(let N=0;N<U.length;N++){let V=U[N];if(V===H)continue;let X=_+N,z=0,j=Z;while(V!==H){let Y=W[V];if(z!==0&&Y.x>j){let F=this.applyFillRule(z,Q);if(F>0){if(q.push({x:j,len:Y.x-j,coverage:F}),q.length>=BZ)$(X,q.splice(0,q.length),J)}}let E=z*(W6*2)-Y.area,w=this.applyFillRule(E>>E6+1,Q);if(w>0&&Y.x>=Z&&Y.x<K){if(q.push({x:Y.x,len:1,coverage:w}),q.length>=BZ)$(X,q.splice(0,q.length),J)}z+=Y.cover,j=Y.x+1,V=Y.next}if(z!==0&&j<K){let Y=this.applyFillRule(z,Q);if(Y>0)q.push({x:j,len:Math.min(K,this.maxX+1)-j,coverage:Y})}if(q.length>0)$(X,q.splice(0,q.length),J)}}renderWithBands($,Q,Z,K=0){let q=Z.maxY-Z.minY,U=Math.max(1,Math.floor(256));if(q<=U)U=q;let W=Z.minX??0,H=Z.maxX??$.width,_=[];for(let N=Z.minY;N<Z.maxY;N+=U)_.push({minY:N,maxY:Math.min(N+U,Z.maxY),minX:W,maxX:H,depth:0});while(_.length>0){let N=_.pop();if(!N)break;if(this.renderBandWithXClip($,Q,N.minY,N.maxY,N.minX,N.maxX,K))continue;let V=N.depth;if(V>=qH){console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), depth limit reached`);continue}let X=V+1,z=N.minX+N.maxX>>1;if(z>N.minX){_.push({minY:N.minY,maxY:N.maxY,minX:z,maxX:N.maxX,depth:X}),_.push({minY:N.minY,maxY:N.maxY,minX:N.minX,maxX:z,depth:X});continue}let j=N.minY+N.maxY>>1;if(j>N.minY){_.push({minY:j,maxY:N.maxY,minX:N.minX,maxX:N.maxX,depth:X}),_.push({minY:N.minY,maxY:j,minX:N.minX,maxX:N.maxX,depth:X});continue}console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), cannot bisect further`)}}renderBandWithXClip($,Q,Z,K,J,q,U){this.cells.setBandBounds(Z,K),this.cells.reset(),this.minY=Z,this.maxY=K;try{return Q(),this.sweepBandWithXClip($,Z,K,J,q,U),!0}catch(W){if(W instanceof O0)return!1;throw W}}sweepBandWithXClip($,Q,Z,K,J,q){let U=$.pitch,W=U<0?($.rows-1)*-U:0,H=this.cells.getYCells(),_=this.cells.getPool(),N=this.cells.getNullIndex(),V=this.cells.getBandMinY();for(let X=Q;X<Z;X++){if(X<0||X>=$.rows)continue;let z=X-V;if(z<0||z>=H.length)continue;let j=H[z];if(j===N)continue;let Y=0,G=K,E=U<0?W-X*-U:X*U;while(j!==N){let w=_[j];if(w.x<K){Y+=w.cover,j=w.next;continue}if(w.x>=J){if(Y!==0&&G<J){let L=this.applyFillRule(Y,q);if(L>0)this.fillSpan($,E,Math.max(0,G),Math.min($.width,J),L)}break}if(w.x>G&&Y!==0){let L=this.applyFillRule(Y,q);if(L>0){let O=Math.max(0,G),T=Math.min($.width,w.x);this.fillSpan($,E,O,T,L)}}let A=Y*(W6*2)-w.area,M=this.applyFillRule(A>>E6+1,q);if(M>0&&w.x>=0&&w.x<$.width)this.setPixel($,E,w.x,M);Y+=w.cover,G=w.x+1,j=w.next}if(G<J&&G<$.width&&Y!==0){let w=this.applyFillRule(Y,q);if(w>0)this.fillSpan($,E,G,Math.min($.width,J),w)}}}}z6();var RZ;((J)=>{J[J.Ok=0]="Ok";J[J.InvalidOutline=1]="InvalidOutline";J[J.InvalidArgument=2]="InvalidArgument";J[J.EmptyOutline=3]="EmptyOutline"})(RZ||={});function UH($,Q=!0){if(!$)return{error:1,message:"Path is null or undefined"};if(!$.commands)return{error:1,message:"Path commands array is missing"};if($.commands.length===0){if(Q)return{error:3};return{error:1,message:"Path is empty"}}let Z=!1,K=!1,J=0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":if(Z=!0,K=!0,J++,!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}: (${U.x}, ${U.y})`};break;case"L":if(!Z)return{error:1,message:`Line command at ${q} without preceding moveTo`};if(!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Q":if(!Z)return{error:1,message:`Quadratic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"C":if(!Z)return{error:1,message:`Cubic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x2)||!Number.isFinite(U.y2)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Z":K=!1;break;default:return{error:1,message:`Unknown command type at ${q}: ${U.type}`}}}if(J===0&&!Q)return{error:3,message:"No contours in path"};return{error:0}}function X8($,Q,Z,K=0,J=0,q=!0){let U=0,W=0,H=!1,_=Z*W6,N=(q?-Z:Z)*W6,V=K*W6,X=J*W6;for(let z=0;z<Q.commands.length;z++){let j=Q.commands[z];switch(j.type){case"M":{if(H)$.lineTo(U,W);let Y=Math.round(j.x*_+V),G=Math.round(j.y*N+X);$.moveTo(Y,G),U=Y,W=G,H=!0;break}case"L":{let Y=Math.round(j.x*_+V),G=Math.round(j.y*N+X);$.lineTo(Y,G);break}case"Q":{let Y=Math.round(j.x1*_+V),G=Math.round(j.y1*N+X),E=Math.round(j.x*_+V),w=Math.round(j.y*N+X);$.conicTo(Y,G,E,w);break}case"C":{let Y=Math.round(j.x1*_+V),G=Math.round(j.y1*N+X),E=Math.round(j.x2*_+V),w=Math.round(j.y2*N+X),F=Math.round(j.x*_+V),A=Math.round(j.y*N+X);$.cubicTo(Y,G,E,w,F,A);break}case"Z":{if(H)$.lineTo(U,W),H=!1;break}}}if(H)$.lineTo(U,W)}function K8($,Q,Z=!0){if(!$.bounds)return null;let K=$.bounds;if(Z)return{minX:Math.floor(K.xMin*Q),minY:Math.floor(-K.yMax*Q),maxX:Math.ceil(K.xMax*Q),maxY:Math.ceil(-K.yMin*Q)};else return{minX:Math.floor(K.xMin*Q),minY:Math.floor(K.yMin*Q),maxX:Math.ceil(K.xMax*Q),maxY:Math.ceil(K.yMax*Q)}}function WH($,Q=0){if(!$?.flags)return Q;return($.flags&1)!==0?1:0}z6();function TZ($){if(!$.commands||$.commands.length===0)return null;let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0,W=!1,H=(_,N)=>{Q=Math.min(Q,_),Z=Math.min(Z,N),K=Math.max(K,_),J=Math.max(J,N),W=!0};for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":{q=N.x,U=N.y,H(q,U);break}case"L":{q=N.x,U=N.y,H(q,U);break}case"Q":{H(N.x,N.y);let V=_5(q,N.x1,N.x);for(let Y=0;Y<V.length;Y++){let G=V[Y],E=k9(q,N.x1,N.x,G);H(E,U)}let X=_5(U,N.y1,N.y);for(let Y=0;Y<X.length;Y++){let G=X[Y],E=k9(U,N.y1,N.y,G);H(q,E)}let j=[...new Set([...V,...X])];for(let Y=0;Y<j.length;Y++){let G=j[Y],E=k9(q,N.x1,N.x,G),w=k9(U,N.y1,N.y,G);H(E,w)}q=N.x,U=N.y;break}case"C":{H(N.x,N.y);let V=N5(q,N.x1,N.x2,N.x);for(let Y=0;Y<V.length;Y++){let G=V[Y],E=C9(q,N.x1,N.x2,N.x,G);H(E,U)}let X=N5(U,N.y1,N.y2,N.y);for(let Y=0;Y<X.length;Y++){let G=X[Y],E=C9(U,N.y1,N.y2,N.y,G);H(q,E)}let j=[...new Set([...V,...X])];for(let Y=0;Y<j.length;Y++){let G=j[Y],E=C9(q,N.x1,N.x2,N.x,G),w=C9(U,N.y1,N.y2,N.y,G);H(E,w)}q=N.x,U=N.y;break}case"Z":break}}if(!W)return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function _5($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function N5($,Q,Z,K){let J=3*(K-3*Z+3*Q-$),q=6*(Z-2*Q+$),U=3*(Q-$),W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)<0.0000000001)return[];let X=-U/q;if(X>0&&X<1)W.push(X);return W}let H=q*q-4*J*U;if(H<0)return[];if(Math.abs(H)<0.0000000001){let X=-q/(2*J);if(X>0&&X<1)W.push(X);return W}let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V);return W}function k9($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function C9($,Q,Z,K,J){let q=1-J,U=q*q,W=J*J;return U*q*$+3*U*J*Q+3*q*W*Z+W*J*K}z6();function o8($,Q,Z){if(Q===0&&Z===0)return J6($);let K=r($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++)for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=$.buffer[N*$.pitch+_]??0;U=Math.max(U,V)}}K.buffer[J*K.pitch+q]=U}else if($.pixelMode===0)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=!1;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++){for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=N*$.pitch+(_>>3),X=7-(_&7);if(($.buffer[V]??0)>>X&1){U=!0;break}}}if(U)break}if(U){let W=J*K.pitch+(q>>3),H=7-(q&7);K.buffer[W]|=1<<H}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0,W=0,H=0;for(let N=-Math.floor(Z);N<=Math.ceil(Z);N++)for(let V=-Math.floor(Q);V<=Math.ceil(Q);V++){let X=q+V,z=J+N;if(X>=0&&X<$.width&&z>=0&&z<$.rows){let j=z*$.pitch+X*3;U=Math.max(U,$.buffer[j]??0),W=Math.max(W,$.buffer[j+1]??0),H=Math.max(H,$.buffer[j+2]??0)}}let _=J*K.pitch+q*3;K.buffer[_]=U,K.buffer[_+1]=W,K.buffer[_+2]=H}return K}function J8($,Q){if($.pixelMode===Q)return $;let Z=r($.width,$.rows,Q);if($.pixelMode===1&&Q===0){for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++)if(($.buffer[K*$.pitch+J]??0)>=128){let U=K*Z.pitch+(J>>3),W=7-(J&7);Z.buffer[U]|=1<<W}}else if($.pixelMode===0&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),W=($.buffer[q]??0)>>U&1;Z.buffer[K*Z.pitch+J]=W?255:0}else if($.pixelMode===1&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===0&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),H=($.buffer[q]??0)>>U&1?255:0,_=K*Z.pitch+J*3;Z.buffer[_]=H,Z.buffer[_+1]=H,Z.buffer[_+2]=H}else if($.pixelMode===1&&Q===3)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===2&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+J*3,U=$.buffer[q]??0,W=$.buffer[q+1]??0,H=$.buffer[q+2]??0;Z.buffer[K*Z.pitch+J]=Math.floor((U+W+H)/3)}return Z}function P0($,Q,Z,K,J){if($.pixelMode!==1||Q.pixelMode!==1)return;J=Math.max(0,Math.min(1,J));let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++)for(let N=q;N<W;N++){let V=Z+N,X=K+_;if(V>=0&&V<$.width&&X>=0&&X<$.rows){let z=Q.buffer[_*Q.pitch+N]??0,Y=($.buffer[X*$.pitch+V]??0)+z*J;$.buffer[X*$.pitch+V]=Math.min(255,Math.floor(Y))}}}function J6($){return{buffer:new Uint8Array($.buffer),width:$.width,rows:$.rows,pitch:$.pitch,pixelMode:$.pixelMode,numGrays:$.numGrays}}function k8($,Q,Z){let K=r(Q,Z,$.pixelMode),J=$.width/Q,q=$.rows/Z;if($.pixelMode===1)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),_=Math.floor(U*q);K.buffer[U*K.pitch+W]=$.buffer[_*$.pitch+H]??0}else if($.pixelMode===0)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+(H>>3),V=7-(H&7);if(($.buffer[N]??0)>>V&1){let z=U*K.pitch+(W>>3),j=7-(W&7);K.buffer[z]|=1<<j}}else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+H*3,V=U*K.pitch+W*3;K.buffer[V]=$.buffer[N]??0,K.buffer[V+1]=$.buffer[N+1]??0,K.buffer[V+2]=$.buffer[N+2]??0}return K}function i8($,Q,Z){let K=r(Q,Z,$.pixelMode),J=($.width-1)/Math.max(1,Q-1),q=($.rows-1)/Math.max(1,Z-1);if($.pixelMode===1)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let X=V*J,z=Math.floor(X),j=Math.min(z+1,$.width-1),Y=X-z,G=$.buffer[H*$.pitch+z]??0,E=$.buffer[H*$.pitch+j]??0,w=$.buffer[_*$.pitch+z]??0,F=$.buffer[_*$.pitch+j]??0,A=G+(E-G)*Y,M=w+(F-w)*Y,L=A+(M-A)*N;K.buffer[U*K.pitch+V]=Math.round(L)}}else if($.pixelMode===0)return k8($,Q,Z);else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let X=V*J,z=Math.floor(X),j=Math.min(z+1,$.width-1),Y=X-z,G=H*$.pitch+z*3,E=H*$.pitch+j*3,w=_*$.pitch+z*3,F=_*$.pitch+j*3;for(let A=0;A<3;A++){let M=$.buffer[G+A]??0,L=$.buffer[E+A]??0,O=$.buffer[w+A]??0,T=$.buffer[F+A]??0,v=M+(L-M)*Y,R=O+(T-O)*Y,u=v+(R-v)*N;K.buffer[U*K.pitch+V*3+A]=Math.round(u)}}}return K}function V5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,z=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.min(255,X+z)}}}function X5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,z=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.floor((X*z+127)/255)}}}function z5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,z=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(0,z-X)}}}function j5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,z=$.buffer[_*$.pitch+V]??0,j=X+Math.floor((z*(255-X)+127)/255);$.buffer[_*$.pitch+V]=Math.min(255,j)}}}function S9($,Q,Z){let K=r($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;K.buffer[J*K.pitch+U]=$.buffer[q*$.pitch+W]??0}}else if($.pixelMode===0)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+(W>>3),_=7-(W&7);if(($.buffer[H]??0)>>_&1){let V=J*K.pitch+(U>>3),X=7-(U&7);K.buffer[V]|=1<<X}}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+W*3,_=J*K.pitch+U*3;K.buffer[_]=$.buffer[H]??0,K.buffer[_+1]=$.buffer[H+1]??0,K.buffer[_+2]=$.buffer[H+2]??0}}return K}function HH($,Q,Z=0,K=0,J=128){if($.pixelMode!==1||Q.pixelMode!==1)return;let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++){let N=K+_;if(N<0||N>=$.rows)continue;for(let V=q;V<W;V++){let X=Z+V;if(X<0||X>=$.width)continue;if((Q.buffer[_*Q.pitch+V]??0)>=J)$.buffer[N*$.pitch+X]=0}}}function Y5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,z=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(X,z)}}}function h9($,Q,Z,K,J){let q=$.width+Q+K,U=$.rows+Z+J,W=r(q,U,$.pixelMode);if($.pixelMode===1)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++)W.buffer[(H+Z)*W.pitch+(_+Q)]=$.buffer[H*$.pitch+_]??0;else if($.pixelMode===2||$.pixelMode===3)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++){let N=H*$.pitch+_*3,V=(H+Z)*W.pitch+(_+Q)*3;W.buffer[V]=$.buffer[N]??0,W.buffer[V+1]=$.buffer[N+1]??0,W.buffer[V+2]=$.buffer[N+2]??0}return W}function _H($,Q,Z,K){let{width:U,rows:W}=$,H=Z,_=K,N=Z+Q.width,V=K+Q.rows,X=Math.min(0,H),z=Math.min(0,_),j=Math.max(U,N),Y=Math.max(W,V),G=j-X,E=Y-z,w=r(G,E,$.pixelMode),F=0-X,A=0-z,M=H-X,L=_-z;if($.pixelMode===1)for(let O=0;O<$.rows;O++)for(let T=0;T<$.width;T++)w.buffer[(O+A)*w.pitch+(T+F)]=$.buffer[O*$.pitch+T]??0;return{expanded:w,dstOffsetX:F,dstOffsetY:A,srcOffsetX:M,srcOffsetY:L}}z6();function G5($){if($<=0)return new Float32Array([1]);let Q=$,Z=Math.ceil($*2)*2+1,K=new Float32Array(Z),J=Math.floor(Z/2),q=0;for(let U=0;U<Z;U++){let W=U-J,H=Math.exp(-(W*W)/(2*Q*Q));K[U]=H,q+=H}for(let U=0;U<Z;U++)K[U]/=q;return K}function NH($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let X=0;for(let j=0;j<U.length;j++){let Y=N+j-H,G=Math.max(0,Math.min(Z-1,Y)),E=_*J+G*W+V;X+=($[E]??0)*U[j]}let z=_*q+N*W+V;Q[z]=Math.min(255,Math.max(0,Math.round(X)))}}function VH($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let X=0;for(let j=0;j<U.length;j++){let Y=_+j-H,E=Math.max(0,Math.min(K-1,Y))*J+N*W+V;X+=($[E]??0)*U[j]}let z=_*q+N*W+V;Q[z]=Math.min(255,Math.max(0,Math.round(X)))}}function d6($,Q){if($.pixelMode===0){let q=J8($,1);return d6(q,Q)}if(Q<=0)return $;let Z=G5(Q),K=1;if($.pixelMode===2||$.pixelMode===3)K=3;else if($.pixelMode===4)K=4;let J=new Uint8Array($.buffer.length);return NH($.buffer,J,$.width,$.rows,$.pitch,$.pitch,Z,K),VH(J,$.buffer,$.width,$.rows,$.pitch,$.pitch,Z,K),$}function z8($,Q){if($.pixelMode===0){let U=J8($,1);return z8(U,Q)}if(Q<=0)return $;let Z=1;if($.pixelMode===2||$.pixelMode===3)Z=3;else if($.pixelMode===4)Z=4;let K=Math.floor(Q),J=K*2+1,q=new Uint8Array($.buffer.length);for(let U=0;U<$.rows;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.width){let X=U*$.pitch+V*Z+W;H+=$.buffer[X]??0,_++}let N=U*$.pitch+0*Z+W;q[N]=Math.round(H/_);for(let V=1;V<$.width;V++){let X=V-K-1;if(X>=0){let Y=U*$.pitch+X*Z+W;H-=$.buffer[Y]??0,_--}let z=V+K;if(z<$.width){let Y=U*$.pitch+z*Z+W;H+=$.buffer[Y]??0,_++}let j=U*$.pitch+V*Z+W;q[j]=Math.round(H/_)}}for(let U=0;U<$.width;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.rows){let X=V*$.pitch+U*Z+W;H+=q[X]??0,_++}let N=0*$.pitch+U*Z+W;$.buffer[N]=Math.round(H/_);for(let V=1;V<$.rows;V++){let X=V-K-1;if(X>=0){let Y=X*$.pitch+U*Z+W;H-=q[Y]??0,_--}let z=V+K;if(z<$.rows){let Y=z*$.pitch+U*Z+W;H+=q[Y]??0,_++}let j=V*$.pitch+U*Z+W;$.buffer[j]=Math.round(H/_)}}return $}function OZ($,Q,Z="gaussian"){if(Z==="box")return z8($,Q);else return d6($,Q)}z6();function XH($,Q,Z){return[Math.round($[0]+(Q[0]-$[0])*Z),Math.round($[1]+(Q[1]-$[1])*Z),Math.round($[2]+(Q[2]-$[2])*Z),Math.round($[3]+(Q[3]-$[3])*Z)]}function v0($,Q,Z){if($.stops.length===0)return[0,0,0,0];if($.stops.length===1)return $.stops[0].color;let K;if($.type==="linear"){let q=$.x1-$.x0,U=$.y1-$.y0,W=q*q+U*U;if(W===0)return $.stops[0].color;let H=Q-$.x0,_=Z-$.y0;K=(H*q+_*U)/W}else{let q=Q-$.cx,U=Z-$.cy,W=Math.sqrt(q*q+U*U);K=$.radius>0?W/$.radius:0}K=Math.max(0,Math.min(1,K));let J=[...$.stops].sort((q,U)=>q.offset-U.offset);if(K<=J[0].offset)return J[0].color;if(K>=J[J.length-1].offset)return J[J.length-1].color;for(let q=0;q<J.length-1;q++){let U=J[q],W=J[q+1];if(K>=U.offset&&K<=W.offset){let H=W.offset-U.offset;if(H===0)return W.color;let _=(K-U.offset)/H;return XH(U.color,W.color,_)}}return J[J.length-1].color}function I0($,Q,Z){let K=r($,Q,4);for(let J=0;J<Q;J++)for(let q=0;q<$;q++){let U=v0(Z,q,J),W=(J*$+q)*4;K.buffer[W]=U[0],K.buffer[W+1]=U[1],K.buffer[W+2]=U[2],K.buffer[W+3]=U[3]}return K}function s8($,Q,Z){let{width:K,height:J}=Z,q=s6($,{...Z,pixelMode:1,flipY:Z.flipY??!1}),U=r(K,J,4);for(let W=0;W<J;W++)for(let H=0;H<K;H++){let _=q.buffer[W*q.pitch+H]??0;if(_>0){let N=v0(Q,H,W),V=(W*K+H)*4,X=N[3]*_/255;U.buffer[V]=N[0],U.buffer[V+1]=N[1],U.buffer[V+2]=N[2],U.buffer[V+3]=Math.round(X)}}return U}z6();function C8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=r(Z,K,1),N=zH($,J,q,U,W);if(N.length===0)return _.buffer.fill(0),_;for(let V=0;V<K;V++)for(let X=0;X<Z;X++){let z=X+0.5,j=V+0.5,Y=1/0;for(let A=0;A<N.length;A++){let M=N[A],L=jH(z,j,M);Y=Math.min(Y,L)}let w=128+(wH(z,j,N)?Y:-Y)/H*127,F=Math.max(0,Math.min(255,Math.round(w)));_.buffer[V*_.pitch+X]=F}return _}function zH($,Q,Z,K,J){let q=[],U=null,W=null,H=(_,N)=>({x:_*Q+Z,y:J?-(N*Q)+K:N*Q+K});for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":U=H(N.x,N.y),W=U;break;case"L":if(U){let V=H(N.x,N.y);q.push({type:"line",p0:U,p1:V}),U=V}break;case"Q":if(U){let V=H(N.x1,N.y1),X=H(N.x,N.y);q.push({type:"quadratic",p0:U,p1:V,p2:X}),U=X}break;case"C":if(U){let V=H(N.x1,N.y1),X=H(N.x2,N.y2),z=H(N.x,N.y);q.push({type:"cubic",p0:U,p1:V,p2:X,p3:z}),U=z}break;case"Z":if(U&&W){if(Math.abs(U.x-W.x)>0.001||Math.abs(U.y-W.y)>0.001)q.push({type:"line",p0:U,p1:W});U=W}break}}return q}function jH($,Q,Z){switch(Z.type){case"line":return YH($,Q,Z.p0,Z.p1);case"quadratic":return GH($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return EH($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function YH($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0001){let X=$-Z.x,z=Q-Z.y;return Math.sqrt(X*X+z*z)}let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Z.x+W*J,_=Z.y+W*q,N=$-H,V=Q-_;return Math.sqrt(N*N+V*V)}function GH($,Q,Z,K,J){let q=1/0,U=32;for(let W=0;W<=U;W++){let H=W/U,_=1-H,N=_*_*Z.x+2*_*H*K.x+H*H*J.x,V=_*_*Z.y+2*_*H*K.y+H*H*J.y,X=$-N,z=Q-V,j=Math.sqrt(X*X+z*z);q=Math.min(q,j)}return q}function EH($,Q,Z,K,J,q){let U=1/0,W=32;for(let H=0;H<=W;H++){let _=H/W,N=1-_,V=N*N*N*Z.x+3*N*N*_*K.x+3*N*_*_*J.x+_*_*_*q.x,X=N*N*N*Z.y+3*N*N*_*K.y+3*N*_*_*J.y+_*_*_*q.y,z=$-V,j=Q-X,Y=Math.sqrt(z*z+j*j);U=Math.min(U,Y)}return U}function wH($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J],U=AH(q);for(let W=0;W<U.length-1;W++){let H=U[W],_=U[W+1];if(!H||!_)continue;if(H.y>Q!==_.y>Q){let N=(_.x-H.x)/(_.y-H.y),V=H.x+N*(Q-H.y);if($<V)K++}}}return(K&1)===1}function AH($){switch($.type){case"line":return[$.p0,$.p1];case"quadratic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*$.p0.x+2*q*J*$.p1.x+J*J*$.p2.x,y:q*q*$.p0.y+2*q*J*$.p1.y+J*J*$.p2.y})}return Q}case"cubic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*q*$.p0.x+3*q*q*J*$.p1.x+3*q*J*J*$.p2.x+J*J*J*$.p3.x,y:q*q*q*$.p0.y+3*q*q*J*$.p1.y+3*q*J*J*$.p2.y+J*J*J*$.p3.y})}return Q}}}function E5($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q===0)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function x6($){return{x:-$.y,y:$.x}}function FH($,Q){let Z=$.x*Q.x+$.y*Q.y,K=$.x*Q.y-$.y*Q.x;return Math.atan2(K,Z)}function PZ($,Q,Z,K,J){let q=x6(Z),U={x:Q.x+q.x*K*(J?1:-1),y:Q.y+q.y*K*(J?1:-1)},W={x:Q.x-q.x*K*(J?1:-1),y:Q.y-q.y*K*(J?1:-1)},H={x:Q.x+Z.x*K,y:Q.y+Z.y*K},_={x:U.x+Z.x*K*0.5523,y:U.y+Z.y*K*0.5523},N={x:W.x+Z.x*K*0.5523,y:W.y+Z.y*K*0.5523};$.push({type:"Q",x1:_.x,y1:_.y,x:H.x,y:H.y}),$.push({type:"Q",x1:N.x,y1:N.y,x:W.x,y:W.y})}function vZ($,Q,Z,K){let J=x6(Z),q={x:Q.x+Z.x*K,y:Q.y+Z.y*K},U={x:q.x+J.x*K,y:q.y+J.y*K},W={x:q.x-J.x*K,y:q.y-J.y*K};$.push({type:"L",x:U.x,y:U.y}),$.push({type:"L",x:W.x,y:W.y})}function k0($,Q,Z,K,J,q,U,W){let H=FH(Z,K),_=W?H<0:H>0;if(Math.abs(H)<0.01)return;let N=x6(Z),V=x6(K),X=W?1:-1,z={x:Q.x+N.x*J*X,y:Q.y+N.y*J*X},j={x:Q.x+V.x*J*X,y:Q.y+V.y*J*X};if(!_){$.push({type:"L",x:j.x,y:j.y});return}switch(q){case"round":{let Y=Math.abs(H),G=Math.max(2,Math.ceil(Y/(Math.PI/4)));for(let E=1;E<=G;E++){let w=E/G,F=Math.atan2(N.y,N.x)+H*w*X,A=Q.x+Math.cos(F)*J*X,M=Q.y+Math.sin(F)*J*X;$.push({type:"L",x:A,y:M})}break}case"miter":{if(1/Math.sin(Math.abs(H)/2)<=U){let G=H/2,E=E5({x:Z.x+K.x,y:Z.y+K.y}),w=J/Math.cos(G),F={x:Q.x+E.x*w*X,y:Q.y+E.y*w*X};$.push({type:"L",x:F.x,y:F.y}),$.push({type:"L",x:j.x,y:j.y})}else $.push({type:"L",x:j.x,y:j.y});break}default:$.push({type:"L",x:j.x,y:j.y});break}}function LH($,Q){if($.length<2)return[];let{width:Z,lineJoin:K,miterLimit:J}=Q,q=Z/2,U=[],W=$.length,H=[];for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W];if(!E||!w)continue;H.push(E5({x:w.x-E.x,y:w.y-E.y}))}let _=H[0],N=$[0];if(!_||!N)return[];let V=x6(_);U.push({type:"M",x:N.x+V.x*q,y:N.y+V.y*q});for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W],F=H[G],A=H[(G+1)%W];if(!E||!w||!F||!A)continue;let M=x6(F);U.push({type:"L",x:w.x+M.x*q,y:w.y+M.y*q}),k0(U,w,F,A,q,K,J,!0)}U.push({type:"Z"});let X=W-1,z=H[X],j=$[0];if(!z||!j)return U;let Y=x6(_);U.push({type:"M",x:N.x-Y.x*q,y:N.y-Y.y*q});for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W],F=H[G],A=H[(G+1)%W];if(!E||!w||!F||!A)continue;let M=x6(F);U.push({type:"L",x:w.x-M.x*q,y:w.y-M.y*q}),k0(U,w,F,A,q,K,J,!1)}return U.push({type:"Z"}),U}function DH($,Q){if($.length<2)return[];let{width:Z,lineCap:K,lineJoin:J,miterLimit:q}=Q,U=Z/2,W=[],H=$.length,_=[];for(let E=0;E<H-1;E++){let w=$[E],F=$[E+1];if(!w||!F)continue;_.push(E5({x:F.x-w.x,y:F.y-w.y}))}let N=$[0],V=$[H-1],X=_[0],z=_[_.length-1];if(!N||!V||!X||!z)return[];let j=x6(X);W.push({type:"M",x:N.x+j.x*U,y:N.y+j.y*U});for(let E=0;E<H-1;E++){let w=$[E+1],F=_[E],A=_[E+1];if(!w||!F)continue;let M=x6(F);if(W.push({type:"L",x:w.x+M.x*U,y:w.y+M.y*U}),A)k0(W,w,F,A,U,J,q,!0)}let Y={x:-z.x,y:-z.y};switch(K){case"round":PZ(W,V,z,U,!0);break;case"square":vZ(W,V,z,U);break;default:{let E=x6(z);W.push({type:"L",x:V.x-E.x*U,y:V.y-E.y*U});break}}for(let E=H-2;E>=0;E--){let w=$[E],F=_[E],A=_[E-1];if(!w||!F)continue;let M=x6(F);if(W.push({type:"L",x:w.x-M.x*U,y:w.y-M.y*U}),A)k0(W,w,{x:-F.x,y:-F.y},{x:-A.x,y:-A.y},U,J,q,!0)}let G={x:-X.x,y:-X.y};switch(K){case"round":PZ(W,N,G,U,!0);break;case"square":vZ(W,N,G,U);break;default:break}return W.push({type:"Z"}),W}function MH($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push({points:Z,closed:!1});Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push({points:Z,closed:!0}),Z=[];break}}if(Z.length>0)Q.push({points:Z,closed:!1});return Q}function a8($,Q){let Z={width:Q.width,lineCap:Q.lineCap??"butt",lineJoin:Q.lineJoin??"miter",miterLimit:Q.miterLimit??4},K=MH($),J=[];for(let U=0;U<K.length;U++){let W=K[U];if(W.points.length<2)continue;let H=W.closed?LH(W.points,Z):DH(W.points,Z);J.push(...H)}let q=$.bounds;if(q){let U=Z.width/2;q={xMin:q.xMin-U,yMin:q.yMin-U,xMax:q.xMax+U,yMax:q.yMax+U}}return{commands:J,bounds:q}}function BH($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.length;q++){let U=$[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),K=Math.max(K,U.x),Z=Math.min(Z,U.y),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x,U.x1),K=Math.max(K,U.x,U.x1),Z=Math.min(Z,U.y,U.y1),J=Math.max(J,U.y,U.y1);break;case"C":Q=Math.min(Q,U.x,U.x1,U.x2),K=Math.max(K,U.x,U.x1,U.x2),Z=Math.min(Z,U.y,U.y1,U.y2),J=Math.max(J,U.y,U.y1,U.y2);break;case"Z":break}}if(!Number.isFinite(Q))return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function r8($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x+q.y*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1+q.y1*Q,y1:q.y1,x:q.x+q.y*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1+q.y1*Q,y1:q.y1,x2:q.x2+q.y2*Q,y2:q.y2,x:q.x+q.y*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=BH(Z);return{commands:Z,bounds:K,flags:$.flags}}function t8($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1*Q,y1:q.y1,x:q.x*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1*Q,y1:q.y1,x2:q.x2*Q,y2:q.y2,x:q.x*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=$.bounds;if(K)K={xMin:K.xMin*Q,yMin:K.yMin,xMax:K.xMax*Q,yMax:K.yMax};return{commands:Z,bounds:K,flags:$.flags}}function e8($,Q){if(Q===0)return{...$,commands:[...$.commands]};let Z=RH($),K=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(U.length<3)continue;let W=TH(U,Q);if(W.length>0){K.push({type:"M",x:W[0].x,y:W[0].y});for(let H=1;H<W.length;H++)K.push({type:"L",x:W[H].x,y:W[H].y});K.push({type:"Z"})}}let J=null;if(K.length>0){let q=1/0,U=1/0,W=-1/0,H=-1/0;for(let _=0;_<K.length;_++){let N=K[_];if(N.type==="M"||N.type==="L")q=Math.min(q,N.x),U=Math.min(U,N.y),W=Math.max(W,N.x),H=Math.max(H,N.y)}if(Number.isFinite(q))J={xMin:q,yMin:U,xMax:W,yMax:H}}return{commands:K,bounds:J,flags:$.flags}}function RH($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push(Z);Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push(Z),Z=[];break}}if(Z.length>0)Q.push(Z);return Q}function TH($,Q){let Z=$.length;if(Z<3)return $;let K=0;for(let W=0;W<Z;W++){let H=(W+1)%Z,_=$[W],N=$[H];if(_&&N)K+=(N.x-_.x)*(N.y+_.y)}let J=K<0?-1:1,q=Q*J,U=[];for(let W=0;W<Z;W++){let H=$[(W-1+Z)%Z],_=$[W],N=$[(W+1)%Z];if(!H||!_||!N)continue;let V={x:_.x-H.x,y:_.y-H.y},X={x:N.x-_.x,y:N.y-_.y},z=Math.sqrt(V.x*V.x+V.y*V.y),j=Math.sqrt(X.x*X.x+X.y*X.y);if(z===0||j===0){U.push(_);continue}V.x/=z,V.y/=z,X.x/=j,X.y/=j;let Y={x:-V.y,y:V.x},G={x:-X.y,y:X.x},E=(Y.x+G.x)/2,w=(Y.y+G.y)/2,F=Math.sqrt(E*E+w*w);if(F>0.001){E/=F,w/=F;let A=Y.x*G.x+Y.y*G.y,M=A>-0.999?1/Math.sqrt((1+A)/2):1,L=Math.min(M,3);U.push({x:_.x+E*q*L,y:_.y+w*q*L})}else U.push(_)}return U}z6();var IZ=new WeakMap,w5=null;function A5(){if(!w5)w5=new c8;return w5}var y9=null,kZ=0;function OH($){if($<=kZ&&y9)return y9.fill(0,0,$),y9;let Q=Math.max($,4096);return y9=new Uint8Array(Q),kZ=Q,y9}function PH($,Q,Z){let K=Z===4?4:Z===2||Z===3?3:Z===0?0.125:1,J=Z===0?Math.ceil($/8):Math.ceil($*K),q=J*Q,U=OH(q);return{width:$,rows:Q,pitch:J,buffer:U.subarray(0,q),pixelMode:Z,numGrays:Z===0?2:256}}var CZ=new WeakMap;function vH($,Q,Z,K){let J=`${Z}:${K}`,q=CZ.get(Q);if(!q)q=new Map,CZ.set(Q,q);let U=q.get(J);if(U!==void 0)return U;let W=kH(Q,Z);if(!W)return q.set(J,null),null;if(F0($,K,K))return q.set(J,null),null;let _=L0($,W);if(_.error||_.xCoords.length===0)return q.set(J,null),null;return q.set(J,_),_}function IH($){if(!$.isTrueType||!$.hasHinting)return null;let Q=IZ.get($);if(Q)return Q;let Z=$.cvtTable,K=Z?new Int32Array(Z.values):void 0,J=$.maxp;Q=E0($.unitsPerEm,"maxStackElements"in J?J.maxStackElements:256,"maxStorage"in J?J.maxStorage:64,"maxFunctionDefs"in J?J.maxFunctionDefs:64,"maxTwilightPoints"in J?J.maxTwilightPoints:16,K);let q=$.fpgm;if(q)w0(Q,q.instructions);let U=$.prep;if(U)A0(Q,U.instructions);return IZ.set($,Q),Q}function kH($,Q){let Z=$.getGlyph(Q);if(!Z||Z.type==="empty")return null;let K=[],J=[],q=[],U=[],W=$.advanceWidth(Q),H=$.leftSideBearing(Q),_=Z.type==="simple"?Z.contours:$.getGlyphContours(Q);if(!_||_.length===0)return null;let N=0;for(let V=0;V<_.length;V++){let X=_[V];for(let z=0;z<X.length;z++){let j=X[z];K.push(j.x),J.push(j.y),q.push(j.onCurve?1:0),N++}U.push(N-1)}return{xCoords:K,yCoords:J,flags:new Uint8Array(q),contourEnds:U,instructions:Z.instructions,lsb:H,advanceWidth:W}}function CH($,Q,Z,K){let{xCoords:J,yCoords:q,flags:U,contourEnds:W}=Q,H=0,_=0;for(let N=0;N<J.length;N++){let V=N===W[H],X=(J[N]<<2|0)+(Z<<8),z=(-q[N]<<2|0)+(K<<8),j=(U[N]&1)!==0;if(N===_)$.moveTo(X,z);else if(j)$.lineTo(X,z);else{let Y=V?_:N+1,G=(J[Y]<<2|0)+(Z<<8),E=(-q[Y]<<2|0)+(K<<8);if((U[Y]&1)!==0){if($.conicTo(X,z,G,E),!V)N++}else $.conicTo(X,z,X+G>>1,z+E>>1)}if(V){let Y=(J[_]<<2|0)+(Z<<8),G=(-q[_]<<2|0)+(K<<8);if(j&&N!==_)$.lineTo(Y,G);H++,_=N+1}}}var SH=256;function s6($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=Q,N=r(Z,K,W),V=A5();if(V.setClip(0,0,Z,K),K>SH){let X=()=>X8(V,$,J,q,U,_);V.renderWithBands(N,X,{minY:0,maxY:K},H)}else V.setBandBounds(0,K),V.reset(),X8(V,$,J,q,U,_),V.sweep(N,H);return N}function C0($,Q,Z,K){let J=K?.padding??1,q=K?.pixelMode??1;if((K?.hinting??!1)&&$.hasHinting){let Y=hH($,Q,Z,J,q);if(Y)return Y}let W=S6($,Q);if(!W)return null;let H=Z/$.unitsPerEm,_=K8(W,H,!0);if(!_)return{bitmap:r(1,1,q),bearingX:0,bearingY:0};let N=_.maxX-_.minX+J*2,V=_.maxY-_.minY+J*2;if(N<=0||V<=0)return{bitmap:r(1,1,q),bearingX:0,bearingY:0};let X=-_.minX+J,z=-_.minY+J;return{bitmap:s6(W,{width:N,height:V,scale:H,offsetX:X,offsetY:z,pixelMode:q,flipY:!0}),bearingX:_.minX-J,bearingY:-(_.minY-J)}}function hH($,Q,Z,K,J){let q=IH($);if(!q)return null;let U=Math.round(Z),W=vH(q,$,Q,U);if(!W)return null;let{xCoords:H,yCoords:_}=W,N=H[0],V=_[0],X=H[0],z=_[0];for(let l=1;l<H.length;l++){let f=H[l],C=_[l];if(f<N)N=f;if(f>X)X=f;if(C<V)V=C;if(C>z)z=C}let j=N/64,Y=V/64,G=X/64,E=z/64;if(!Number.isFinite(j))return{bitmap:r(1,1,J),bearingX:0,bearingY:0};let w=Math.floor(j),F=Math.floor(Y),A=Math.ceil(G),M=Math.ceil(E),L=A-w+K*2,O=M-F+K*2;if(L<=0||O<=0)return{bitmap:r(1,1,J),bearingX:0,bearingY:0};let T=PH(L,O,J),v=A5();v.setClip(0,0,L,O),v.reset();let R=-w+K,u=M+K;CH(v,W,R,u),v.sweep(T,0);let I=r(L,O,J);return I.buffer.set(T.buffer),{bitmap:I,bearingX:w-K,bearingY:M+K}}function SZ($,Q,Z,K){let J=Z/$.unitsPerEm,q=K?.padding??2,U=K?.pixelMode??1,W=[],H=0,_=0,N=0,V=[...Q];for(let w=0;w<V.length;w++){let A=V[w].codePointAt(0);if(A===void 0)continue;let M=$.glyphId(A);if(M===void 0)continue;let L=$.advanceWidth(M)*J,O=S6($,M);if(O?.bounds)_=Math.max(_,-O.bounds.yMin*J),N=Math.max(N,O.bounds.yMax*J);W.push({glyphId:M,advance:L}),H+=L}if(W.length===0)return null;let X=Math.ceil(H)+q*2,z=Math.ceil(_+N)+q*2,j=r(X,z,U),Y=A5();Y.setClip(0,0,X,z);let G=q,E=N+q;for(let w=0;w<W.length;w++){let F=W[w],A=S6($,F.glyphId);if(A)Y.reset(),X8(Y,A,J,G,E,!0),Y.sweep(j);G+=F.advance}return j}function b9($){let Q=$.pixelMode===2,Z=$.pixelMode===3,K=new Uint8Array($.width*$.rows*4),J=$.pitch,q=Math.abs(J),U=J<0?($.rows-1)*q:0;for(let W=0;W<$.rows;W++){let H=U+W*J;for(let _=0;_<$.width;_++){let N=(W*$.width+_)*4;if($.pixelMode===1){let V=H+_,X=$.buffer[V]??0;K[N]=255-X,K[N+1]=255-X,K[N+2]=255-X,K[N+3]=255}else if($.pixelMode===0){let V=H+(_>>3),X=7-(_&7),z=($.buffer[V]??0)>>X&1?255:0;K[N]=255-z,K[N+1]=255-z,K[N+2]=255-z,K[N+3]=255}else if(Q||Z){let V=H+_*3,X=$.buffer[V]??0,z=$.buffer[V+1]??0,j=$.buffer[V+2]??0;K[N]=255-X,K[N+1]=255-z,K[N+2]=255-j,K[N+3]=255}else if($.pixelMode===4){let V=H+_*4;K[N]=$.buffer[V]??0,K[N+1]=$.buffer[V+1]??0,K[N+2]=$.buffer[V+2]??0,K[N+3]=$.buffer[V+3]??0}else{let V=H+_,X=$.buffer[V]??0;K[N]=255-X,K[N+1]=255-X,K[N+2]=255-X,K[N+3]=255}}}return K}function m9($){if($.pixelMode===1&&$.pitch===$.width)return $.buffer;let Q=new Uint8Array($.width*$.rows),Z=$.pitch,K=Math.abs(Z),J=Z<0?($.rows-1)*K:0;for(let q=0;q<$.rows;q++){let U=J+q*Z;for(let W=0;W<$.width;W++){let H=q*$.width+W;if($.pixelMode===1)Q[H]=$.buffer[U+W]??0;else if($.pixelMode===0){let _=U+(W>>3),N=7-(W&7);Q[H]=($.buffer[_]??0)>>N&1?255:0}else if($.pixelMode===2||$.pixelMode===3){let _=U+W*3,N=$.buffer[_]??0,V=$.buffer[_+1]??0,X=$.buffer[_+2]??0;Q[H]=Math.round((N+V+X)/3)}else if($.pixelMode===4){let _=U+W*4;Q[H]=$.buffer[_+3]??0}}}return Q}z6();function S0($,Q,Z){let{fontSize:K,padding:J=1,maxWidth:q=2048,maxHeight:U=2048,pixelMode:W=1}=Z,H=[],_=K/$.unitsPerEm;for(let Y=0;Y<Q.length;Y++){let G=Q[Y],E=C0($,G,K,{padding:0,pixelMode:W});if(!E)continue;let w=$.advanceWidth(G)*_;H.push({glyphId:G,bitmap:E.bitmap,bearingX:E.bearingX,bearingY:E.bearingY,advance:w})}H.sort((Y,G)=>G.bitmap.rows-Y.bitmap.rows);let{width:N,height:V,placements:X}=yH(H.map((Y)=>({width:Y.bitmap.width+J*2,height:Y.bitmap.rows+J*2})),q,U),z=r(N,V,W),j=new Map;for(let Y=0;Y<H.length;Y++){let G=H[Y],E=X[Y];if(!E.placed)continue;bH(G.bitmap,z,E.x+J,E.y+J),j.set(G.glyphId,{glyphId:G.glyphId,atlasX:E.x+J,atlasY:E.y+J,width:G.bitmap.width,height:G.bitmap.rows,bearingX:G.bearingX,bearingY:G.bearingY,advance:G.advance})}return{bitmap:z,glyphs:j,fontSize:K}}function yZ($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return S0($,Z,Q)}function bZ($,Q,Z){let K=new Set,J=[...Q];for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return S0($,[...K],Z)}function yH($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,X=-1,z=Z;for(let j=0;j<K.length;j++){let Y=K[j];if(Y.width+N.width<=Q&&N.height<=Y.height){if(Y.y<z)X=j,z=Y.y}}if(X>=0){let j=K[X];J.push({x:j.width,y:j.y,placed:!0}),j.width+=N.width,q=Math.max(q,j.width),V=!0}else{let j=U;if(j+N.height<=Z&&N.width<=Q)K.push({y:j,height:N.height,width:N.width}),J.push({x:0,y:j,placed:!0}),U=j+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=hZ(q),H=hZ(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function bH($,Q,Z,K){let J=$.pixelMode===2?3:1;for(let q=0;q<$.rows;q++){let U=q*$.pitch,W=(K+q)*Q.pitch+Z*J;for(let H=0;H<$.width*J;H++)Q.buffer[W+H]=$.buffer[U+H]}}function hZ($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function mZ($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J,U=(K*Q.width+J)*4,W=Q.buffer[q]??0;Z[U]=255,Z[U+1]=255,Z[U+2]=255,Z[U+3]=W}return Z}function gZ($){let{bitmap:Q}=$;if(Q.pitch===Q.width)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++)Z[K*Q.width+J]=Q.buffer[K*Q.pitch+J];return Z}function xZ($,Q){let Z=$.glyphs.get(Q);if(!Z)return null;let{bitmap:K}=$;return{u0:Z.atlasX/K.width,v0:Z.atlasY/K.rows,u1:(Z.atlasX+Z.width)/K.width,v1:(Z.atlasY+Z.height)/K.rows}}z6();function mH($,Q,Z){return Math.max(Math.min($,Q),Math.min(Math.max($,Q),Z))}function gH($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return{distance:Math.sqrt(($-Z.x)**2+(Q-Z.y)**2),t:0};let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2);return{distance:(J*(Q-Z.y)-q*($-Z.x)>=0?1:-1)*H,t:W}}function xH($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return Math.sqrt(($-Z.x)**2+(Q-Z.y)**2);let W=(($-Z.x)*J+(Q-Z.y)*q)/U;return W=Math.max(0,Math.min(1,W)),Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2)}function uH($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2)),H=W===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let G=1;G<6;G++){let E=G/6;for(let L=0;L<3;L++){let O=1-E,T=O*O*Z.x+2*O*E*K.x+E*E*J.x,v=O*O*Z.y+2*O*E*K.y+E*E*J.y,R=2*(O*(K.x-Z.x)+E*(J.x-K.x)),u=2*(O*(K.y-Z.y)+E*(J.y-K.y)),I=T-$,l=v-Q,f=I*R+l*u,C=R*R+u*u+I*2*q+l*2*U;if(Math.abs(C)<0.0000000001)break;E=Math.max(0,Math.min(1,E-f/C))}let w=1-E,F=w*w*Z.x+2*w*E*K.x+E*E*J.x,A=w*w*Z.y+2*w*E*K.y+E*E*J.y,M=Math.sqrt((F-$)**2+(A-Q)**2);if(M<W)W=M,H=E}let _=1-H,N=2*(_*(K.x-Z.x)+H*(J.x-K.x)),V=2*(_*(K.y-Z.y)+H*(J.y-K.y)),X=_*_*Z.x+2*_*H*K.x+H*H*J.x,z=_*_*Z.y+2*_*H*K.y+H*H*J.y;return{distance:(N*(Q-z)-V*($-X)>=0?1:-1)*W,t:H}}function fH($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2));for(let H=1;H<6;H++){let _=H/6;for(let X=0;X<3;X++){let z=1-_,j=z*z*Z.x+2*z*_*K.x+_*_*J.x,Y=z*z*Z.y+2*z*_*K.y+_*_*J.y,G=2*(z*(K.x-Z.x)+_*(J.x-K.x)),E=2*(z*(K.y-Z.y)+_*(J.y-K.y)),w=j-$,F=Y-Q,A=G*G+E*E+w*2*q+F*2*U;if(Math.abs(A)<0.0000000001)break;_=Math.max(0,Math.min(1,_-(w*G+F*E)/A))}let N=1-_,V=Math.sqrt((N*N*Z.x+2*N*_*K.x+_*_*J.x-$)**2+(N*N*Z.y+2*N*_*K.y+_*_*J.y-Q)**2);if(V<W)W=V}return W}function lH($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2)),W=U===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let F=1;F<6;F++){let A=F/6;for(let l=0;l<3;l++){let f=1-A,C=f*f,B=C*f,y=A*A,x=y*A,n=B*Z.x+3*C*A*K.x+3*f*y*J.x+x*q.x,o=B*Z.y+3*C*A*K.y+3*f*y*J.y+x*q.y,d=3*C*(K.x-Z.x)+6*f*A*(J.x-K.x)+3*y*(q.x-J.x),e=3*C*(K.y-Z.y)+6*f*A*(J.y-K.y)+3*y*(q.y-J.y),g=6*f*(J.x-2*K.x+Z.x)+6*A*(q.x-2*J.x+K.x),V6=6*f*(J.y-2*K.y+Z.y)+6*A*(q.y-2*J.y+K.y),S=n-$,q6=o-Q,b=S*d+q6*e,A6=d*d+e*e+S*g+q6*V6;if(Math.abs(A6)<0.0000000001)break;A=Math.max(0,Math.min(1,A-b/A6))}let M=1-A,L=M*M,O=L*M,T=A*A,v=T*A,R=O*Z.x+3*L*A*K.x+3*M*T*J.x+v*q.x,u=O*Z.y+3*L*A*K.y+3*M*T*J.y+v*q.y,I=Math.sqrt((R-$)**2+(u-Q)**2);if(I<U)U=I,W=A}let H=1-W,_=H*H,N=W*W,V=3*_*(K.x-Z.x)+6*H*W*(J.x-K.x)+3*N*(q.x-J.x),X=3*_*(K.y-Z.y)+6*H*W*(J.y-K.y)+3*N*(q.y-J.y),z=_*H,j=N*W,Y=z*Z.x+3*_*W*K.x+3*H*N*J.x+j*q.x,G=z*Z.y+3*_*W*K.y+3*H*N*J.y+j*q.y;return{distance:(V*(Q-G)-X*($-Y)>=0?1:-1)*U,t:W}}function nH($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2));for(let W=1;W<6;W++){let H=W/6;for(let Y=0;Y<3;Y++){let G=1-H,E=G*G,w=E*G,F=H*H,A=F*H,M=w*Z.x+3*E*H*K.x+3*G*F*J.x+A*q.x,L=w*Z.y+3*E*H*K.y+3*G*F*J.y+A*q.y,O=3*E*(K.x-Z.x)+6*G*H*(J.x-K.x)+3*F*(q.x-J.x),T=3*E*(K.y-Z.y)+6*G*H*(J.y-K.y)+3*F*(q.y-J.y),v=6*G*(J.x-2*K.x+Z.x)+6*H*(q.x-2*J.x+K.x),R=6*G*(J.y-2*K.y+Z.y)+6*H*(q.y-2*J.y+K.y),u=M-$,I=L-Q,l=O*O+T*T+u*v+I*R;if(Math.abs(l)<0.0000000001)break;H=Math.max(0,Math.min(1,H-(u*O+I*T)/l))}let _=1-H,N=_*_,V=N*_,X=H*H,z=X*H,j=Math.sqrt((V*Z.x+3*N*H*K.x+3*_*X*J.x+z*q.x-$)**2+(V*Z.y+3*N*H*K.y+3*_*X*J.y+z*q.y-Q)**2);if(j<U)U=j}return U}function uZ($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p1.x-$.p0.x),y:2*($.p1.y-$.p0.y)};case"cubic":return{x:3*($.p1.x-$.p0.x),y:3*($.p1.y-$.p0.y)}}}function fZ($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p2.x-$.p1.x),y:2*($.p2.y-$.p1.y)};case"cubic":return{x:3*($.p3.x-$.p2.x),y:3*($.p3.y-$.p2.y)}}}function lZ($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q<0.0000000001)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function dH($,Q){return $.x*Q.x+$.y*Q.y}function nZ($,Q,Z=Math.PI/3){let K=lZ($),J=lZ(Q),q=dH(K,J),U=Math.acos(Math.max(-1,Math.min(1,q)));return U>Z&&U<Math.PI-Z}function pZ($){let Q=Math.PI/4;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(K.length===0)continue;if(K.length===1){K[0].color=0;continue}let J=0;for(let q=0;q<K.length;q++){let U=K[q],W=K[(q-1+K.length)%K.length];if(q===0)U.color=J;else{let H=fZ(W),_=uZ(U);if(nZ(H,_,Q))J=(J+1)%3;U.color=J}}if(K.length>=2){let q=K[K.length-1],U=K[0],W=fZ(q),H=uZ(U);if(nZ(W,H,Q)){if(q.color===U.color){let _=K[K.length-2]?.color??0,N=K[1]?.color??0;for(let V=0;V<3;V++)if(V!==U.color&&V!==_){q.color=V;break}}}}}}function pH($,Q,Z,K,J){let q=[],U=[],W=null,H=null,_=(N,V)=>({x:N*Q+Z,y:J?-(V*Q)+K:V*Q+K});for(let N=0;N<$.commands.length;N++){let V=$.commands[N];switch(V.type){case"M":if(U.length>0)q.push(U),U=[];W=_(V.x,V.y),H=W;break;case"L":if(W){let X=_(V.x,V.y);if(Math.abs(X.x-W.x)>0.000001||Math.abs(X.y-W.y)>0.000001)U.push({type:"line",p0:W,p1:X,color:0,minX:Math.min(W.x,X.x),maxX:Math.max(W.x,X.x),minY:Math.min(W.y,X.y),maxY:Math.max(W.y,X.y)});W=X}break;case"Q":if(W){let X=_(V.x1,V.y1),z=_(V.x,V.y);U.push({type:"quadratic",p0:W,p1:X,p2:z,color:0,minX:Math.min(W.x,X.x,z.x),maxX:Math.max(W.x,X.x,z.x),minY:Math.min(W.y,X.y,z.y),maxY:Math.max(W.y,X.y,z.y)}),W=z}break;case"C":if(W){let X=_(V.x1,V.y1),z=_(V.x2,V.y2),j=_(V.x,V.y);U.push({type:"cubic",p0:W,p1:X,p2:z,p3:j,color:0,minX:Math.min(W.x,X.x,z.x,j.x),maxX:Math.max(W.x,X.x,z.x,j.x),minY:Math.min(W.y,X.y,z.y,j.y),maxY:Math.max(W.y,X.y,z.y,j.y)}),W=j}break;case"Z":if(W&&H){if(Math.abs(W.x-H.x)>0.000001||Math.abs(W.y-H.y)>0.000001)U.push({type:"line",p0:W,p1:H,color:0,minX:Math.min(W.x,H.x),maxX:Math.max(W.x,H.x),minY:Math.min(W.y,H.y),maxY:Math.max(W.y,H.y)});W=H}if(U.length>0)q.push(U),U=[];break}}if(U.length>0)q.push(U);return q}function cH($,Q,Z){switch(Z.type){case"line":return xH($,Q,Z.p0,Z.p1);case"quadratic":return fH($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return nH($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function oH($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z],J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U.type==="line")J.push([U.p0,U.p1]);else if(U.type==="quadratic"){let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V={x:N*N*U.p0.x+2*N*_*U.p1.x+_*_*U.p2.x,y:N*N*U.p0.y+2*N*_*U.p1.y+_*_*U.p2.y};J.push([W,V]),W=V}}else{let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V=N*N,X=V*N,z=_*_,j=z*_,Y={x:X*U.p0.x+3*V*_*U.p1.x+3*N*z*U.p2.x+j*U.p3.x,y:X*U.p0.y+3*V*_*U.p1.y+3*N*z*U.p2.y+j*U.p3.y};J.push([W,Y]),W=Y}}}Q.push(J)}return Q}function iH($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(W.y>Q!==H.y>Q){let _=W.x+(H.x-W.x)*(Q-W.y)/(H.y-W.y);if($<_)K++}}}return(K&1)===1}function F5($,Q,Z){let K=1/0;for(let J=0;J<Z.length;J++){let q=Z[J],U=$<q.minX?q.minX-$:$>q.maxX?$-q.maxX:0,W=Q<q.minY?q.minY-Q:Q>q.maxY?Q-q.maxY:0;if(U*U+W*W>=K*K)continue;let H=cH($,Q,q);if(H<K){if(K=H,H<0.5)break}}return K}function S8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=r(Z,K,2),N=pH($,J,q,U,W);if(N.length===0||N.every((F)=>F.length===0))return _.buffer.fill(0),_;pZ(N);let V=oH(N),X=N.flat(),z=X.filter((F)=>F.color===0),j=X.filter((F)=>F.color===1),Y=X.filter((F)=>F.color===2),G=z.length>0?z:X,E=j.length>0?j:X,w=Y.length>0?Y:X;for(let F=0;F<K;F++)for(let A=0;A<Z;A++){let M=A+0.5,L=F+0.5,O=F5(M,L,G),T=F5(M,L,E),v=F5(M,L,w),u=iH(M,L,V)?1:-1,I=O*u,l=T*u,f=v*u,C=(y)=>{let x=128+y/H*127;return Math.max(0,Math.min(255,Math.round(x)))},B=F*_.pitch+A*3;_.buffer[B]=C(I),_.buffer[B+1]=C(l),_.buffer[B+2]=C(f)}return _}function sH($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,X=-1,z=Z;for(let j=0;j<K.length;j++){let Y=K[j];if(Y.width+N.width<=Q&&N.height<=Y.height){if(Y.y<z)X=j,z=Y.y}}if(X>=0){let j=K[X];J.push({x:j.width,y:j.y,placed:!0}),j.width+=N.width,q=Math.max(q,j.width),V=!0}else{let j=U;if(j+N.height<=Z&&N.width<=Q)K.push({y:j,height:N.height,width:N.width}),J.push({x:0,y:j,placed:!0}),U=j+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=dZ(q),H=dZ(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function dZ($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function aH($,Q,Z,K){for(let J=0;J<$.rows;J++){let q=J*$.pitch,U=(K+J)*Q.pitch+Z*3;for(let W=0;W<$.width*3;W++)Q.buffer[U+W]=$.buffer[q+W]}}function h0($,Q,Z){let{fontSize:K,padding:J=2,maxWidth:q=2048,maxHeight:U=2048,spread:W=4}=Z,H=K/$.unitsPerEm,_=[];for(let Y=0;Y<Q.length;Y++){let G=Q[Y],E=S6($,G);if(!E||!E.bounds)continue;let w=E.bounds,F=Math.ceil((w.xMax-w.xMin)*H)+W*2,A=Math.ceil((w.yMax-w.yMin)*H)+W*2;if(F<=0||A<=0)continue;let M=S8(E,{width:F,height:A,scale:H,offsetX:-w.xMin*H+W,offsetY:w.yMax*H+W,flipY:!0,spread:W}),L=$.advanceWidth(G)*H,O=w.xMin*H-W,T=w.yMax*H+W;_.push({glyphId:G,bitmap:M,bearingX:O,bearingY:T,advance:L})}_.sort((Y,G)=>G.bitmap.rows-Y.bitmap.rows);let{width:N,height:V,placements:X}=sH(_.map((Y)=>({width:Y.bitmap.width+J*2,height:Y.bitmap.rows+J*2})),q,U),z=r(N,V,2),j=new Map;for(let Y=0;Y<_.length;Y++){let G=_[Y],E=X[Y];if(!E.placed)continue;aH(G.bitmap,z,E.x+J,E.y+J),j.set(G.glyphId,{glyphId:G.glyphId,atlasX:E.x+J,atlasY:E.y+J,width:G.bitmap.width,height:G.bitmap.rows,bearingX:G.bearingX,bearingY:G.bearingY,advance:G.advance})}return{bitmap:z,glyphs:j,fontSize:K}}function cZ($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return h0($,Z,Q)}function oZ($,Q,Z){let K=new Set,J=Array.from(Q);for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return h0($,[...K],Z)}function iZ($){let{bitmap:Q}=$;if(Q.pitch===Q.width*3)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows*3);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width*3;J++)Z[K*Q.width*3+J]=Q.buffer[K*Q.pitch+J];return Z}function sZ($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J*3,U=(K*Q.width+J)*4;Z[U]=Q.buffer[q],Z[U+1]=Q.buffer[q+1],Z[U+2]=Q.buffer[q+2],Z[U+3]=255}return Z}z6();var rH=Math.PI;function tH($,Q,Z){let K=0.5/Z,J=Math.exp(-K),q=J*J,U=Math.sqrt(K/rH);$[0]=U,U*=J,$[1]=U;for(let W=2;W<Q;W++)J*=q,U*=J,$[W]=U}function aZ($,Q,Z){let K=$[1],J=$[2],q=$[3];for(let U=0;U<Q;U++){let W=$[U]*Z[0]+(K+$[U+1])*Z[1]+(J+$[U+2])*Z[2]+(q+$[U+3])*Z[3];q=J,J=K,K=$[U],$[U]=W}}function eH($,Q,Z){for(let K=0;K<Z;K++){$[K][K]=Q[2*K+2]+3*Q[0]-4*Q[K+1];for(let J=K+1;J<Z;J++)$[K][J]=$[J][K]=Q[K+J+2]+Q[J-K]+2*(Q[0]-Q[K+1]-Q[J+1])}for(let K=0;K<Z;K++){let J=1/$[K][K];$[K][K]=1;for(let q=0;q<Z;q++){if(q===K)continue;let U=$[q][K]*J;$[q][K]=0;for(let W=0;W<Z;W++)$[q][W]-=$[K][W]*U}for(let q=0;q<Z;q++)$[K][q]*=J}}function $4($,Q,Z,K){let q=[((0.27116402116402116*K+0.09027777777777778)*K+0.20833333333333334)*K+0.43022486772486773,((-0.20337301587301587*K-0.022569444444444444)*K-0.017361111111111112)*K+0.24330357142857142,((0.08134920634920635*K-0.04513888888888889)*K-0.0763888888888889)*K+0.04017857142857143,((-0.013558201058201057*K+0.022569444444444444)*K-0.010416666666666666)*K+0.0014054232804232803],U=new Float64Array(17);U[0]=q[0],U[1]=q[1],U[2]=q[2],U[3]=q[3],aZ(U,7,q);let W=new Float64Array(12);tH(W,Q+4,Z*K),aZ(W,Q+1,q);let H=[];for(let N=0;N<8;N++)H.push(new Float64Array(8));eH(H,U,Q);let _=new Float64Array(8);for(let N=0;N<Q;N++)_[N]=U[0]-U[N+1]-W[0]+W[N+1];for(let N=0;N<Q;N++){let V=0;for(let X=0;X<Q;X++)V+=H[N][X]*_[X];$[N]=Math.max(0,V)}}function rZ($){let Q=new Float64Array(8),Z,K;if($<0.5)Z=0,K=4,Q[1]=0.085*$*$*$,Q[0]=0.5*$-4*Q[1],Q[2]=Q[3]=0;else{let q=Math.sqrt(0.11569*$+0.20591047);Z=Math.floor(Math.log2(q))+1;let U=q/2**(Z-1)-1,W=0.25**Z;K=8-Math.floor((10.1525+0.8335*W)*(1-U)),K=Math.max(K,4),K=Math.min(K,8),$4(Q,K,$,W)}let J=new Float32Array(8);for(let q=0;q<K;q++)J[q]=Q[q];return{level:Z,radius:K,coeff:J}}function Q4($,Q,Z,K,J,q){let U=Math.floor((Z+5)/2);for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=N*2,X=0;X+=(Q[H+Math.max(0,V-2)]??0)*1,X+=(Q[H+Math.max(0,V-1)]??0)*5,X+=(Q[H+Math.min(Z-1,V)]??0)*10,X+=(Q[H+Math.min(Z-1,V+1)]??0)*10,X+=(Q[H+Math.min(Z-1,V+2)]??0)*5,X+=(Q[H+Math.min(Z-1,V+3)]??0)*1,$[_+N]=X/32}}}function Z4($,Q,Z,K,J,q){let U=Math.floor((K+5)/2);for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=H*2,N=0;N+=(Q[Math.max(0,_-2)*J+W]??0)*1,N+=(Q[Math.max(0,_-1)*J+W]??0)*5,N+=(Q[Math.min(K-1,_)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+1)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+2)*J+W]??0)*5,N+=(Q[Math.min(K-1,_+3)*J+W]??0)*1,$[H*q+W]=N/32}}function K4($,Q,Z,K,J,q){let U=Z*2+4;for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=Math.floor((N-2)/2),X=N-2&1,z=0;if(X===0)z+=(Q[H+Math.max(0,Math.min(Z-1,V-1))]??0)*1,z+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*30,z+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*1;else z+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*16,z+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*16;$[_+N]=z/32}}}function J4($,Q,Z,K,J,q){let U=K*2+4;for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=Math.floor((H-2)/2),N=H-2&1,V=0;if(N===0)V+=(Q[Math.max(0,Math.min(K-1,_-1))*J+W]??0)*1,V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*30,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*1;else V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*16,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*16;$[H*q+W]=V/32}}function q4($,Q,Z,K,J,q,U,W){let H=Z+2*U;for(let _=0;_<K;_++){let N=_*J,V=_*q;for(let X=0;X<H;X++){let z=X-U,j=0;for(let Y=0;Y<U;Y++){let G=Math.max(0,Math.min(Z-1,z-Y-1)),E=Math.max(0,Math.min(Z-1,z+Y));j+=((Q[N+G]??0)+(Q[N+E]??0))*W[Y]}$[V+X]=j}}}function U4($,Q,Z,K,J,q,U,W){let H=K+2*U;for(let _=0;_<Z;_++)for(let N=0;N<H;N++){let V=N-U,X=0;for(let z=0;z<U;z++){let j=Math.max(0,Math.min(K-1,V-z-1)),Y=Math.max(0,Math.min(K-1,V+z));X+=((Q[j*J+_]??0)+(Q[Y*J+_]??0))*W[z]}$[N*q+_]=X}}function W4($,Q,Z){let K=(Q+Z)/2;return d6($,K)}function h8($,Q,Z=Q){if(Q<=0&&Z<=0)return $;if($.pixelMode===4)return W4($,Q,Z);let K=Q*Q,J=Z*Z,q=rZ(K),U=rZ(J),W=$.width,H=$.rows,_=(2*q.radius+9<<q.level)-5,N=(2*U.radius+9<<U.level)-5,V=(W+_&~((1<<q.level)-1))-4,X=(H+N&~((1<<U.level)-1))-4,z=Math.max(W*H,V*X)*2,j=new Float32Array(z),Y=new Float32Array(z);for(let T=0;T<H;T++)for(let v=0;v<W;v++)j[T*W+v]=$.buffer[T*$.pitch+v]??0;let G=j,E=Y,w=W;for(let T=0;T<U.level;T++){let v=Math.floor((H+5)/2);Z4(E,G,W,H,w,W),H=v,[G,E]=[E,G]}for(let T=0;T<q.level;T++){let v=Math.floor((W+5)/2);Q4(E,G,W,H,w,v),W=v,w=v,[G,E]=[E,G]}let F=W+2*q.radius;q4(E,G,W,H,w,F,q.radius,q.coeff),W=F,w=F,[G,E]=[E,G];let A=H+2*U.radius;U4(E,G,W,H,w,w,U.radius,U.coeff),H=A,[G,E]=[E,G];for(let T=0;T<q.level;T++){let v=W*2+4;K4(E,G,W,H,w,v),W=v,w=v,[G,E]=[E,G]}for(let T=0;T<U.level;T++){let v=H*2+4;J4(E,G,W,H,w,w),H=v,[G,E]=[E,G]}let M=Math.min(W,V),L=Math.min(H,X),O=new Uint8Array(M*L);for(let T=0;T<L;T++)for(let v=0;v<M;v++){let R=G[T*w+v]??0;O[T*M+v]=Math.max(0,Math.min(255,Math.round(R)))}return{buffer:O,width:M,rows:L,pitch:M,pixelMode:1,numGrays:256}}function g9($,Q){return h8($,Q,Q)}function x9($,Q,Z){let K=Z??Q;if(Math.max(Q,K)<=3)return d6($,(Q+K)/2);return h8($,Q,K)}z6();class s{_bitmap;_bearingX;_bearingY;constructor($,Q=0,Z=0){this._bitmap=$;this._bearingX=Q;this._bearingY=Z}static fromBitmap($){return new s(J6($))}static fromBitmapWithBearing($,Q,Z){return new s(J6($),Q,Z)}static fromRasterizedGlyph($){return new s(J6($.bitmap),$.bearingX,$.bearingY)}static create($,Q,Z=1){return new s(r($,Q,Z))}static fromGradient($,Q,Z){return new s(I0($,Q,Z))}blur($){let Q=d6(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}boxBlur($){let Q=z8(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}cascadeBlur($,Q){let Z=h8(J6(this._bitmap),$,Q??$);return new s(Z,this._bearingX,this._bearingY)}adaptiveBlur($,Q){let Z=x9(J6(this._bitmap),$,Q??$);return new s(Z,this._bearingX,this._bearingY)}fastBlur($){let Q=g9(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}embolden($,Q){let Z=o8(this._bitmap,$,Q??$);return new s(Z,this._bearingX,this._bearingY)}shift($,Q){let Z=S9(this._bitmap,$,Q);return new s(Z,this._bearingX+$,this._bearingY-Q)}resize($,Q){let Z=k8(this._bitmap,$,Q);return new s(Z,this._bearingX,this._bearingY)}resizeBilinear($,Q){let Z=i8(this._bitmap,$,Q);return new s(Z,this._bearingX,this._bearingY)}pad($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$,H=h9(this._bitmap,J,q,U,W);return new s(H,this._bearingX-J,this._bearingY+q)}blend($,Q,Z,K=1){let J=$ instanceof s?$._bitmap:$,q=J6(this._bitmap);return P0(q,J,Q,Z,K),new s(q,this._bearingX,this._bearingY)}composite($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return j5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}add($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return V5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}subtract($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return z5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}multiply($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return X5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}max($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return Y5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}convert($){let Q=J8(this._bitmap,$);return new s(Q,this._bearingX,this._bearingY)}toRGBA(){return b9(this._bitmap)}toGray(){return m9(this._bitmap)}toBitmap(){return J6(this._bitmap)}toRasterizedGlyph(){return{bitmap:J6(this._bitmap),bearingX:this._bearingX,bearingY:this._bearingY}}clone(){return new s(J6(this._bitmap),this._bearingX,this._bearingY)}get width(){return this._bitmap.width}get height(){return this._bitmap.rows}get pixelMode(){return this._bitmap.pixelMode}get bearingX(){return this._bearingX}get bearingY(){return this._bearingY}}function H4($,Q,Z,K){let J=-Q*K,q=$*Z,U=Math.sqrt(J*J+q*q);if(U<0.0000000001)return{x:0,y:0,len:0};return{x:J/U,y:q/U,len:U}}function L5($,Q,Z,K,J){let q=Z.x-$.x,U=Z.y-$.y;if(Math.abs((Q.x-$.x)*U-(Q.y-$.y)*q)/Math.sqrt(q*q+U*U+0.0000000001)<=K){J.push(Z);return}let H={x:($.x+Q.x)/2,y:($.y+Q.y)/2},_={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},N={x:(H.x+_.x)/2,y:(H.y+_.y)/2};L5($,H,N,K,J),L5(N,_,Z,K,J)}function D5($,Q,Z,K,J,q){let U=K.x-$.x,W=K.y-$.y,H=U*U+W*W+0.0000000001,_=Math.abs((Q.x-$.x)*W-(Q.y-$.y)*U)/Math.sqrt(H),N=Math.abs((Z.x-$.x)*W-(Z.y-$.y)*U)/Math.sqrt(H);if(_<=J&&N<=J){q.push(K);return}let V={x:($.x+Q.x)/2,y:($.y+Q.y)/2},X={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},z={x:(Z.x+K.x)/2,y:(Z.y+K.y)/2},j={x:(V.x+X.x)/2,y:(V.y+X.y)/2},Y={x:(X.x+z.x)/2,y:(X.y+z.y)/2},G={x:(j.x+Y.x)/2,y:(j.y+Y.y)/2};D5($,V,j,G,J,q),D5(G,Y,z,K,J,q)}function _4($,Q){let Z=[],K=[],J={x:0,y:0},q={x:0,y:0};for(let U=0;U<$.commands.length;U++){let W=$.commands[U];switch(W.type){case"M":if(K.length>1)Z.push({points:K,closed:!1});J={x:W.x,y:W.y},q=J,K=[J];break;case"L":J={x:W.x,y:W.y},K.push(J);break;case"Q":L5(J,{x:W.x1,y:W.y1},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"C":D5(J,{x:W.x1,y:W.y1},{x:W.x2,y:W.y2},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"Z":if(K.length>1){let H=K[0],_=K[K.length-1];if(H&&_){let N=_.x-H.x,V=_.y-H.y;if(N*N+V*V>Q*Q)K.push({...H})}Z.push({points:K,closed:!0})}K=[],J=q;break}}if(K.length>1)Z.push({points:K,closed:!1});return Z}function tZ($,Q,Z,K,J,q,U){let W=Z.x*K.x+Z.y*K.y,H=Z.x*K.y-Z.y*K.x,_=Math.atan2(H,W),N=Math.max(2,Math.ceil(Math.abs(_)/(Math.PI/8))),V=U?1:-1,X=Math.atan2(Z.y,Z.x);for(let z=1;z<=N;z++){let j=z/N,Y=X+_*j,G=Math.cos(Y),E=Math.sin(Y);$.push({x:Q.x+G*J*V,y:Q.y+E*q*V})}}function eZ($,Q,Z,K,J,q,U,W){let H=W?1:-1,_=Z.x*K.x+Z.y*K.y,N=Math.sqrt((1-_)/2);if(N<0.0000000001)return!1;let V=1/N;if(V>U)return!1;let X=Z.x+K.x,z=Z.y+K.y,j=Math.sqrt(X*X+z*z);if(j<0.0000000001)return!1;let Y=V*Math.sqrt(J*J+q*q)/2;return $.push({x:Q.x+X/j*Y*H,y:Q.y+z/j*Y*H}),!0}function N4($,Q,Z,K,J){let q=$.length;if(q<3)return{outer:[],inner:[]};let U=q-1,W=$[0],H=$[U],_=q;if(W&&H){let z=H.x-W.x,j=H.y-W.y;if(z*z+j*j<1)_=q-1}if(_<3)return{outer:[],inner:[]};let N=[];for(let z=0;z<_;z++){let j=$[z],Y=$[(z+1)%_];if(!j||!Y)continue;let G=Y.x-j.x,E=Y.y-j.y,w=Math.sqrt(G*G+E*E);if(w<0.0000000001)N.push({x:0,y:0,len:0});else N.push(H4(G/w,E/w,Q,Z))}let V=[],X=[];for(let z=0;z<_;z++){let j=$[z],Y=N[(z-1+_)%_],G=N[z];if(!j||!Y||!G)continue;if(Y.len<0.0000000001||G.len<0.0000000001){V.push({x:j.x+(G.len>0?G.x*Q:0),y:j.y+(G.len>0?G.y*Z:0)});continue}let E={x:j.x+G.x*Q,y:j.y+G.y*Z},w=Y.x*G.y-Y.y*G.x,F=w>0;if(Math.abs(w)<0.01)V.push(E);else if(F)switch(K){case"round":tZ(V,j,Y,G,Q,Z,!0);break;case"miter":if(!eZ(V,j,Y,G,Q,Z,J,!0))V.push(E);break;default:V.push(E);break}else V.push(E)}for(let z=0;z<_;z++){let j=$[z],Y=N[(z-1+_)%_],G=N[z];if(!j||!Y||!G)continue;if(Y.len<0.0000000001||G.len<0.0000000001){X.push({x:j.x-(G.len>0?G.x*Q:0),y:j.y-(G.len>0?G.y*Z:0)});continue}let E={x:j.x-G.x*Q,y:j.y-G.y*Z},w=Y.x*G.y-Y.y*G.x,F=w<0;if(Math.abs(w)<0.01)X.push(E);else if(F)switch(K){case"round":tZ(X,j,Y,G,Q,Z,!1);break;case"miter":if(!eZ(X,j,Y,G,Q,Z,J,!1))X.push(E);break;default:X.push(E);break}else X.push(E)}return{outer:V,inner:X}}function $K($,Q){if($.length===0)return[];let Z=[],K=$[0];if(!K)return[];Z.push({type:"M",x:K.x,y:K.y});for(let J=1;J<$.length;J++){let q=$[J];if(!q)continue;Z.push({type:"L",x:q.x,y:q.y})}if(Q)Z.push({type:"Z"});return Z}function y8($,Q){let{xBorder:Z,yBorder:K,eps:J=1,lineJoin:q="round",miterLimit:U=4}=Q;if(Z<=0&&K<=0)return{outer:{commands:[],bounds:null},inner:{commands:[],bounds:null}};let W=_4($,J),H=[],_=[];for(let X=0;X<W.length;X++){let z=W[X];if(!z.closed){let G=z.points[0];if(G)z.points.push(G);z.closed=!0}let{outer:j,inner:Y}=N4(z.points,Z,K,q,U);H.push(...$K(j,!0)),_.push(...$K(Y,!0))}let N=null,V=null;if($.bounds)N={xMin:$.bounds.xMin-Z,yMin:$.bounds.yMin-K,xMax:$.bounds.xMax+Z,yMax:$.bounds.yMax+K},V={xMin:$.bounds.xMin+Z,yMin:$.bounds.yMin+K,xMax:$.bounds.xMax-Z,yMax:$.bounds.yMax-K};return{outer:{commands:H,bounds:N,flags:$.flags},inner:{commands:_,bounds:V,flags:$.flags}}}function u9($,Q){let{outer:Z,inner:K}=y8($,Q),J=[...Z.commands,...K.commands],q=Z.bounds;return{commands:J,bounds:q,flags:$.flags}}function V4($,Q,Z){return y8($,{xBorder:Q,yBorder:Q,...Z})}z6();class Z6{_path;_transform;_font;constructor($,Q,Z){this._path=$;this._transform=Q;this._font=Z}static fromGlyph($,Q){let Z=S6($,Q);if(!Z)return null;return new Z6(Z,{matrix2D:O6(),matrix3D:null},$)}static fromGlyphWithVariation($,Q,Z){let K=v9($,Q,Z);if(!K)return null;return new Z6(K,{matrix2D:O6(),matrix3D:null},$)}static fromPath($){return new Z6(d8($),{matrix2D:O6(),matrix3D:null},null)}static combine(...$){let Q=$.map((K)=>K.toPath()),Z=P9(Q);return new Z6(Z,{matrix2D:O6(),matrix3D:null},null)}scale($,Q=$){let Z=v8(this._transform.matrix2D,T8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}translate($,Q){let Z=v8(this._transform.matrix2D,n8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}rotate($){let Q=v8(this._transform.matrix2D,O8($));return new Z6(this._path,{...this._transform,matrix2D:Q},this._font)}rotateDeg($){return this.rotate($*Math.PI/180)}shear($,Q){let Z=v8(this._transform.matrix2D,P8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}italic($){let Q=Math.tan($*Math.PI/180);return this.shear(Q,0)}matrix($){let Q=v8(this._transform.matrix2D,$);return new Z6(this._path,{...this._transform,matrix2D:Q},this._font)}resetTransform(){return new Z6(this._path,{matrix2D:O6(),matrix3D:null},this._font)}perspective($){let Q=this._transform.matrix3D?T9(this._transform.matrix3D,$):$;return new Z6(this._path,{...this._transform,matrix3D:Q},this._font)}perspectiveVanish($,Q,Z){let K=Z5($,Q,Z);return this.perspective(K)}apply(){let $=this.applyTransformToPath();return new Z6($,{matrix2D:O6(),matrix3D:null},this._font)}embolden($){let Q=this.applyTransformToPath(),Z=e8(Q,$);return new Z6(Z,{matrix2D:O6(),matrix3D:null},this._font)}condense($){let Q=this.applyTransformToPath(),Z=t8(Q,$);return new Z6(Z,{matrix2D:O6(),matrix3D:null},this._font)}oblique($){let Q=this.applyTransformToPath(),Z=r8(Q,$);return new Z6(Z,{matrix2D:O6(),matrix3D:null},this._font)}stroke($,Q,Z){let K=this.applyTransformToPath(),q=a8(K,typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$);return new Z6(q,{matrix2D:O6(),matrix3D:null},this._font)}strokeAsymmetric($){let Q=this.applyTransformToPath(),{outer:Z,inner:K}=y8(Q,$);return{outer:new Z6(Z,{matrix2D:O6(),matrix3D:null},this._font),inner:new Z6(K,{matrix2D:O6(),matrix3D:null},this._font)}}strokeAsymmetricCombined($){let Q=this.applyTransformToPath(),Z=u9(Q,$);return new Z6(Z,{matrix2D:O6(),matrix3D:null},this._font)}controlBox(){let $=this.applyTransformToPath();return Q5($)}tightBounds(){let $=this.applyTransformToPath();return B0($)}getTransformMatrix(){return[...this._transform.matrix2D]}getTransformMatrix3D(){if(!this._transform.matrix3D)return null;return this._transform.matrix3D.map(($)=>[...$])}rasterize($){let Q=this.applyTransformToPath(),{width:Z=100,height:K=100,scale:J=1,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=$,N=s6(Q,{width:Z,height:K,scale:J,offsetX:q,offsetY:U,pixelMode:W,fillRule:H,flipY:_});return s.fromBitmap(N)}rasterizeAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,pixelMode:J=1,fillRule:q=0,flipY:U=!0}=$??{},W=K8(Q,K,U);if(!W){let{createBitmap:z}=(z6(),N0(I9));return s.fromBitmap(z(1,1,J))}let H=W.maxX-W.minX+Z*2,_=W.maxY-W.minY+Z*2,N=-W.minX+Z,V=-W.minY+Z,X=s6(Q,{width:H,height:_,scale:K,offsetX:N,offsetY:V,pixelMode:J,fillRule:q,flipY:U});return s.fromBitmapWithBearing(X,W.minX-Z,-(W.minY-Z))}rasterizeWithGradient($,Q){let Z=this.applyTransformToPath(),{width:K=100,height:J=100,scale:q=1,offsetX:U=0,offsetY:W=0,pixelMode:H=1,fillRule:_=0,flipY:N=!0}=Q,V=s8(Z,$,{width:K,height:J,scale:q,offsetX:U,offsetY:W,pixelMode:H,fillRule:_,flipY:N});return s.fromBitmap(V)}toSdf($){let Q=this.applyTransformToPath(),Z=C8(Q,$);return s.fromBitmap(Z)}toSdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=K8(Q,K,q);if(!U){let{createBitmap:X}=(z6(),N0(I9));return s.fromBitmap(X(1,1,1))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=C8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return s.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toMsdf($){let Q=this.applyTransformToPath(),Z=S8(Q,$);return s.fromBitmap(Z)}toMsdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=K8(Q,K,q);if(!U){let{createBitmap:X}=(z6(),N0(I9));return s.fromBitmap(X(1,1,2))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=S8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return s.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toSVG($){let{flipY:Q=!0,scale:Z=1}=$??{};if(this.hasTransform()){let K=this.applyTransformToPath();return V8(K,{flipY:Q,scale:Z})}return V8(this._path,{flipY:Q,scale:Z})}toSVGElement($){let{fontSize:Q=100,fill:Z="currentColor",stroke:K,strokeWidth:J=1}=$??{},q=this.applyTransformToPath(),U=B0(q),W=this._font?Q/this._font.unitsPerEm:1,H=W!==1?R6(q,T8(W,W)):q,_=W!==1?{xMin:U.xMin*W,yMin:U.yMin*W,xMax:U.xMax*W,yMax:U.yMax*W}:U,N=K?J/2:0,V=Math.ceil(_.xMax-_.xMin+N*2),X=Math.ceil(_.yMax-_.yMin+N*2),z=`${_.xMin-N} ${-_.yMax-N} ${_.xMax-_.xMin+N*2} ${_.yMax-_.yMin+N*2}`,j=V8(H,{flipY:!0,scale:1}),Y=K?` stroke="${K}" stroke-width="${J}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${X}" viewBox="${z}">
|
|
10
|
-
<path d="${
|
|
11
|
-
</svg>`}toCanvas($,Q){let{flipY:Z=!0,scale:K=1,offsetX:J=0,offsetY:q=0,fill:U="black",stroke:W,strokeWidth:H=1}=Q??{};if($.beginPath(),this._transform.matrix3D){let _=this.combinedMatrix3D(K,J,q);T0($,this._path,_,{flipY:Z})}else if(this.hasTransform2D()){let _=this.combinedMatrix2D(K,J,q);R0($,this._path,_,{flipY:Z})}else p8($,this._path,{flipY:Z,scale:K,offsetX:J,offsetY:q});if(U!=="none")$.fillStyle=U,$.fill();if(W)$.strokeStyle=W,$.lineWidth=H,$.stroke()}toPath2D($){let Q=this.applyTransformToPath();return q5(Q,$)}toPath(){return this.applyTransformToPath()}clone(){return new Z6(d8(this._path),{matrix2D:[...this._transform.matrix2D],matrix3D:this._transform.matrix3D?this._transform.matrix3D.map(($)=>[...$]):null},this._font)}applyTransformToPath(){if(this._transform.matrix3D){let $=this._transform.matrix2D,Q=[[$[0],$[2],$[4]],[$[1],$[3],$[5]],[0,0,1]],Z=T9(this._transform.matrix3D,Q);return O9(this._path,Z)}return R6(this._path,this._transform.matrix2D)}hasTransform(){return this.hasTransform2D()||this._transform.matrix3D!==null}hasTransform2D(){let $=this._transform.matrix2D;return $[0]!==1||$[1]!==0||$[2]!==0||$[3]!==1||$[4]!==0||$[5]!==0}combinedMatrix2D($,Q,Z){let K=this._transform.matrix2D;return[K[0]*$,K[1]*$,K[2]*$,K[3]*$,K[0]*Q+K[2]*Z+K[4]*$,K[1]*Q+K[3]*Z+K[5]*$]}combinedMatrix3D($,Q,Z){let K=this._transform.matrix2D,J=this._transform.matrix3D??$5(),q=[[K[0]*$,K[2]*$,K[4]*$+Q],[K[1]*$,K[3]*$,K[5]*$+Z],[0,0,1]];return T9(J,q)}}z6();function QK($,...Q){return Q.reduce((Z,K)=>K(Z),$)}function ZK($,Q){return S6($,Q)}function KK($,Q){return(Z)=>R6(Z,T8($,Q??$))}function JK($,Q){return(Z)=>R6(Z,n8($,Q))}function qK($){return(Q)=>R6(Q,O8($))}function UK($){return(Q)=>R6(Q,O8($*Math.PI/180))}function WK($,Q){return(Z)=>R6(Z,P8($,Q))}function HK($){let Q=Math.tan($*Math.PI/180);return(Z)=>R6(Z,P8(Q,0))}function _K($){return(Q)=>R6(Q,$)}function NK($){return(Q)=>O9(Q,$)}function VK($){return(Q)=>e8(Q,$)}function XK($){return(Q)=>t8(Q,$)}function zK($){return(Q)=>r8(Q,$)}function jK($,Q,Z){let K=typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$;return(J)=>a8(J,K)}function YK(){return($)=>d8($)}function GK($){return P9($)}function EK($){return(Q)=>y8(Q,$)}function wK($){return(Q)=>u9(Q,$)}function AK($){return(Q)=>s6(Q,{width:$.width??100,height:$.height??100,scale:$.scale??1,offsetX:$.offsetX??0,offsetY:$.offsetY??0,pixelMode:$.pixelMode??1,fillRule:$.fillRule??0,flipY:$.flipY??!0})}function FK($){let{padding:Q=1,scale:Z=1,pixelMode:K=1}=$??{};return(J)=>{let q=K8(J,Z,!0);if(!q){let{createBitmap:N}=(z6(),N0(I9));return N(1,1,K)}let U=q.maxX-q.minX+Q*2,W=q.maxY-q.minY+Q*2,H=-q.minX+Q,_=-q.minY+Q;return s6(J,{width:U,height:W,scale:Z,offsetX:H,offsetY:_,pixelMode:K,fillRule:0,flipY:!0})}}function LK($,Q){return(Z)=>s8(Z,$,{width:Q.width??100,height:Q.height??100,scale:Q.scale??1,offsetX:Q.offsetX??0,offsetY:Q.offsetY??0,pixelMode:Q.pixelMode??1,fillRule:Q.fillRule??0,flipY:Q.flipY??!0})}function DK($){return(Q)=>C8(Q,$)}function MK($){return(Q)=>S8(Q,$)}function BK($){return(Q)=>d6(J6(Q),$)}function RK($){return(Q)=>z8(J6(Q),$)}function TK($,Q){return(Z)=>h8(J6(Z),$,Q??$)}function OK($,Q){return(Z)=>x9(J6(Z),$,Q??$)}function PK($){return(Q)=>g9(J6(Q),$)}function vK($,Q){return(Z)=>o8(Z,$,Q??$)}function IK($,Q){return(Z)=>S9(Z,$,Q)}function kK($,Q){return(Z)=>k8(Z,$,Q)}function CK($,Q){return(Z)=>i8(Z,$,Q)}function SK($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$;return(H)=>h9(H,J,q,U,W)}function hK($){return(Q)=>J8(Q,$)}function yK($){return b9($)}function bK($){return m9($)}function mK($){return(Q)=>V8(Q,$)}function gK($){return J6($)}function X4($,Q){return Z6.fromGlyph($,Q)}function z4($,Q){let Z=Q.codePointAt(0);if(Z===void 0)return null;let K=$.glyphId(Z);if(K===void 0)return null;return Z6.fromGlyph($,K)}function j4($,Q,Z){return Z6.fromGlyphWithVariation($,Q,Z)}function Y4($){return Z6.fromPath($)}function G4($){return s.fromBitmap($)}function E4(...$){return Z6.combine(...$)}class p6{data;start;end;pos;constructor($,Q=0,Z){if($ instanceof ArrayBuffer)this.data=new DataView($),this.start=Q,this.end=Z!==void 0?Q+Z:$.byteLength;else this.data=$,this.start=$.byteOffset+Q,this.end=Z!==void 0?this.start+Z:$.byteOffset+$.byteLength;this.pos=this.start}get offset(){return this.pos-this.start}get remaining(){return this.end-this.pos}get length(){return this.end-this.start}seek($){this.pos=this.start+$}skip($){this.pos+=$}slice($,Q){return new p6(this.data,this.start+$,Q)}sliceFrom($){return new p6(this.data,this.start+$,this.end-this.start-$)}peek($){let Q=this.pos,Z=$();return this.pos=Q,Z}uint8(){let $=this.data.getUint8(this.pos);return this.pos+=1,$}int8(){let $=this.data.getInt8(this.pos);return this.pos+=1,$}uint16(){let $=this.data.getUint16(this.pos,!1);return this.pos+=2,$}int16(){let $=this.data.getInt16(this.pos,!1);return this.pos+=2,$}uint32(){let $=this.data.getUint32(this.pos,!1);return this.pos+=4,$}int32(){let $=this.data.getInt32(this.pos,!1);return this.pos+=4,$}fixed(){return this.int32()/65536}f2dot14(){return this.int16()/16384}fword(){return this.int16()}ufword(){return this.uint16()}longDateTime(){let $=this.uint32(),Q=this.uint32();return BigInt($)<<32n|BigInt(Q)}tag(){return this.uint32()}tagString(){let $=this.uint32();return String.fromCharCode($>>24&255,$>>16&255,$>>8&255,$&255)}offset16(){return this.uint16()}offset32(){return this.uint32()}uint24(){let $=this.data.getUint8(this.pos),Q=this.data.getUint8(this.pos+1),Z=this.data.getUint8(this.pos+2);return this.pos+=3,$<<16|Q<<8|Z}uint8Array($){let Q=new Uint8Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint8();return Q}uint16Array($){let Q=new Uint16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint16();return Q}int16Array($){let Q=new Int16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.int16();return Q}uint32Array($){let Q=new Uint32Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint32();return Q}array($,Q){let Z=Array($);for(let K=0;K<$;K++)Z[K]=Q(this);return Z}ascii($){let Q="";for(let Z=0;Z<$;Z++)Q+=String.fromCharCode(this.uint8());return Q}utf16be($){let Q=[],Z=$/2;for(let K=0;K<Z;K++)Q.push(this.uint16());return String.fromCharCode(...Q)}hasRemaining($){return this.remaining>=$}ensureRemaining($){if(this.remaining<$)throw Error(`Unexpected end of data: need ${$} bytes, have ${this.remaining}`)}bytes($){let Q=new Uint8Array(this.data.buffer,this.data.byteOffset+this.pos,$);return this.pos+=$,Q}readAt($,Q){let Z=this.pos;this.pos=this.start+$;let K=Q(this);return this.pos=Z,K}}function xK($,Q){let Z=$.uint16(),K=$.uint16();$.skip(2);let J=[];for(let q=0;q<Q;q++){let U=$.uint16(),W=[];for(let H=0;H<U;H++)W.push({fromCoordinate:$.f2dot14(),toCoordinate:$.f2dot14()});J.push({axisValueMaps:W})}return{majorVersion:Z,minorVersion:K,axisSegmentMaps:J}}function uK($,Q){let Z=$.axisValueMaps;if(Z.length===0)return Q;for(let q=0;q<Z.length-1;q++){let U=Z[q],W=Z[q+1];if(!U||!W)continue;if(Q>=U.fromCoordinate&&Q<=W.fromCoordinate){let H=(Q-U.fromCoordinate)/(W.fromCoordinate-U.fromCoordinate);return U.toCoordinate+H*(W.toCoordinate-U.toCoordinate)}}let K=Z[0],J=Z[Z.length-1];if(K&&Q<=K.fromCoordinate)return K.toCoordinate;return J?.toCoordinate??Q}function M5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.axisSegmentMaps[K];if(q)Z.push(uK(q,J));else Z.push(J)}return Z}function fK($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16();$.skip(2);let J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=[];$.seek(K);for(let V=0;V<J;V++){let X=$.offset,z=$.uint32(),j=$.fixed(),Y=$.fixed(),G=$.fixed(),E=$.uint16(),w=$.uint16();H.push({tag:z,minValue:j,defaultValue:Y,maxValue:G,flags:E,axisNameId:w}),$.seek(X+q)}let _=[],N=W>=4+J*4+2;for(let V=0;V<U;V++){let X=$.offset,z=$.uint16(),j=$.uint16(),Y=[];for(let E=0;E<J;E++)Y.push($.fixed());let G={subfamilyNameId:z,flags:j,coordinates:Y};if(N)G.postScriptNameId=$.uint16();_.push(G),$.seek(X+W)}return{majorVersion:Q,minorVersion:Z,axes:H,instances:_}}function B5($,Q){if(Q<$.defaultValue){if(Q<$.minValue)Q=$.minValue;if($.defaultValue===$.minValue)return 0;return(Q-$.defaultValue)/($.defaultValue-$.minValue)}else if(Q>$.defaultValue){if(Q>$.maxValue)Q=$.maxValue;if($.defaultValue===$.maxValue)return 0;return(Q-$.defaultValue)/($.maxValue-$.defaultValue)}return 0}function lK($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=w4($.sliceFrom(K)),H=J!==0?R5($.sliceFrom(J)):null,_=q!==0?R5($.sliceFrom(q)):null,N=U!==0?R5($.sliceFrom(U)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,advanceWidthMapping:H,lsbMapping:_,rsbMapping:N}}function w4($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),z=X.uint16(),j=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(j&32768)!==0,w=j&32767,F=Y-w,A=[];for(let M=0;M<z;M++){let L=[];for(let O=0;O<w;O++)if(E)L.push(X.int32());else L.push(X.int16());for(let O=0;O<F;O++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:z,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function R5($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function f9($,Q){let Z=1;for(let K=0;K<$.regionAxes.length&&K<Q.length;K++){let J=$.regionAxes[K],q=Q[K];if(J===void 0||q===void 0)continue;if(q<J.startCoord||q>J.endCoord)return 0;if(q===J.peakCoord)continue;if(q<J.peakCoord){if(J.peakCoord===J.startCoord)continue;Z*=(q-J.startCoord)/(J.peakCoord-J.startCoord)}else{if(J.peakCoord===J.endCoord)continue;Z*=(J.endCoord-q)/(J.endCoord-J.peakCoord)}}return Z}function nK($,Q,Z,K){let J,q;if(K&&Q<K.mapData.length){let _=K.mapData[Q];if(!_)J=0,q=Q;else J=_.outer,q=_.inner}else J=0,q=Q;let U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let X=f9(V,Z),z=W[_]??0;H+=X*z}return Math.round(H)}function T5($,Q,Z){return nK($,Q,Z,$.advanceWidthMapping)}function dK($,Q,Z){if(!$.lsbMapping)return 0;return nK($,Q,Z,$.lsbMapping)}class b8{font;_coords;_variations;_advanceDeltas=null;constructor($,Q){this.font=$,this._coords=[],this._variations=new Map;let Z=$.fvar;if(Z){if(this._coords=Array(Z.axes.length).fill(0),Q)this.setVariations(Q)}}setVariations($){let Q=this.font.fvar;if(!Q)return;if(this._advanceDeltas=null,Array.isArray($))for(let K=0;K<$.length;K++){let J=$[K];this._variations.set(J.tag,J.value)}else{let K=Object.entries($);for(let J=0;J<K.length;J++){let[q,U]=K[J],W=k(q.padEnd(4," "));this._variations.set(W,U)}}for(let K=0;K<Q.axes.length;K++){let J=Q.axes[K],q=this._variations.get(J.tag)??J.defaultValue;this._coords[K]=B5(J,q)}let Z=this.font.avar;if(Z)this._coords=M5(Z,this._coords)}get normalizedCoords(){return this._coords}get isVariable(){return this.font.isVariable}get axes(){return this.font.fvar?.axes??[]}getAxisValue($){let Q=typeof $==="string"?k($.padEnd(4," ")):$,Z=this.font.fvar;if(!Z)return null;let K=this._variations.get(Q);if(K!==void 0)return K;return Z.axes.find((q)=>q.tag===Q)?.defaultValue??null}advanceWidth($){let Q=this.font.advanceWidth($);if(this._coords.length>0&&this.font.hvar){if(this._advanceDeltas){let K=this._advanceDeltas.get($);if(K!==void 0)return Q+K}else this._advanceDeltas=new Map;let Z=T5(this.font.hvar,$,this._coords);return this._advanceDeltas.set($,Z),Q+Z}return Q}leftSideBearing($){let Q=this.font.leftSideBearing($);if(this._coords.length>0&&this.font.hvar){let Z=dK(this.font.hvar,$,this._coords);Q+=Z}return Q}get numGlyphs(){return this.font.numGlyphs}get unitsPerEm(){return this.font.unitsPerEm}get ascender(){return this.font.ascender}get descender(){return this.font.descender}get lineGap(){return this.font.lineGap}glyphId($){return this.font.glyphId($)}glyphIdForChar($){return this.font.glyphIdForChar($)}hasTable($){return this.font.hasTable($)}get gdef(){return this.font.gdef}get gsub(){return this.font.gsub}get gpos(){return this.font.gpos}get kern(){return this.font.kern}get morx(){return this.font.morx}get cmap(){return this.font.cmap}get hmtx(){return this.font.hmtx}get hhea(){return this.font.hhea}}function A4($,Q){return new b8($,Q)}var y4=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"];function WJ($,Q){let Z=0;for(let K=0;K<5;K++){let J=$[Q.value++];if(K===0&&J===128)throw Error("Invalid UIntBase128: leading zeros");if(Z>2097151)throw Error("UIntBase128 overflow");if(Z=Z<<7|J&127,(J&128)===0)return Z}throw Error("UIntBase128 too long")}function y5($,Q){let Z=$[Q.value++];if(Z===253){let K=$[Q.value++],J=$[Q.value++];return K<<8|J}else if(Z===255)return $[Q.value++]+506;else if(Z===254)return $[Q.value++]+253;return Z}function b4($,Q,Z){let K=[];for(let J=0;J<Z;J++){let q=$[Q.value++],U=q&63,W=q>>6&3,H;if(U===63)H=String.fromCharCode($[Q.value++],$[Q.value++],$[Q.value++],$[Q.value++]);else H=y4[U];let _=WJ($,Q),N=_;if(H==="glyf"||H==="loca"?W===0:W!==0)N=WJ($,Q);K.push({tag:H,origLength:_,transformLength:N,transformVersion:W})}return K}async function m4($){if(typeof DecompressionStream<"u")try{let Z=new DecompressionStream("brotli"),J=new Blob([$.buffer]).stream().pipeThrough(Z),q=await new Response(J).arrayBuffer();return new Uint8Array(q)}catch{}let{decompress:Q}=await Promise.resolve().then(() => (UJ(),qJ));return Q($)}function u6($,Q,Z){$[Q]=Z>>8&255,$[Q+1]=Z&255}function $9($,Q,Z){$[Q]=Z>>24&255,$[Q+1]=Z>>16&255,$[Q+2]=Z>>8&255,$[Q+3]=Z&255}function Y8($,Q){return $[Q]<<8|$[Q+1]}function a6($,Q){let Z=Y8($,Q);return Z>=32768?Z-65536:Z}function m8($,Q){return($[Q]<<24|$[Q+1]<<16|$[Q+2]<<8|$[Q+3])>>>0}function HJ($,Q,Z){let K=0,J=Math.ceil(Z/4);for(let q=0;q<J;q++){let U=Q+q*4;K=K+(($[U]||0)<<24|($[U+1]||0)<<16|($[U+2]||0)<<8|($[U+3]||0))>>>0}return K}function g0($){return $+3&-4}function g4($,Q,Z,K,J){let q=[],U=0,W=0;function H(_,N){return _&1?N:-N}for(let _=0;_<Z;_++){let N=$[K.value++],V=N>>7===0,X=N&127,z=0,j=0;if(X<10)z=0,j=H(N,((X&14)<<7)+Q[J.value++]);else if(X<20)z=H(N,((X-10&14)<<7)+Q[J.value++]),j=0;else if(X<84){let Y=X-20,G=Q[J.value++];z=H(N,1+(Y&48)+(G>>4)),j=H(N>>1,1+((Y&12)<<2)+(G&15))}else if(X<120){let Y=X-84;z=H(N,1+(Math.floor(Y/12)<<8)+Q[J.value++]),j=H(N>>1,1+(Y%12>>2<<8)+Q[J.value++])}else if(X<124){let Y=Q[J.value++],G=Q[J.value++],E=Q[J.value++];z=H(N,(Y<<4)+(G>>4)),j=H(N>>1,((G&15)<<8)+E)}else z=H(N,(Q[J.value++]<<8)+Q[J.value++]),j=H(N>>1,(Q[J.value++]<<8)+Q[J.value++]);U+=z,W+=j,q.push({x:U,y:W,onCurve:V})}return q}function x4($,Q,Z){let K=0,J=Y8($,K);if(K+=2,J!==0)throw Error(`Unsupported glyf transform version: ${J}`);let q=Y8($,K);K+=2;let U=Y8($,K);K+=2;let W=Y8($,K);K+=2;let H=m8($,K);K+=4;let _=m8($,K);K+=4;let N=m8($,K);K+=4;let V=m8($,K);K+=4;let X=m8($,K);K+=4;let z=m8($,K);K+=4;let j=m8($,K);K+=4;let Y=$.slice(K,K+H);K+=H;let G=$.slice(K,K+_);K+=_;let E=$.slice(K,K+N);K+=N;let w=$.slice(K,K+V);K+=V;let F=$.slice(K,K+X);K+=X;let A=$.slice(K,K+z);K+=z;let M=$.slice(K,K+j),L={value:0},O={value:0},T={value:0},v={value:0},R={value:0},u={value:0},I={value:0},l=[0],f=[],C=0;for(let o=0;o<Q;o++){let d=a6(Y,L.value);if(L.value+=2,d===0){f.push(new Uint8Array(0)),l.push(C);continue}if(d>0){let e=u4(d,G,O,E,T,w,v,A,u,M,I,q);f.push(e),C+=g0(e.length),l.push(C)}else{let e=f4(F,R,A,u,M,I,q);f.push(e),C+=g0(e.length),l.push(C)}}let B=new Uint8Array(C),y=0;for(let o=0;o<f.length;o++){let d=f[o];B.set(d,y),y+=g0(d.length)}let x=Z===0?(Q+1)*2:(Q+1)*4,n=new Uint8Array(x);for(let o=0;o<=Q;o++)if(Z===0)u6(n,o*2,l[o]/2);else $9(n,o*4,l[o]);return{glyf:B,loca:n}}function u4($,Q,Z,K,J,q,U,W,H,_,N,V){let X=[],z=0;for(let y=0;y<$;y++){let x=y5(Q,Z);z+=x,X.push(z-1)}let j=g4(K,q,z,J,U),Y,G,E,w;if((V&1)===0&&H.value+8<=W.length)Y=a6(W,H.value),H.value+=2,G=a6(W,H.value),H.value+=2,E=a6(W,H.value),H.value+=2,w=a6(W,H.value),H.value+=2;else{Y=G=32767,E=w=-32768;for(let y=0;y<j.length;y++){let x=j[y];Y=Math.min(Y,x.x),G=Math.min(G,x.y),E=Math.max(E,x.x),w=Math.max(w,x.y)}}let A=y5(q,U),M=_.slice(N.value,N.value+A);N.value+=A;let L=[],O=[],T=0,v=0;for(let y=0;y<j.length;y++){let x=j[y];L.push(x.x-T),O.push(x.y-v),T=x.x,v=x.y}let R=[],u=[],I=[];for(let y=0;y<z;y++){let x=j[y].onCurve?1:0,n=L[y],o=O[y];if(n===0)x|=16;else if(n>=-255&&n<=255){if(x|=2,n>0)x|=16;u.push(Math.abs(n))}else u.push(n>>8&255,n&255);if(o===0)x|=32;else if(o>=-255&&o<=255){if(x|=4,o>0)x|=32;I.push(Math.abs(o))}else I.push(o>>8&255,o&255);R.push(x)}let f=10+$*2+2+A+R.length+u.length+I.length,C=new Uint8Array(f),B=0;u6(C,B,$),B+=2,u6(C,B,Y&65535),B+=2,u6(C,B,G&65535),B+=2,u6(C,B,E&65535),B+=2,u6(C,B,w&65535),B+=2;for(let y=0;y<X.length;y++){let x=X[y];u6(C,B,x),B+=2}u6(C,B,A),B+=2,C.set(M,B),B+=A;for(let y=0;y<R.length;y++){let x=R[y];C[B++]=x}for(let y=0;y<u.length;y++){let x=u[y];C[B++]=x}for(let y=0;y<I.length;y++){let x=I[y];C[B++]=x}return C.slice(0,B)}function f4($,Q,Z,K,J,q,U){let W=[],H=a6(Z,K.value);K.value+=2;let _=a6(Z,K.value);K.value+=2;let N=a6(Z,K.value);K.value+=2;let V=a6(Z,K.value);K.value+=2,W.push(255,255),W.push(H>>8&255,H&255),W.push(_>>8&255,_&255),W.push(N>>8&255,N&255),W.push(V>>8&255,V&255);let X=!0,z=!1;while(X){let j=Y8($,Q.value);Q.value+=2;let Y=Y8($,Q.value);if(Q.value+=2,W.push(j>>8&255,j&255),W.push(Y>>8&255,Y&255),j&1)W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]);else W.push($[Q.value++]),W.push($[Q.value++]);if(j&8)W.push($[Q.value++]),W.push($[Q.value++]);else if(j&64)for(let G=0;G<4;G++)W.push($[Q.value++]);else if(j&128)for(let G=0;G<8;G++)W.push($[Q.value++]);if(X=(j&32)!==0,j&256)z=!0}if(z){let j=y5(J,q);W.push(j>>8&255,j&255);for(let Y=0;Y<j;Y++)W.push(J[q.value++])}return new Uint8Array(W)}async function _J($){let Q=new Uint8Array($),Z=new DataView($);if(Z.getUint32(0,!1)!==2001684018)throw Error("Not a valid WOFF2 file");let J=Z.getUint32(4,!1),q=Z.getUint16(12,!1),U=Z.getUint32(20,!1),W={value:48},H=b4(Q,W,q),_=Q.slice(W.value,W.value+U),N=await m4(_),V=new Map,X=0;for(let I=0;I<H.length;I++){let l=H[I],f=N.slice(X,X+l.transformLength);V.set(l.tag,f),X+=l.transformLength}let z=V.get("maxp"),j=V.get("head");if(!z||!j)throw Error("Missing required tables");let Y=Y8(z,4),G=a6(j,50),E=H.find((I)=>I.tag==="glyf"),w=H.find((I)=>I.tag==="loca");if(E&&E.transformVersion===0){let I=V.get("glyf");if(!I)throw Error("Missing glyf table data for transform");let{glyf:l,loca:f}=x4(I,Y,G);if(V.set("glyf",l),V.set("loca",f),E.origLength=l.length,w)w.origLength=f.length}let F=12,A=q*16,M=F+A,L=[];for(let I=0;I<H.length;I++){let l=H[I];L.push(M),M+=g0(l.origLength)}let O=new Uint8Array(M),T=2**Math.floor(Math.log2(q))*16,v=Math.floor(Math.log2(q)),R=q*16-T;$9(O,0,J),u6(O,4,q),u6(O,6,T),u6(O,8,v),u6(O,10,R);let u=-1;for(let I=0;I<H.length;I++){let l=H[I],f=V.get(l.tag);if(!f)throw Error(`Missing table data for ${l.tag}`);let C=F+I*16,B=L[I];if(l.tag==="head"&&B!==void 0)u=B;for(let x=0;x<4;x++)O[C+x]=l.tag.charCodeAt(x);let y=HJ(f,0,f.length);$9(O,C+4,y),$9(O,C+8,L[I]),$9(O,C+12,l.origLength),O.set(f.slice(0,l.origLength),L[I])}if(u>=0){let l=2981146554-HJ(O,0,O.length)>>>0;$9(O,u+8,l)}return O.buffer}var l4={hang:1751215719,icfb:1768121954,icft:1768121972,ideo:1768187247,idtp:1768191088,math:1835103336,romn:1919905134};function d9($){let Q=$.uint16(),Z=$.int16(),K={format:Q,coordinate:Z};if(Q===2)K.referenceGlyph=$.uint16(),K.baseCoordPoint=$.uint16();else if(Q===3)K.deviceOffset=$.uint16();return K}function NJ($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=null,W=null;if(K!==0){let _=$.sliceFrom(Q+K);U=d9(_).coordinate}if(J!==0){let _=$.sliceFrom(Q+J);W=d9(_).coordinate}let H=[];for(let _=0;_<q;_++){let N=Z.uint32(),V=Z.uint16(),X=Z.uint16(),z=null,j=null;if(V!==0){let Y=$.sliceFrom(Q+V);z=d9(Y).coordinate}if(X!==0){let Y=$.sliceFrom(Q+X);j=d9(Y).coordinate}H.push({featureTag:N,minCoord:z,maxCoord:j})}return{minCoord:U,maxCoord:W,featMinMaxRecords:H}}function n4($,Q,Z){if(Q===0)return null;let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<q;H++)U.push(K.uint16());let W=[];for(let H=0;H<U.length;H++){let _=U[H];if(_!==0){let N=$.sliceFrom(Q+_);W.push(d9(N).coordinate)}else W.push(0)}return{defaultBaselineIndex:J,baseCoords:W}}function d4($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=K.uint16(),W=new Map,H=[];for(let V=0;V<U;V++){let X=K.uint32(),z=K.uint16();H.push({tag:X,offset:z})}let _=n4($,Q+J,Z),N=NJ($,Q+q);for(let V=0;V<H.length;V++){let X=H[V],z=NJ($,Q+X.offset);if(z)W.set(X.tag,z)}return{baseValues:_,defaultMinMax:N,baseLangSysRecords:W}}function VJ($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=[];if(K!==0){let W=$.sliceFrom(Q+K),H=W.uint16();for(let _=0;_<H;_++)q.push(W.uint32())}let U=[];if(J!==0){let W=$.sliceFrom(Q+J),H=W.uint16(),_=[];for(let N=0;N<H;N++){let V=W.uint32(),X=W.uint16();_.push({tag:V,offset:X})}for(let N=0;N<_.length;N++){let V=_[N],X=d4($,Q+J+V.offset,q);U.push({scriptTag:V.tag,...X})}}return{baseTagList:q,baseScriptList:U}}function b5($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=VJ($,K),U=VJ($,J);return{majorVersion:Q,minorVersion:Z,horizAxis:q,vertAxis:U}}function p4($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((W)=>W.scriptTag===Q);if(!q?.baseValues)return null;let U=J.baseTagList.indexOf(Z);if(U===-1)return null;return q.baseValues.baseCoords[U]??null}function c4($,Q,Z=!0){let K=Z?$.horizAxis:$.vertAxis;if(!K)return null;let J=K.baseScriptList.find((H)=>H.scriptTag===Q);if(!J?.baseValues)return null;let q=J.baseValues.defaultBaselineIndex,U=K.baseTagList[q],W=J.baseValues.baseCoords[q];if(U===void 0||W===void 0)return null;return{tag:U,coordinate:W}}function o4($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((U)=>U.scriptTag===Q);if(!q)return null;if(Z!==void 0){let U=q.baseLangSysRecords.get(Z);if(U)return{minCoord:U.minCoord,maxCoord:U.maxCoord}}if(q.defaultMinMax)return{minCoord:q.defaultMinMax.minCoord,maxCoord:q.defaultMinMax.maxCoord};return null}var i4={SmallMetrics:1,SmallMetricsPng:17,BigMetrics:2,BigMetricsPng:18,CompressedPng:19};function zJ($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=XJ($),X=XJ($),z=$.uint16(),j=$.uint16(),Y=$.uint8(),G=$.uint8(),E=$.uint8(),w=$.int8();q.push({indexSubTableArrayOffset:W,indexTablesSize:H,numberOfIndexSubTables:_,colorRef:N,hori:V,vert:X,startGlyphIndex:z,endGlyphIndex:j,ppemX:Y,ppemY:G,bitDepth:E,flags:w,indexSubTables:[]})}for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(Q+W.indexSubTableArrayOffset),_=[];for(let N=0;N<W.numberOfIndexSubTables;N++)_.push({firstGlyphIndex:H.uint16(),lastGlyphIndex:H.uint16(),additionalOffsetToIndexSubtable:H.uint32()});for(let N=0;N<_.length;N++){let V=_[N],X=s4($,Q+W.indexSubTableArrayOffset+V.additionalOffsetToIndexSubtable,V.firstGlyphIndex,V.lastGlyphIndex);W.indexSubTables.push(X)}}return{majorVersion:Z,minorVersion:K,bitmapSizes:q}}function XJ($){return{ascender:$.int8(),descender:$.int8(),widthMax:$.uint8(),caretSlopeNumerator:$.int8(),caretSlopeDenominator:$.int8(),caretOffset:$.int8(),minOriginSB:$.int8(),minAdvanceSB:$.int8(),maxBeforeBL:$.int8(),minAfterBL:$.int8(),pad1:$.int8(),pad2:$.int8()}}function s4($,Q,Z,K){let J=$.sliceFrom(Q),q=J.uint16(),U=J.uint16(),W=J.uint32(),H=new Map,_=K-Z+1;switch(q){case 1:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint32());for(let V=0;V<_;V++){let X=N[V],z=N[V+1];if(X===void 0||z===void 0)continue;if(z>X)H.set(Z+V,{offset:W+X,length:z-X})}break}case 2:{let N=J.uint32(),V={height:J.uint8(),width:J.uint8(),horiBearingX:J.int8(),horiBearingY:J.int8(),horiAdvance:J.uint8(),vertBearingX:J.int8(),vertBearingY:J.int8(),vertAdvance:J.uint8()};for(let X=0;X<_;X++)H.set(Z+X,{offset:W+X*N,length:N});break}case 3:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint16());for(let V=0;V<_;V++){let X=N[V],z=N[V+1];if(X===void 0||z===void 0)continue;if(z>X)H.set(Z+V,{offset:W+X,length:z-X})}break}case 4:{let N=J.uint32(),V=[];for(let X=0;X<=N;X++)V.push({glyphId:J.uint16(),offset:J.uint16()});for(let X=0;X<N;X++){let z=V[X],j=V[X+1];if(z===void 0||j===void 0)continue;H.set(z.glyphId,{offset:W+z.offset,length:j.offset-z.offset})}break}case 5:{let N=J.uint32();J.skip(8);let V=J.uint32();for(let X=0;X<V;X++){let z=J.uint16();H.set(z,{offset:W+X*N,length:N})}break}}return{firstGlyphIndex:Z,lastGlyphIndex:K,indexFormat:q,imageFormat:U,imageDataOffset:W,glyphOffsets:H}}function jJ($){let Q=$.uint16(),Z=$.uint16(),K=$.bytes($.remaining);return{majorVersion:Q,minorVersion:Z,data:K}}function a4($,Q,Z,K){let J=null,q=1/0;for(let U=0;U<$.bitmapSizes.length;U++){let W=$.bitmapSizes[U];if(Z<W.startGlyphIndex||Z>W.endGlyphIndex)continue;let H=Math.abs(W.ppemX-K);if(H<q)q=H,J=W}if(!J)return null;for(let U=0;U<J.indexSubTables.length;U++){let W=J.indexSubTables[U],H=W.glyphOffsets.get(Z);if(!H)continue;let _=Q.data.slice(H.offset-4,H.offset-4+H.length);return r4(_,W.imageFormat)}return null}function r4($,Q){if($.length===0)return null;let Z=0,K;switch(Q){case 1:case 2:case 17:case 18:{if(Q===1||Q===17){if(Z+5>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0}}else{if(Z+8>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0},Z+=3}break}case 19:{K={height:0,width:0,bearingX:0,bearingY:0,advance:0};break}default:return null}return{metrics:K,imageFormat:Q,data:$.slice(Z)}}function t4($,Q,Z){for(let K=0;K<$.bitmapSizes.length;K++){let J=$.bitmapSizes[K];if(Z!==void 0&&J.ppemX!==Z)continue;if(Q<J.startGlyphIndex||Q>J.endGlyphIndex)continue;for(let q=0;q<J.indexSubTables.length;q++)if(J.indexSubTables[q].glyphOffsets.has(Q))return!0}return!1}function e4($){let Q=new Set;for(let Z=0;Z<$.bitmapSizes.length;Z++){let K=$.bitmapSizes[Z];Q.add(K.ppemX)}return[...Q].sort((Z,K)=>Z-K)}var Z9=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];function m5($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint8();$.seek(Q+J);let U=G8($).map((G)=>new TextDecoder().decode(G)),W=G8($),H=[],N=G8($).map((G)=>new TextDecoder().decode(G)),V=G8($);for(let G=0;G<W.length;G++){let E=W[G];H.push(YJ(new p6(E.buffer,E.byteOffset,E.byteLength),N))}let X=[],z=[],j=[],Y=[];for(let G=0;G<H.length;G++){let E=H[G];if(E.charStrings!==void 0)$.seek(Q+E.charStrings),X.push(G8($));else X.push([]);if(E.private){let[w,F]=E.private,A=GJ($.slice(F,w),N);if(A.subrs!==void 0)$.seek(Q+F+A.subrs),z.push(G8($));else z.push([])}else z.push([]);if(E.fdArray!==void 0){$.seek(Q+E.fdArray);let w=G8($),F=[];for(let A=0;A<w.length;A++){let M=w[A],L=YJ(new p6(M.buffer,M.byteOffset,M.byteLength),N);if(L.private){let[O,T]=L.private,v=GJ($.slice(Q+T,O),N);if(Object.assign(L,v),v.subrs!==void 0)$.seek(Q+T+v.subrs),L.localSubrs=G8($)}F.push(L)}j.push(F)}else j.push([]);if(E.fdSelect!==void 0){$.seek(Q+E.fdSelect);let w=X[X.length-1];Y.push(Z_($,w?.length??0))}else Y.push({format:0,select:()=>0})}return{version:{major:Z,minor:K},names:U,topDicts:H,strings:N,globalSubrs:V,charStrings:X,localSubrs:z,fdArrays:j,fdSelects:Y}}function G8($){let Q=$.uint16();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push($_($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function $_($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function EJ($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(Q_($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function Q_($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else Q+=Z[U]}}return parseFloat(Q)}function YJ($,Q){let Z=EJ($),K={},J=(U)=>{if(U<Z9.length)return Z9[U]??"";return Q[U-Z9.length]??""},q=[...Z];for(let U=0;U<q.length;U++){let[W,H]=q[U],_=H[0],N=H[1],V=H[2];switch(W){case 0:if(_!==void 0)K.version=J(_);break;case 1:if(_!==void 0)K.notice=J(_);break;case 3072:if(_!==void 0)K.copyright=J(_);break;case 2:if(_!==void 0)K.fullName=J(_);break;case 3:if(_!==void 0)K.familyName=J(_);break;case 4:if(_!==void 0)K.weight=J(_);break;case 3073:K.isFixedPitch=_!==0;break;case 3074:K.italicAngle=_;break;case 3075:K.underlinePosition=_;break;case 3076:K.underlineThickness=_;break;case 3077:K.paintType=_;break;case 3078:K.charstringType=_;break;case 3079:K.fontMatrix=H;break;case 13:K.uniqueID=_;break;case 5:K.fontBBox=H;break;case 3080:K.strokeWidth=_;break;case 15:K.charset=_;break;case 16:K.encoding=_;break;case 17:K.charStrings=_;break;case 18:if(_!==void 0&&N!==void 0)K.private=[_,N];break;case 3092:K.syntheticBase=_;break;case 3093:if(_!==void 0)K.postScript=J(_);break;case 3094:if(_!==void 0)K.baseFontName=J(_);break;case 3095:K.baseFontBlend=H;break;case 3102:if(_!==void 0&&N!==void 0&&V!==void 0)K.ros={registry:J(_),ordering:J(N),supplement:V};break;case 3103:K.cidFontVersion=_;break;case 3104:K.cidFontRevision=_;break;case 3105:K.cidFontType=_;break;case 3106:K.cidCount=_;break;case 3107:K.uidBase=_;break;case 3108:K.fdArray=_;break;case 3109:K.fdSelect=_;break;case 3110:if(_!==void 0)K.fontName=J(_);break}}return K}function GJ($,Q){let Z=EJ($),K={},J=[...Z];for(let q=0;q<J.length;q++){let[U,W]=J[q],H=W[0];switch(U){case 6:K.blueValues=Q9(W);break;case 7:K.otherBlues=Q9(W);break;case 8:K.familyBlues=Q9(W);break;case 9:K.familyOtherBlues=Q9(W);break;case 3081:K.blueScale=H;break;case 3082:K.blueShift=H;break;case 3083:K.blueFuzz=H;break;case 10:K.stdHW=H;break;case 11:K.stdVW=H;break;case 3084:K.stemSnapH=Q9(W);break;case 3085:K.stemSnapV=Q9(W);break;case 3086:K.forceBold=H!==0;break;case 3089:K.languageGroup=H;break;case 3090:K.expansionFactor=H;break;case 3091:K.initialRandomSeed=H;break;case 19:K.subrs=H;break;case 20:K.defaultWidthX=H;break;case 21:K.nominalWidthX=H;break}}return K}function Q9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function Z_($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let U=0;U<K;U++)J.push({first:$.uint16(),fd:$.uint8()});let q=$.uint16();return{format:Z,select:(U)=>{let W=0,H=J.length-1;while(W<H){let N=Math.ceil((W+H)/2),V=J[N];if(V&&V.first<=U)W=N;else H=N-1}return J[W]?.fd??0}}}return{format:Z,select:()=>0}}function K_($,Q){if(Q<Z9.length)return Z9[Q]??"";return $.strings[Q-Z9.length]??""}function Q6($){return $.stack.length-$.stackPos}function m($){if($.stackPos>=$.stack.length)return;return $.stack[$.stackPos++]}function K9($){$.stack.length=0,$.stackPos=0}function g5($,Q,Z=0){let K=$.charStrings[Z];if(!K||Q>=K.length)return null;let J=K[Q];if(!J)return null;let q=$.globalSubrs,W=$.topDicts[Z]?.ros!==void 0,H=[];if(W&&$.fdSelects[Z]&&$.fdArrays[Z]){let N=$.fdSelects[Z]?.select(Q)??0;H=$.fdArrays[Z]?.[N]?.localSubrs||$.localSubrs[Z]||[]}else H=$.localSubrs[Z]||[];let _={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!1,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:0,axisCoords:null,vstore:null};if(x0(_,J,q,H),_.currentContour.length>0)_.contours.push(_.currentContour);return _.contours}function u0($,Q,Z=null){if(Q>=$.charStrings.length)return null;let K=$.charStrings[Q];if(!K)return null;let J=$.globalSubrs,q=$.fdSelect?.select(Q)??0,U=$.fdArray[q],W=U?.localSubrs||[],H={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!0,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:U?.private?.vsindex??0,axisCoords:Z,vstore:$.vstore};if(x0(H,K,J,W),H.currentContour.length>0)H.contours.push(H.currentContour);return H.contours}function x0($,Q,Z,K){let J=0;while(J<Q.length){let q=Q[J++];if(q===void 0)return;if(q===28){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;$.stack.push((U<<8|W)<<16>>16)}else if(q===255){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;let H=Q[J++];if(H===void 0)return;let _=Q[J++];if(_===void 0)return;let N=(U<<24|W<<16|H<<8|_)>>0;$.stack.push(N/65536)}else if(q>=32&&q<=246)$.stack.push(q-139);else if(q>=247&&q<=250){let U=Q[J++];if(U===void 0)return;$.stack.push((q-247)*256+U+108)}else if(q>=251&&q<=254){let U=Q[J++];if(U===void 0)return;$.stack.push(-(q-251)*256-U-108)}else if(q===12){let U=Q[J++];if(U===void 0)return;let W=3072|U;wJ($,W,Z,K)}else if(q===19||q===20){if(Q6($)%2!==0&&!$.haveWidth){let _=m($);if(_!==void 0)$.width=_,$.haveWidth=!0}$.nStems+=Q6($)/2,K9($);let H=Math.ceil($.nStems/8);J+=H}else wJ($,q,Z,K);if($.callStack.length>0){let U=$.callStack[$.callStack.length-1];if(U&&U.pos>=U.data.length)$.callStack.pop()}}}function wJ($,Q,Z,K){let J=$.stack;switch(Q){case 1:case 3:case 18:case 23:{if(Q6($)%2!==0&&!$.haveWidth){let W=m($);if(W===void 0)break;$.width=W,$.haveWidth=!0}$.nStems+=Q6($)/2,K9($);break}case 19:case 20:break;case 21:{if(Q6($)>2&&!$.haveWidth){let W=m($);if(W===void 0)break;$.width=W,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),K9($);break}case 22:{if(Q6($)>1&&!$.haveWidth){let U=m($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;$.x+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),K9($);break}case 4:{if(Q6($)>1&&!$.haveWidth){let U=m($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;$.y+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),K9($);break}case 5:{while(Q6($)>=2){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 6:{let q=!0;while(Q6($)>=1){let U=m($);if(U===void 0)break;if(q)$.x+=U;else $.y+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 7:{let q=!0;while(Q6($)>=1){let U=m($);if(U===void 0)break;if(q)$.y+=U;else $.x+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 8:{while(Q6($)>=6){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;L6($,q,U,W,H,_,N)}break}case 27:{let q=0;if(Q6($)%4===1){let U=m($);if(U===void 0)break;q=U}while(Q6($)>=4){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;L6($,U,q,W,H,_,0),q=0}break}case 26:{let q=0;if(Q6($)%4===1){let U=m($);if(U===void 0)break;q=U}while(Q6($)>=4){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;L6($,q,U,W,H,0,_),q=0}break}case 31:{let q=!0;while(Q6($)>=4){if(q){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;L6($,U,0,W,H,N,_)}else{let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;L6($,0,U,W,H,_,N)}q=!q}break}case 30:{let q=!0;while(Q6($)>=4){if(q){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;L6($,0,U,W,H,_,N)}else{let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;L6($,U,0,W,H,N,_)}q=!q}break}case 24:{while(Q6($)>=8){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;L6($,q,U,W,H,_,N)}if(Q6($)>=2){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 25:{while(Q6($)>=8){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}if(Q6($)>=6){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;L6($,q,U,W,H,_,N)}break}case 10:{let q=J.pop();if(q===void 0)break;let U=q+AJ(K.length),W=K[U];if(W)x0($,W,Z,K);break}case 29:{let q=J.pop();if(q===void 0)break;let U=q+AJ(Z.length),W=Z[U];if(W)x0($,W,Z,K);break}case 11:break;case 14:{if(Q6($)>0&&!$.haveWidth){let q=m($);if(q===void 0)break;$.width=q,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];K9($);break}case 3107:{if(Q6($)>=13){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let z=m($);if(z===void 0)break;let j=m($);if(j===void 0)break;let Y=m($);if(Y===void 0)break;let G=m($);if(G===void 0)break;m($),L6($,q,U,W,H,_,N),L6($,V,X,z,j,Y,G)}break}case 3106:{if(Q6($)>=7){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;L6($,q,0,U,W,H,0),L6($,_,0,N,-W,V,0)}break}case 3108:{if(Q6($)>=9){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let z=m($);if(z===void 0)break;L6($,q,U,W,H,_,0),L6($,N,0,V,X,z,-(U+H+X))}break}case 3109:{if(Q6($)>=11){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let z=m($);if(z===void 0)break;let j=m($);if(j===void 0)break;let Y=m($);if(Y===void 0)break;let G=q+W+_+V+z,E=U+H+N+X+j,w,F;if(Math.abs(G)>Math.abs(E))w=Y,F=-E;else w=-G,F=Y;L6($,q,U,W,H,_,N),L6($,V,X,z,j,w,F)}break}case 3075:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U&&q?1:0);break}case 3076:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U||q?1:0);break}case 3077:{let q=J.pop();if(q===void 0)break;J.push(q?0:1);break}case 3081:{let q=J.pop();if(q===void 0)break;J.push(Math.abs(q));break}case 3082:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U+q);break}case 3083:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U-q);break}case 3084:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U/q);break}case 3086:{let q=J.pop();if(q===void 0)break;J.push(-q);break}case 3087:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U===q?1:0);break}case 3090:{J.pop();break}case 3092:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;$.transientArray[q]=U;break}case 3093:{let q=J.pop();if(q===void 0)break;J.push($.transientArray[q]??0);break}case 3094:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;let W=J.pop();if(W===void 0)break;let H=J.pop();if(H===void 0)break;J.push(U<=q?H:W);break}case 3095:{J.push(Math.random());break}case 3096:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U*q);break}case 3098:{let q=J.pop();if(q===void 0)break;J.push(Math.sqrt(q));break}case 3099:{let q=J[J.length-1];if(q===void 0)break;J.push(q);break}case 3100:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(q,U);break}case 3101:{let q=J.pop();if(q===void 0)break;let U=J.length-1-q;J.push(J[U]??0);break}case 3102:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;if(U>0){let W=J.splice(-U),H=(q%U+U)%U;for(let _=0;_<U;_++){let N=W[(_+H)%U];if(N!==void 0)J.push(N)}}break}case 16:{if(!$.axisCoords||!$.vstore)break;let q=J.pop();if(q===void 0)break;let U=$.vstore.itemVariationData[$.vsindex]?.regionIndexCount??0,W=q*U,H=J.splice(-W),_=J.splice(-q);for(let N=0;N<q;N++){let V=_[N];if(V===void 0)continue;let X=V;for(let z=0;z<U;z++){let j=H[N*U+z];if(j===void 0)continue;let Y=J_($.vstore,$.vsindex,z,$.axisCoords);X+=j*Y}J.push(X)}break}case 15:{let q=J.pop();if(q===void 0)break;$.vsindex=q;break}case 3072:break}}function L6($,Q,Z,K,J,q,U){let{x:W,y:H}=$,_=W+Q,N=H+Z,V=_+K,X=N+J,z=V+q,j=X+U;$.currentContour.push({x:_,y:N,onCurve:!1,cubic:!0}),$.currentContour.push({x:V,y:X,onCurve:!1,cubic:!0}),$.currentContour.push({x:z,y:j,onCurve:!0}),$.x=z,$.y=j}function AJ($){if($<1240)return 107;if($<33900)return 1131;return 32768}function J_($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.regionIndexes[Z];if(q===void 0)return 0;let U=$.variationRegionList.regions[q];if(!U)return 0;let W=1;for(let H=0;H<U.axes.length&&H<K.length;H++){let _=U.axes[H];if(!_)continue;let N=K[H];if(N===void 0)continue;if(N<_.startCoord||N>_.endCoord)return 0;if(N===_.peakCoord)continue;if(N<_.peakCoord)W*=(N-_.startCoord)/(_.peakCoord-_.startCoord);else W*=(_.endCoord-N)/(_.endCoord-_.peakCoord)}return W}function q_($,Q,Z=0){let K=$.topDicts[Z];return 0}function x5($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint16();$.seek(Q+J);let U=$.slice($.offset-Q,q);$.skip(q);let W=H_(U),H=f0($),_=[];if(W.charStrings!==void 0)$.seek(Q+W.charStrings),_=f0($);let N=[];if(W.fdArray!==void 0){$.seek(Q+W.fdArray);let z=f0($);for(let j=0;j<z.length;j++){let Y=z[j],G=__(new p6(Y.buffer,Y.byteOffset,Y.byteLength));if(G.privateOffset!==void 0&&G.privateSize!==void 0){$.seek(Q+G.privateOffset);let E=$.slice(0,G.privateSize);if(G.private=N_(E),G.private.subrs!==void 0)$.seek(Q+G.privateOffset+G.private.subrs),G.localSubrs=f0($)}N.push(G)}}let V=null;if(W.fdSelect!==void 0)$.seek(Q+W.fdSelect),V=V_($,_.length);let X=null;if(W.vstore!==void 0)$.seek(Q+W.vstore),X=X_($);return{version:{major:Z,minor:K},topDict:W,globalSubrs:H,charStrings:_,fdArray:N,fdSelect:V,vstore:X}}function f0($){let Q=$.uint32();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push(U_($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function U_($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function u5($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===22)Q.set(22,[...Z]),Z.length=0;else if(K===23)Q.set(23,[...Z]),Z.length=0;else if(K===24)Q.set(24,[...Z]),Z.length=0;else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(W_($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function W_($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else{let W=Z[U];if(W!==void 0)Q+=W}}}return parseFloat(Q)}function H_($){let Q=u5($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J];switch(q){case 3079:Z.fontMatrix=U;break;case 17:Z.charStrings=U[0];break;case 3108:Z.fdArray=U[0];break;case 3109:Z.fdSelect=U[0];break;case 24:Z.vstore=U[0];break}}return Z}function __($){let Q=u5($),Z={},K=Q.get(18);if(K&&K.length>=2)Z.privateSize=K[0],Z.privateOffset=K[1];return Z}function N_($){let Q=u5($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J],W=U[0];switch(q){case 6:Z.blueValues=J9(U);break;case 7:Z.otherBlues=J9(U);break;case 8:Z.familyBlues=J9(U);break;case 9:Z.familyOtherBlues=J9(U);break;case 3081:Z.blueScale=W;break;case 3082:Z.blueShift=W;break;case 3083:Z.blueFuzz=W;break;case 10:Z.stdHW=W;break;case 11:Z.stdVW=W;break;case 3084:Z.stemSnapH=J9(U);break;case 3085:Z.stemSnapV=J9(U);break;case 3089:Z.languageGroup=W;break;case 3090:Z.expansionFactor=W;break;case 19:Z.subrs=W;break;case 22:Z.vsindex=W;break;case 23:Z.blend=U;break}}return Z}function J9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function V_($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint16(),fd:$.uint8()});return $.uint16(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}else if(Z===4){let K=$.uint32(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint32(),fd:$.uint16()});return $.uint32(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}return{format:Z,select:()=>0}}function X_($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint16(),U=[];for(let _=0;_<q;_++)U.push($.uint32());$.seek(Q+J);let W=z_($),H=[];for(let _=0;_<U.length;_++){let N=U[_];$.seek(Q+N),H.push(j_($))}return{format:K,variationRegionList:W,itemVariationData:H}}function z_($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=[];for(let U=0;U<Q;U++)q.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});K.push({axes:q})}return{axisCount:Q,regionCount:Z,regions:K}}function j_($){let Q=$.uint16(),Z=$.uint16(),K=Z&32767,J=(Z&32768)!==0,q=[];for(let W=0;W<K;W++)q.push($.uint16());let U=[];for(let W=0;W<Q;W++){let H=[];for(let _=0;_<K;_++)if(J)H.push($.int32());else H.push($.int16());U.push(H)}return{itemCount:Q,regionIndexCount:K,regionIndexes:q,deltaSets:U}}function Y_($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexCount;W++){let H=J.regionIndexes[W];if(H===void 0)continue;let _=$.variationRegionList.regions[H];if(!_)continue;let N=1;for(let V=0;V<_.axes.length;V++){let X=_.axes[V],z=K[V]??0;if(X.peakCoord===0)continue;if(z<X.startCoord||z>X.endCoord){N=0;break}if(z===X.peakCoord)continue;if(z<X.peakCoord)N*=(z-X.startCoord)/(X.peakCoord-X.startCoord);else N*=(X.endCoord-z)/(X.endCoord-X.peakCoord)}U+=N*(q[W]??0)}return Math.round(U)}function FJ($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push({platformId:$.uint16(),encodingId:$.uint16(),offset:$.uint32()});let U=new Map,W=new Set;for(let N=0;N<q.length;N++){let V=q[N];if(W.has(V.offset)){let j=`${V.platformId}-${V.encodingId}`,Y=[...U.entries()];for(let G=0;G<Y.length;G++){let[E,w]=Y[G],A=E.split("@")[0];if(A&&Number.parseInt(A,10)===V.offset){U.set(j,w);break}}continue}W.add(V.offset);let X=$.slice(V.offset,Q-V.offset),z=G_(X);if(z){let j=`${V.platformId}-${V.encodingId}`;U.set(j,z)}}let H=["3-10","0-4","3-1","0-3","0-6","1-0"],_=null;for(let N=0;N<H.length;N++){let V=H[N],X=U.get(V);if(X&&X.format!==14){_=X;break}}if(!_){let N=[...U.values()];for(let V=0;V<N.length;V++){let X=N[V];if(X.format!==14){_=X;break}}}return{version:K,numTables:J,encodingRecords:q,subtables:U,bestSubtable:_}}function G_($){switch($.uint16()){case 0:return E_($);case 4:return w_($);case 12:return A_($);case 14:return F_($);default:return null}}function E_($){let Q=$.uint16(),Z=$.uint16(),K=$.uint8Array(256);return{format:0,glyphIdArray:K,lookup(J){if(J>=0&&J<256)return K[J];return}}}function w_($){let Q=$.uint16(),Z=$.uint16(),J=$.uint16()/2;$.skip(6);let q=$.uint16Array(J);$.skip(2);let U=$.uint16Array(J),W=$.int16Array(J),H=$.offset,_=$.uint16Array(J),V=$.remaining/2,X=$.uint16Array(V),z=(Y)=>{let G=0,E=J-1;while(G<=E){let w=G+E>>>1,F=q[w];if(Y>F)G=w+1;else{let A=U[w];if(Y<A)E=w-1;else{let M=_[w],L=W[w];if(M===0)return Y+L&65535;let O=M/2-(J-w)+(Y-A),T=X[O];if(T===void 0||T===0)return 0;return T+L&65535}}}return},j=new Uint16Array(256);for(let Y=0;Y<256;Y++){let G=z(Y);j[Y]=G!==void 0?G+1:0}return{format:4,segCount:J,endCodes:q,startCodes:U,idDeltas:W,idRangeOffsets:_,glyphIdArray:X,lookup(Y){if(Y<256){let G=j[Y];return G===0?void 0:G-1}if(Y>65535)return;return z(Y)}}}function A_($){$.skip(2);let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Array(K);for(let W=0;W<K;W++)J[W]={startCharCode:$.uint32(),endCharCode:$.uint32(),startGlyphId:$.uint32()};let q=(W)=>{let H=0,_=J.length-1;while(H<=_){let N=H+_>>>1,V=J[N];if(!V)break;if(W>V.endCharCode)H=N+1;else if(W<V.startCharCode)_=N-1;else return V.startGlyphId+(W-V.startCharCode)}return},U=new Uint16Array(128);for(let W=0;W<128;W++){let H=q(W);U[W]=H!==void 0?H+1:0}return{format:12,groups:J,lookup(W){if(W<128){let H=U[W];return H===0?void 0:H-1}return q(W)}}}function F_($){let Q=$.offset-2,Z=$.uint32(),K=$.uint32(),J=[];for(let U=0;U<K;U++)J.push({varSelector:$.uint24(),defaultUVSOffset:$.uint32(),nonDefaultUVSOffset:$.uint32()});let q=[];for(let U=0;U<J.length;U++){let W=J[U],H=null,_=null;if(W.defaultUVSOffset!==0){let N=$.sliceFrom(Q+W.defaultUVSOffset),V=N.uint32();H=[];for(let X=0;X<V;X++)H.push({startUnicodeValue:N.uint24(),additionalCount:N.uint8()})}if(W.nonDefaultUVSOffset!==0){let N=$.sliceFrom(Q+W.nonDefaultUVSOffset),V=N.uint32();_=[];for(let X=0;X<V;X++)_.push({unicodeValue:N.uint24(),glyphId:N.uint16()})}q.push({varSelector:W.varSelector,defaultUVS:H,nonDefaultUVS:_})}return{format:14,varSelectorRecords:q,lookup(U){return},lookupVariation(U,W){let H=0,_=q.length-1,N=null;while(H<=_){let V=H+_>>>1,X=q[V];if(!X)break;if(W>X.varSelector)H=V+1;else if(W<X.varSelector)_=V-1;else{N=X;break}}if(!N)return;if(N.nonDefaultUVS){let V=0,X=N.nonDefaultUVS.length-1;while(V<=X){let z=V+X>>>1,j=N.nonDefaultUVS[z];if(!j)break;if(U>j.unicodeValue)V=z+1;else if(U<j.unicodeValue)X=z-1;else return j.glyphId}}if(N.defaultUVS)for(let V=0;V<N.defaultUVS.length;V++){let X=N.defaultUVS[V],z=X.startUnicodeValue+X.additionalCount;if(U>=X.startUnicodeValue&&U<=z)return"default"}return}}}function LJ($,Q){return $.bestSubtable?.lookup(Q)??0}var DJ;((B)=>{B[B.ColrLayers=1]="ColrLayers";B[B.Solid=2]="Solid";B[B.VarSolid=3]="VarSolid";B[B.LinearGradient=4]="LinearGradient";B[B.VarLinearGradient=5]="VarLinearGradient";B[B.RadialGradient=6]="RadialGradient";B[B.VarRadialGradient=7]="VarRadialGradient";B[B.SweepGradient=8]="SweepGradient";B[B.VarSweepGradient=9]="VarSweepGradient";B[B.Glyph=10]="Glyph";B[B.ColrGlyph=11]="ColrGlyph";B[B.Transform=12]="Transform";B[B.VarTransform=13]="VarTransform";B[B.Translate=14]="Translate";B[B.VarTranslate=15]="VarTranslate";B[B.Scale=16]="Scale";B[B.VarScale=17]="VarScale";B[B.ScaleAroundCenter=18]="ScaleAroundCenter";B[B.VarScaleAroundCenter=19]="VarScaleAroundCenter";B[B.ScaleUniform=20]="ScaleUniform";B[B.VarScaleUniform=21]="VarScaleUniform";B[B.ScaleUniformAroundCenter=22]="ScaleUniformAroundCenter";B[B.VarScaleUniformAroundCenter=23]="VarScaleUniformAroundCenter";B[B.Rotate=24]="Rotate";B[B.VarRotate=25]="VarRotate";B[B.RotateAroundCenter=26]="RotateAroundCenter";B[B.VarRotateAroundCenter=27]="VarRotateAroundCenter";B[B.Skew=28]="Skew";B[B.VarSkew=29]="VarSkew";B[B.SkewAroundCenter=30]="SkewAroundCenter";B[B.VarSkewAroundCenter=31]="VarSkewAroundCenter";B[B.Composite=32]="Composite"})(DJ||={});var MJ;((K)=>{K[K.Pad=0]="Pad";K[K.Repeat=1]="Repeat";K[K.Reflect=2]="Reflect"})(MJ||={});var BJ;((I)=>{I[I.Clear=0]="Clear";I[I.Src=1]="Src";I[I.Dest=2]="Dest";I[I.SrcOver=3]="SrcOver";I[I.DestOver=4]="DestOver";I[I.SrcIn=5]="SrcIn";I[I.DestIn=6]="DestIn";I[I.SrcOut=7]="SrcOut";I[I.DestOut=8]="DestOut";I[I.SrcAtop=9]="SrcAtop";I[I.DestAtop=10]="DestAtop";I[I.Xor=11]="Xor";I[I.Plus=12]="Plus";I[I.Screen=13]="Screen";I[I.Overlay=14]="Overlay";I[I.Darken=15]="Darken";I[I.Lighten=16]="Lighten";I[I.ColorDodge=17]="ColorDodge";I[I.ColorBurn=18]="ColorBurn";I[I.HardLight=19]="HardLight";I[I.SoftLight=20]="SoftLight";I[I.Difference=21]="Difference";I[I.Exclusion=22]="Exclusion";I[I.Multiply=23]="Multiply";I[I.Hue=24]="Hue";I[I.Saturation=25]="Saturation";I[I.Color=26]="Color";I[I.Luminosity=27]="Luminosity"})(BJ||={});function l5($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint32(),U=$.uint16(),W=[];if(J!==0&&K>0){$.seek(Q+J);for(let N=0;N<K;N++)W.push({glyphId:$.uint16(),firstLayerIndex:$.uint16(),numLayers:$.uint16()})}let H=[];if(q!==0&&U>0){$.seek(Q+q);for(let N=0;N<U;N++)H.push({glyphId:$.uint16(),paletteIndex:$.uint16()})}let _={version:Z,baseGlyphRecords:W,layerRecords:H};if(Z>=1){$.seek(Q+14);let N=$.uint32(),V=$.uint32(),X=$.uint32(),z=$.uint32(),j=$.uint32();if(N!==0){let Y=Q+N;$.seek(Y);let G=$.uint32();_.baseGlyphPaintRecords=[];for(let E=0;E<G;E++){let w=$.uint16(),F=$.uint32(),A=$.offset;$.seek(Y+F);let M=v6($,Q);$.seek(A),_.baseGlyphPaintRecords.push({glyphId:w,paint:M})}}if(V!==0){$.seek(Q+V);let Y=$.uint32(),G=[];for(let E=0;E<Y;E++)G.push($.uint32());_.layerList=[];for(let E=0;E<G.length;E++){let w=G[E];$.seek(Q+V+w),_.layerList.push(v6($,Q))}}if(X!==0)$.seek(Q+X),_.clipList=L_($,Q);if(z!==0)$.seek(Q+z),_.varIdxMap=M_($);if(j!==0)$.seek(Q+j),_.itemVariationStore=B_($)}return _}function v6($,Q){let Z=$.offset,K=$.uint8();switch(K){case 1:return{format:K,numLayers:$.uint8(),firstLayerIndex:$.uint32()};case 2:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14()};case 3:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14(),varIndexBase:$.uint32()};case 4:case 5:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.fword(),V=$.offset;$.seek(Z+J);let X=f5($);return $.seek(V),{format:K,colorLine:X,x0:q,y0:U,x1:W,y1:H,x2:_,y2:N}}case 6:case 7:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.ufword(),H=$.fword(),_=$.fword(),N=$.ufword(),V=$.offset;$.seek(Z+J);let X=f5($);return $.seek(V),{format:K,colorLine:X,x0:q,y0:U,radius0:W,x1:H,y1:_,radius1:N}}case 8:case 9:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.f2dot14(),H=$.f2dot14(),_=$.offset;$.seek(Z+J);let N=f5($);return $.seek(_),{format:K,colorLine:N,centerX:q,centerY:U,startAngle:W,endAngle:H}}case 10:{let J=$.uint24(),q=$.uint16(),U=$.offset;$.seek(Z+J);let W=v6($,Q);return $.seek(U),{format:K,paint:W,glyphId:q}}case 11:return{format:K,glyphId:$.uint16()};case 12:case 13:{let J=$.uint24(),q=$.uint24();$.seek(Z+q);let U={xx:$.fixed(),yx:$.fixed(),xy:$.fixed(),yy:$.fixed(),dx:$.fixed(),dy:$.fixed()};$.seek(Z+J);let W=v6($,Q);return{format:K,paint:W,transform:U}}case 14:case 15:{let J=$.uint24(),q=$.fword(),U=$.fword();$.seek(Z+J);let W=v6($,Q);return{format:K,paint:W,dx:q,dy:U}}case 16:case 17:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=v6($,Q);return{format:K,paint:W,scaleX:q,scaleY:U}}case 18:case 19:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=v6($,Q);return{format:K,paint:_,scaleX:q,scaleY:U,centerX:W,centerY:H}}case 20:case 21:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=v6($,Q);return{format:K,paint:U,scaleX:q,scaleY:q}}case 22:case 23:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=v6($,Q);return{format:K,paint:H,scaleX:q,scaleY:q,centerX:U,centerY:W}}case 24:case 25:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=v6($,Q);return{format:K,paint:U,angle:q}}case 26:case 27:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=v6($,Q);return{format:K,paint:H,angle:q,centerX:U,centerY:W}}case 28:case 29:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=v6($,Q);return{format:K,paint:W,xSkewAngle:q,ySkewAngle:U}}case 30:case 31:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=v6($,Q);return{format:K,paint:_,xSkewAngle:q,ySkewAngle:U,centerX:W,centerY:H}}case 32:{let J=$.uint24(),q=$.uint8(),U=$.uint24();$.seek(Z+J);let W=v6($,Q);$.seek(Z+U);let H=v6($,Q);return{format:K,sourcePaint:W,compositeMode:q,backdropPaint:H}}default:throw Error(`Unknown paint format: ${K}`)}}function f5($){let Q=$.uint8(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({stopOffset:$.f2dot14(),paletteIndex:$.uint16(),alpha:$.f2dot14()});return{extend:Q,colorStops:K}}function L_($,Q){let Z=$.offset,K=$.uint8(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint16(),H=$.uint16(),_=$.uint24(),N=$.offset;$.seek(Z+_);let V=$.uint8(),X={format:V,xMin:$.fword(),yMin:$.fword(),xMax:$.fword(),yMax:$.fword()};if(V===2)X.varIndexBase=$.uint32();$.seek(N),q.push({startGlyphId:W,endGlyphId:H,clipBox:X})}return q}function RJ($,Q){let Z=$.baseGlyphRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q){let W=[];for(let H=0;H<U.numLayers;H++){let _=$.layerRecords[U.firstLayerIndex+H];if(_)W.push(_)}return W}else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function TJ($,Q){if(!$.baseGlyphPaintRecords)return null;let Z=$.baseGlyphPaintRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q)return U.paint;else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function D_($,Q){return RJ($,Q)!==null||TJ($,Q)!==null}function M_($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&15)+1,U=Math.ceil((J+q)/8),W=[];for(let H=0;H<K;H++){let _=0;for(let z=0;z<U;z++)_=_<<8|$.uint8();let N=(1<<J)-1,V=_&N,X=_>>J;W.push(X<<16|V)}return W}function B_($){let Q=$.offset,Z=$.uint16(),K=$.uint32(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push($.uint32());$.seek(Q+K);let U=$.uint16(),W=$.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<q.length;N++){let V=q[N];$.seek(Q+V);let X=$.uint16(),z=$.uint16(),j=$.uint16(),Y=[];for(let F=0;F<j;F++)Y.push($.uint16());let G=(z&32768)!==0,E=z&32767,w=[];for(let F=0;F<X;F++){let A=[];for(let M=0;M<j;M++)if(M<E)A.push(G?$.int32():$.int16());else A.push(G?$.int16():$.int8());w.push(A)}_.push({itemCount:X,wordDeltaCount:z,regionIndexCount:j,regionIndexes:Y,deltaSets:w})}return{format:Z,variationRegionListOffset:K,itemVariationDataCount:J,itemVariationDataOffsets:q,variationRegions:H,itemVariationData:_}}function R_($,Q){if(!$.clipList)return null;for(let Z=0;Z<$.clipList.length;Z++){let K=$.clipList[Z];if(Q>=K.startGlyphId&&Q<=K.endGlyphId)return K.clipBox}return null}function T_($,Q,Z){if(!$.itemVariationStore||!$.varIdxMap)return 0;let K=$.varIdxMap[Q];if(K===void 0)return 0;let J=K>>16,q=K&65535,U=$.itemVariationStore,W=U.itemVariationData[J];if(!W)return 0;let H=W.deltaSets[q];if(!H)return 0;let _=0;for(let N=0;N<W.regionIndexCount;N++){let V=W.regionIndexes[N];if(V===void 0)continue;let X=U.variationRegions[V];if(!X)continue;let z=1;for(let Y=0;Y<X.regionAxes.length&&Y<Z.length;Y++){let G=X.regionAxes[Y],E=Z[Y];if(G===void 0||E===void 0)continue;if(z*=O_(E,G.startCoord,G.peakCoord,G.endCoord),z===0)break}let j=H[N];if(j!==void 0)_+=j*z}return _}function O_($,Q,Z,K){if(Q===0&&Z===0&&K===0)return 1;if($===Z)return 1;if($<Q||$>K)return 0;if($<Z){if(Q===Z)return 1;return($-Q)/(Z-Q)}else{if(Z===K)return 1;return(K-$)/(K-Z)}}function P_($){return $.version>=1&&$.baseGlyphPaintRecords!==void 0}function v_($,Q){return $.layerList?.[Q]??null}var OJ;((Z)=>{Z[Z.UsableWithLightBackground=1]="UsableWithLightBackground";Z[Z.UsableWithDarkBackground=2]="UsableWithDarkBackground"})(OJ||={});function n5($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint32(),W=[];for(let z=0;z<J;z++)W.push($.uint16());$.seek(Q+U);let H=[];for(let z=0;z<q;z++)H.push({blue:$.uint8(),green:$.uint8(),red:$.uint8(),alpha:$.uint8()});let _=[];for(let z=0;z<J;z++){let j=W[z];if(j===void 0)continue;let Y=[];for(let G=0;G<K;G++){let E=H[j+G];if(E)Y.push(E)}_.push({colors:Y})}let N,V,X;if(Z>=1){$.seek(Q+12+J*2);let z=$.uint32(),j=$.uint32(),Y=$.uint32();if(z!==0){$.seek(Q+z),N=[];for(let G=0;G<J;G++)N.push($.uint32())}if(j!==0){$.seek(Q+j),V=[];for(let G=0;G<J;G++)V.push($.uint16())}if(Y!==0){$.seek(Q+Y),X=[];for(let G=0;G<K;G++)X.push($.uint16())}}return{version:Z,numPalettes:J,numPaletteEntries:K,palettes:_,paletteTypes:N,paletteLabels:V,paletteEntryLabels:X}}function I_($,Q,Z){let K=$.palettes[Q];if(!K)return null;return K.colors[Z]??null}function k_($){return`rgba(${$.red}, ${$.green}, ${$.blue}, ${($.alpha/255).toFixed(3)})`}function C_($){let Q=$.red.toString(16).padStart(2,"0"),Z=$.green.toString(16).padStart(2,"0"),K=$.blue.toString(16).padStart(2,"0");if($.alpha===255)return`#${Q}${Z}${K}`;let J=$.alpha.toString(16).padStart(2,"0");return`#${Q}${Z}${K}${J}`}var PJ;((g)=>{g[g.AllTypographicFeatures=0]="AllTypographicFeatures";g[g.Ligatures=1]="Ligatures";g[g.CursiveConnection=2]="CursiveConnection";g[g.LetterCase=3]="LetterCase";g[g.VerticalSubstitution=4]="VerticalSubstitution";g[g.LinguisticRearrangement=5]="LinguisticRearrangement";g[g.NumberSpacing=6]="NumberSpacing";g[g.SmartSwashes=8]="SmartSwashes";g[g.Diacritics=9]="Diacritics";g[g.VerticalPosition=10]="VerticalPosition";g[g.Fractions=11]="Fractions";g[g.OverlappingCharacters=13]="OverlappingCharacters";g[g.TypographicExtras=14]="TypographicExtras";g[g.MathematicalExtras=15]="MathematicalExtras";g[g.OrnamentSets=16]="OrnamentSets";g[g.CharacterAlternatives=17]="CharacterAlternatives";g[g.DesignComplexity=18]="DesignComplexity";g[g.StyleOptions=19]="StyleOptions";g[g.CharacterShape=20]="CharacterShape";g[g.NumberCase=21]="NumberCase";g[g.TextSpacing=22]="TextSpacing";g[g.Transliteration=23]="Transliteration";g[g.Annotation=24]="Annotation";g[g.KanaSpacing=25]="KanaSpacing";g[g.IdeographicSpacing=26]="IdeographicSpacing";g[g.UnicodeDecomposition=27]="UnicodeDecomposition";g[g.RubyKana=28]="RubyKana";g[g.CJKSymbolAlternatives=29]="CJKSymbolAlternatives";g[g.IdeographicAlternatives=30]="IdeographicAlternatives";g[g.CJKVerticalRomanPlacement=31]="CJKVerticalRomanPlacement";g[g.ItalicCJKRoman=32]="ItalicCJKRoman";g[g.CaseSensitiveLayout=33]="CaseSensitiveLayout";g[g.AlternateKana=34]="AlternateKana";g[g.StylisticAlternatives=35]="StylisticAlternatives";g[g.ContextualAlternatives=36]="ContextualAlternatives";g[g.LowerCase=37]="LowerCase";g[g.UpperCase=38]="UpperCase";g[g.LanguageTag=39]="LanguageTag";g[g.CJKRomanSpacing=103]="CJKRomanSpacing"})(PJ||={});var vJ;((L)=>{L[L.RequiredLigaturesOn=0]="RequiredLigaturesOn";L[L.RequiredLigaturesOff=1]="RequiredLigaturesOff";L[L.CommonLigaturesOn=2]="CommonLigaturesOn";L[L.CommonLigaturesOff=3]="CommonLigaturesOff";L[L.RareLigaturesOn=4]="RareLigaturesOn";L[L.RareLigaturesOff=5]="RareLigaturesOff";L[L.LogosOn=6]="LogosOn";L[L.LogosOff=7]="LogosOff";L[L.RebusPicturesOn=8]="RebusPicturesOn";L[L.RebusPicturesOff=9]="RebusPicturesOff";L[L.DiphthongLigaturesOn=10]="DiphthongLigaturesOn";L[L.DiphthongLigaturesOff=11]="DiphthongLigaturesOff";L[L.SquaredLigaturesOn=12]="SquaredLigaturesOn";L[L.SquaredLigaturesOff=13]="SquaredLigaturesOff";L[L.AbbrevSquaredLigaturesOn=14]="AbbrevSquaredLigaturesOn";L[L.AbbrevSquaredLigaturesOff=15]="AbbrevSquaredLigaturesOff";L[L.SymbolLigaturesOn=16]="SymbolLigaturesOn";L[L.SymbolLigaturesOff=17]="SymbolLigaturesOff";L[L.ContextualLigaturesOn=18]="ContextualLigaturesOn";L[L.ContextualLigaturesOff=19]="ContextualLigaturesOff";L[L.HistoricalLigaturesOn=20]="HistoricalLigaturesOn";L[L.HistoricalLigaturesOff=21]="HistoricalLigaturesOff"})(vJ||={});var IJ;((q)=>{q[q.NormalPosition=0]="NormalPosition";q[q.Superiors=1]="Superiors";q[q.Inferiors=2]="Inferiors";q[q.Ordinals=3]="Ordinals";q[q.ScientificInferiors=4]="ScientificInferiors"})(IJ||={});var kJ;((Z)=>{Z[Z.LowerCaseNumbers=0]="LowerCaseNumbers";Z[Z.UpperCaseNumbers=1]="UpperCaseNumbers"})(kJ||={});var CJ;((J)=>{J[J.MonospacedNumbers=0]="MonospacedNumbers";J[J.ProportionalNumbers=1]="ProportionalNumbers";J[J.ThirdWidthNumbers=2]="ThirdWidthNumbers";J[J.QuarterWidthNumbers=3]="QuarterWidthNumbers"})(CJ||={});var SJ;((K)=>{K[K.NoFractions=0]="NoFractions";K[K.VerticalFractions=1]="VerticalFractions";K[K.DiagonalFractions=2]="DiagonalFractions"})(SJ||={});var hJ;((J)=>{J[J.CaseSensitiveLayoutOn=0]="CaseSensitiveLayoutOn";J[J.CaseSensitiveLayoutOff=1]="CaseSensitiveLayoutOff";J[J.CaseSensitiveSpacingOn=2]="CaseSensitiveSpacingOn";J[J.CaseSensitiveSpacingOff=3]="CaseSensitiveSpacingOff"})(hJ||={});var yJ;((S)=>{S[S.NoStylisticAlternates=0]="NoStylisticAlternates";S[S.StylisticAltOneOn=2]="StylisticAltOneOn";S[S.StylisticAltOneOff=3]="StylisticAltOneOff";S[S.StylisticAltTwoOn=4]="StylisticAltTwoOn";S[S.StylisticAltTwoOff=5]="StylisticAltTwoOff";S[S.StylisticAltThreeOn=6]="StylisticAltThreeOn";S[S.StylisticAltThreeOff=7]="StylisticAltThreeOff";S[S.StylisticAltFourOn=8]="StylisticAltFourOn";S[S.StylisticAltFourOff=9]="StylisticAltFourOff";S[S.StylisticAltFiveOn=10]="StylisticAltFiveOn";S[S.StylisticAltFiveOff=11]="StylisticAltFiveOff";S[S.StylisticAltSixOn=12]="StylisticAltSixOn";S[S.StylisticAltSixOff=13]="StylisticAltSixOff";S[S.StylisticAltSevenOn=14]="StylisticAltSevenOn";S[S.StylisticAltSevenOff=15]="StylisticAltSevenOff";S[S.StylisticAltEightOn=16]="StylisticAltEightOn";S[S.StylisticAltEightOff=17]="StylisticAltEightOff";S[S.StylisticAltNineOn=18]="StylisticAltNineOn";S[S.StylisticAltNineOff=19]="StylisticAltNineOff";S[S.StylisticAltTenOn=20]="StylisticAltTenOn";S[S.StylisticAltTenOff=21]="StylisticAltTenOff";S[S.StylisticAltElevenOn=22]="StylisticAltElevenOn";S[S.StylisticAltElevenOff=23]="StylisticAltElevenOff";S[S.StylisticAltTwelveOn=24]="StylisticAltTwelveOn";S[S.StylisticAltTwelveOff=25]="StylisticAltTwelveOff";S[S.StylisticAltThirteenOn=26]="StylisticAltThirteenOn";S[S.StylisticAltThirteenOff=27]="StylisticAltThirteenOff";S[S.StylisticAltFourteenOn=28]="StylisticAltFourteenOn";S[S.StylisticAltFourteenOff=29]="StylisticAltFourteenOff";S[S.StylisticAltFifteenOn=30]="StylisticAltFifteenOn";S[S.StylisticAltFifteenOff=31]="StylisticAltFifteenOff";S[S.StylisticAltSixteenOn=32]="StylisticAltSixteenOn";S[S.StylisticAltSixteenOff=33]="StylisticAltSixteenOff";S[S.StylisticAltSeventeenOn=34]="StylisticAltSeventeenOn";S[S.StylisticAltSeventeenOff=35]="StylisticAltSeventeenOff";S[S.StylisticAltEighteenOn=36]="StylisticAltEighteenOn";S[S.StylisticAltEighteenOff=37]="StylisticAltEighteenOff";S[S.StylisticAltNineteenOn=38]="StylisticAltNineteenOn";S[S.StylisticAltNineteenOff=39]="StylisticAltNineteenOff";S[S.StylisticAltTwentyOn=40]="StylisticAltTwentyOn";S[S.StylisticAltTwentyOff=41]="StylisticAltTwentyOff"})(yJ||={});var bJ;((U)=>{U[U.ContextualAlternatesOn=0]="ContextualAlternatesOn";U[U.ContextualAlternatesOff=1]="ContextualAlternatesOff";U[U.SwashAlternatesOn=2]="SwashAlternatesOn";U[U.SwashAlternatesOff=3]="SwashAlternatesOff";U[U.ContextualSwashAlternatesOn=4]="ContextualSwashAlternatesOn";U[U.ContextualSwashAlternatesOff=5]="ContextualSwashAlternatesOff"})(bJ||={});var mJ;((K)=>{K[K.DefaultLowerCase=0]="DefaultLowerCase";K[K.LowerCaseSmallCaps=1]="LowerCaseSmallCaps";K[K.LowerCasePetiteCaps=2]="LowerCasePetiteCaps"})(mJ||={});var gJ;((K)=>{K[K.DefaultUpperCase=0]="DefaultUpperCase";K[K.UpperCaseSmallCaps=1]="UpperCaseSmallCaps";K[K.UpperCasePetiteCaps=2]="UpperCasePetiteCaps"})(gJ||={});var xJ;((N)=>{N[N.WordInitialSwashesOn=0]="WordInitialSwashesOn";N[N.WordInitialSwashesOff=1]="WordInitialSwashesOff";N[N.WordFinalSwashesOn=2]="WordFinalSwashesOn";N[N.WordFinalSwashesOff=3]="WordFinalSwashesOff";N[N.LineInitialSwashesOn=4]="LineInitialSwashesOn";N[N.LineInitialSwashesOff=5]="LineInitialSwashesOff";N[N.LineFinalSwashesOn=6]="LineFinalSwashesOn";N[N.LineFinalSwashesOff=7]="LineFinalSwashesOff";N[N.NonFinalSwashesOn=8]="NonFinalSwashesOn";N[N.NonFinalSwashesOff=9]="NonFinalSwashesOff"})(xJ||={});var uJ;((K)=>{K[K.ShowDiacritics=0]="ShowDiacritics";K[K.HideDiacritics=1]="HideDiacritics";K[K.DecomposeDiacritics=2]="DecomposeDiacritics"})(uJ||={});var fJ;((j)=>{j[j.TraditionalCharacters=0]="TraditionalCharacters";j[j.SimplifiedCharacters=1]="SimplifiedCharacters";j[j.JIS1978Characters=2]="JIS1978Characters";j[j.JIS1983Characters=3]="JIS1983Characters";j[j.JIS1990Characters=4]="JIS1990Characters";j[j.TraditionalAltOne=5]="TraditionalAltOne";j[j.TraditionalAltTwo=6]="TraditionalAltTwo";j[j.TraditionalAltThree=7]="TraditionalAltThree";j[j.TraditionalAltFour=8]="TraditionalAltFour";j[j.TraditionalAltFive=9]="TraditionalAltFive";j[j.ExpertCharacters=10]="ExpertCharacters";j[j.NLCCharacters=13]="NLCCharacters";j[j.JIS2004Characters=11]="JIS2004Characters";j[j.HojoCharacters=12]="HojoCharacters"})(fJ||={});var lJ;((Z)=>{Z[Z.Exclusive=32768]="Exclusive";Z[Z.UseDefault=16384]="UseDefault"})(lJ||={});function d5($){let Q=$.offset,Z=$.fixed(),K=$.uint16();$.skip(2),$.skip(4);let J=[];for(let q=0;q<K;q++){let U=$.uint16(),W=$.uint16(),H=$.offset32(),_=$.uint16(),N=_&255,V=$.uint16(),X=[],z=$.offset;$.seek(Q+H);for(let j=0;j<W;j++)X.push({settingValue:$.uint16(),nameId:$.uint16()});$.seek(z),J.push({featureType:U,nSettings:W,settingTableOffset:H,featureFlags:_,defaultSettingIndex:N,nameId:V,settings:X})}return{version:Z,features:J}}function S_($,Q){return $.features.find((Z)=>Z.featureType===Q)}function h_($){return $.features}function y_($){return($.featureFlags&32768)!==0}function b_($){return $.settings[$.defaultSettingIndex]}function m_($,Q){return $.settings.find((Z)=>Z.settingValue===Q)}function g_($,Q){return $.settings.some((Z)=>Z.settingValue===Q)}function x_($,Q){switch($){case 1:switch(Q){case 2:return"liga";case 4:return"dlig";case 20:return"hlig";case 18:return"clig";case 0:return"rlig"}break;case 10:switch(Q){case 1:return"sups";case 2:return"subs";case 3:return"ordn";case 4:return"sinf"}break;case 11:if(Q===1||Q===2)return"frac";break;case 21:switch(Q){case 0:return"onum";case 1:return"lnum"}break;case 6:switch(Q){case 0:return"tnum";case 1:return"pnum"}break;case 33:if(Q===0)return"case";break;case 37:switch(Q){case 1:return"smcp";case 2:return"pcap"}break;case 38:switch(Q){case 1:return"c2sc";case 2:return"c2pc"}break;case 8:if(Q===0||Q===2)return"swsh";break;case 36:switch(Q){case 0:return"calt";case 2:return"swsh"}break;case 35:if(Q>=2&&Q<=41){let Z=Math.floor((Q-2)/2)+1;if(Z<=20)return`ss${Z.toString().padStart(2,"0")}`}break;case 20:switch(Q){case 0:return"trad";case 1:return"smpl";case 2:return"jp78";case 3:return"jp83";case 4:return"jp90";case 11:return"jp04";case 13:return"nlck";case 10:return"expt";case 12:return"hojo"}break;case 4:return"vert";case 24:return"nalt";case 28:return"ruby"}return null}function u_($){switch($){case"liga":return{featureType:1,settingValue:2};case"dlig":return{featureType:1,settingValue:4};case"hlig":return{featureType:1,settingValue:20};case"clig":return{featureType:1,settingValue:18};case"rlig":return{featureType:1,settingValue:0};case"sups":return{featureType:10,settingValue:1};case"subs":return{featureType:10,settingValue:2};case"ordn":return{featureType:10,settingValue:3};case"sinf":return{featureType:10,settingValue:4};case"frac":return{featureType:11,settingValue:2};case"onum":return{featureType:21,settingValue:0};case"lnum":return{featureType:21,settingValue:1};case"tnum":return{featureType:6,settingValue:0};case"pnum":return{featureType:6,settingValue:1};case"case":return{featureType:33,settingValue:0};case"smcp":return{featureType:37,settingValue:1};case"pcap":return{featureType:37,settingValue:2};case"c2sc":return{featureType:38,settingValue:1};case"c2pc":return{featureType:38,settingValue:2};case"swsh":return{featureType:8,settingValue:0};case"calt":return{featureType:36,settingValue:0};case"trad":return{featureType:20,settingValue:0};case"smpl":return{featureType:20,settingValue:1};case"jp78":return{featureType:20,settingValue:2};case"jp83":return{featureType:20,settingValue:3};case"jp90":return{featureType:20,settingValue:4};case"jp04":return{featureType:20,settingValue:11};case"nlck":return{featureType:20,settingValue:13};case"expt":return{featureType:20,settingValue:10};case"hojo":return{featureType:20,settingValue:12};case"vert":return{featureType:4,settingValue:0};case"nalt":return{featureType:24,settingValue:0};case"ruby":return{featureType:28,settingValue:0}}if($.startsWith("ss")&&$.length===4){let Q=parseInt($.slice(2),10);if(Q>=1&&Q<=20)return{featureType:35,settingValue:(Q-1)*2+2}}return null}var p9={GridFit:1,DoGray:2,SymmetricGridFit:4,SymmetricSmoothing:8};function p5($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16();K.push({maxPPEM:q,behavior:U})}return K.sort((J,q)=>J.maxPPEM-q.maxPPEM),{version:Q,ranges:K}}function c5($,Q){for(let Z=0;Z<$.ranges.length;Z++){let K=$.ranges[Z];if(Q<=K.maxPPEM)return K.behavior}if($.ranges.length>0)return $.ranges[$.ranges.length-1]?.behavior;return p9.GridFit|p9.DoGray}function f_($,Q){return(c5($,Q)&p9.GridFit)!==0}function l_($,Q){return(c5($,Q)&p9.DoGray)!==0}class E8{startGlyphId;classValueArray;ranges;glyphMap;isEmpty;constructor($,Q,Z,K,J){this.startGlyphId=$,this.classValueArray=Q,this.ranges=Z,this.glyphMap=K,this.isEmpty=J}static empty(){return new E8(0,null,null,null,!0)}static format1($,Q){return new E8($,Q,null,null,!1)}static format2($){let Q=0;for(let K=0;K<$.length;K++){let J=$[K];Q+=J.endGlyphId-J.startGlyphId+1}let Z=null;if(Q<1e4){Z=new Map;for(let K=0;K<$.length;K++){let J=$[K];for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Z.set(q,J.classValue)}}return new E8(0,null,$,Z,!1)}get($){if(this.isEmpty)return 0;if(this.classValueArray){let J=$-this.startGlyphId;return J>=0&&J<this.classValueArray.length?this.classValueArray[J]:0}if(this.glyphMap)return this.glyphMap.get($)??0;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.classValue}return 0}glyphsInClass($){if(this.isEmpty)return[];if(this.classValueArray){let K=[];for(let J=0;J<this.classValueArray.length;J++)if(this.classValueArray[J]===$)K.push(this.startGlyphId+J);return K}let Q=[],Z=this.ranges;for(let K=0;K<Z.length;K++){let J=Z[K];if(J.classValue===$)for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Q.push(q)}return Q}}var nJ=E8.empty();function dJ($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K);return E8.format1(Z,J)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),classValue:$.uint16()};return E8.format2(K)}throw Error(`Unknown ClassDef format: ${Q}`)}function D6($,Q){if(Q===0)return nJ;return dJ($.sliceFrom(Q))}function pJ($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16(),U=$.offset16(),W=0;if(Q===1&&Z>=2)W=$.offset16();let H=D6($,K),_=null;if(J!==0)_=n_($.sliceFrom(J));let N=null;if(q!==0)N=d_($.sliceFrom(q));let V=D6($,U),X=null;if(W!==0)X=p_($.sliceFrom(W));return{version:{major:Q,minor:Z},glyphClassDef:H,attachList:_,ligCaretList:N,markAttachClassDef:V,markGlyphSets:X}}function n_($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let X=N;X<=V;X++)U.push(X)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),X=V.uint16(),z=V.uint16Array(X),j=Array(z.length);for(let Y=0;Y<z.length;Y++)j[Y]=z[Y];W.set(N,{pointIndices:j})}return W}function d_($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let X=N;X<=V;X++)U.push(X)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),X=V.uint16(),z=V.uint16Array(X),j=[];for(let Y=0;Y<z.length;Y++){let G=z[Y],E=$.sliceFrom(_+G),w=E.uint16();if(w===1)j.push(E.int16());else if(w===2)j.push(E.uint16());else if(w===3)j.push(E.int16())}W.set(N,{caretValues:j})}return W}function p_($){let Q=$.uint16(),Z=$.uint16(),K=$.uint32Array(Z),J=[];for(let q=0;q<K.length;q++){let U=K[q],W=$.sliceFrom(U),H=W.uint16(),_=new Set;if(H===1){let N=W.uint16();for(let V=0;V<N;V++)_.add(W.uint16())}else if(H===2){let N=W.uint16();for(let V=0;V<N;V++){let X=W.uint16(),z=W.uint16();W.skip(2);for(let j=X;j<=z;j++)_.add(j)}}J.push(_)}return{has(q,U){let W=J[q];return W?W.has(U):!1}}}function U8($,Q){if(!$)return 0;return $.glyphClassDef.get(Q)}function iJ($,Q){let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.offset32(),W=$.uint16(),H=$.uint16(),_=$.offset32(),N=H&1?4:2,V=[];for(let j=0;j<=W;j++){let Y=N===4?$.uint32():$.uint16()*2;V.push(Y)}let X=[];if(q>0){let j=$.sliceFrom(U);for(let Y=0;Y<q;Y++){let G=[];for(let E=0;E<J;E++)G.push(j.f2dot14());X.push(G)}}let z=[];for(let j=0;j<W;j++){let Y=V[j],G=V[j+1];if(Y===void 0||G===void 0){z.push({tupleVariationHeaders:[]});continue}let E=_+Y,w=_+G;if(E===w){z.push({tupleVariationHeaders:[]});continue}let F=$.sliceFrom(E),A=c_(F,w-E,J,X);z.push(A)}return{majorVersion:Z,minorVersion:K,axisCount:J,sharedTupleCount:q,sharedTuples:X,glyphVariationData:z}}function c_($,Q,Z,K){if(Q===0)return{tupleVariationHeaders:[]};let J=$.offset,q=$.uint16(),U=$.offset16(),W=q&4095,H=(q&32768)!==0,_=[];for(let z=0;z<W;z++){let j=$.uint16(),Y=$.uint16(),G=null,E=null,w=null;if(Y&32768){G=[];for(let F=0;F<Z;F++)G.push($.f2dot14())}else{let F=Y&4095;G=K[F]||null}if(Y&16384){E=[],w=[];for(let F=0;F<Z;F++)E.push($.f2dot14());for(let F=0;F<Z;F++)w.push($.f2dot14())}_.push({variationDataSize:j,tupleIndex:Y,peakTuple:G,intermediateStartTuple:E,intermediateEndTuple:w})}let N=$.sliceFrom(J+U),V=null;if(H)V=cJ(N);let X=[];for(let z=0;z<_.length;z++){let j=_[z],Y=(j.tupleIndex&8192)!==0,G;if(Y)G=cJ(N);else G=V;let E=G?G.length:0,w=E>0?oJ(N,E):[],F=E>0?oJ(N,E):[],A=[];for(let M=0;M<w.length;M++){let L=w[M],O=F[M];A.push({x:L??0,y:O??0})}X.push({variationDataSize:j.variationDataSize,tupleIndex:j.tupleIndex,peakTuple:j.peakTuple,intermediateStartTuple:j.intermediateStartTuple,intermediateEndTuple:j.intermediateEndTuple,serializedData:new Uint8Array(0),pointNumbers:G,deltas:A})}return{tupleVariationHeaders:X}}function cJ($){let Q=$.uint8(),Z=Q===0?0:Q&128?(Q&127)<<8|$.uint8():Q;if(Z===0)return[];let K=[],J=0;while(K.length<Z){let q=$.uint8(),U=(q&127)+1,W=(q&128)!==0;for(let H=0;H<U&&K.length<Z;H++){let _=W?$.uint16():$.uint8();J+=_,K.push(J)}}return K}function oJ($,Q){let Z=[];while(Z.length<Q){let K=$.uint8(),J=(K&63)+1,q=(K&128)!==0,U=(K&64)!==0;for(let W=0;W<J&&Z.length<Q;W++)if(q)Z.push(0);else if(U)Z.push($.int16());else Z.push($.int8())}return Z}function l0($,Q,Z,K){let J=1;for(let q=0;q<$.length;q++){let U=$[q],W=Q[q]??0;if(U===0||W===0){if(U!==0)J=0;continue}if(Z&&K){let H=Z[q],_=K[q];if(H===void 0||_===void 0)continue;if(W<H||W>_){J=0;break}if(W<U)J*=(W-H)/(U-H);else if(W>U)J*=(_-W)/(_-U)}else{if(U>0&&W<0||U<0&&W>0){J=0;break}if(Math.abs(W)<Math.abs(U))J*=W/U}}return J}function o_($,Q,Z,K){let J=$.glyphVariationData[Q];if(!J)return{x:0,y:0};let q=0,U=0;for(let W=0;W<J.tupleVariationHeaders.length;W++){let H=J.tupleVariationHeaders[W];if(!H.peakTuple)continue;let _=l0(H.peakTuple,K,H.intermediateStartTuple,H.intermediateEndTuple);if(_===0)continue;if(H.pointNumbers!==null){let N=H.pointNumbers.indexOf(Z);if(N<0)continue;let V=H.deltas[N];if(V)q+=V.x*_,U+=V.y*_}else{let N=H.deltas[Z];if(N)q+=N.x*_,U+=N.y*_}}return{x:Math.round(q),y:Math.round(U)}}function sJ($,Q,Z){let K=Z===0,J=[],q=Q+1;if(K)for(let U=0;U<q;U++)J.push($.uint16()*2);else for(let U=0;U<q;U++)J.push($.uint32());return{offsets:J,isShort:K}}function n0($,Q){if(Q<0||Q>=$.offsets.length-1)return null;let Z=$.offsets[Q],K=$.offsets[Q+1];if(Z===void 0||K===void 0)return null;let J=K-Z;if(J===0)return null;return{offset:Z,length:J}}function i_($,Q){return n0($,Q)!==null}var w8={OnCurve:1,XShortVector:2,YShortVector:4,Repeat:8,XIsSameOrPositive:16,YIsSameOrPositive:32,OverlapSimple:64},f6={Arg1And2AreWords:1,ArgsAreXYValues:2,RoundXYToGrid:4,WeHaveAScale:8,MoreComponents:32,WeHaveAnXAndYScale:64,WeHaveATwoByTwo:128,WeHaveInstructions:256,UseMyMetrics:512,OverlapCompound:1024,ScaledComponentOffset:2048,UnscaledComponentOffset:4096};function aJ($){return{reader:$}}function A8($,Q,Z){let K=n0(Q,Z);if(!K)return{type:"empty"};let J=$.reader.slice(K.offset,K.length);return s_(J)}function s_($){let Q=$.int16(),Z=$.int16(),K=$.int16(),J=$.int16(),q=$.int16();if(Q>=0)return a_($,Q,Z,K,J,q);else return r_($,Q,Z,K,J,q)}function a_($,Q,Z,K,J,q){if(Q===0)return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:[],instructions:new Uint8Array(0)};let U=[];for(let w=0;w<Q;w++)U.push($.uint16());let W=U[Q-1];if(W===void 0)return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:[],instructions:new Uint8Array(0)};let H=W+1,_=$.uint16(),N=$.bytes(_),V=[];while(V.length<H){let w=$.uint8();if(V.push(w),w&w8.Repeat){let F=$.uint8();for(let A=0;A<F;A++)V.push(w)}}let X=[],z=0;for(let w=0;w<V.length;w++){let F=V[w];if(F&w8.XShortVector){let A=$.uint8();z+=F&w8.XIsSameOrPositive?A:-A}else if(!(F&w8.XIsSameOrPositive))z+=$.int16();X.push(z)}let j=[],Y=0;for(let w=0;w<V.length;w++){let F=V[w];if(F&w8.YShortVector){let A=$.uint8();Y+=F&w8.YIsSameOrPositive?A:-A}else if(!(F&w8.YIsSameOrPositive))Y+=$.int16();j.push(Y)}let G=[],E=0;for(let w=0;w<U.length;w++){let F=U[w],A=[];while(E<=F){let M=X[E],L=j[E],O=V[E];if(M===void 0||L===void 0||O===void 0)break;A.push({x:M,y:L,onCurve:(O&w8.OnCurve)!==0}),E++}G.push(A)}return{type:"simple",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,contours:G,instructions:N}}function r_($,Q,Z,K,J,q){let U=[],W;do{W=$.uint16();let _=$.uint16(),N,V;if(W&f6.Arg1And2AreWords)if(W&f6.ArgsAreXYValues)N=$.int16(),V=$.int16();else N=$.uint16(),V=$.uint16();else if(W&f6.ArgsAreXYValues)N=$.int8(),V=$.int8();else N=$.uint8(),V=$.uint8();let X=1,z=0,j=0,Y=1;if(W&f6.WeHaveAScale)X=Y=$.f2dot14();else if(W&f6.WeHaveAnXAndYScale)X=$.f2dot14(),Y=$.f2dot14();else if(W&f6.WeHaveATwoByTwo)X=$.f2dot14(),z=$.f2dot14(),j=$.f2dot14(),Y=$.f2dot14();U.push({glyphId:_,flags:W,arg1:N,arg2:V,transform:[X,z,j,Y]})}while(W&f6.MoreComponents);let H=new Uint8Array(0);if(W&f6.WeHaveInstructions){let _=$.uint16();H=$.bytes(_)}return{type:"composite",numberOfContours:Q,xMin:Z,yMin:K,xMax:J,yMax:q,components:U,instructions:H}}function t_($,Q,Z,K,J){if($&f6.UnscaledComponentOffset)return!1;if($&f6.ScaledComponentOffset)return!0;return Q!==1||Z!==0||K!==0||J!==1}function e_($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z];for(let J=0;J<K.length;J++)Q.push(K[J])}return Q}function $N($,Q,Z,K,J,q,U){let W=Array($.length);for(let H=0;H<$.length;H++){let _=$[H],N=Math.round(Q*_.x+K*_.y+q),V=Math.round(Z*_.x+J*_.y+U),X={x:N,y:V,onCurve:_.onCurve};if(_.cubic)X.cubic=!0;W[H]=X}return W}function rJ($,Q,Z,K){let[J,q,U,W]=Z.transform,H=(Z.flags&f6.ArgsAreXYValues)!==0,_=e_(K),N=0,V=0;if(H){if(N=Z.arg1,V=Z.arg2,t_(Z.flags,J,q,U,W)){let X=J*N+U*V,z=q*N+W*V;N=X,V=z}if(Z.flags&f6.RoundXYToGrid)N=Math.round(N),V=Math.round(V)}else{let{arg1:X,arg2:z}=Z;if(X>=0&&X<Q.length&&z>=0&&z<_.length){let j=Q[X],Y=_[z],G=J*Y.x+U*Y.y,E=q*Y.x+W*Y.y;N=j.x-G,V=j.y-E}}for(let X=0;X<K.length;X++){let z=K[X],j=$N(z,J,q,U,W,N,V);$.push(j);for(let Y=0;Y<j.length;Y++)Q.push(j[Y])}}function o5($,Q,Z,K=0){if(K>32)return[];let J=[],q=[];for(let U=0;U<Z.components.length;U++){let W=Z.components[U],H=A8($,Q,W.glyphId),_;if(H.type==="simple")_=H.contours;else if(H.type==="composite")_=o5($,Q,H,K+1);else continue;rJ(J,q,W,_)}return J}var r6=new Map,tJ=256;function eJ($,Q,Z){let K=A8($,Q,Z);if(K.type==="empty")return[];else if(K.type==="simple")return K.contours;else{let J=r6.get(Z);if(J)return J;let q=o5($,Q,K);if(r6.size>=tJ){let U=r6.keys().next().value;if(U!==void 0)r6.delete(U)}return r6.set(Z,q),q}}function $q($,Q,Z){let K=A8($,Q,Z);if(K.type==="empty")return{contours:[],bounds:null};let J={xMin:K.xMin,yMin:K.yMin,xMax:K.xMax,yMax:K.yMax};if(K.type==="simple")return{contours:K.contours,bounds:J};let q=r6.get(Z);if(!q){if(q=o5($,Q,K),r6.size>=tJ){let U=r6.keys().next().value;if(U!==void 0)r6.delete(U)}r6.set(Z,q)}return{contours:q,bounds:J}}function Qq($,Q,Z){let K=A8($,Q,Z);if(K.type==="empty")return null;return{xMin:K.xMin,yMin:K.yMin,xMax:K.xMax,yMax:K.yMax}}function Zq($,Q,Z,K){let J=$.glyphVariationData[Q];if(!J)return Array(Z).fill({x:0,y:0});let q=Array(Z).fill(null).map(()=>({x:0,y:0}));for(let U=0;U<J.tupleVariationHeaders.length;U++){let W=J.tupleVariationHeaders[U];if(!W.peakTuple)continue;let H=l0(W.peakTuple,K,W.intermediateStartTuple,W.intermediateEndTuple);if(H===0)continue;if(W.pointNumbers!==null)for(let _=0;_<W.pointNumbers.length;_++){let N=W.pointNumbers[_],V=q[N],X=W.deltas[_];if(N<Z&&V&&X)V.x+=X.x*H,V.y+=X.y*H}else for(let _=0;_<Math.min(W.deltas.length,Z);_++){let N=q[_],V=W.deltas[_];if(N&&V)N.x+=V.x*H,N.y+=V.y*H}}for(let U=0;U<q.length;U++){let W=q[U];W.x=Math.round(W.x),W.y=Math.round(W.y)}return q}function Kq($,Q){let Z=[],K=0;for(let J=0;J<$.length;J++){let q=$[J],U=[];for(let W=0;W<q.length;W++){let H=q[W],_=Q[K]??{x:0,y:0};U.push({x:H.x+_.x,y:H.y+_.y,onCurve:H.onCurve}),K++}Z.push(U)}return Z}function Jq($,Q,Z,K,J){let q=A8($,Q,K);if(q.type==="empty")return[];let U;if(q.type==="simple")U=q.contours;else U=qq($,Q,Z,q,J);if(Z&&J&&J.length>0){let W=0;for(let _=0;_<U.length;_++){let N=U[_];W+=N.length}W+=4;let H=Zq(Z,K,W,J);U=Kq(U,H)}return U}function qq($,Q,Z,K,J,q=0){if(q>32)return[];let U=[],W=[];for(let H=0;H<K.components.length;H++){let _=K.components[H],N=A8($,Q,_.glyphId),V;if(N.type==="simple"){if(V=N.contours,Z&&J&&J.length>0){let X=0;for(let j=0;j<V.length;j++){let Y=V[j];X+=Y.length}X+=4;let z=Zq(Z,_.glyphId,X,J);V=Kq(V,z)}}else if(N.type==="composite")V=qq($,Q,Z,N,J,q+1);else continue;rJ(U,W,_,V)}return U}class q9{glyphMap;ranges;glyphArray;size;constructor($,Q,Z,K){this.glyphMap=$,this.ranges=Q,this.glyphArray=Z,this.size=K}static format1($){let Q=new Map;for(let Z=0;Z<$.length;Z++)Q.set($[Z],Z);return new q9(Q,null,$,$.length)}static format2($){let Q=0;if($.length>0){let Z=$[$.length-1];if(Z)Q=Z.startCoverageIndex+(Z.endGlyphId-Z.startGlyphId+1)}return new q9(null,$,null,Q)}get($){if(this.glyphMap)return this.glyphMap.get($)??null;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.startCoverageIndex+($-q.startGlyphId)}return null}covers($){return this.get($)!==null}glyphs(){if(this.glyphArray){let Z=this.glyphArray,K=Array(Z.length);for(let J=0;J<Z.length;J++)K[J]=Z[J];return K}let $=[],Q=this.ranges;for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.startGlyphId;J<=K.endGlyphId;J++)$.push(J)}return $}}function Uq($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16Array(Z);return q9.format1(K)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),startCoverageIndex:$.uint16()};return q9.format2(K)}throw Error(`Unknown Coverage format: ${Q}`)}function i($,Q){return Uq($.sliceFrom(Q))}function Wq($){return"deltaSetOuterIndex"in $}function g8($,Q){if(Q===0)return null;return QN($.sliceFrom(Q))}function QN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16();if(K===32768)return{deltaSetOuterIndex:Q,deltaSetInnerIndex:Z};let J=[];if(K>=1&&K<=3){let q=Z-Q+1,U=1<<K,W=16/U,H=(1<<U)-1,_=1<<U-1,N=Math.ceil(q/W),V=0;for(let X=0;X<N;X++){let z=$.uint16();for(let j=0;j<W&&V<q;j++,V++){let Y=16-U*(j+1),G=z>>Y&H;if(G&_)G=G-(1<<U);J.push(G)}}}return{startSize:Q,endSize:Z,deltaFormat:K,deltaValues:J}}function Hq($,Q){if(Q<$.startSize||Q>$.endSize)return 0;let Z=Q-$.startSize;return $.deltaValues[Z]??0}function ZN($,Q,Z){if(!$)return Q;if(Wq($))return Q;return Q+Hq($,Z)}var h6={RightToLeft:1,IgnoreBaseGlyphs:2,IgnoreLigatures:4,IgnoreMarks:8,UseMarkFilteringSet:16,MarkAttachmentTypeMask:65280};function d0($){return($&h6.MarkAttachmentTypeMask)>>8}function c9($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=KN(U);K.push({scriptTag:q.tag,script:W})}return{scripts:K}}function KN($){let Q=$.offset16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({tag:$.tag(),offset:$.offset16()});let J=null;if(Q!==0)J=_q($.sliceFrom(Q));let q=[];for(let U=0;U<K.length;U++){let W=K[U],H=_q($.sliceFrom(W.offset));q.push({langSysTag:W.tag,langSys:H})}return{defaultLangSys:J,langSysRecords:q}}function _q($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let U=0;U<K;U++)q[U]=J[U];return{requiredFeatureIndex:Z,featureIndices:q}}function o9($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=JN(U);K.push({featureTag:q.tag,feature:W})}return{features:K}}function JN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=Array(Z);for(let q=0;q<Z;q++)J[q]=K[q];return{featureParamsOffset:Q,lookupListIndices:J}}function qN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q);K.push(UN(U))}return K}function UN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let W=0;W<K;W++)q[W]=J[W];let U;if(Z&h6.UseMarkFilteringSet)U=$.uint16();return{lookupType:Q,lookupFlag:Z,subtableOffsets:q,markFilteringSet:U}}function i9($,Q){for(let Z=0;Z<$.scripts.length;Z++){let K=$.scripts[Z];if(K.scriptTag===Q)return K.script}return null}function i5($,Q){if(Q===null)return $.defaultLangSys;for(let Z=0;Z<$.langSysRecords.length;Z++){let K=$.langSysRecords[Z];if(K.langSysTag===Q)return K.langSys}return $.defaultLangSys}function p0($,Q){return $.features[Q]??null}class _6{mask0=0;mask1=0;mask2=0;add($){this.mask0|=1<<($&31),this.mask1|=1<<($>>4&31),this.mask2|=1<<($>>9&31)}addRange($,Q){if(Q-$<32)for(let Z=$;Z<=Q;Z++)this.add(Z);else this.mask0=4294967295,this.mask1=4294967295,this.mask2=4294967295}mayHave($){return(this.mask0&1<<($&31))!==0&&(this.mask1&1<<($>>4&31))!==0&&(this.mask2&1<<($>>9&31))!==0}addCoverage($){let Q=$.glyphs();for(let Z=0;Z<Q.length;Z++){let K=Q[Z];this.add(K)}}mayIntersect($){return(this.mask0&$.mask0)!==0&&(this.mask1&$.mask1)!==0&&(this.mask2&$.mask2)!==0}getMasks(){return{mask0:this.mask0,mask1:this.mask1,mask2:this.mask2}}}function WN($){let Q=new _6;for(let Z=0;Z<$.length;Z++){let K=$[Z];Q.addCoverage(K)}return Q}function s5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(HN(q));break;case 2:Z.push(_N(q));break;case 3:Z.push(NN(q));break}}return Z}function HN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=j.uint16(),G=j.uint16(),E=j.uint16Array(Y-1),w=Array(E.length);for(let A=0;A<E.length;A++)w[A]=E[A];let F=U9(j,G);V.push({glyphCount:Y,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function _N($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=i($,Q),U=D6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),X=N.uint16Array(V),z=[];for(let j=0;j<X.length;j++){let Y=X[j],G=N.sliceFrom(Y),E=G.uint16(),w=G.uint16(),F=G.uint16Array(E-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let M=U9(G,w);z.push({glyphCount:E,inputClasses:A,lookupRecords:M})}W.push(z)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function NN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(i($,W))}let q=U9($,Z);return{format:3,coverages:J,lookupRecords:q}}function a5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(VN(q));break;case 2:Z.push(XN(q));break;case 3:Z.push(zN(q));break}}return Z}function VN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=Array(G.length);for(let R=0;R<G.length;R++)E[R]=G[R];let w=j.uint16(),F=j.uint16Array(w-1),A=Array(F.length);for(let R=0;R<F.length;R++)A[R]=F[R];let M=j.uint16(),L=j.uint16Array(M),O=Array(L.length);for(let R=0;R<L.length;R++)O[R]=L[R];let T=j.uint16(),v=U9(j,T);V.push({backtrackSequence:E,inputSequence:A,lookaheadSequence:O,lookupRecords:v})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function XN($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=i($,Q),H=D6($,Z),_=D6($,K),N=D6($,J),V=[];for(let X=0;X<U.length;X++){let z=U[X];if(z===0){V.push(null);continue}let j=$.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=j.sliceFrom(F),M=A.uint16(),L=A.uint16Array(M),O=Array(L.length);for(let B=0;B<L.length;B++)O[B]=L[B];let T=A.uint16(),v=A.uint16Array(T-1),R=Array(v.length);for(let B=0;B<v.length;B++)R[B]=v[B];let u=A.uint16(),I=A.uint16Array(u),l=Array(I.length);for(let B=0;B<I.length;B++)l[B]=I[B];let f=A.uint16(),C=U9(A,f);E.push({backtrackClasses:O,inputClasses:R,lookaheadClasses:l,lookupRecords:C})}V.push(E)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function zN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=U9($,W),_=[];for(let X=0;X<Z.length;X++){let z=Z[X];_.push(i($,z))}let N=[];for(let X=0;X<J.length;X++){let z=J[X];N.push(i($,z))}let V=[];for(let X=0;X<U.length;X++){let z=U[X];V.push(i($,z))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function U9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function Nq($){let Q=$.uint16(),Z=$.int16(),K=$.int16(),J={xCoordinate:Z,yCoordinate:K};if(Q===2)J.anchorPoint=$.uint16();else if(Q===3)J.xDeviceOffset=$.uint16(),J.yDeviceOffset=$.uint16();return J}function s9($,Q){if(Q===0)return null;return Nq($.sliceFrom(Q))}function r5($){let Q=$.uint16(),Z=[],K=[];for(let J=0;J<Q;J++)K.push({markClass:$.uint16(),anchorOffset:$.uint16()});for(let J=0;J<K.length;J++){let q=K[J],U=Nq($.sliceFrom(q.anchorOffset));Z.push({markClass:q.markClass,markAnchor:U})}return{markRecords:Z}}function t5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=[];for(let X=0;X<H;X++)_.push({entryOffset:q.uint16(),exitOffset:q.uint16()});let N=i(q,W),V=[];for(let X=0;X<_.length;X++){let z=_[X];V.push({entryAnchor:s9(q,z.entryOffset),exitAnchor:s9(q,z.exitOffset)})}Z.push({coverage:N,entryExitRecords:V})}}return Z}function e5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),z=i(q,H),j=r5(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=[],w=[];for(let F=0;F<G;F++){let A=[];for(let M=0;M<_;M++)A.push(Y.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],M=[];for(let L=0;L<A.length;L++){let O=A[L];M.push(s9(Y,O))}E.push({baseAnchors:M})}Z.push({markCoverage:X,baseCoverage:z,markClassCount:_,markArray:j,baseArray:E})}}return Z}function $7($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),z=i(q,H),j=r5(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=Y.uint16Array(G),w=[];for(let F=0;F<E.length;F++){let A=E[F],M=Y.sliceFrom(A),L=M.uint16(),O=[],T=[];for(let v=0;v<L;v++){let R=[];for(let u=0;u<_;u++)R.push(M.uint16());T.push(R)}for(let v=0;v<T.length;v++){let R=T[v],u=[];for(let I=0;I<R.length;I++){let l=R[I];u.push(s9(M,l))}O.push({ligatureAnchors:u})}w.push({componentRecords:O})}Z.push({markCoverage:X,ligatureCoverage:z,markClassCount:_,markArray:j,ligatureArray:w})}}return Z}function Q7($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),z=i(q,H),j=r5(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=[],w=[];for(let F=0;F<G;F++){let A=[];for(let M=0;M<_;M++)A.push(Y.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],M=[];for(let L=0;L<A.length;L++){let O=A[L];M.push(s9(Y,O))}E.push({mark2Anchors:M})}Z.push({mark1Coverage:X,mark2Coverage:z,markClassCount:_,mark1Array:j,mark2Array:E})}}return Z}var F8={XPlacement:1,YPlacement:2,XAdvance:4,YAdvance:8,XPlaDevice:16,YPlaDevice:32,XAdvDevice:64,YAdvDevice:128};function Vq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=c9($.sliceFrom(K)),W=o9($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=jN(j);if(Y)V.push(Y)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function jN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(J.length);for(let N=0;N<J.length;N++)q[N]=J[N];let U;if(Z&h6.UseMarkFilteringSet)U=$.uint16();let W={flag:Z,markFilteringSet:U},H=(N)=>{let V=new _6;for(let X=0;X<N.length;X++){let z=N[X];V.addCoverage(z.coverage)}return V},_=(N)=>{let V=new _6;for(let X=0;X<N.length;X++){let z=N[X];V.addCoverage(z.markCoverage)}return V};switch(Q){case 1:{let N=Xq($,q);return{type:1,...W,subtables:N,digest:H(N)}}case 2:{let N=zq($,q);return{type:2,...W,subtables:N,digest:H(N)}}case 3:{let N=t5($,q);return{type:3,...W,subtables:N,digest:H(N)}}case 4:{let N=e5($,q);return{type:4,...W,subtables:N,digest:_(N)}}case 5:{let N=$7($,q);return{type:5,...W,subtables:N,digest:_(N)}}case 6:{let N=Q7($,q),V=new _6;for(let X=0;X<N.length;X++){let z=N[X];V.addCoverage(z.mark1Coverage)}return{type:6,...W,subtables:N,digest:V}}case 7:{let N=s5($,q),V=new _6;for(let X=0;X<N.length;X++){let z=N[X];if("coverage"in z&&z.coverage)V.addCoverage(z.coverage)}return{type:7,...W,subtables:N,digest:V}}case 8:{let N=a5($,q),V=new _6;for(let X=0;X<N.length;X++){let z=N[X];if("coverage"in z&&z.coverage)V.addCoverage(z.coverage);else if("inputCoverages"in z&&z.inputCoverages?.[0])V.addCoverage(z.inputCoverages[0])}return{type:8,...W,subtables:N,digest:V}}case 9:return EN($,q,W);default:return null}}function W9($,Q,Z){let K={};if(Q&F8.XPlacement)K.xPlacement=$.int16();if(Q&F8.YPlacement)K.yPlacement=$.int16();if(Q&F8.XAdvance)K.xAdvance=$.int16();if(Q&F8.YAdvance)K.yAdvance=$.int16();let J=Z??$;if(Q&F8.XPlaDevice){let q=$.uint16();if(q!==0)K.xPlaDevice=g8(J,q)??void 0}if(Q&F8.YPlaDevice){let q=$.uint16();if(q!==0)K.yPlaDevice=g8(J,q)??void 0}if(Q&F8.XAdvDevice){let q=$.uint16();if(q!==0)K.xAdvDevice=g8(J,q)??void 0}if(Q&F8.YAdvDevice){let q=$.uint16();if(q!==0)K.yAdvDevice=g8(J,q)??void 0}return K}function Xq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1){let H=U.offset16(),_=U.uint16(),N=W9(U,_,q),V=i(q,H);Z.push({format:1,coverage:V,valueFormat:_,value:N})}else if(W===2){let H=U.offset16(),_=U.uint16(),N=U.uint16(),V=[];for(let z=0;z<N;z++)V.push(W9(U,_,q));let X=i(q,H);Z.push({format:2,coverage:X,valueFormat:_,values:V})}}return Z}function zq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1)Z.push(YN(U,q));else if(W===2)Z.push(GN(U,q))}return Z}function YN($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=i(Q,Z),H=[];for(let _=0;_<U.length;_++){let N=U[_],V=Q.sliceFrom(N),X=Q.sliceFrom(N),z=X.uint16(),j=[];for(let Y=0;Y<z;Y++){let G=X.uint16(),E=W9(X,K,V),w=W9(X,J,V);j.push({secondGlyph:G,value1:E,value2:w})}H.push({pairValueRecords:j})}return{format:1,coverage:W,valueFormat1:K,valueFormat2:J,pairSets:H}}function GN($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.offset16(),U=$.offset16(),W=$.uint16(),H=$.uint16(),_=i(Q,Z),N=D6(Q,q),V=D6(Q,U),X=[];for(let z=0;z<W;z++){let j=[];for(let Y=0;Y<H;Y++){let G=W9($,K,Q),E=W9($,J,Q);j.push({value1:G,value2:E})}X.push({class2Records:j})}return{format:2,coverage:_,valueFormat1:K,valueFormat2:J,classDef1:N,classDef2:V,class1Count:W,class2Count:H,class1Records:X}}function EN($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),X=_.uint32();K.push({type:V,reader:_.sliceFrom(X)})}if(K.length===0)return null;let J=K[0]?.type,q=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H},U=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.markCoverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Xq(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:q(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...zq(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:q(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...t5(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:q(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...e5(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...$7(_.reader,[0]))}return{type:5,...Z,subtables:W,digest:U(W)}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...Q7(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.mark1Coverage)}return{type:6,...Z,subtables:W,digest:H}}case 7:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...s5(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:7,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...a5(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:8,...Z,subtables:W,digest:H}}default:return null}}function wN($,Q){let Z=0,K=$.length-1;while(Z<=K){let J=Z+K>>>1,q=$[J],U=q.secondGlyph;if(U<Q)Z=J+1;else if(U>Q)K=J-1;else return q}return null}function Z7($,Q,Z,K,J){for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(Q);if(W===null)continue;if(U.format===1){let H=U.pairSets[W];if(!H)continue;let _=wN(H.pairValueRecords,Z);if(_){let N=_.value1.xAdvance,V=_.value2.xAdvance;if(N)K.xAdvance+=N;if(V)J.xAdvance+=V;return!0}}else if(U.format===2){let H=U.classDef1.get(Q),_=U.class1Records;if(H>=_.length)continue;let N=_[H],V=U.classDef2.get(Z),X=N.class2Records;if(V>=X.length)continue;let z=X[V],j=z.value1.xAdvance,Y=z.value2.xAdvance;if(j)K.xAdvance+=j;if(Y)J.xAdvance+=Y;return!0}}return!1}function K7($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(AN(q));break;case 2:Z.push(FN(q));break;case 3:Z.push(LN(q));break}}return Z}function AN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=j.uint16(),G=j.uint16(),E=j.uint16Array(Y-1),w=Array(E.length);for(let A=0;A<E.length;A++)w[A]=E[A];let F=H9(j,G);V.push({glyphCount:Y,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function FN($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=i($,Q),U=D6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),X=N.uint16Array(V),z=[];for(let j=0;j<X.length;j++){let Y=X[j],G=N.sliceFrom(Y),E=G.uint16(),w=G.uint16(),F=G.uint16Array(E-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let M=H9(G,w);z.push({glyphCount:E,inputClasses:A,lookupRecords:M})}W.push(z)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function LN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(i($,W))}let q=H9($,Z);return{format:3,coverages:J,lookupRecords:q}}function J7($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(DN(q));break;case 2:Z.push(MN(q));break;case 3:Z.push(BN(q));break}}return Z}function DN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=Array(G.length);for(let R=0;R<G.length;R++)E[R]=G[R];let w=j.uint16(),F=j.uint16Array(w-1),A=Array(F.length);for(let R=0;R<F.length;R++)A[R]=F[R];let M=j.uint16(),L=j.uint16Array(M),O=Array(L.length);for(let R=0;R<L.length;R++)O[R]=L[R];let T=j.uint16(),v=H9(j,T);V.push({backtrackSequence:E,inputSequence:A,lookaheadSequence:O,lookupRecords:v})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function MN($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=i($,Q),H=D6($,Z),_=D6($,K),N=D6($,J),V=[];for(let X=0;X<U.length;X++){let z=U[X];if(z===0){V.push(null);continue}let j=$.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=j.sliceFrom(F),M=A.uint16(),L=A.uint16Array(M),O=Array(L.length);for(let B=0;B<L.length;B++)O[B]=L[B];let T=A.uint16(),v=A.uint16Array(T-1),R=Array(v.length);for(let B=0;B<v.length;B++)R[B]=v[B];let u=A.uint16(),I=A.uint16Array(u),l=Array(I.length);for(let B=0;B<I.length;B++)l[B]=I[B];let f=A.uint16(),C=H9(A,f);E.push({backtrackClasses:O,inputClasses:R,lookaheadClasses:l,lookupRecords:C})}V.push(E)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function BN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=H9($,W),_=[];for(let X=0;X<Z.length;X++){let z=Z[X];_.push(i($,z))}let N=[];for(let X=0;X<J.length;X++){let z=J[X];N.push(i($,z))}let V=[];for(let X=0;X<U.length;X++){let z=U[X];V.push(i($,z))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function H9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function jq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=c9($.sliceFrom(K)),W=o9($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let z=N[X],j=H.sliceFrom(z),Y=RN(j,H,z);if(Y)V.push(Y)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function RN($,Q,Z){let K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=Array(U.length);for(let V=0;V<U.length;V++)W[V]=U[V];let H;if(J&h6.UseMarkFilteringSet)H=$.uint16();let _={flag:J,markFilteringSet:H},N=(V)=>{let X=new _6;for(let z=0;z<V.length;z++){let j=V[z];X.addCoverage(j.coverage)}return X};switch(K){case 1:{let V=Yq($,W);return{type:1,..._,subtables:V,digest:N(V)}}case 2:{let V=Gq($,W);return{type:2,..._,subtables:V,digest:N(V)}}case 3:{let V=Eq($,W);return{type:3,..._,subtables:V,digest:N(V)}}case 4:{let V=wq($,W);return{type:4,..._,subtables:V,digest:N(V)}}case 5:{let V=K7($,W),X=new _6;for(let z=0;z<V.length;z++){let j=V[z];if("coverage"in j&&j.coverage)X.addCoverage(j.coverage)}return{type:5,..._,subtables:V,digest:X}}case 6:{let V=J7($,W),X=new _6;for(let z=0;z<V.length;z++){let j=V[z];if("coverage"in j&&j.coverage)X.addCoverage(j.coverage);else if("inputCoverages"in j&&j.inputCoverages?.[0])X.addCoverage(j.inputCoverages[0])}return{type:6,..._,subtables:V,digest:X}}case 7:return TN($,W,_);case 8:{let V=Aq($,W);return{type:8,..._,subtables:V,digest:N(V)}}default:return null}}function Yq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=q.uint16();if(U===1){let W=q.offset16(),H=q.int16(),_=i(q,W);Z.push({format:1,coverage:_,deltaGlyphId:H})}else if(U===2){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=Array(_.length);for(let X=0;X<_.length;X++)N[X]=_[X];let V=i(q,W);Z.push({format:2,coverage:V,substituteGlyphIds:N})}}return Z}function Gq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let z=_[X],j=q.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=Array(G.length);for(let w=0;w<G.length;w++)E[w]=G[w];V.push(E)}Z.push({coverage:N,sequences:V})}}return Z}function Eq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let z=_[X],j=q.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=Array(G.length);for(let w=0;w<G.length;w++)E[w]=G[w];V.push(E)}Z.push({coverage:N,alternateSets:V})}}return Z}function wq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let z=_[X],j=q.sliceFrom(z),Y=j.uint16(),G=j.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=j.sliceFrom(F),M=A.uint16(),L=A.uint16(),O=A.uint16Array(L-1),T=Array(O.length);for(let v=0;v<O.length;v++)T[v]=O[v];E.push({ligatureGlyph:M,componentGlyphIds:T})}V.push({ligatures:E})}Z.push({coverage:N,ligatureSets:V})}}return Z}function Aq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=q.uint16(),V=q.uint16Array(N),X=q.uint16(),z=q.uint16Array(X),j=Array(z.length);for(let w=0;w<z.length;w++)j[w]=z[w];let Y=i(q,W),G=[];for(let w=0;w<_.length;w++){let F=_[w];G.push(i(q,F))}let E=[];for(let w=0;w<V.length;w++){let F=V[w];E.push(i(q,F))}Z.push({coverage:Y,backtrackCoverages:G,lookaheadCoverages:E,substituteGlyphIds:j})}}return Z}function TN($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),X=_.uint32();K.push({type:V,reader:_.sliceFrom(X)})}if(K.length===0)return null;let J=K[0]?.type,q=K.map((W,H)=>0),U=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Yq(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:U(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Gq(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:U(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Eq(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:U(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...wq(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...K7(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:5,...Z,subtables:W,digest:H}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...J7(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:6,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Aq(_.reader,[0]))}return{type:8,...Z,subtables:W,digest:U(W)}}default:return null}}function a9($,Q){for(let Z=0;Z<$.subtables.length;Z++){let K=$.subtables[Z],J=K.coverage.get(Q);if(J===null)continue;if(K.format===1&&K.deltaGlyphId!==void 0)return Q+K.deltaGlyphId&65535;if(K.format===2&&K.substituteGlyphIds)return K.substituteGlyphIds[J]??null}return null}function Fq($,Q,Z,K){let J=Q[K];if(J===void 0)return null;for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(J);if(W===null)continue;let H=U.ligatureSets[W];if(!H)continue;for(let _=0;_<H.ligatures.length;_++){let N=H.ligatures[_],V=N.componentGlyphIds.length;if(K+1+V>Z)continue;let X=!0;for(let z=0;z<V;z++)if(Q[K+1+z]!==N.componentGlyphIds[z]){X=!1;break}if(X)return{ligatureGlyph:N.ligatureGlyph,consumed:1+V}}}return null}function Lq($){let Q=$.uint16(),Z=$.uint16(),K=$.fixed(),J=$.uint32(),q=$.uint32();if(q!==1594834165)throw Error(`Invalid head table magic number: 0x${q.toString(16)}`);let U=$.uint16(),W=$.uint16(),H=$.longDateTime(),_=$.longDateTime(),N=$.fword(),V=$.fword(),X=$.fword(),z=$.fword(),j=$.uint16(),Y=$.uint16(),G=$.int16(),E=$.int16(),w=$.int16();return{majorVersion:Q,minorVersion:Z,fontRevision:K,checksumAdjustment:J,magicNumber:q,flags:U,unitsPerEm:W,created:H,modified:_,xMin:N,yMin:V,xMax:X,yMax:z,macStyle:j,lowestRecPPEM:Y,fontDirectionHint:G,indexToLocFormat:E,glyphDataFormat:w}}function Dq($){return{majorVersion:$.uint16(),minorVersion:$.uint16(),ascender:$.fword(),descender:$.fword(),lineGap:$.fword(),advanceWidthMax:$.ufword(),minLeftSideBearing:$.fword(),minRightSideBearing:$.fword(),xMaxExtent:$.fword(),caretSlopeRise:$.int16(),caretSlopeRun:$.int16(),caretOffset:$.int16(),reserved1:$.int16(),reserved2:$.int16(),reserved3:$.int16(),reserved4:$.int16(),metricDataFormat:$.int16(),numberOfHMetrics:$.uint16()}}function q7($){return{instructions:$.bytes($.remaining)}}function U7($){return{instructions:$.bytes($.remaining)}}function W7($){let Q=Math.floor($.remaining/2),Z=new Int16Array(Q);for(let K=0;K<Q;K++)Z[K]=$.int16();return{values:Z}}function Mq($,Q,Z){let K=Array(Q);for(let U=0;U<Q;U++)K[U]={advanceWidth:$.ufword(),lsb:$.fword()};let J=Z-Q,q=Array(J);for(let U=0;U<J;U++)q[U]=$.fword();return{hMetrics:K,leftSideBearings:q}}function Bq($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.advanceWidth;return $.hMetrics[$.hMetrics.length-1]?.advanceWidth}function Rq($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.lsb;let Z=Q-$.hMetrics.length;return $.leftSideBearings[Z]??0}var ON={ShrinkGpos:0,DisableGpos:1,ShrinkGsub:2,DisableGsub:3,EnableGpos:4,EnableGsub:5,MaxExtendGpos:6,MaxExtendGsub:7};function L8($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function Tq($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function PN($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=Z.uint16(),W=Z.uint16(),H=Z.uint16(),_=Z.uint16(),N=Z.uint16(),V=Z.uint16(),X=Z.uint16();return{shrinkageEnableGsub:L8($,Q+K),shrinkageDisableGsub:L8($,Q+J),shrinkageEnableGpos:L8($,Q+q),shrinkageDisableGpos:L8($,Q+U),shrinkageJstfMax:Tq($,Q+W),extensionEnableGsub:L8($,Q+H),extensionDisableGsub:L8($,Q+_),extensionEnableGpos:L8($,Q+N),extensionDisableGpos:L8($,Q+V),extensionJstfMax:Tq($,Q+X)}}function Oq($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(Z.uint16());let q=[];for(let U=0;U<J.length;U++){let W=J[U];q.push(PN($,Q+W))}return{priorities:q}}function vN($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=[];for(let N=0;N<q;N++){let V=Z.uint32(),X=Z.uint16();U.push({tag:V,offset:X})}let W=[];if(K!==0){let N=$.sliceFrom(Q+K),V=N.uint16();for(let X=0;X<V;X++)W.push(N.uint16())}let H=J!==0?Oq($,Q+J):null,_=new Map;for(let N=0;N<U.length;N++){let{tag:V,offset:X}=U[N];_.set(V,Oq($,Q+X))}return{extenderGlyphs:W,defaultLangSys:H,langSysRecords:_}}function H7($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[];for(let U=0;U<K;U++){let W=$.uint32(),H=$.uint16();J.push({tag:W,offset:H})}let q=[];for(let U=0;U<J.length;U++){let{tag:W,offset:H}=J[U],_=vN($,H);q.push({scriptTag:W,..._})}return{majorVersion:Q,minorVersion:Z,scripts:q}}function _7($,Q){return $.scripts.find((K)=>K.scriptTag===Q)?.extenderGlyphs??[]}function N7($,Q,Z){let K=$.scripts.find((J)=>J.scriptTag===Q);if(!K)return[];if(Z!==void 0){let J=K.langSysRecords.get(Z);if(J)return J.priorities}return K.defaultLangSys?.priorities??[]}function V7($){return{enableGsub:$.shrinkageEnableGsub?.lookupIndices??[],disableGsub:$.shrinkageDisableGsub?.lookupIndices??[],enableGpos:$.shrinkageEnableGpos?.lookupIndices??[],disableGpos:$.shrinkageDisableGpos?.lookupIndices??[],maxLookups:$.shrinkageJstfMax?.lookupIndices??[]}}function X7($){return{enableGsub:$.extensionEnableGsub?.lookupIndices??[],disableGsub:$.extensionDisableGsub?.lookupIndices??[],enableGpos:$.extensionEnableGpos?.lookupIndices??[],disableGpos:$.extensionDisableGpos?.lookupIndices??[],maxLookups:$.extensionJstfMax?.lookupIndices??[]}}function Pq($){let Q=$.uint16(),Z=[];if(Q===0){let K=$.uint16();for(let J=0;J<K;J++){let q=IN($);if(q)Z.push(q)}}else if(Q===1){$.skip(2);let K=$.uint32();for(let J=0;J<K;J++){let q=kN($);if(q)Z.push(q)}}return{version:Q,subtables:Z}}function IN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J={horizontal:(K&1)!==0,minimum:(K&2)!==0,crossStream:(K&4)!==0,override:(K&8)!==0},q=K>>8&255;if(q===0)return vq($,J);else if(q===2)return Iq($,J,Z-6);return $.skip(Z-6),null}function kN($){let Q=$.uint32(),Z=$.uint16(),K=$.uint16(),J={horizontal:(Z&32768)===0,minimum:!1,crossStream:(Z&16384)!==0,override:(Z&8192)!==0},q=Z&255;if(q===0)return vq($,J);else if(q===2)return Iq($,J,Q-8);return $.skip(Q-8),null}function vq($,Q){let Z=$.uint16();$.skip(6);let K=new Map;for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16(),W=$.int16(),H=q<<16|U;K.set(H,W)}return{format:0,coverage:Q,pairs:K}}function Iq($,Q,Z){let K=$.offset,J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=new Map;$.seek(K+q);let _=$.uint16(),N=$.uint16();for(let E=0;E<N;E++){let w=$.uint16();if(w!==0)H.set(_+E,w)}let V=new Map;$.seek(K+U);let X=$.uint16(),z=$.uint16();for(let E=0;E<z;E++){let w=$.uint16();if(w!==0)V.set(X+E,w)}$.seek(K+W);let j=J>0?Math.floor(Z/J):0,Y=J/2,G=[];for(let E=0;E<j;E++){let w=[];for(let F=0;F<Y;F++)w.push($.int16());G.push(w)}return{format:2,coverage:Q,rowWidth:J,leftClassTable:H,rightClassTable:V,kerningValues:G}}function z7($,Q,Z){let K=0;for(let J=0;J<$.subtables.length;J++){let q=$.subtables[J];if(!q.coverage.horizontal)continue;if(q.format===0){let U=Q<<16|Z,W=q.pairs.get(U);if(W!==void 0)if(q.coverage.override)K=W;else K+=W}else if(q.format===2){let U=q.leftClassTable.get(Q)??0,W=q.rightClassTable.get(Z)??0;if(U>0&&W>0){let H=Math.floor(U/2),_=Math.floor(W/2),N=q.kerningValues[H];if(N){let V=N[_];if(V!==void 0)if(q.coverage.override)K=V;else K+=V}}}}return K}function Cq($){let Q=$.uint16();$.skip(2);let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=CN($);if(q)K.push(q)}return{version:Q,nTables:Z,subtables:K}}function CN($){let Q=$.uint32(),Z=$.uint32(),K=$.uint16();$.skip(2);let J=Z&255,q={vertical:(Z&2147483648)!==0,crossStream:(Z&1073741824)!==0,variation:(Z&536870912)!==0},U={length:Q,coverage:q,tupleCount:K},W=$.offset+Q-12,H=null;switch(J){case 0:H=SN($,U);break;case 1:H=hN($,U);break;case 2:H=yN($,U);break;case 6:H=bN($,U);break}return $.seek(W),H}function SN($,Q){let Z=$.uint32();$.skip(12);let K=[];for(let J=0;J<Z;J++)K.push({left:$.uint16(),right:$.uint16(),value:$.int16()}),$.skip(2);return{...Q,format:0,nPairs:Z,pairs:K}}function hN($,Q){let Z={nClasses:$.uint32(),classTableOffset:$.offset32(),stateArrayOffset:$.offset32(),entryTableOffset:$.offset32(),valueTableOffset:$.offset32()};return{...Q,format:1,stateHeader:Z}}function yN($,Q){let Z=$.uint16();$.skip(2);let K=$.offset32(),J=$.offset32(),q=$.offset32(),U=kq($.sliceFrom(K)),W=kq($.sliceFrom(J)),H=$.sliceFrom(q),_=U.nGlyphs>0?Math.max(...[...U.classes])+1:0,N=Z/2,V=new Int16Array(_*N);for(let X=0;X<V.length;X++)V[X]=H.int16();return{...Q,format:2,rowWidth:Z,leftClassTable:U,rightClassTable:W,kerningArray:V}}function kq($){let Q=$.uint16(),Z=$.uint16(),K=new Uint8Array(Z);for(let J=0;J<Z;J++)K[J]=$.uint8();return{firstGlyph:Q,nGlyphs:Z,classes:K}}function bN($,Q){let Z=$.uint32(),K=$.uint16(),J=$.uint16(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32();return{...Q,format:6,flags:Z,rowCount:K,columnCount:J,rowIndexTableOffset:q,columnIndexTableOffset:U,kerningArrayOffset:W,kerningVectorOffset:H}}function mN($,Q,Z){for(let K=0;K<$.subtables.length;K++){let J=$.subtables[K];if(J.coverage.vertical)continue;switch(J.format){case 0:{let q=J.pairs,U=0,W=q.length-1;while(U<=W){let H=U+W>>1,_=q[H];if(!_)break;let N=_.left<<16|_.right,V=Q<<16|Z;if(N===V)return _.value;else if(N<V)U=H+1;else W=H-1}break}case 2:{let{leftClassTable:q,rightClassTable:U}=J;if(Q<q.firstGlyph||Q>=q.firstGlyph+q.nGlyphs)continue;if(Z<U.firstGlyph||Z>=U.firstGlyph+U.nGlyphs)continue;let W=q.classes[Q-q.firstGlyph],H=U.classes[Z-U.firstGlyph];if(W===void 0||H===void 0)continue;let _=J.rowWidth/2,N=W*_+H;if(N<J.kerningArray.length){let V=J.kerningArray[N];if(V!==void 0&&V!==0)return V}break}}}return 0}function c($,Q){let Z=$.int16(),K=$.uint16();return{value:Z,device:g8(Q,K)}}function gN($){let Q=$,Z=$.int16(),K=$.int16(),J=$.uint16(),q=$.uint16();return{scriptPercentScaleDown:Z,scriptScriptPercentScaleDown:K,delimitedSubFormulaMinHeight:J,displayOperatorMinHeight:q,mathLeading:c($,Q),axisHeight:c($,Q),accentBaseHeight:c($,Q),flattenedAccentBaseHeight:c($,Q),subscriptShiftDown:c($,Q),subscriptTopMax:c($,Q),subscriptBaselineDropMin:c($,Q),superscriptShiftUp:c($,Q),superscriptShiftUpCramped:c($,Q),superscriptBottomMin:c($,Q),superscriptBaselineDropMax:c($,Q),subSuperscriptGapMin:c($,Q),superscriptBottomMaxWithSubscript:c($,Q),spaceAfterScript:c($,Q),upperLimitGapMin:c($,Q),upperLimitBaselineRiseMin:c($,Q),lowerLimitGapMin:c($,Q),lowerLimitBaselineDropMin:c($,Q),stackTopShiftUp:c($,Q),stackTopDisplayStyleShiftUp:c($,Q),stackBottomShiftDown:c($,Q),stackBottomDisplayStyleShiftDown:c($,Q),stackGapMin:c($,Q),stackDisplayStyleGapMin:c($,Q),stretchStackTopShiftUp:c($,Q),stretchStackBottomShiftDown:c($,Q),stretchStackGapAboveMin:c($,Q),stretchStackGapBelowMin:c($,Q),fractionNumeratorShiftUp:c($,Q),fractionNumeratorDisplayStyleShiftUp:c($,Q),fractionDenominatorShiftDown:c($,Q),fractionDenominatorDisplayStyleShiftDown:c($,Q),fractionNumeratorGapMin:c($,Q),fractionNumDisplayStyleGapMin:c($,Q),fractionRuleThickness:c($,Q),fractionDenominatorGapMin:c($,Q),fractionDenomDisplayStyleGapMin:c($,Q),skewedFractionHorizontalGap:c($,Q),skewedFractionVerticalGap:c($,Q),overbarVerticalGap:c($,Q),overbarRuleThickness:c($,Q),overbarExtraAscender:c($,Q),underbarVerticalGap:c($,Q),underbarRuleThickness:c($,Q),underbarExtraDescender:c($,Q),radicalVerticalGap:c($,Q),radicalDisplayStyleVerticalGap:c($,Q),radicalRuleThickness:c($,Q),radicalExtraAscender:c($,Q),radicalKernBeforeDegree:c($,Q),radicalKernAfterDegree:c($,Q),radicalDegreeBottomRaisePercent:$.int16()}}function xN($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(c($,$));return{coverage:i($,Q),values:K}}function uN($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(c($,$));return{coverage:i($,Q),values:K}}function c0($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(c(Z,Z));let q=[];for(let U=0;U<K+1;U++)q.push(c(Z,Z));return{correctionHeights:J,kernValues:q}}function fN($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({topRightOffset:$.uint16(),topLeftOffset:$.uint16(),bottomRightOffset:$.uint16(),bottomLeftOffset:$.uint16()});let J=i($,Q),q=K.map((U)=>({topRight:U.topRightOffset!==0?c0($,U.topRightOffset):null,topLeft:U.topLeftOffset!==0?c0($,U.topLeftOffset):null,bottomRight:U.bottomRightOffset!==0?c0($,U.bottomRightOffset):null,bottomLeft:U.bottomLeftOffset!==0?c0($,U.bottomLeftOffset):null}));return{coverage:J,kernInfo:q}}function lN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=null;if(Q!==0)q=xN($.sliceFrom(Q));let U=null;if(Z!==0)U=uN($.sliceFrom(Z));let W=null;if(K!==0)W={coverage:i($,K)};let H=null;if(J!==0)H=fN($.sliceFrom(J));return{italicsCorrection:q,topAccentAttachment:U,extendedShapeCoverage:W,kernInfo:H}}function nN($){let Q=c($,$),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({glyphId:$.uint16(),startConnectorLength:$.uint16(),endConnectorLength:$.uint16(),fullAdvance:$.uint16(),partFlags:$.uint16()});return{italicsCorrection:Q,parts:K}}function Sq($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push({variantGlyph:$.uint16(),advanceMeasurement:$.uint16()});let J=null;if(Q!==0)J=nN($.sliceFrom(Q));return{glyphAssembly:J,variants:K}}function dN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=[];for(let X=0;X<J;X++)U.push($.uint16());let W=[];for(let X=0;X<q;X++)W.push($.uint16());let H=Z!==0?i($,Z):null,_=K!==0?i($,K):null,N=U.map((X)=>Sq($.sliceFrom(X))),V=W.map((X)=>Sq($.sliceFrom(X)));return{minConnectorOverlap:Q,vertGlyphCoverage:H,horizGlyphCoverage:_,vertGlyphConstruction:N,horizGlyphConstruction:V}}function j7($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=null;if(K!==0)U=gN($.sliceFrom(K));let W=null;if(J!==0)W=lN($.sliceFrom(J));let H=null;if(q!==0)H=dN($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,constants:U,glyphInfo:W,variants:H}}function pN($,Q){let Z=$.glyphInfo?.italicsCorrection;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function cN($,Q){let Z=$.glyphInfo?.topAccentAttachment;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function oN($,Q){let Z=$.glyphInfo?.extendedShapeCoverage;if(!Z)return!1;return Z.coverage.get(Q)!==null}function iN($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.variants??null}function sN($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.variants??null}function aN($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.glyphAssembly??null}function rN($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.glyphAssembly??null}function hq($){let Q=$.uint32(),Z=$.uint16();if(Q===20480)return{version:Q,numGlyphs:Z};if(Q===65536)return{version:Q,numGlyphs:Z,maxPoints:$.uint16(),maxContours:$.uint16(),maxCompositePoints:$.uint16(),maxCompositeContours:$.uint16(),maxZones:$.uint16(),maxTwilightPoints:$.uint16(),maxStorage:$.uint16(),maxFunctionDefs:$.uint16(),maxInstructionDefs:$.uint16(),maxStackElements:$.uint16(),maxSizeOfInstructions:$.uint16(),maxComponentElements:$.uint16(),maxComponentDepth:$.uint16()};throw Error(`Unknown maxp version: 0x${Q.toString(16)}`)}var Y7;((q)=>{q[q.Rearrangement=0]="Rearrangement";q[q.Contextual=1]="Contextual";q[q.Ligature=2]="Ligature";q[q.NonContextual=4]="NonContextual";q[q.Insertion=5]="Insertion"})(Y7||={});function yq($){let Q=$.uint16();if($.skip(2),Q<2)return{version:Q,chains:[]};let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=tN($);K.push(q)}return{version:Q,chains:K}}function tN($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=$.uint32(),q=[];for(let W=0;W<K;W++)q.push({featureType:$.uint16(),featureSetting:$.uint16(),enableFlags:$.uint32(),disableFlags:$.uint32()});let U=[];for(let W=0;W<J;W++){let H=eN($);if(H)U.push(H)}return{defaultFlags:Q,features:q,subtables:U}}function eN($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Z&255,q={vertical:(Z&2147483648)!==0,descending:(Z&1073741824)!==0,logical:(Z&268435456)!==0},W=$.offset+Q-12,H=null;switch(J){case 0:H=KV($,q,K);break;case 1:H=QV($,q,K);break;case 2:H=ZV($,q,K);break;case 4:H=$V($,q,K);break;case 5:H=JV($,q,K);break}return $.seek(W),H}function $V($,Q,Z){let K=qV($);return{type:4,coverage:Q,subFeatureFlags:Z,lookupTable:K}}function QV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=o0($.sliceFrom(K+q));return{type:1,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:[]},substitutionTable:[]}}function ZV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=$.offset32(),N=$.offset32(),V=o0($.sliceFrom(K+q));return{type:2,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:V,stateArray:[]},ligatureActions:[],components:[],ligatures:[]}}function KV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=o0($.sliceFrom(K+q)),_=$.sliceFrom(K+U),N=$.sliceFrom(K+W),V=[],X=256;for(let Y=0;Y<256;Y++)V.push({newState:N.uint16(),flags:N.uint16()});let z=[],j=Math.min(256,Math.ceil((W-U)/(J*2)));for(let Y=0;Y<j;Y++){let G=[];for(let E=0;E<J;E++){let w=_.uint16();G.push(V[w]??{newState:0,flags:0})}z.push(G)}return{type:0,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:H,stateArray:z}}}function JV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=o0($.sliceFrom(K+q)),N=$.sliceFrom(K+H),V=[],X=1024;for(let F=0;F<1024;F++)try{V.push(N.uint16())}catch{break}let z=$.sliceFrom(K+W),j=[],Y=256;for(let F=0;F<Y;F++)j.push({newState:z.uint16(),flags:z.uint16(),currentInsertIndex:z.uint16(),markedInsertIndex:z.uint16()});let G=$.sliceFrom(K+U),E=[],w=Math.min(256,Math.ceil((W-U)/(J*2)));for(let F=0;F<w;F++){let A=[];for(let M=0;M<J;M++){let L=G.uint16();A.push(j[L]??{newState:0,flags:0,currentInsertIndex:65535,markedInsertIndex:65535})}E.push(A)}return{type:5,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:E},insertionGlyphs:V}}function qV($){let Q=$.uint16(),Z=new Map;switch(Q){case 0:break;case 2:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16();for(let _=W;_<=U;_++)Z.set(_,H)}break}case 4:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16()}break}case 6:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16();Z.set(U,W)}break}case 8:{let K=$.uint16(),J=$.uint16();for(let q=0;q<J;q++){let U=$.uint16();if(U!==0)Z.set(K+q,U)}break}}return{format:Q,mapping:Z}}function o0($){let Q=$.uint16(),Z=[];if(Q===2){let K=$.uint16(),J=$.uint16();$.skip(6);let q=[];for(let W=0;W<J;W++)q.push({last:$.uint16(),first:$.uint16(),classValue:$.uint16()});let U=Math.max(...q.map((W)=>W.last),0);for(let W=0;W<=U;W++){let H=q.find((_)=>W>=_.first&&W<=_.last);Z[W]=H?.classValue??1}}return{format:Q,classArray:Z}}function G7($,Q){return $.lookupTable.mapping.get(Q)??null}var r9={hasc:k("hasc"),hdsc:k("hdsc"),hlgp:k("hlgp"),hcla:k("hcla"),hcld:k("hcld"),hcof:k("hcof"),hcrn:k("hcrn"),hcrs:k("hcrs"),vasc:k("vasc"),vdsc:k("vdsc"),vlgp:k("vlgp"),vcof:k("vcof"),vcrn:k("vcrn"),vcrs:k("vcrs"),xhgt:k("xhgt"),cpht:k("cpht"),sbxs:k("sbxs"),sbys:k("sbys"),sbxo:k("sbxo"),sbyo:k("sbyo"),spxs:k("spxs"),spys:k("spys"),spxo:k("spxo"),spyo:k("spyo"),strs:k("strs"),stro:k("stro"),undo:k("undo"),unds:k("unds"),gsp0:k("gsp0"),gsp1:k("gsp1"),gsp2:k("gsp2"),gsp3:k("gsp3")};function bq($){let Q=$.uint16(),Z=$.uint16();$.uint16();let K=$.uint16(),J=$.uint16(),q=$.offset16(),U=[];for(let H=0;H<J;H++)if(U.push({valueTag:$.tag(),deltaSetOuterIndex:$.uint16(),deltaSetInnerIndex:$.uint16()}),K>8)$.skip(K-8);let W=UV($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,valueRecords:U}}function UV($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),z=X.uint16(),j=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(j&32768)!==0,w=j&32767,F=Y-w,A=[];for(let M=0;M<z;M++){let L=[];for(let O=0;O<w;O++)if(E)L.push(X.int32());else L.push(X.int16());for(let O=0;O<F;O++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:z,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function t9($,Q,Z){let K=$.valueRecords.find((_)=>_.valueTag===Q);if(!K)return 0;let{deltaSetOuterIndex:J,deltaSetInnerIndex:q}=K,U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let X=f9(V,Z),z=W[_]??0;H+=X*z}return Math.round(H)}function WV($,Q){return t9($,r9.hasc,Q)}function HV($,Q){return t9($,r9.hdsc,Q)}function _V($,Q){return t9($,r9.xhgt,Q)}function NV($,Q){return t9($,r9.cpht,Q)}var D8={Copyright:0,FontFamily:1,FontSubfamily:2,UniqueID:3,FullName:4,Version:5,PostScriptName:6,Trademark:7,Manufacturer:8,Designer:9,Description:10,ManufacturerURL:11,DesignerURL:12,License:13,LicenseURL:14,Reserved:15,TypographicFamily:16,TypographicSubfamily:17,CompatibleFullName:18,SampleText:19,PostScriptCIDFindfontName:20,WWSFamily:21,WWSSubfamily:22,LightBackgroundPalette:23,DarkBackgroundPalette:24,VariationsPostScriptNamePrefix:25},_9={Unicode:0,Macintosh:1,Reserved:2,Windows:3},VV={Symbol:0,UnicodeBMP:1,ShiftJIS:2,PRC:3,Big5:4,Wansung:5,Johab:6,UnicodeFullRepertoire:10};function E7($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[],q=[];for(let U=0;U<Z;U++)q.push({platformId:$.uint16(),encodingId:$.uint16(),languageId:$.uint16(),nameId:$.uint16(),length:$.uint16(),offset:$.uint16()});for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(K+W.offset),_=XV(H,W.length,W.platformId,W.encodingId);if(_!==null)J.push({platformId:W.platformId,encodingId:W.encodingId,languageId:W.languageId,nameId:W.nameId,value:_})}return{format:Q,records:J}}function XV($,Q,Z,K){if(Z===_9.Unicode||Z===_9.Windows&&(K===1||K===10)){let J=[];for(let q=0;q<Q;q+=2){let U=$.uint16();J.push(String.fromCharCode(U))}return J.join("")}if(Z===_9.Macintosh&&K===0){let J=[];for(let q=0;q<Q;q++)J.push($.uint8());return String.fromCharCode(...J)}return null}function M8($,Q,Z){for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===_9.Windows&&J.encodingId===1){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===_9.Unicode){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(Z===void 0||J.languageId===Z)return J.value}return null}function zV($){return M8($,D8.TypographicFamily)??M8($,D8.FontFamily)}function jV($){return M8($,D8.TypographicSubfamily)??M8($,D8.FontSubfamily)}function YV($){return M8($,D8.FullName)}function GV($){return M8($,D8.PostScriptName)}function EV($){return M8($,D8.Version)}var wV={Thin:100,ExtraLight:200,Light:300,Normal:400,Medium:500,SemiBold:600,Bold:700,ExtraBold:800,Black:900},AV={UltraCondensed:1,ExtraCondensed:2,Condensed:3,SemiCondensed:4,Normal:5,SemiExpanded:6,Expanded:7,ExtraExpanded:8,UltraExpanded:9},s0={Italic:1,Underscore:2,Negative:4,Outlined:8,Strikeout:16,Bold:32,Regular:64,UseTypoMetrics:128,WWS:256,Oblique:512},i0={InstallableEmbedding:0,RestrictedLicense:2,PreviewAndPrint:4,Editable:8,NoSubsetting:256,BitmapOnly:512};function w7($){let Q=$.uint16(),Z=$.int16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.int16(),W=$.int16(),H=$.int16(),_=$.int16(),N=$.int16(),V=$.int16(),X=$.int16(),z=$.int16(),j=$.int16(),Y=$.int16(),G=$.int16(),E=[];for(let B=0;B<10;B++)E.push($.uint8());let w=$.uint32(),F=$.uint32(),A=$.uint32(),M=$.uint32(),L=String.fromCharCode($.uint8(),$.uint8(),$.uint8(),$.uint8()),O=$.uint16(),T=$.uint16(),v=$.uint16(),R=$.int16(),u=$.int16(),I=$.int16(),l=$.uint16(),f=$.uint16(),C={version:Q,xAvgCharWidth:Z,usWeightClass:K,usWidthClass:J,fsType:q,ySubscriptXSize:U,ySubscriptYSize:W,ySubscriptXOffset:H,ySubscriptYOffset:_,ySuperscriptXSize:N,ySuperscriptYSize:V,ySuperscriptXOffset:X,ySuperscriptYOffset:z,yStrikeoutSize:j,yStrikeoutPosition:Y,sFamilyClass:G,panose:E,ulUnicodeRange1:w,ulUnicodeRange2:F,ulUnicodeRange3:A,ulUnicodeRange4:M,achVendID:L,fsSelection:O,usFirstCharIndex:T,usLastCharIndex:v,sTypoAscender:R,sTypoDescender:u,sTypoLineGap:I,usWinAscent:l,usWinDescent:f};if(Q>=1)C.ulCodePageRange1=$.uint32(),C.ulCodePageRange2=$.uint32();if(Q>=2)C.sxHeight=$.int16(),C.sCapHeight=$.int16(),C.usDefaultChar=$.uint16(),C.usBreakChar=$.uint16(),C.usMaxContext=$.uint16();if(Q>=5)C.usLowerOpticalPointSize=$.uint16(),C.usUpperOpticalPointSize=$.uint16();return C}function FV($){return($.fsSelection&s0.Italic)!==0}function LV($){return($.fsSelection&s0.Bold)!==0}function DV($){return($.fsSelection&s0.UseTypoMetrics)!==0}function MV($){let Q=$.fsType;if((Q&i0.RestrictedLicense)!==0)return"restricted";if((Q&i0.PreviewAndPrint)!==0)return"preview";if((Q&i0.Editable)!==0)return"editable";return"installable"}var mq=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function A7($){let Q=$.uint16(),Z=$.uint16(),K=Q+Z/65536,J=$.fixed(),q=$.int16(),U=$.int16(),W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=$.uint32(),X={version:K,italicAngle:J,underlinePosition:q,underlineThickness:U,isFixedPitch:W,minMemType42:H,maxMemType42:_,minMemType1:N,maxMemType1:V};if(K===2){let z=$.uint16(),j=[];for(let w=0;w<z;w++)j.push($.uint16());let Y=[],G=0;for(let w=0;w<j.length;w++){let F=j[w];if(F>=258&&F>G)G=F}let E=G>=258?G-257:0;for(let w=0;w<E;w++){let F=$.uint8(),A=[];for(let M=0;M<F;M++)A.push(String.fromCharCode($.uint8()));Y.push(A.join(""))}X.numberOfGlyphs=z,X.glyphNameIndex=j,X.names=Y}return X}function BV($,Q){if($.version===1){let Z=mq[Q];return Z!==void 0?Z:null}if($.version===2&&$.glyphNameIndex){let Z=$.glyphNameIndex[Q];if(Z===void 0)return null;if(Z<258)return mq[Z]??null;let K=Z-258;return $.names?.[K]??null}return null}function RV($){return $.isFixedPitch!==0}var F7={PNG:"png ",JPG:"jpg ",TIFF:"tiff",PDF:"pdf ",MASK:"mask",DUPE:"dupe"};function gq($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=$.uint32(),U=[];for(let H=0;H<q;H++)U.push($.uint32());let W=[];for(let H=0;H<U.length;H++){let _=U[H],N=TV($,Z+_,Q);W.push(N)}return{version:K,flags:J,strikes:W}}function TV($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<=Z;H++)U.push(K.uint32());let W=new Map;for(let H=0;H<Z;H++){let _=U[H],N=U[H+1];if(_===void 0||N===void 0)continue;let V=N-_;if(V<=8)continue;let X=$.sliceFrom(Q+_),z=X.int16(),j=X.int16(),Y=X.tagString(),G=V-8,E=X.bytes(G);W.set(H,{originOffsetX:z,originOffsetY:j,graphicType:Y,data:E})}return{ppem:J,ppi:q,glyphData:W}}function OV($,Q,Z){let K=null,J=1/0;for(let q=0;q<$.strikes.length;q++){let U=$.strikes[q],W=Math.abs(U.ppem-Z);if(W<J)J=W,K=U}if(!K)return null;return K.glyphData.get(Q)??null}function xq($,Q){return $.strikes.find((Z)=>Z.ppem===Q)??null}function PV($){return $.strikes.map((Q)=>Q.ppem).sort((Q,Z)=>Q-Z)}function vV($,Q,Z){if(Z!==void 0)return xq($,Z)?.glyphData.has(Q)??!1;for(let K=0;K<$.strikes.length;K++)if($.strikes[K].glyphData.has(Q))return!0;return!1}function uq($,Q,Z){if(Z.graphicType!==F7.DUPE)return Z;if(Z.data.length<2)return null;let K=(Z.data[0]??0)<<8|(Z.data[1]??0),J=Q.glyphData.get(K);if(!J)return null;if(J.graphicType===F7.DUPE)return uq($,Q,J);return J}function L7($){let Q=$.uint32();if(Q!==65536&&Q!==1330926671&&Q!==1953658213)throw Error(`Invalid sfnt version: 0x${Q.toString(16).padStart(8,"0")}`);let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=new Map;for(let W=0;W<Z;W++){let H=$.tag(),_=$.uint32(),N=$.uint32(),V=$.uint32();U.set(H,{tag:H,checksum:_,offset:N,length:V})}return{sfntVersion:Q,numTables:Z,searchRange:K,entrySelector:J,rangeShift:q,tables:U}}function D7($){return $.sfntVersion===65536||$.sfntVersion===1953658213}function IV($){return $.sfntVersion===1330926671}var M7={OlderSiblingFontAttribute:1,ElidableAxisValueName:2};function fq($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.offset32(),W=$.uint16(),H=$.offset32(),_;if(Z>=1&&K>=1)_=$.uint16();let N=[];if(U!==0){let X=$.sliceFrom(Q+U);for(let z=0;z<q;z++)if(N.push({axisTag:X.tag(),axisNameID:X.uint16(),axisOrdering:X.uint16()}),J>8)X.skip(J-8)}let V=[];if(H!==0&&W>0){let X=$.sliceFrom(Q+H),z=[];for(let j=0;j<W;j++)z.push(X.uint16());for(let j=0;j<z.length;j++){let Y=z[j],G=$.sliceFrom(Q+H+Y),E=kV(G);if(E)V.push(E)}}return{majorVersion:Z,minorVersion:K,designAxisCount:q,designAxes:N,axisValueCount:W,axisValues:V,elidedFallbackNameID:_}}function kV($){switch($.uint16()){case 1:return{format:1,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed()};case 2:return{format:2,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),nominalValue:$.fixed(),rangeMinValue:$.fixed(),rangeMaxValue:$.fixed()};case 3:return{format:3,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed(),linkedValue:$.fixed()};case 4:{let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=[];for(let U=0;U<Z;U++)q.push({axisIndex:$.uint16(),value:$.fixed()});return{format:4,axisCount:Z,flags:K,valueNameID:J,axisValues:q}}default:return null}}function CV($,Q){return $.designAxes.find((Z)=>Z.axisTag===Q)??null}function SV($,Q){return $.designAxes.findIndex((Z)=>Z.axisTag===Q)}function hV($,Q){return $.axisValues.filter((Z)=>{if(Z.format===4)return Z.axisValues.some((K)=>K.axisIndex===Q);return Z.axisIndex===Q})}function yV($,Q){return $.axisValues.find((Z)=>Z.valueNameID===Q)??null}function bV($){return($.flags&M7.ElidableAxisValueName)!==0}function mV($){return($.flags&M7.OlderSiblingFontAttribute)!==0}function gV($){switch($.format){case 1:case 3:return $.value;case 2:return $.nominalValue;case 4:return null}}function xV($,Q){switch($.format){case 1:case 3:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z===$.value}case 2:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z>=$.rangeMinValue&&Z<=$.rangeMaxValue}case 4:return $.axisValues.every((Z)=>{let K=Q.get(Z.axisIndex);return K!==void 0&&K===Z.value})}}function lq($){let Q=$.uint16(),Z=$.offset32();$.skip(4);let K=$.sliceFrom(Z),J=K.uint16();if(J===0)return{version:Q,documentRecords:[]};let q=[];for(let H=0;H<J;H++)q.push({startGlyphID:K.uint16(),endGlyphID:K.uint16(),svgDocOffset:K.offset32(),svgDocLength:K.uint32()});let U=[],W=new TextDecoder("utf-8");for(let H=0;H<q.length;H++){let _=q[H],V=K.sliceFrom(_.svgDocOffset).bytes(_.svgDocLength),X;if(V[0]===31&&V[1]===139)try{let z=lV(V);X=W.decode(z)}catch{X=W.decode(V)}else X=W.decode(V);U.push({startGlyphID:_.startGlyphID,endGlyphID:_.endGlyphID,svgDoc:X})}return{version:Q,documentRecords:U}}function nq($,Q){for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];if(Q>=K.startGlyphID&&Q<=K.endGlyphID)return K.svgDoc}return null}function uV($,Q){return nq($,Q)!==null}function fV($){let Q=[];for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];for(let J=K.startGlyphID;J<=K.endGlyphID;J++)Q.push(J)}return Q}function lV($){if(typeof DecompressionStream<"u")return $;return $}function pq($){let Q=$,Z=$.uint32()/65536,K=$.uint16(),J=$.offset16(),q=$.offset16();$.skip(2);let U=null,W=null;if(J!==0)U=dq($.sliceFrom(J),Q);if(q!==0)W=dq($.sliceFrom(q),Q);return{version:Z,format:K,horizData:U,vertData:W}}function dq($,Q){let Z=$.uint16(),K=$.uint16(),J=$.offset32(),q=[];for(let H=0;H<Z;H++){let _=$.int32()/65536,N=$.uint16(),V=$.uint16();q.push({track:_,nameIndex:N,offset:V,perSizeTracking:[]})}for(let H=0;H<q.length;H++){let _=q[H],N=Q.sliceFrom(_.offset);_.perSizeTracking=[];for(let V=0;V<K;V++)_.perSizeTracking.push(N.int16())}let U=Q.sliceFrom(J),W=[];for(let H=0;H<K;H++)W.push(U.int32()/65536);return{nTracks:Z,nSizes:K,sizeTableOffset:J,trackTable:q,sizeTable:W}}function cq($,Q,Z){let K=null;for(let J=0;J<$.trackTable.length;J++){let q=$.trackTable[J];if(q.track===Q){K=q;break}}if(!K){let J=null,q=null;for(let U=0;U<$.trackTable.length;U++){let W=$.trackTable[U];if(W.track<=Q&&(!J||W.track>J.track))J=W;if(W.track>=Q&&(!q||W.track<q.track))q=W}if(J&&q&&J!==q){let U=(Q-J.track)/(q.track-J.track),W=B7($,J,Z),H=B7($,q,Z);return Math.round(W+U*(H-W))}else if(J)K=J;else if(q)K=q;else return 0}if(!K)return 0;return B7($,K,Z)}function B7($,Q,Z){let K=$.sizeTable,J=Q.perSizeTracking;if(K.length===0||J.length===0)return 0;let q=K[0],U=J[0];if(q===void 0||U===void 0)return 0;if(Z<=q)return U;let W=K[K.length-1],H=J[J.length-1];if(W===void 0||H===void 0)return 0;if(Z>=W)return H;for(let _=0;_<K.length-1;_++){let N=K[_],V=K[_+1],X=J[_],z=J[_+1];if(N===void 0||V===void 0||X===void 0||z===void 0)continue;if(Z>=N&&Z<=V){let j=(Z-N)/(V-N);return Math.round(X+j*(z-X))}}return 0}function nV($,Q,Z,K=0,J=!1){let q=J?$.vertData:$.horizData;if(!q)return;let U=cq(q,K,Z);if(U===0)return;for(let W=0;W<Q.length;W++){let H=Q[W];Q[W]=(H??0)+U}}function oq($){let Q=$.uint16(),Z=$.uint16(),K=$.fword(),J=$.fword(),q=$.fword(),U=$.uint16(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.int16(),V=$.int16(),X=$.int16();$.skip(8);let z=$.int16(),j=$.uint16();return{version:{major:Q,minor:Z},ascender:K,descender:J,lineGap:q,advanceHeightMax:U,minTopSideBearing:W,minBottomSideBearing:H,yMaxExtent:_,caretSlopeRise:N,caretSlopeRun:V,caretOffset:X,metricDataFormat:z,numberOfVMetrics:j}}function iq($,Q,Z){let K=[];for(let U=0;U<Q;U++)K.push({advanceHeight:$.uint16(),topSideBearing:$.int16()});let J=[],q=Z-Q;for(let U=0;U<q;U++)J.push($.int16());return{vMetrics:K,topSideBearings:J}}function dV($,Q){if(Q<$.vMetrics.length){let U=$.vMetrics[Q];if(U)return{advanceHeight:U.advanceHeight,topSideBearing:U.topSideBearing}}let K=$.vMetrics[$.vMetrics.length-1]?.advanceHeight??0,J=Q-$.vMetrics.length,q=$.topSideBearings[J]??0;return{advanceHeight:K,topSideBearing:q}}function sq($){let Q=$.uint16(),Z=$.uint16(),K=$.int16(),J=$.uint16(),q=[];for(let U=0;U<J;U++)q.push({glyphIndex:$.uint16(),vertOriginY:$.int16()});return q.sort((U,W)=>U.glyphIndex-W.glyphIndex),{majorVersion:Q,minorVersion:Z,defaultVertOriginY:K,vertOriginYMetrics:q}}function pV($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return U.vertOriginY;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return $.defaultVertOriginY}function cV($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return!0;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return!1}function aq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=oV($.sliceFrom(K)),_=J!==0?a0($.sliceFrom(J)):null,N=q!==0?a0($.sliceFrom(q)):null,V=U!==0?a0($.sliceFrom(U)):null,X=W!==0?a0($.sliceFrom(W)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:H,advanceHeightMapping:_,tsbMapping:N,bsbMapping:V,vOrgMapping:X}}function oV($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),z=X.uint16(),j=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(j&32768)!==0,w=j&32767,F=Y-w,A=[];for(let M=0;M<z;M++){let L=[];for(let O=0;O<w;O++)if(E)L.push(X.int32());else L.push(X.int16());for(let O=0;O<F;O++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:z,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function a0($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function iV($,Q,Z){let K=$.advanceHeightMapping,J,q;if(K&&Q<K.mapData.length){let U=K.mapData[Q];if(!U)return 0;J=U.outer,q=U.inner}else J=0,q=Q;return r0($.itemVariationStore,J,q,Z)}function sV($,Q,Z){let K=$.tsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return r0($.itemVariationStore,J.outer,J.inner,Z)}function aV($,Q,Z){let K=$.bsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return r0($.itemVariationStore,J.outer,J.inner,Z)}function rV($,Q,Z){let K=$.vOrgMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return r0($.itemVariationStore,J.outer,J.inner,Z)}function r0($,Q,Z,K){let J=$.itemVariationData[Q];if(!J||Z>=J.itemCount)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexes.length;W++){let H=J.regionIndexes[W],_=$.variationRegions[H];if(!_)continue;let N=f9(_,K),V=q[W]??0;U+=N*V}return Math.round(U)}var tV=2001684038,eV=2001684018;function rq($){return new DataView($).getUint32(0,!1)===eV}function tq($){return new DataView($).getUint32(0,!1)===tV}class N9{reader;directory;_head=null;_maxp=null;_hhea=null;_hmtx=null;_cmap=null;_gdef=void 0;_gsub=void 0;_gpos=void 0;_kern=void 0;_fvar=void 0;_hvar=void 0;_vhea=void 0;_vmtx=void 0;_morx=void 0;_gvar=void 0;_avar=void 0;_kerx=void 0;_trak=void 0;_cff=void 0;_cff2=void 0;_colr=void 0;_cpal=void 0;_vvar=void 0;_mvar=void 0;_os2=void 0;_name=void 0;_post=void 0;_base=void 0;_jstf=void 0;_math=void 0;_loca=void 0;_glyf=void 0;_svg=void 0;_vorg=void 0;_sbix=void 0;_stat=void 0;_cbdt=void 0;_cblc=void 0;_feat=void 0;_fpgm=void 0;_prep=void 0;_cvt=void 0;_gasp=void 0;constructor($,Q={}){this.reader=new p6($),this.directory=L7(this.reader)}static load($,Q){if(rq($))throw Error("WOFF2 requires async loading. Use Font.loadAsync() instead.");if(tq($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new N9($,Q)}static async loadAsync($,Q){if(rq($))$=await _J($);else if(tq($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new N9($,Q)}static async fromURL($,Q){let Z=await fetch($);if(!Z.ok)throw Error(`Failed to fetch font: ${Z.status} ${Z.statusText}`);let K=await Z.arrayBuffer();return N9.loadAsync(K,Q)}static async fromFile($,Q){let K=await Bun.file($).arrayBuffer();return N9.loadAsync(K,Q)}hasTable($){return this.directory.tables.has($)}getTableRecord($){return this.directory.tables.get($)}getTableReader($){let Q=this.directory.tables.get($);if(!Q)return null;return this.reader.slice(Q.offset,Q.length)}get head(){if(!this._head){let $=this.getTableReader(p.head);if(!$)throw Error("Missing required 'head' table");this._head=Lq($)}return this._head}get maxp(){if(!this._maxp){let $=this.getTableReader(p.maxp);if(!$)throw Error("Missing required 'maxp' table");this._maxp=hq($)}return this._maxp}get hhea(){if(!this._hhea){let $=this.getTableReader(p.hhea);if(!$)throw Error("Missing required 'hhea' table");this._hhea=Dq($)}return this._hhea}get hmtx(){if(!this._hmtx){let $=this.getTableReader(p.hmtx);if(!$)throw Error("Missing required 'hmtx' table");this._hmtx=Mq($,this.hhea.numberOfHMetrics,this.numGlyphs)}return this._hmtx}get cmap(){if(!this._cmap){let $=this.getTableRecord(p.cmap),Q=this.getTableReader(p.cmap);if(!Q||!$)throw Error("Missing required 'cmap' table");this._cmap=FJ(Q,$.length)}return this._cmap}get gdef(){if(this._gdef===void 0){let $=this.getTableReader(p.GDEF);this._gdef=$?pJ($):null}return this._gdef}get gsub(){if(this._gsub===void 0){let $=this.getTableReader(p.GSUB);this._gsub=$?jq($):null}return this._gsub}get gpos(){if(this._gpos===void 0){let $=this.getTableReader(p.GPOS);this._gpos=$?Vq($):null}return this._gpos}get kern(){if(this._kern===void 0){let $=this.getTableReader(p.kern);this._kern=$?Pq($):null}return this._kern}get fvar(){if(this._fvar===void 0){let $=this.getTableReader(p.fvar);this._fvar=$?fK($):null}return this._fvar}get hvar(){if(this._hvar===void 0){let $=this.getTableReader(p.HVAR);this._hvar=$?lK($):null}return this._hvar}get vhea(){if(this._vhea===void 0){let $=this.getTableReader(p.vhea);this._vhea=$?oq($):null}return this._vhea}get vmtx(){if(this._vmtx===void 0){let $=this.vhea;if(!$)this._vmtx=null;else{let Q=this.getTableReader(p.vmtx);this._vmtx=Q?iq(Q,$.numberOfVMetrics,this.numGlyphs):null}}return this._vmtx}get morx(){if(this._morx===void 0){let $=this.getTableReader(p.morx);this._morx=$?yq($):null}return this._morx}get gvar(){if(this._gvar===void 0){let $=this.getTableReader(p.gvar);this._gvar=$?iJ($,this.numGlyphs):null}return this._gvar}get avar(){if(this._avar===void 0){let $=this.fvar;if(!$)this._avar=null;else{let Q=this.getTableReader(p.avar);this._avar=Q?xK(Q,$.axes.length):null}}return this._avar}get kerx(){if(this._kerx===void 0){let $=this.getTableReader(p.kerx);this._kerx=$?Cq($):null}return this._kerx}get trak(){if(this._trak===void 0){let $=this.getTableReader(p.trak);this._trak=$?pq($):null}return this._trak}get cff(){if(this._cff===void 0){let $=this.getTableReader(p.CFF);this._cff=$?m5($):null}return this._cff}get cff2(){if(this._cff2===void 0){let $=this.getTableReader(p.CFF2);this._cff2=$?x5($):null}return this._cff2}get colr(){if(this._colr===void 0){let $=this.getTableReader(p.COLR);this._colr=$?l5($):null}return this._colr}get cpal(){if(this._cpal===void 0){let $=this.getTableReader(p.CPAL);this._cpal=$?n5($):null}return this._cpal}get vvar(){if(this._vvar===void 0){let $=this.getTableReader(p.VVAR);this._vvar=$?aq($):null}return this._vvar}get mvar(){if(this._mvar===void 0){let $=this.getTableReader(p.MVAR);this._mvar=$?bq($):null}return this._mvar}get os2(){if(this._os2===void 0){let $=this.getTableReader(p.OS2);this._os2=$?w7($):null}return this._os2}get name(){if(this._name===void 0){let $=this.getTableReader(p.name);this._name=$?E7($):null}return this._name}get post(){if(this._post===void 0){let $=this.getTableReader(p.post);this._post=$?A7($):null}return this._post}get base(){if(this._base===void 0){let $=this.getTableReader(p.BASE);this._base=$?b5($):null}return this._base}get jstf(){if(this._jstf===void 0){let $=this.getTableReader(p.JSTF);this._jstf=$?H7($):null}return this._jstf}get math(){if(this._math===void 0){let $=this.getTableReader(p.MATH);this._math=$?j7($):null}return this._math}get loca(){if(this._loca===void 0){let $=this.getTableReader(p.loca);this._loca=$?sJ($,this.numGlyphs,this.head.indexToLocFormat):null}return this._loca}get glyf(){if(this._glyf===void 0){let $=this.getTableReader(p.glyf);this._glyf=$?aJ($):null}return this._glyf}get svg(){if(this._svg===void 0){let $=this.getTableReader(p.SVG);this._svg=$?lq($):null}return this._svg}get vorg(){if(this._vorg===void 0){let $=this.getTableReader(p.VORG);this._vorg=$?sq($):null}return this._vorg}get sbix(){if(this._sbix===void 0){let $=this.getTableReader(p.sbix);this._sbix=$?gq($,this.numGlyphs):null}return this._sbix}get stat(){if(this._stat===void 0){let $=this.getTableReader(p.STAT);this._stat=$?fq($):null}return this._stat}get cblc(){if(this._cblc===void 0){let $=this.getTableReader(p.CBLC);this._cblc=$?zJ($):null}return this._cblc}get cbdt(){if(this._cbdt===void 0){let $=this.getTableReader(p.CBDT);this._cbdt=$?jJ($):null}return this._cbdt}get feat(){if(this._feat===void 0){let $=this.getTableReader(p.feat);this._feat=$?d5($):null}return this._feat}get fpgm(){if(this._fpgm===void 0){let $=this.getTableReader(p.fpgm);this._fpgm=$?q7($):null}return this._fpgm}get prep(){if(this._prep===void 0){let $=this.getTableReader(p.prep);this._prep=$?U7($):null}return this._prep}get cvtTable(){if(this._cvt===void 0){let $=this.getTableReader(p.cvt);this._cvt=$?W7($):null}return this._cvt}get gasp(){if(this._gasp===void 0){let $=this.getTableReader(p.gasp);this._gasp=$?p5($):null}return this._gasp}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get ascender(){return this.hhea.ascender}get descender(){return this.hhea.descender}get lineGap(){return this.hhea.lineGap}get isTrueType(){return D7(this.directory)}get isCFF(){return this.hasTable(p.CFF)||this.hasTable(p.CFF2)}get isVariable(){return this.hasTable(p.fvar)}get hasOpenTypeLayout(){return this.hasTable(p.GSUB)||this.hasTable(p.GPOS)}get hasAATLayout(){return this.hasTable(p.morx)||this.hasTable(p.kerx)}get isColorFont(){return this.hasTable(p.COLR)||this.hasTable(p.SVG)||this.hasTable(p.sbix)||this.hasTable(p.CBDT)}get hasHinting(){return this.isTrueType&&(this.hasTable(p.fpgm)||this.hasTable(p.prep))}glyphId($){return LJ(this.cmap,$)}glyphIdForChar($){let Q=$.codePointAt(0);if(Q===void 0)return 0;return this.glyphId(Q)}advanceWidth($){return Bq(this.hmtx,$)}leftSideBearing($){return Rq(this.hmtx,$)}listTables(){return[...this.directory.tables.keys()].map(R9)}getGlyph($){if(!this.glyf||!this.loca)return null;return A8(this.glyf,this.loca,$)}getGlyphContours($){if(this.glyf&&this.loca)return eJ(this.glyf,this.loca,$);if(this.cff)return g5(this.cff,$,0);if(this.cff2)return u0(this.cff2,$,null);return null}getGlyphBounds($){if(this.glyf&&this.loca)return Qq(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q||Q.length===0)return null;let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let U=0;U<Q.length;U++){let W=Q[U];for(let H=0;H<W.length;H++){let _=W[H];Z=Math.min(Z,_.x),K=Math.min(K,_.y),J=Math.max(J,_.x),q=Math.max(q,_.y)}}if(Z===1/0)return null;return{xMin:Z,yMin:K,xMax:J,yMax:q}}getGlyphContoursAndBounds($){if(this.glyf&&this.loca)return $q(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q)return null;if(Q.length===0)return{contours:Q,bounds:null};let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let W=0;W<Q.length;W++){let H=Q[W];for(let _=0;_<H.length;_++){let N=H[_];Z=Math.min(Z,N.x),K=Math.min(K,N.y),J=Math.max(J,N.x),q=Math.max(q,N.y)}}return{contours:Q,bounds:Z===1/0?null:{xMin:Z,yMin:K,xMax:J,yMax:q}}}getGlyphContoursWithVariation($,Q){if(this.glyf&&this.loca)return Jq(this.glyf,this.loca,this.gvar,$,Q);if(this.cff2)return u0(this.cff2,$,Q);return this.getGlyphContours($)}}var $U;((K)=>{K.Shrink="shrink";K.Extend="extend";K.Auto="auto"})($U||={});function t0($){let Q=0;for(let Z=0;Z<$.positions.length;Z++){let K=$.positions[Z];Q+=K.xAdvance}return Q}function QU($,Q,Z){let{targetWidth:K,script:J=k("DFLT"),language:q,mode:U="auto",maxPriority:W=10,enableKashida:H=!0,minWordSpacingFactor:_=0.8,maxWordSpacingFactor:N=1.5,enableLetterSpacing:V=!0,maxLetterSpacing:X=100}=Z,z=t0(Q),j=K-z;if(Math.abs(j)<1)return{success:!0,finalWidth:z,delta:0,priorityLevel:0,adjustments:[]};let Y;if(U==="auto")Y=j>0?"extend":"shrink";else Y=U;let G=[],E=j,w=0,F=$.jstf;if(F){let L=N7(F,J,q);for(let O=0;O<Math.min(L.length,W);O++){let T=L[O],v=Y==="shrink"?V7(T):X7(T);if(v.enableGsub.length>0||v.disableGsub.length>0||v.enableGpos.length>0||v.disableGpos.length>0)G.push({type:"lookup",glyphIndices:[],value:O}),w=O}if(H&&Y==="extend"){let O=_7(F,J);if(O.length>0){let T=$X(Q,O[0],E,$);E-=T.totalExtension,G.push(...T.adjustments)}}}let A=$.glyphId(32);if(A!==0){let L=ZX(Q,A,E,Y==="shrink"?_:N);E-=L.totalAdjustment,G.push(...L.adjustments)}if(V&&Math.abs(E)>1){let L=KX(Q,E,X);E-=L.totalAdjustment,G.push(...L.adjustments)}let M=t0(Q);return{success:Math.abs(E)<1,finalWidth:M,delta:K-M,priorityLevel:w,adjustments:G}}function $X($,Q,Z,K){let J=[],q=0,U=[];for(let N=0;N<$.infos.length-1;N++){let V=$.infos[N];if(QX(V.codepoint))U.push(N)}if(U.length===0)return{totalExtension:0,adjustments:[]};let W=K.advanceWidth(Q);if(W<=0)return{totalExtension:0,adjustments:[]};let H=Math.ceil(Z/W/U.length),_=Math.min(H*W,Z/U.length);for(let N=0;N<U.length;N++){if(q>=Z)break;let V=U[N];$.positions[V].xAdvance+=_,q+=_,J.push({type:"kashida",glyphIndices:[V],value:_})}return{totalExtension:q,adjustments:J}}function QX($){return $>=1568&&$<=1791}function ZX($,Q,Z,K){let J=[],q=0,U=[],W=0;for(let X=0;X<$.infos.length;X++)if($.infos[X]?.glyphId===Q)U.push(X),W+=$.positions[X]?.xAdvance;if(U.length===0)return{totalAdjustment:0,adjustments:[]};let H=Z/U.length,N=W/U.length*(K-1),V=Z>0?Math.min(H,N):Math.max(H,-N);for(let X=0;X<U.length;X++){let z=U[X];$.positions[z].xAdvance+=V,q+=V}if(q!==0)J.push({type:"spacing",glyphIndices:U,value:V});return{totalAdjustment:q,adjustments:J}}function KX($,Q,Z){let K=[],J=$.infos.length;if(J<=1)return{totalAdjustment:0,adjustments:[]};let q=J-1,U=Q/q,W=Q>0?Math.min(U,Z):Math.max(U,-Z),H=[],_=0;for(let N=0;N<J-1;N++)$.positions[N].xAdvance+=W,_+=W,H.push(N);if(_!==0)K.push({type:"spacing",glyphIndices:H,value:W});return{totalAdjustment:_,adjustments:K}}function JX($,Q,Z){let K=[],J=[];if($.infos.length===0)return{lines:[],breakPoints:[]};let q=0,U=0,W=-1,H=0;for(let _=0;_<$.infos.length;_++){let N=$.positions[_],V=$.infos[_];if(U+=N.xAdvance,Z!==void 0&&V.glyphId===Z)W=_,H=U;if(U>Q&&q<_){let X;if(W>q)X=W+1;else X=_;let z=eq($,q,X);K.push(z),J.push(X),q=X,U=0,W=-1;for(let j=q;j<=_;j++)U+=$.positions[j]?.xAdvance}}if(q<$.infos.length){let _=eq($,q,$.infos.length);K.push(_)}return{lines:K,breakPoints:J}}function eq($,Q,Z){let K=new R8;K.direction=$.direction,K.script=$.script,K.language=$.language;for(let J=Q;J<Z;J++)K.infos.push({...$.infos[J]}),K.positions.push({...$.positions[J]});return K}function qX($,Q,Z){let K=[];for(let J=0;J<Q.length;J++){let q=Q[J];if(J===Q.length-1)K.push({success:!0,finalWidth:t0(q),delta:0,priorityLevel:0,adjustments:[]});else K.push(QU($,q,Z))}return K}function ZU($,Q){for(let Z=0;Z<$.conditions.length;Z++){let K=$.conditions[Z],J=Q[K.axisIndex]??0;if(J<K.filterRangeMinValue||J>K.filterRangeMaxValue)return!1}return!0}function e9($,Q){for(let Z=0;Z<$.featureVariationRecords.length;Z++){let K=$.featureVariationRecords[Z];if(ZU(K.conditionSet,Q))return K}return null}function UX($,Q,Z,K){if(!$||!K)return Z;let J=e9($,K);if(!J)return Z;let q=J.featureTableSubstitution.substitutions.find((U)=>U.featureIndex===Q);if(q)return q.alternateFeature.lookupListIndices;return Z}function WX($,Q,Z,K){if(!$||!K)return Q;let J=e9($,K);if(!J)return Q;let q=new Map(Q),U=J.featureTableSubstitution.substitutions;for(let W=0;W<U.length;W++){let H=U[W],_=[...Z.entries()];for(let N=0;N<_.length;N++){let[V,X]=_[N];if(X===H.featureIndex){q.set(V,H.alternateFeature.lookupListIndices);break}}}return q}z6();var HX=[0,85,86,85,0],KU=[8,77,86,77,8],_X=[0,64,128,64,0],JU;((J)=>{J[J.RGB=0]="RGB";J[J.BGR=1]="BGR";J[J.RGB_V=2]="RGB_V";J[J.BGR_V=3]="BGR_V"})(JU||={});function NX($,Q,Z,K,J,q,U=0,W=KU){if(U===2||U===3)return VX($,Q,Z,K,J,q,U,W);let _=Q*3,N=r(_,Z,1),V=new c8;V.setClip(0,0,_,Z),V.reset(),X8(V,$,K*3,J*3,q,!0),V.sweep(N);let X=r(Q,Z,2);return XX(N,X,W,U===1),X}function VX($,Q,Z,K,J,q,U,W){let H=Z*3,_=r(Q,H,1),N=new c8;N.setClip(0,0,Q,H),N.reset(),X8(N,$,K,J,q*3,!0),N.sweep(_);let V=r(Q,Z,3);return zX(_,V,W,U===3),V}function XX($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*$.pitch,X=N*Q.pitch;for(let z=0;z<Q.width;z++){let j=z*3,Y=j-2>=0?$.buffer[V+j-2]:0,G=j-1>=0?$.buffer[V+j-1]:0,E=$.buffer[V+j],w=j+1<$.width?$.buffer[V+j+1]:0,F=j+2<$.width?$.buffer[V+j+2]:0,A=Math.min(255,Math.round((Y*J+G*q+E*U+w*W+F*H)/_)),M=j-1>=0?$.buffer[V+j-1]:0,L=$.buffer[V+j],O=j+1<$.width?$.buffer[V+j+1]:0,T=j+2<$.width?$.buffer[V+j+2]:0,v=j+3<$.width?$.buffer[V+j+3]:0,R=Math.min(255,Math.round((M*J+L*q+O*U+T*W+v*H)/_)),u=$.buffer[V+j],I=j+1<$.width?$.buffer[V+j+1]:0,l=j+2<$.width?$.buffer[V+j+2]:0,f=j+3<$.width?$.buffer[V+j+3]:0,C=j+4<$.width?$.buffer[V+j+4]:0,B=Math.min(255,Math.round((u*J+I*q+l*U+f*W+C*H)/_)),y=X+z*3;if(K)Q.buffer[y]=B,Q.buffer[y+1]=R,Q.buffer[y+2]=A;else Q.buffer[y]=A,Q.buffer[y+1]=R,Q.buffer[y+2]=B}}}function zX($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*3,X=N*Q.pitch;for(let z=0;z<Q.width;z++){let j=V-2>=0?$.buffer[(V-2)*$.pitch+z]:0,Y=V-1>=0?$.buffer[(V-1)*$.pitch+z]:0,G=$.buffer[V*$.pitch+z],E=V+1<$.rows?$.buffer[(V+1)*$.pitch+z]:0,w=V+2<$.rows?$.buffer[(V+2)*$.pitch+z]:0,F=Math.min(255,Math.round((j*J+Y*q+G*U+E*W+w*H)/_)),A=V-1>=0?$.buffer[(V-1)*$.pitch+z]:0,M=$.buffer[V*$.pitch+z],L=V+1<$.rows?$.buffer[(V+1)*$.pitch+z]:0,O=V+2<$.rows?$.buffer[(V+2)*$.pitch+z]:0,T=V+3<$.rows?$.buffer[(V+3)*$.pitch+z]:0,v=Math.min(255,Math.round((A*J+M*q+L*U+O*W+T*H)/_)),R=$.buffer[V*$.pitch+z],u=V+1<$.rows?$.buffer[(V+1)*$.pitch+z]:0,I=V+2<$.rows?$.buffer[(V+2)*$.pitch+z]:0,l=V+3<$.rows?$.buffer[(V+3)*$.pitch+z]:0,f=V+4<$.rows?$.buffer[(V+4)*$.pitch+z]:0,C=Math.min(255,Math.round((R*J+u*q+I*U+l*W+f*H)/_)),B=X+z*3;if(K)Q.buffer[B]=C,Q.buffer[B+1]=v,Q.buffer[B+2]=F;else Q.buffer[B]=F,Q.buffer[B+1]=v,Q.buffer[B+2]=C}}}function jX($,Q=[255,255,255],Z=[0,0,0]){let K=new Uint8Array($.width*$.rows*4),[J,q,U]=Q,[W,H,_]=Z;for(let N=0;N<$.rows;N++){let V=N*$.pitch,X=N*$.width*4;for(let z=0;z<$.width;z++){let j=V+z*3,Y=X+z*4,G=$.buffer[j],E=$.buffer[j+1],w=$.buffer[j+2];K[Y]=R7(J,W,G),K[Y+1]=R7(q,H,E),K[Y+2]=R7(U,_,w),K[Y+3]=255}}return K}function R7($,Q,Z){return Math.round($+(Q-$)*Z/255)}z6();var HU;((J)=>{J[J.None=0]="None";J[J.Decompose=1]="Decompose";J[J.Compose=2]="Compose";J[J.Auto=3]="Auto"})(HU||={});function W8($){if($<768)return 0;if($>=880&&$<1328)return 0;if($>=12288){if($>=44032&&$<=55215)return 0;if($>=19968&&$<=40959)return 0;if($>=13312&&$<=19903)return 0;if($>=12352&&$<12441)return 0;if($>=12443&&$<=12543)return 0;if($>=12544&&$<=12591)return 0;if($>=12800&&$<=13055)return 0}if($>=768&&$<=879)return FX($);if($>=1425&&$<=1469)return wX($);if($===1471)return 23;if($===1473)return 24;if($===1474)return 25;if($===1476)return 230;if($===1477)return 220;if($===1479)return 18;if($>=1611&&$<=1631)return AX($);if($===1648)return 35;if($>=1552&&$<=1562)return 230;if($>=1750&&$<=1756)return 230;if($>=1759&&$<=1764)return 230;if($>=1767&&$<=1768)return 230;if($>=1770&&$<=1773)return 220;if($===2260)return 230;if($>=2275&&$<=2303)return 220;if($===2364)return 7;if($===2381)return 9;if($>=2385&&$<=2388)return 230;if($===2389)return 0;if($>=2390&&$<=2391)return 0;if($===2492)return 7;if($===2509)return 9;if($===2558)return 230;if($===2620)return 7;if($===2637)return 9;if($===2748)return 7;if($===2765)return 9;if($===2876)return 7;if($===2893)return 9;if($===3021)return 9;if($===3149)return 9;if($===3157)return 84;if($===3158)return 91;if($===3260)return 7;if($===3277)return 9;if($===3405)return 9;if($===3530)return 9;if($>=3633&&$<=3642)return 0;if($>=3655&&$<=3662)return qU($);if($>=3761&&$<=3772)return 0;if($>=3784&&$<=3789)return qU($);if($>=3864&&$<=3865)return 220;if($===3893)return 220;if($===3895)return 220;if($===3897)return 216;if($>=3953&&$<=3966)return UU($);if($>=3968&&$<=3972)return UU($);if($>=3974&&$<=3975)return 230;if($===4151)return 7;if($===4153)return 9;if($===4154)return 9;if($>=12330&&$<=12335)return YX($);if($>=12441&&$<=12442)return 8;if($>=6832&&$<=6911)return GX($);if($>=7616&&$<=7679)return EX($);if($>=65056&&$<=65071)return 230;return 0}function qU($){if($>=3656&&$<=3659)return 107;if($===3660)return 0;if($===3661)return 0;if($===3662)return 0;if($>=3784&&$<=3787)return 122;return 0}function UU($){if($===3953)return 129;if($===3954)return 130;if($===3955)return 0;if($===3956)return 132;if($===3957)return 0;if($===3958)return 0;if($===3959)return 0;if($===3960)return 0;if($===3961)return 0;if($===3962)return 130;if($===3963)return 130;if($===3964)return 130;if($===3965)return 130;if($===3966)return 0;if($===3968)return 130;if($===3969)return 0;if($===3970)return 230;if($===3971)return 230;return 9}function YX($){if($===12330)return 218;if($===12331)return 228;if($===12332)return 232;if($===12333)return 222;if($===12334)return 224;return 224}function GX($){if($>=6832&&$<=6846)return 230;if($===6847)return 220;if($===6848)return 220;return 230}function EX($){if($>=7616&&$<=7617)return 230;if($===7618)return 220;if($>=7619&&$<=7626)return 230;if($===7627)return 230;if($===7628)return 230;if($===7629)return 234;if($===7630)return 214;if($===7631)return 220;if($===7632)return 202;if($>=7633&&$<=7669)return 230;if($>=7670&&$<=7672)return 232;if($===7673)return 220;if($===7674)return 218;return 230}function wX($){if($>=1425&&$<=1441)return 220;if($>=1442&&$<=1455)return 230;if($>=1456&&$<=1465){if($===1456)return 10;if($===1457)return 11;if($===1458)return 12;if($===1459)return 13;if($===1460)return 14;if($===1461)return 15;if($===1462)return 16;if($===1463)return 17;if($===1464)return 18;return 19}if($===1466)return 19;if($===1467)return 20;if($===1468)return 21;return 22}function AX($){if($===1611)return 27;if($===1612)return 28;if($===1613)return 29;if($===1614)return 30;if($===1615)return 31;if($===1616)return 32;if($===1617)return 33;if($===1618)return 34;if($>=1619&&$<=1621)return 230;if($===1622)return 220;if($===1623)return 230;if($===1624)return 230;return 230}function FX($){if($>=768&&$<=788)return 230;if($>=789&&$<=789)return 232;if($>=790&&$<=793)return 220;if($>=794&&$<=794)return 232;if($>=795&&$<=795)return 216;if($>=796&&$<=800)return 220;if($>=801&&$<=802)return 202;if($>=803&&$<=806)return 220;if($>=807&&$<=808)return 202;if($>=809&&$<=819)return 220;if($>=820&&$<=824)return 1;if($>=825&&$<=828)return 220;if($>=829&&$<=836)return 230;if($===837)return 240;if($>=838&&$<=846)return 230;if($===847)return 0;if($>=848&&$<=850)return 230;if($>=851&&$<=854)return 220;if($>=855&&$<=856)return 230;if($>=857&&$<=858)return 220;if($>=859&&$<=859)return 230;if($>=860&&$<=860)return 233;if($>=861&&$<=862)return 234;if($>=863&&$<=863)return 233;if($>=864&&$<=865)return 234;if($>=866&&$<=866)return 233;if($>=867&&$<=879)return 230;return 0}function e0($){let Q=$.length,Z=1;while(Z<Q){let K=$[Z];if(!K){Z++;continue}let J=W8(K.codepoint);if(J===0){Z++;continue}let q=Z;while(q>0){let U=$[q-1];if(!U)break;let W=W8(U.codepoint);if(W===0)break;if(W<=J)break;$[q]=U,$[q-1]=K,q--}Z++}}var LX=new Map([[192,[65,768]],[193,[65,769]],[194,[65,770]],[195,[65,771]],[196,[65,776]],[197,[65,778]],[199,[67,807]],[200,[69,768]],[201,[69,769]],[202,[69,770]],[203,[69,776]],[204,[73,768]],[205,[73,769]],[206,[73,770]],[207,[73,776]],[209,[78,771]],[210,[79,768]],[211,[79,769]],[212,[79,770]],[213,[79,771]],[214,[79,776]],[217,[85,768]],[218,[85,769]],[219,[85,770]],[220,[85,776]],[221,[89,769]],[224,[97,768]],[225,[97,769]],[226,[97,770]],[227,[97,771]],[228,[97,776]],[229,[97,778]],[231,[99,807]],[232,[101,768]],[233,[101,769]],[234,[101,770]],[235,[101,776]],[236,[105,768]],[237,[105,769]],[238,[105,770]],[239,[105,776]],[241,[110,771]],[242,[111,768]],[243,[111,769]],[244,[111,770]],[245,[111,771]],[246,[111,776]],[249,[117,768]],[250,[117,769]],[251,[117,770]],[252,[117,776]],[253,[121,769]],[255,[121,776]],[256,[65,772]],[257,[97,772]],[258,[65,774]],[259,[97,774]],[260,[65,808]],[261,[97,808]],[262,[67,769]],[263,[99,769]],[264,[67,770]],[265,[99,770]],[266,[67,775]],[267,[99,775]],[268,[67,780]],[269,[99,780]],[270,[68,780]],[271,[100,780]],[274,[69,772]],[275,[101,772]],[276,[69,774]],[277,[101,774]],[278,[69,775]],[279,[101,775]],[280,[69,808]],[281,[101,808]],[282,[69,780]],[283,[101,780]],[284,[71,770]],[285,[103,770]],[286,[71,774]],[287,[103,774]],[288,[71,775]],[289,[103,775]],[290,[71,807]],[291,[103,807]],[292,[72,770]],[293,[104,770]],[296,[73,771]],[297,[105,771]],[298,[73,772]],[299,[105,772]],[300,[73,774]],[301,[105,774]],[302,[73,808]],[303,[105,808]],[304,[73,775]],[308,[74,770]],[309,[106,770]],[310,[75,807]],[311,[107,807]],[313,[76,769]],[314,[108,769]],[315,[76,807]],[316,[108,807]],[317,[76,780]],[318,[108,780]],[323,[78,769]],[324,[110,769]],[325,[78,807]],[326,[110,807]],[327,[78,780]],[328,[110,780]],[332,[79,772]],[333,[111,772]],[334,[79,774]],[335,[111,774]],[336,[79,779]],[337,[111,779]],[340,[82,769]],[341,[114,769]],[342,[82,807]],[343,[114,807]],[344,[82,780]],[345,[114,780]],[346,[83,769]],[347,[115,769]],[348,[83,770]],[349,[115,770]],[350,[83,807]],[351,[115,807]],[352,[83,780]],[353,[115,780]],[354,[84,807]],[355,[116,807]],[356,[84,780]],[357,[116,780]],[360,[85,771]],[361,[117,771]],[362,[85,772]],[363,[117,772]],[364,[85,774]],[365,[117,774]],[366,[85,778]],[367,[117,778]],[368,[85,779]],[369,[117,779]],[370,[85,808]],[371,[117,808]],[372,[87,770]],[373,[119,770]],[374,[89,770]],[375,[121,770]],[376,[89,776]],[377,[90,769]],[378,[122,769]],[379,[90,775]],[380,[122,775]],[381,[90,780]],[382,[122,780]],[7840,[65,803]],[7841,[97,803]],[7842,[65,777]],[7843,[97,777]],[7864,[69,803]],[7865,[101,803]],[7866,[69,777]],[7867,[101,777]],[7868,[69,771]],[7869,[101,771]],[7880,[73,777]],[7881,[105,777]],[7882,[73,803]],[7883,[105,803]],[7884,[79,803]],[7885,[111,803]],[7886,[79,777]],[7887,[111,777]],[7908,[85,803]],[7909,[117,803]],[7910,[85,777]],[7911,[117,777]],[7922,[89,768]],[7923,[121,768]],[7924,[89,803]],[7925,[121,803]],[7926,[89,777]],[7927,[121,777]],[7928,[89,771]],[7929,[121,771]],[7936,[945,787]],[7937,[945,788]],[7944,[913,787]],[7945,[913,788]],[1081,[1080,774]],[1049,[1048,774]],[1105,[1077,776]],[1025,[1045,776]]]);function $1($){return LX.get($)??null}var DX=new Map([[65,new Map([[768,192],[769,193],[770,194],[771,195],[776,196],[778,197],[808,260],[780,461],[772,256],[774,258]])],[67,new Map([[807,199],[769,262],[770,264],[780,268],[775,266]])],[69,new Map([[768,200],[769,201],[770,202],[776,203],[808,280],[780,282],[772,274],[774,276],[775,278]])],[73,new Map([[768,204],[769,205],[770,206],[776,207],[771,296],[772,298],[774,300],[808,302],[775,304]])],[78,new Map([[771,209],[769,323],[807,325],[780,327]])],[79,new Map([[768,210],[769,211],[770,212],[771,213],[776,214],[772,332],[774,334],[779,336],[808,490]])],[85,new Map([[768,217],[769,218],[770,219],[776,220],[771,360],[772,362],[774,364],[778,366],[779,368],[808,370],[780,467]])],[89,new Map([[769,221],[770,374],[776,376]])],[97,new Map([[768,224],[769,225],[770,226],[771,227],[776,228],[778,229],[808,261],[780,462],[772,257],[774,259]])],[99,new Map([[807,231],[769,263],[770,265],[780,269],[775,267]])],[101,new Map([[768,232],[769,233],[770,234],[776,235],[808,281],[780,283],[772,275],[774,277],[775,279]])],[105,new Map([[768,236],[769,237],[770,238],[776,239],[771,297],[772,299],[774,301],[808,303]])],[110,new Map([[771,241],[769,324],[807,326],[780,328]])],[111,new Map([[768,242],[769,243],[770,244],[771,245],[776,246],[772,333],[774,335],[779,337],[808,491]])],[117,new Map([[768,249],[769,250],[770,251],[776,252],[771,361],[772,363],[774,365],[778,367],[779,369],[808,371],[780,468]])],[121,new Map([[769,253],[776,255],[770,375]])],[83,new Map([[769,346],[770,348],[807,350],[780,352]])],[115,new Map([[769,347],[770,349],[807,351],[780,353]])],[90,new Map([[769,377],[775,379],[780,381]])],[122,new Map([[769,378],[775,380],[780,382]])]]);function WU($,Q){let Z=DX.get($);if(!Z)return null;return Z.get(Q)??null}function MX($){if($.length===0)return $;let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(W8(K.codepoint)===0){let q=K.codepoint,U=0,W=Z+1;while(W<$.length){let H=$[W],_=W8(H.codepoint);if(_===0)break;if(_>U||U===0){let N=WU(q,H.codepoint);if(N!==null){q=N,W++;continue}}U=_,W++}Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:q});for(let H=Z+1;H<W;H++){let _=$[H];if(!_)continue;let N=W8(_.codepoint);if(WU(q,_.codepoint)===null&&N!==0)Q.push(_)}Z=W}else Q.push(K),Z++}return Q}function BX($,Q){if(Q===0)return $;if(Q===1){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=$1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return e0(Z),Z}if(Q===2){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=$1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return e0(Z),MX(Z)}if(Q===3){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=$1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return e0(Z),Z}return $}function RX($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];if(!Z)continue;let K=Z.codepoint;if(K>=768&&K<880)return!0;if(K>=1425&&K<1480)return!0;if(K>=1552&&K<2304)return!0;if(K>=2364&&K<2416)return!0;if(K>=2492&&K<2559)return!0;if(K>=2620&&K<2677)return!0;if(K>=2748&&K<2815)return!0;if(K>=2876&&K<2928)return!0;if(K>=3021&&K<3032)return!0;if(K>=3149&&K<3184)return!0;if(K>=3260&&K<3327)return!0;if(K>=3405&&K<3440)return!0;if(K>=3530&&K<3573)return!0;if(K>=3633&&K<3664)return!0;if(K>=3761&&K<3792)return!0;if(K>=3864&&K<3976)return!0;if(K>=4151&&K<4155)return!0;if(K>=6832&&K<6912)return!0;if(K>=7616&&K<7680)return!0;if(K>=12330&&K<12336)return!0;if(K>=12441&&K<12443)return!0;if(K>=65056&&K<65072)return!0}return!1}function T7($,Q,Z){if(!RX(Q))return;let K=new Map,J=(q)=>{let U=K.get(q);if(U===void 0)U=$.gdef?U8($.gdef,q):0,K.set(q,U);return U};for(let q=0;q<Q.length;q++){let U=Q[q],W=Z[q],H=J(U.glyphId),_=W8(U.codepoint);if(H!==3&&_===0)continue;let N=-1;for(let j=q-1;j>=0;j--){let Y=Q[j],G=J(Y.glyphId),E=W8(Y.codepoint);if(G===1||G===0&&E===0){N=j;break}}if(N<0)continue;let V=Q[N],X=Z[N],z=$.advanceWidth(V.glyphId);TX($,U,W,V,X,z,_),W.xAdvance=0,W.yAdvance=0}}function TX($,Q,Z,K,J,q,U){let W=$.advanceWidth(Q.glyphId),H=$.unitsPerEm,_=(q-W)/2,N=0;if(U>=200&&U<=240)N=H*0.7,_=(q-W)/2;else if(U>=202&&U<=220)N=-H*0.15,_=(q-W)/2;else if(U===1)_=(q-W)/2,N=H*0.3;else if(U>=7&&U<=9)N=-H*0.1,_=(q-W)/2;else if(U>=10&&U<=35){if(U<=22)N=-H*0.2;else N=U<30?-H*0.15:H*0.6;_=(q-W)/2}Z.xOffset=J.xOffset+_-q,Z.yOffset=J.yOffset+N}function O7($,Q,Z){if(!$.kern)return;for(let J=0;J<Q.length-1;J++){let q=Q[J],U=Q[J+1];if(!q||!U)continue;let W=Z[J];if(!W)continue;let H=$.gdef?U8($.gdef,q.glyphId):0,_=$.gdef?U8($.gdef,U.glyphId):0;if(H===3||_===3)continue;let N=OX($,q.glyphId,U.glyphId);if(N!==0)W.xAdvance+=N}}function OX($,Q,Z){let K=$.kern;if(!K)return 0;return z7(K,Q,Z)}function _U($,Q=!0){if($<1||$>20)throw Error(`Stylistic set number must be 1-20, got ${$}`);let Z=`ss${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function PX($,Q=!0){return $.map((Z)=>_U(Z,Q))}function NU($,Q=!0){if($<1||$>99)throw Error(`Character variant number must be 1-99, got ${$}`);let Z=`cv${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function vX($,Q=!0){return $.map((Z)=>NU(Z,Q))}function IX($=!0){return{tag:k("liga"),enabled:$}}function kX($=!0){return{tag:k("dlig"),enabled:$}}function CX($=!0){return{tag:k("hlig"),enabled:$}}function SX($=!0){return{tag:k("calt"),enabled:$}}function hX($=!0){return{tag:k("salt"),enabled:$}}function yX($=!0){return{tag:k("swsh"),enabled:$}}function VU($=!0){return{tag:k("smcp"),enabled:$}}function XU($=!0){return{tag:k("c2sc"),enabled:$}}function bX($=!0){return{tag:k("pcap"),enabled:$}}function mX($=!0){return[VU($),XU($)]}function gX($=!0){return{tag:k("onum"),enabled:$}}function xX($=!0){return{tag:k("lnum"),enabled:$}}function uX($=!0){return{tag:k("pnum"),enabled:$}}function fX($=!0){return{tag:k("tnum"),enabled:$}}function lX($=!0){return{tag:k("frac"),enabled:$}}function nX($=!0){return{tag:k("ordn"),enabled:$}}function dX($=!0){return{tag:k("zero"),enabled:$}}function pX($=!0){return{tag:k("sups"),enabled:$}}function cX($=!0){return{tag:k("subs"),enabled:$}}function oX($=!0){return{tag:k("sinf"),enabled:$}}function iX($=!0){return{tag:k("case"),enabled:$}}function sX($=!0){return{tag:k("cpsp"),enabled:$}}function aX($=!0){return{tag:k("kern"),enabled:$}}function zU($=!0){return{tag:k("vert"),enabled:$}}function jU($=!0){return{tag:k("vrt2"),enabled:$}}function YU($=!0){return{tag:k("vkna"),enabled:$}}function rX($=!0){return[zU($),jU($),YU($)]}function tX($=!0){return{tag:k("ruby"),enabled:$}}function eX($=!0){return{tag:k("hwid"),enabled:$}}function $z($=!0){return{tag:k("fwid"),enabled:$}}function Qz($=!0){return{tag:k("pwid"),enabled:$}}function Zz($=!0){return{tag:k("qwid"),enabled:$}}function Kz($=!0){return{tag:k("twid"),enabled:$}}function Jz($=!0){return{tag:k("jp78"),enabled:$}}function qz($=!0){return{tag:k("jp83"),enabled:$}}function Uz($=!0){return{tag:k("jp90"),enabled:$}}function Wz($=!0){return{tag:k("jp04"),enabled:$}}function Hz($=!0){return{tag:k("smpl"),enabled:$}}function _z($=!0){return{tag:k("trad"),enabled:$}}function GU($,Q=!0){return{tag:k($),enabled:Q}}function Nz($,Q=!0){return $.map((Z)=>GU(Z,Q))}function Vz(...$){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z];if(Array.isArray(K))Q.push(...K);else Q.push(K)}return Q}var EU=new WeakMap,Xz=64,wU=["ccmp","locl","rlig","rclt","calt","liga"],AU=["kern","mark","mkmk"];function zz($,Q,Z,K,J){if(K.length===0&&J===null)return Q===null?`${$}||${Z}||`:`${$}|${Q}|${Z}||`;let q=K.map((W)=>`${R9(W.tag)}:${W.enabled?"1":"0"}`).sort().join(","),U=J?J.map((W)=>W.toFixed(4)).join(","):"";return`${$}|${Q||""}|${Z}|${q}|${U}`}function Q1($,Q,Z,K,J=[],q=null){let U=zz(Q,Z,K,J,q),W=EU.get($);if(!W)W=new Map,EU.set($,W);let H=W.get(U);if(H)return H;let _=Yz($,Q,Z,K,J,q);if(W.size>=Xz){let N=W.keys().next().value;if(N!==void 0)W.delete(N)}return W.set(U,_),_}function jz($,Q,Z,K,J=[],q=null){return Q1($,Q,Z,K,J,q)}function Yz($,Q,Z,K,J=[],q=null){let U=k(Q.padEnd(4," ")),W=Z?k(Z.padEnd(4," ")):null,H=new Set;for(let z=0;z<wU.length;z++)H.add(k(wU[z]));for(let z=0;z<AU.length;z++)H.add(k(AU[z]));for(let z=0;z<J.length;z++){let j=J[z];if(j.enabled)H.add(j.tag);else H.delete(j.tag)}let _=FU($.gsub,U,W,H,q),N=FU($.gpos,U,W,H,q),V=new Map;for(let z=0;z<_.length;z++){let j=_[z];V.set(j.index,j)}let X=new Map;for(let z=0;z<N.length;z++){let j=N[z];X.set(j.index,j)}return{script:U,language:W,direction:K,gsubLookups:_,gposLookups:N,gsubLookupMap:V,gposLookupMap:X}}function FU($,Q,Z,K,J){if(!$)return[];let q=$,U=new Set,W=i9(q.scriptList,Q);if(!W)W=i9(q.scriptList,k("DFLT"));if(!W)W=i9(q.scriptList,k("latn"));if(!W)return[];let H=i5(W,Z);if(!H)return[];let _=q.featureVariations,N=_&&J?e9(_,J):null,V=new Map;if(N){let Y=N.featureTableSubstitution.substitutions;for(let G=0;G<Y.length;G++){let E=Y[G];V.set(E.featureIndex,E.alternateFeature.lookupListIndices)}}if(H.requiredFeatureIndex!==65535){let Y=p0(q.featureList,H.requiredFeatureIndex);if(Y){let E=V.get(H.requiredFeatureIndex)??Y.feature.lookupListIndices;for(let w=0;w<E.length;w++)U.add(E[w])}}let X=H.featureIndices;for(let Y=0;Y<X.length;Y++){let G=X[Y],E=p0(q.featureList,G);if(!E)continue;if(K.has(E.featureTag)){let F=V.get(G)??E.feature.lookupListIndices;for(let A=0;A<F.length;A++)U.add(F[A])}}let z=[],j=[...U].sort((Y,G)=>Y-G);for(let Y=0;Y<j.length;Y++){let G=j[Y],E=q.lookups[G];if(E)z.push({index:G,lookup:E})}return z}var Gz=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,1,2,1,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,1,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,5,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,1,1,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,2]);var $0=0,LU=1,P7=2,DU=3,I7=4,Z1=5;function v7($){if($>=1536&&$<=1791)return Gz[$-1536];if($<1536)return $0;if($>=1808&&$<=1810)return I7;if($>=2259&&$<=2303)return Z1;return $0}function k7($){let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$[Z],J=K.codepoint??0,q=v7(J);if(q===$0||q===Z1)continue;let U=$0;for(let V=Z-1;V>=0;V--){let z=$[V].codepoint??0,j=v7(z);if(j!==Z1){U=j;break}}let W=$0;for(let V=Z+1;V<Q;V++){let z=$[V].codepoint??0,j=v7(z);if(j!==Z1){W=j;break}}let H=U===P7||U===I7||U===DU,_=W===P7||W===LU||W===DU,N=0;if(q===P7)if(H&&_)N=4;else if(H)N=2;else if(_)N=8;else N=1;else if(q===LU)if(H)N=2;else N=1;else if(q===I7)if(_)N=8;else N=1;if(N!==0)K.mask=K.mask&4294967280|N}}function S7($){return $>=44032&&$<=55203}function Ez($){return $>=4352&&$<=4607||$>=43360&&$<=43388||$>=55216&&$<=55291}function wz($){return $>=4352&&$<4371||$>=43360&&$<=43388}function Az($){return $>=4449&&$<4470||$>=55216&&$<=55238}function Fz($){return $>4519&&$<=4546||$>=55243&&$<=55291}function Lz($){if(!S7($))return[$];let Q=$-44032,Z=Math.floor(Q/588),K=Math.floor(Q%588/28),J=Q%28,q=[4352+Z,4449+K];if(J>0)q.push(4519+J);return q}function MU($,Q,Z=0){let K=$-4352,J=Q-4449,q=Z===0?0:Z-4519;if(K<0||K>=19)return null;if(J<0||J>=21)return null;if(q<0||q>=28)return null;return 44032+K*588+J*28+q}function Q0($){if(wz($))return 1;if(Az($))return 2;if(Fz($))return 3;if(S7($))return($-44032)%28===0?4:5;return 0}var C7={ljmo:1,vjmo:2,tjmo:4};function h7($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];switch(Q0(Z.codepoint)){case 1:Z.mask|=C7.ljmo;break;case 2:Z.mask|=C7.vjmo;break;case 3:Z.mask|=C7.tjmo;break;case 4:case 5:break}}}function y7($){let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(!K){Z++;continue}let J=Q0(K.codepoint);if(J===1&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(Q0(q.codepoint)===2){let W=0,H=2;if(Z+2<$.length){let N=$[Z+2];if(N){if(Q0(N.codepoint)===3)W=N.codepoint,H=3}}let _=MU(K.codepoint,q.codepoint,W);if(_!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:_}),Z+=H;continue}}}if(J===4&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(Q0(q.codepoint)===3){let W=Lz(K.codepoint),[H,_]=W;if(W.length===2&&H!==void 0&&_!==void 0){let N=MU(H,_,q.codepoint);if(N!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:N}),Z+=2;continue}}}}Q.push(K),Z++}return Q}function BU($){return S7($)||Ez($)||$>=12593&&$<=12686}function Dz($){return $>=1424&&$<=1535||$>=64285&&$<=64335}function Mz($){if($>=1425&&$<=1455)return 6;if($>=1456&&$<=1469)return 2;if($===1470)return 7;if($===1471)return 5;if($===1472||$===1475)return 8;if($===1473||$===1474)return 4;if($===1468)return 3;if($===1469)return 2;if($>=1488&&$<=1514)return 1;if($>=1520&&$<=1524)return 1;if($>=64285&&$<=64335)return 1;if(Dz($))return 0;return 0}function b7($){let Q=0;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(!K)continue;if(Mz(K.codepoint)===1)Q=Z;K.mask=K.mask&4294901760|Q&65535}}function RU($){return $>=2304&&$<=2431}function TU($){return $>=2432&&$<=2559}function OU($){return $>=2560&&$<=2687}function PU($){return $>=2688&&$<=2815}function vU($){return $>=2816&&$<=2943}function IU($){return $>=2944&&$<=3071}function kU($){return $>=3072&&$<=3199}function CU($){return $>=3200&&$<=3327}function SU($){return $>=3328&&$<=3455}function hU($){return RU($)||TU($)||OU($)||PU($)||vU($)||IU($)||kU($)||CU($)||SU($)}function t6($){if($===8204)return 5;if($===8205)return 6;if($===9676)return 12;if(RU($)){if($>=2362&&$<=2363||$>=2366&&$<=2380||$>=2382&&$<=2383||$>=2389&&$<=2391)return 7;if($===2381)return 4;if($===2364)return 3;if($>=2305&&$<=2307)return 8;if($>=2385&&$<=2388)return 9;if($>=2308&&$<=2324||$===2400||$===2401||$===2418||$>=2422&&$<=2423)return 2;if($>=2325&&$<=2361||$>=2392&&$<=2399||$===2424||$===2425||$===2426||$>=2427&&$<=2428||$>=2430&&$<=2431){if($===2352)return 15;return 1}if($>=2406&&$<=2415)return 17;return 0}if(TU($)){if($>=2494&&$<=2500||$>=2503&&$<=2504||$>=2507&&$<=2508||$===2519)return 7;if($===2509)return 4;if($===2492)return 3;if($>=2433&&$<=2435)return 8;if($>=2437&&$<=2444||$>=2447&&$<=2448||$>=2451&&$<=2452||$===2528||$===2529)return 2;if($>=2453&&$<=2472||$>=2474&&$<=2480||$===2482||$>=2486&&$<=2489||$>=2524&&$<=2525||$>=2527&&$<=2529){if($===2480)return 15;return 1}return 0}if(OU($)||PU($)||vU($)||IU($)||kU($)||CU($)||SU($)){let Q=$&127;if(Q>=1&&Q<=3)return 8;if(Q>=5&&Q<=20)return 2;if(Q>=21&&Q<=57)return 1;if(Q===60)return 3;if(Q>=62&&Q<=76)return 7;if(Q===77)return 4;return 0}return 0}function yU($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=Bz($,K);Q.push(J),K=J.end}return Q}function Bz($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let W=$[K],H=$[K+1];if(W&&H){let _=t6(W.codepoint??0),N=t6(H.codepoint??0);if(_===15&&N===4)q=!0,K+=2}}let U=-1;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=t6(H);if(_===1||_===15){if(U=K,K++,K<Z){let N=$[K];if(N&&t6(N.codepoint??0)===3)K++}if(K<Z){let N=$[K];if(N&&t6(N.codepoint??0)===4){if(K++,K<Z){let V=$[K];if(V){let X=t6(V.codepoint??0);if(X===6||X===5)K++}}continue}}break}else if(_===2){K++;break}else if(_===3)K++;else{if(U===-1)K++;break}}J=U>=0?U:Q;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=t6(H);if(_===7||_===8||_===9||_===3)K++;else if(_===4){K++;break}else break}if(K===Q)K=Q+1;return{start:Q,end:K,hasReph:q,baseConsonant:J}}var G6={nukt:1,akhn:2,rphf:4,rkrf:8,pref:16,blwf:32,abvf:64,half:128,pstf:256,vatu:512,cjct:1024,init:2048,pres:4096,abvs:8192,blws:16384,psts:32768};function bU($){if($>=2304&&$<=2431){if($===2367)return 0;if($>=2373&&$<=2376)return 1;if($>=2369&&$<=2372)return 2;return 3}if($>=2432&&$<=2559){if($===2495)return 0;if($===2503||$===2504)return 0;if($>=2497&&$<=2500)return 2;return 3}if($>=2944&&$<=3071){if($>=3014&&$<=3016)return 0;if($===3009||$===3010)return 2;return 3}if($>=3072&&$<=3199){if($>=3134&&$<=3136||$>=3142&&$<=3144)return 1;if($>=3137&&$<=3140)return 2;return 3}if($>=3200&&$<=3327){if($>=3262&&$<=3264||$>=3270&&$<=3272)return 1;if($>=3265&&$<=3268)return 2;return 3}if($>=3328&&$<=3455){if($>=3398&&$<=3400)return 0;if($>=3393&&$<=3395)return 2;return 3}if($>=2560&&$<=2687){if($===2623)return 0;if($===2625||$===2626)return 2;return 3}if($>=2688&&$<=2815){if($===2751)return 0;if($>=2753&&$<=2756)return 2;return 3}if($>=2816&&$<=2943){if($===2879)return 0;if($>=2881&&$<=2883)return 2;return 3}return 3}function m7($){let Q=yU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(q){q.mask=q.mask&65535|(Z&65535)<<16;let U=t6(q.codepoint);if(U===3)q.mask|=G6.nukt;if(U===4){if(J<K.baseConsonant)q.mask|=G6.half;else if(J>K.baseConsonant)q.mask|=G6.blwf|G6.pstf}if(U===1||U===15){if(J<K.baseConsonant)q.mask|=G6.half|G6.cjct;else if(J>K.baseConsonant)q.mask|=G6.blwf|G6.pstf|G6.vatu}if(K.hasReph&&J<K.start+2)q.mask|=G6.rphf;if(U===7)switch(bU(q.codepoint)){case 0:q.mask|=G6.pref|G6.pres;break;case 1:q.mask|=G6.abvf|G6.abvs;break;case 2:q.mask|=G6.blwf|G6.blws;break;case 3:q.mask|=G6.pstf|G6.psts;break}if(U===8)q.mask|=G6.abvs|G6.psts}}}}function g7($){let Q=yU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];Rz($,K)}}function Rz($,Q){let{start:Z,end:K,baseConsonant:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;if(t6(H.codepoint)===7){if(bU(H.codepoint)===0)U.push({index:W,info:H})}}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=t6(N.codepoint);if(V===8||V===9)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}function V9($){if($<6016||$>6143)return 0;if($>=6016&&$<=6050)return 1;if($===6051||$===6052)return 2;if($>=6053&&$<=6067)return 2;if($>=6070&&$<=6085)return 3;if($===6086)return 8;if($===6087)return 9;if($===6088)return 7;if($===6089||$===6090)return 5;if($===6098)return 4;if($===6092)return 6;if($>=6091&&$<=6097)return 7;if($>=6099&&$<=6109)return 7;return 0}var B8={pref:1,blwf:2,abvf:4,pstf:8,cfar:16,pres:32,abvs:64,blws:128,psts:256,clig:512};function mU($){return $>=6016&&$<=6143||$>=6624&&$<=6655}function x7($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=V9(Z.codepoint);if(K===0){Q++;continue}let J=Q,q=-1;if(K===1)q=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=V9(W.codepoint);if(H===0)break;if(H===1){let _=$[U-1];if(_&&V9(_.codepoint)!==4)break}if(H===4&&U+1<$.length){let _=$[U+1];if(_&&V9(_.codepoint)===1){W.mask|=B8.blwf,_.mask|=B8.blwf,U+=2;continue}}if(H===3)if(W.codepoint>=6081&&W.codepoint<=6083)W.mask|=B8.pref;else if(W.codepoint>=6071&&W.codepoint<=6074)W.mask|=B8.abvf;else if(W.codepoint===6075||W.codepoint===6076||W.codepoint===6077)W.mask|=B8.blwf;else W.mask|=B8.pstf;if(H===5)W.mask|=B8.abvs;if(H===6)W.mask|=B8.abvs;U++}Q=U}}function u7($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(V9(Z.codepoint)!==1){Q++;continue}let J=Q,q=Q+1;while(q<$.length){let U=$[q];if(!U)break;if(V9(U.codepoint)===4&&q+1<$.length)q+=2;else break}if(q<$.length){let U=$[q];if(U){let W=U.codepoint;if(W>=6081&&W<=6083){let H=U;for(let _=q;_>J;_--){let N=$[_-1];if(N)$[_]=N}$[J]=H}}}Q=q+1}}function X9($){if($>=4096&&$<=4255){if($>=4096&&$<=4129)return 1;if($>=4131&&$<=4135)return 2;if($>=4137&&$<=4138)return 2;if($>=4139&&$<=4149)return 3;if($===4150)return 6;if($===4151)return 8;if($===4152)return 7;if($===4153)return 5;if($===4154)return 5;if($>=4155&&$<=4158)return 4;if($>=4159&&$<=4169){if($===4159)return 1;return 9}if($>=4170&&$<=4175)return 8;if($>=4176&&$<=4185)return 1;if($>=4186&&$<=4189)return 1;if($>=4192&&$<=4193)return 1;if($>=4194&&$<=4196)return 3;if($>=4197&&$<=4198)return 1;if($>=4199&&$<=4205)return 3;if($>=4206&&$<=4208)return 1;if($>=4209&&$<=4212)return 3;if($>=4213&&$<=4225)return 1;if($>=4226&&$<=4226)return 4;if($>=4227&&$<=4236)return 3;if($===4237)return 8;if($===4238)return 1;if($===4239)return 8;if($>=4240&&$<=4249)return 9}if($>=43616&&$<=43647){if($>=43616&&$<=43638)return 1;if($>=43639&&$<=43641)return 8;if($===43642)return 1;if($===43643)return 8;if($===43644)return 8;if($===43645)return 8;if($>=43646&&$<=43647)return 1}if($>=43488&&$<=43519){if($>=43488&&$<=43492)return 1;if($===43493)return 3;if($>=43494&&$<=43503)return 1;if($>=43504&&$<=43513)return 9;if($>=43514&&$<=43518)return 1}return 0}var c6={rphf:1,pref:2,blwf:4,pstf:8,pres:16,abvs:32,blws:64,psts:128};function gU($){return $>=4096&&$<=4255||$>=43616&&$<=43647||$>=43488&&$<=43519}function f7($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=X9(Z.codepoint);if(K===0){Q++;continue}let J=-1,q=!1;if(K===1)J=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=X9(W.codepoint);if(H===0)break;if(H===5){if(q=!0,W.mask|=c6.blwf,U+1<$.length){let _=$[U+1];if(_&&X9(_.codepoint)===1){_.mask|=c6.blwf,U+=2;continue}}}if(H===4){let _=W.codepoint;if(_===4155)W.mask|=c6.pref;else if(_===4156)W.mask|=c6.pref;else if(_===4157)W.mask|=c6.blwf;else if(_===4158)W.mask|=c6.blwf}if(H===3){let _=W.codepoint;if(_===4145)W.mask|=c6.pref;else if(_===4141||_===4142||_===4146)W.mask|=c6.abvs;else if(_===4143||_===4144)W.mask|=c6.blws;else W.mask|=c6.psts}if(H===6||H===8)W.mask|=c6.abvs;if(H===1&&!q){if(U>0){let _=$[U-1];if(_){if(X9(_.codepoint)!==5)break}}}q=!1,U++}Q=U}}function l7($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(X9(Z.codepoint)!==1){Q++;continue}let J=Q,q=[],U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=X9(W.codepoint);if(W.codepoint===4145){q.push(W),$.splice(U,1);continue}if(W.codepoint===4156){q.push(W),$.splice(U,1);continue}if(H===1||H===0)break;U++}if(q.length>0)$.splice(J,0,...q),Q+=q.length;Q++}}function d7($){return $>=3584&&$<=3711}function p7($){return $>=3712&&$<=3839}function n7($){if(d7($)){if($>=3585&&$<=3630)return 1;if($===3631)return 1;if($>=3648&&$<=3652)return 2;if($===3633)return 3;if($>=3636&&$<=3639)return 3;if($===3655)return 3;if($>=3640&&$<=3642)return 4;if($===3632)return 5;if($===3634||$===3635)return 5;if($===3653)return 5;if($===3635)return 8;if($>=3656&&$<=3659)return 6;if($===3660)return 6;if($===3661)return 7;if($===3662)return 7;if($>=3664&&$<=3675)return 9;return 0}if(p7($)){if($>=3713&&$<=3758)return 1;if($>=3776&&$<=3780)return 2;if($===3761)return 3;if($>=3764&&$<=3767)return 3;if($===3771)return 3;if($>=3768&&$<=3769)return 4;if($===3772)return 4;if($===3760)return 5;if($===3762||$===3763)return 5;if($>=3784&&$<=3789)return 6;if($>=3792&&$<=3801)return 9;return 0}return 0}function K1($){let Q=0,Z=-1;for(let K=0;K<$.length;K++){let J=$[K];if(!J)continue;let q=n7(J.codepoint);if(q===1)Q++,Z=K;if(J.mask=J.mask&4294967040|q&255,J.mask=J.mask&65535|(Q&65535)<<16,q===2)J.mask|=256}}function J1($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(n7(Z.codepoint)===2){let J=Q+1;while(J<$.length){let q=$[J];if(!q){J++;continue}let U=n7(q.codepoint??0);if(U===1){let W=Z;$[Q]=q,$[J]=W;break}if(U!==2)break;J++}}Q++}}function xU($){return["bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","khar","khmr","khoj","lana","lepc","limb","mahj","modi","mtei","mymr","newa","phlp","rjng","saur","shrd","sidd","sind","sinh","sund","sylo","tagb","takr","tale","talu","tavt","tibt","tirh"].includes($)}function H8($){if($===8204)return 21;if($===8205)return 20;if($===847)return 2;if($===8288)return 19;if($>=65024&&$<=65039)return 18;if($>=917760&&$<=917999)return 18;if($>=4096&&$<=4255){if($>=4096&&$<=4128)return 1;if($>=4129&&$<=4138)return 10;if($>=4139&&$<=4146)return 31;if($>=4150&&$<=4151)return 32;if($===4153)return 8;if($===4154)return 8;if($>=4155&&$<=4158)return 38;if($>=4160&&$<=4169)return 7;return 0}if($>=6016&&$<=6143){if($>=6016&&$<=6050)return 1;if($>=6051&&$<=6067)return 10;if($>=6070&&$<=6085)return 31;if($===6098)return 8;if($>=6086&&$<=6088)return 32;return 0}if($>=3840&&$<=4095){if($>=3840&&$<=3863)return 14;if($>=3953&&$<=3965)return 28;if($>=3984&&$<=4028)return 17;if($>=3904&&$<=3948)return 1;return 0}if($>=3584&&$<=3711){if($>=3585&&$<=3630)return 1;if($>=3632&&$<=3642)return 31;if($>=3648&&$<=3652)return 30;if($>=3656&&$<=3659)return 32;return 0}if($>=3712&&$<=3839){if($>=3713&&$<=3747)return 1;if($>=3760&&$<=3772)return 31;if($>=3776&&$<=3780)return 30;if($>=3784&&$<=3789)return 32;return 0}if($>=57344&&$<=57599){if($===57344)return 13;if($===57345)return 24;if($===57346)return 25;if($===57347)return 26;if($===57348)return 27;if($===57349)return 4;if($===57350)return 12;if($===57351)return 9;if($===57352)return 23;if($===57353)return 29;if($===57354)return 37;if($===57355)return 39;if($===57356)return 40;if($===57357)return 33;if($===57358)return 34;if($===57359)return 35;if($===57360)return 36;if($===57361)return 5;if($===57362)return 6}return 0}var N6={rphf:1,pref:2,blwf:4,abvf:8,pstf:16,half:32,cjct:64,vatu:128,pres:256,abvs:512,blws:1024,psts:2048,haln:4096};function uU($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=Tz($,K);Q.push(J),K=J.end}return Q}function Tz($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let U=$[K],W=$[K+1];if(U&&W){let H=H8(U.codepoint??0),_=H8(W.codepoint??0);if(H===13&&_===8)q=!0,K+=2}}while(K<Z){let U=$[K];if(!U){K++;continue}let W=H8(U.codepoint??0);if(W===1||W===10||W===7||W===22){J=K,K++;break}if(W===26||W===30||W===39){K++;continue}if(J===-1)K++;break}if(J===-1)J=Q;while(K<Z){let U=$[K];if(!U){K++;continue}let W=H8(U.codepoint??0);if(W===8){if(K++,K<Z){let H=$[K];if(H){let _=H8(H.codepoint??0);if(_===1||_===4||_===17){K++;continue}if(_===20||_===21)K++}}continue}if(W===17||W===4){K++;continue}if(W===12||W===9){K++;continue}break}while(K<Z){let U=$[K];if(!U){K++;continue}let W=H8(U.codepoint??0);if(W===28||W===29||W===30||W===31||W===23){K++;continue}if(W===37||W===38||W===39||W===40){K++;continue}if(W===24||W===25||W===26||W===27){K++;continue}if(W===32||W===33){K++;continue}if(W===34||W===35||W===36||W===5||W===6){K++;continue}if(W===2||W===18){K++;continue}break}if(K===Q)K=Q+1;return{start:Q,end:K,base:J,hasReph:q}}function fU($){let Q=uU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(!q)continue;q.mask=q.mask&65535|(Z&65535)<<16;let U=H8(q.codepoint);if(K.hasReph&&J<K.start+2)q.mask|=N6.rphf;if(J<K.base){if(U===1||U===4||U===17)q.mask|=N6.half|N6.cjct}if(J>K.base){if(U===1||U===4||U===17)q.mask|=N6.blwf|N6.pstf|N6.vatu}if(U===8||U===9)if(J<K.base)q.mask|=N6.half;else q.mask|=N6.haln;if(U===30)q.mask|=N6.pref|N6.pres;else if(U===28)q.mask|=N6.abvf|N6.abvs;else if(U===29)q.mask|=N6.blwf|N6.blws;else if(U===31||U===23)q.mask|=N6.pstf|N6.psts;if(U===37)q.mask|=N6.abvs;else if(U===38)q.mask|=N6.blws;else if(U===39)q.mask|=N6.pres;else if(U===40)q.mask|=N6.psts;if(U===32)q.mask|=N6.abvs;else if(U===33)q.mask|=N6.blws;if(U===34)q.mask|=N6.abvs;else if(U===35)q.mask|=N6.blws;else if(U===36||U===5||U===6)q.mask|=N6.psts}}}function lU($){let Q=uU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];Oz($,K)}}function Oz($,Q){let{start:Z,end:K,base:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;let _=H8(H.codepoint);if(_===30||_===39)U.push({index:W,info:H})}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=H8(N.codepoint);if(V===32||V===33||V===34||V===35||V===36||V===5||V===6)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}var c7=new Uint16Array(16),o7=new Uint16Array(16);function Pz($){return $ instanceof b8?$.font:$}var nU=new WeakMap;function vz($){if($ instanceof b8)return $;let Q=nU.get($);if(!Q)Q=new b8($),nU.set($,Q);return Q}function _8($,Q,Z){let K=new Uint8Array(Q.infos.length),J=$.gdef;if(!J||Z===0)return K;let q=Z&h6.IgnoreBaseGlyphs,U=Z&h6.IgnoreLigatures,W=Z&h6.IgnoreMarks,H=d0(Z);for(let _=0;_<Q.infos.length;_++){let N=Q.infos[_];if(!N)continue;let V=U8(J,N.glyphId);if(q&&V===1)K[_]=1;else if(U&&V===2)K[_]=1;else if(W&&V===3)K[_]=1;else if(H!==0&&V===3){if(J.markAttachClassDef.get(N.glyphId)!==H)K[_]=1}}return K}function dU($,Q){let Z=new Int16Array(Q),K=-1;for(let J=Q-1;J>=0;J--)if(Z[J]=K,!$[J])K=J;return Z}function Iz($,Q){if(!Q.gdef)return!1;let{infos:Z,length:K}=$;for(let J=0;J<K;J++){let q=Z[J];if(!q)continue;if(U8(Q.gdef,q.glyphId)===3)return!0}return!1}function kz($,Q,Z){let K=new Int16Array($.infos.length);K.fill(-1);let J=-1;for(let q=0;q<$.infos.length;q++){let U=$.infos[q];if(!U)continue;let W=x8(Z,U.glyphId,Q);if(W===1||W===0||W===2)J=q;else if(W===3)K[q]=J}return K}var Cz=[];function Sz($,Q,Z={}){let K=Cz.pop();if(!K)K=R8.withCapacity(64);return pU($,Q,K,Z),K}function pU($,Q,Z,K={}){let J=Pz($),q=vz($),U=K.script??Q.script??"latn",W=K.language??Q.language??null,H=K.direction??"ltr",_=K.features??[],N=q.normalizedCoords.length>0?q.normalizedCoords:null,V=Q1(J,U,W,H,_,N);if(Z.reset(),Z.direction=Q.direction,Z.script=U,Z.language=W,Z.initFromCodepointsWithFont(Q.codepoints,Q.clusters,J),hz(Z,U),bz(J,Z,V),rz(q,Z),J.gpos!==null&&V.gposLookups.length>0)tz(J,Z,V);else O7(J,Z.infos,Z.positions),T7(J,Z.infos,Z.positions);if(!J.gsub&&J.morx)Yj(J,Z);if(H==="rtl")Z.reverse()}function hz($,Q){if(Q==="arab"||Q==="syrc"||Q==="mand"||Q==="nko "){k7($.infos);return}if(Q==="hebr"){b7($.infos);return}if(Q==="hang"||Q==="kore"){let Z=y7($.infos);if(Z.length!==$.infos.length)$.initFromInfos(Z);h7($.infos);return}if(Q==="deva"||Q==="beng"||Q==="guru"||Q==="gujr"||Q==="orya"||Q==="taml"||Q==="telu"||Q==="knda"||Q==="mlym"){m7($.infos),g7($.infos);return}if(Q==="thai"||Q==="lao "){K1($.infos),J1($.infos);return}if(Q==="khmr"){x7($.infos),u7($.infos);return}if(Q==="mymr"){f7($.infos),l7($.infos);return}if(xU(Q)){fU($.infos),lU($.infos);return}if(Q==="Zyyy"||Q==="Zinh"||Q==="Zzzz")yz($.infos)}function yz($){if($.length===0)return;let Q=Math.min(10,$.length);for(let Z=0;Z<Q;Z++){let J=$[Z].codepoint;if(J>=1536&&J<=1791||J>=1872&&J<=1919||J>=2208&&J<=2303){k7($);return}if(J>=1424&&J<=1535){b7($);return}if(BU(J)){let q=y7($);if(q.length!==$.length)$.length=0,$.push(...q);h7($);return}if(hU(J)){m7($),g7($);return}if(d7(J)){K1($),J1($);return}if(p7(J)){K1($),J1($);return}if(mU(J)){x7($),u7($);return}if(gU(J)){f7($),l7($);return}}}function bz($,Q,Z){let K=Z.gsubLookups,J=new _6,q=Q.infos;for(let U=0;U<Q.length;U++)J.add(q[U].glyphId);for(let U=0;U<K.length;U++){let W=K[U];if(!J.mayIntersect(W.lookup.digest))continue;let H=Q.length;if(mz($,Q,W.lookup,Z),Q.length!==H){J=new _6;for(let _=0;_<Q.length;_++)J.add(q[_].glyphId)}}Q.compact()}function mz($,Q,Z,K){switch(Z.type){case 1:gz($,Q,Z);break;case 2:xz($,Q,Z);break;case 3:uz($,Q,Z);break;case 4:fz($,Q,Z);break;case 5:lz($,Q,Z,K);break;case 6:nz($,Q,Z,K);break;case 8:dz($,Q,Z);break}}function gz($,Q,Z){let K=Q.infos,J=K.length,q=Z.digest;if(Z.flag===0||!$.gdef){if(Z.subtables.length===1){let W=Z.subtables[0];if(W.format===1&&W.deltaGlyphId!==void 0){let H=W.deltaGlyphId;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;if(W.coverage.get(N.glyphId)!==null)N.glyphId=N.glyphId+H&65535}}else if(W.format===2&&W.substituteGlyphIds){let H=W.substituteGlyphIds;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;let V=W.coverage.get(N.glyphId);if(V!==null){let X=H[V];if(X!==void 0)N.glyphId=X}}}return}for(let W=0;W<J;W++){let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=a9(Z,H.glyphId);if(_!==null)H.glyphId=_}return}let U=_8($,Q,Z.flag);for(let W=0;W<J;W++){if(U[W])continue;let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=a9(Z,H.glyphId);if(_!==null)H.glyphId=_}}function xz($,Q,Z){let K=Z.digest,J=0;while(J<Q.infos.length){let q=Q.infos[J];if(!q){J++;continue}if(j6($,q.glyphId,Z.flag)){J++;continue}if(!K.mayHave(q.glyphId)){J++;continue}let U=!1,W=Z.subtables;for(let H=0;H<W.length;H++){let _=W[H],N=_.coverage.get(q.glyphId);if(N===null)continue;let V=_.sequences[N];if(!V||V.length===0)continue;let X=V[0];if(X===void 0)continue;q.glyphId=X;for(let z=1;z<V.length;z++){let Y={glyphId:V[z],cluster:q.cluster,mask:q.mask,codepoint:q.codepoint},G={xAdvance:0,yAdvance:0,xOffset:0,yOffset:0};Q.insertGlyph(J+z,Y,G)}J+=V.length,U=!0;break}if(!U)J++}}function uz($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=0;U<K.length;U++){let W=K[U];if(j6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=_.alternateSets[N];if(!V||V.length===0)continue;let X=V[0];if(X===void 0)continue;W.glyphId=X;break}}}function fz($,Q,Z){let K=Q.infos,J=K.length,q=Z.flag!==0&&$.gdef!==null,U=Z.digest,W=null;if(q)W=_8($,Q,Z.flag);let H=0;while(H<J){if(Q.isDeleted(H)){H++;continue}let _=K[H];if(!_){H++;continue}if(W?.[H]){H++;continue}if(!U.mayHave(_.glyphId)){H++;continue}let N=1;c7[0]=H,o7[0]=_.glyphId;for(let X=H+1;X<J&&N<16;X++){if(Q.isDeleted(X))continue;let z=K[X];if(!z)continue;if(W?.[X])continue;c7[N]=X,o7[N]=z.glyphId,N++}let V=Fq(Z,o7,N,0);if(V){_.glyphId=V.ligatureGlyph;for(let X=1;X<V.consumed;X++){let z=c7[X];if(z!==void 0){let j=K[z];if(j)_.cluster=Math.min(_.cluster,j.cluster);Q.markDeleted(z)}}}H++}}function lz($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=_8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let X=H[V],z=!1,j=[];if(X.format===1){let Y=pz($,Q,_,X,Z.flag);if(Y)z=!0,j=Y}else if(X.format===2){let Y=cz($,Q,_,X,Z.flag);if(Y)z=!0,j=Y}else if(X.format===3){if(oz($,Q,_,X,Z.flag))z=!0,j=X.lookupRecords}if(z){cU($,Q,_,j,K);break}}}}function nz($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=_8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let X=H[V],z=!1,j=[];if(X.format===1){let Y=iz($,Q,_,X,Z.flag);if(Y)z=!0,j=Y}else if(X.format===2){let Y=sz($,Q,_,X,Z.flag);if(Y)z=!0,j=Y}else if(X.format===3){if(az($,Q,_,X,Z.flag))z=!0,j=X.lookupRecords}if(z){cU($,Q,_,j,K);break}}}}function dz($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=K.length-1;U>=0;U--){let W=K[U];if(!W)continue;if(j6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=!0,X=U+1,z=_.backtrackCoverages;for(let w=0;w<z.length;w++){let F=z[w];while(X<K.length&&j6($,K[X]?.glyphId,Z.flag))X++;if(X>=K.length||F.get(K[X]?.glyphId)===null){V=!1;break}X++}if(!V)continue;let j=!0,Y=U-1,G=_.lookaheadCoverages;for(let w=0;w<G.length;w++){let F=G[w];while(Y>=0&&j6($,K[Y]?.glyphId,Z.flag))Y--;if(Y<0||F.get(K[Y]?.glyphId)===null){j=!1;break}Y--}if(!j)continue;let E=_.substituteGlyphIds[N];if(E!==void 0)W.glyphId=E;break}}}function pz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(z9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function cz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(j9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function oz($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&j6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function iz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!iU($,Q,Z-1,_.backtrackSequence,J))continue;if(!z9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&j6($,Q.infos[N]?.glyphId,J))N++;N++}if(!z9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function sz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!sU($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!j9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,X=Z+1;for(let z=0;z<N.inputClasses.length;z++){while(X<V.length&&j6($,V[X]?.glyphId,J))X++;X++}if(!j9($,Q,X,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function az($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let X=0;X<W.length;X++){let z=W[X];while(U>=0&&j6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(z.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let X=0;X<_.length;X++){let z=_[X];while(H<q.length&&j6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(z.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let X=0;X<V.length;X++){let z=V[X];while(N<q.length&&j6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(z.get(q[N]?.glyphId)===null)return!1;N++}return!0}function cU($,Q,Z,K,J){let q=K.length;if(q===0)return;if(q===1){let W=K[0],H=J.gsubLookupMap.get(W.lookupListIndex);if(!H)return;let _=Z+W.sequenceIndex;if(_>=Q.infos.length)return;let N=Q.infos[_];if(!N)return;if(H.lookup.type===1){let V=a9(H.lookup,N.glyphId);if(V!==null)N.glyphId=V}return}let U=new Uint8Array(q);for(let W=0;W<q;W++){let H=-1,_=-1;for(let j=0;j<q;j++){if(U[j])continue;let Y=K[j]?.sequenceIndex;if(Y>_)_=Y,H=j}if(H<0)break;U[H]=1;let N=K[H],V=J.gsubLookupMap.get(N.lookupListIndex);if(!V)continue;let X=Z+N.sequenceIndex;if(X>=Q.infos.length)continue;let z=Q.infos[X];if(!z)continue;if(V.lookup.type===1){let j=a9(V.lookup,z.glyphId);if(j!==null)z.glyphId=j}}}function rz($,Q){let{infos:Z,positions:K}=Q,J=Z.length,U=$.font.hmtx.hMetrics,W=U.length,H=U[W-1]?.advanceWidth??0;if(!($.normalizedCoords.length>0)){for(let N=0;N<J;N++){let V=Z[N].glyphId;K[N].xAdvance=V<W?U[V]?.advanceWidth??0:H}return}for(let N=0;N<J;N++){let V=Z[N];K[N].xAdvance=$.advanceWidth(V.glyphId)}}function x8($,Q,Z){let K=Z.get(Q);if(K===void 0)K=U8($.gdef,Q),Z.set(Q,K);return K}function tz($,Q,Z){let K=new _6,J=Q.infos,q=Q.length;for(let N=0;N<q;N++)K.add(J[N].glyphId);let U=Iz(Q,$),W,H;if(U)H=new Map,W=kz(Q,H,$);else W=ez,H=$j;let _=Z.gposLookups;for(let N=0;N<_.length;N++){let V=_[N];if(!K.mayIntersect(V.lookup.digest))continue;i7($,Q,V.lookup,Z,H,W,U)}}var ez=new Int16Array(0),$j=new Map;function i7($,Q,Z,K,J,q,U){switch(Z.type){case 1:Qj($,Q,Z,U);break;case 2:Zj($,Q,Z,U);break;case 3:Kj($,Q,Z,U);break;case 4:if(!U)break;Jj($,Q,Z,J,q);break;case 5:if(!U)break;qj($,Q,Z,J,q);break;case 6:if(!U)break;Uj($,Q,Z,J);break;case 7:Wj($,Q,Z,K,J,q,U);break;case 8:Hj($,Q,Z,K,J,q,U);break}}function Qj($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=K&&Z.flag!==0&&$.gdef!==null;if(H.length===1&&!_){let X=H[0];if(X.format===1&&X.value){let z=X.value,j=z.xPlacement!==void 0&&z.xPlacement!==0,Y=z.yPlacement!==void 0&&z.yPlacement!==0,G=z.xAdvance!==void 0&&z.xAdvance!==0,E=z.yAdvance!==void 0&&z.yAdvance!==0;if(!j&&!Y&&!G&&!E)return;for(let w=0;w<U;w++){let F=J[w];if(!W.mayHave(F.glyphId))continue;if(X.coverage.get(F.glyphId)===null)continue;let A=q[w];if(j)A.xOffset+=z.xPlacement;if(Y)A.yOffset+=z.yPlacement;if(G)A.xAdvance+=z.xAdvance;if(E)A.yAdvance+=z.yAdvance}return}}let N=(X)=>{let z=J[X];if(!W.mayHave(z.glyphId))return;let j=q[X];if(!j)return;for(let Y=0;Y<H.length;Y++){let G=H[Y],E=G.coverage.get(z.glyphId);if(E===null)continue;let w=G.format===1?G.value:G.values?.[E];if(w){if(w.xPlacement)j.xOffset+=w.xPlacement;if(w.yPlacement)j.yOffset+=w.yPlacement;if(w.xAdvance)j.xAdvance+=w.xAdvance;if(w.yAdvance)j.yAdvance+=w.yAdvance}break}};if(!_){for(let X=0;X<U;X++)N(X);return}let V=_8($,Q,Z.flag);for(let X=0;X<U;X++){if(V[X])continue;N(X)}}function Zj($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=H.length;if(!(K&&Z.flag!==0&&$.gdef!==null)){if(_===1){let z=H[0],j=z.coverage;if(z.format===1){let Y=z.pairSets;for(let G=0;G<U-1;G++){let E=J[G].glyphId;if(!W.mayHave(E))continue;let w=j.get(E);if(w===null)continue;let F=Y[w];if(!F)continue;let A=J[G+1].glyphId,M=F.pairValueRecords,L=0,O=M.length-1;while(L<=O){let T=L+O>>>1,v=M[T],R=v.secondGlyph;if(R<A)L=T+1;else if(R>A)O=T-1;else{let u=v.value1.xAdvance;if(u)q[G].xAdvance+=u;break}}}}else{let{classDef1:Y,classDef2:G,class1Records:E}=z,w=E.length;for(let F=0;F<U-1;F++){let A=J[F].glyphId;if(!W.mayHave(A))continue;if(j.get(A)===null)continue;let M=Y.get(A);if(M>=w)continue;let L=E[M],O=J[F+1].glyphId,T=G.get(O),v=L.class2Records;if(T>=v.length)continue;let R=v[T].value1.xAdvance;if(R)q[F].xAdvance+=R}}return}if(_===2){let z=H[0],j=H[1];if(z.format===1&&j.format===2){let{coverage:Y,pairSets:G}=z,E=j.coverage,w=j.classDef1,F=j.classDef2,A=j.class1Records,M=A.length;for(let L=0;L<U-1;L++){let O=J[L].glyphId;if(!W.mayHave(O))continue;let T=J[L+1].glyphId,v=Y.get(O);if(v!==null){let R=G[v];if(R){let u=R.pairValueRecords,I=0,l=u.length-1,f=!1;while(I<=l){let C=I+l>>>1,B=u[C],y=B.secondGlyph;if(y<T)I=C+1;else if(y>T)l=C-1;else{let x=B.value1.xAdvance;if(x)q[L].xAdvance+=x;f=!0;break}}if(f)continue}}if(E.get(O)!==null){let R=w.get(O);if(R<M){let u=A[R],I=F.get(T),l=u.class2Records;if(I<l.length){let f=l[I].value1.xAdvance;if(f)q[L].xAdvance+=f}}}}return}}for(let z=0;z<U-1;z++){let j=J[z];if(!W.mayHave(j.glyphId))continue;let Y=J[z+1],G=q[z],E=q[z+1];Z7(Z,j.glyphId,Y.glyphId,G,E)}return}let V=_8($,Q,Z.flag),X=dU(V,U);for(let z=0;z<U-1;z++){if(V[z])continue;let j=X[z];if(j<0)break;let Y=J[z];if(!W.mayHave(Y.glyphId))continue;let G=J[j],E=q[z],w=q[j];Z7(Z,Y.glyphId,G.glyphId,E,w)}}function Kj($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=(z,j)=>{let Y=J[z],G=J[j];if(!W.mayHave(Y.glyphId)&&!W.mayHave(G.glyphId))return;for(let E=0;E<H.length;E++){let w=H[E],F=w.coverage.get(Y.glyphId),A=w.coverage.get(G.glyphId);if(F===null||A===null)continue;let M=w.entryExitRecords[F],L=w.entryExitRecords[A];if(!M?.exitAnchor||!L?.entryAnchor)continue;let O=M.exitAnchor,T=L.entryAnchor,v=q[j];if(v)v.yOffset=O.yCoordinate-T.yCoordinate;break}};if(!(K&&Z.flag!==0&&$.gdef!==null)){for(let z=0;z<U-1;z++)_(z,z+1);return}let V=_8($,Q,Z.flag),X=dU(V,U);for(let z=0;z<U-1;z++){if(V[z])continue;let j=X[z];if(j<0)break;_(z,j)}}function Jj($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(x8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let X=U[V];if(!X)continue;for(let z=0;z<H.length;z++){let j=H[z],Y=j.markCoverage.get(N.glyphId),G=j.baseCoverage.get(X.glyphId);if(Y===null||G===null)continue;let E=j.markArray.markRecords[Y],w=j.baseArray[G];if(!E||!w)continue;let F=w.baseAnchors[E.markClass];if(!F)continue;let A=E.markAnchor,M=W[_],L=W[V];if(!M||!L)continue;M.xOffset=F.xCoordinate-A.xCoordinate+L.xOffset,M.yOffset=F.yCoordinate-A.yCoordinate+L.yOffset,M.xAdvance=0,M.yAdvance=0;break}}}function qj($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(x8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let X=U[V];if(!X)continue;if(x8($,X.glyphId,K)!==2)continue;let z=0;for(let j=V+1;j<_;j++){let Y=U[j];if(Y&&x8($,Y.glyphId,K)===3)z++}for(let j=0;j<H.length;j++){let Y=H[j],G=Y.markCoverage.get(N.glyphId),E=Y.ligatureCoverage.get(X.glyphId);if(G===null||E===null)continue;let w=Y.markArray.markRecords[G],F=Y.ligatureArray[E];if(!w||!F)continue;let A=Math.min(z,F.componentRecords.length-1),M=F.componentRecords[A];if(!M)continue;let L=M.ligatureAnchors[w.markClass];if(!L)continue;let O=w.markAnchor,T=W[_],v=W[V];if(!T||!v)continue;T.xOffset=L.xCoordinate-O.xCoordinate+v.xOffset,T.yOffset=L.yCoordinate-O.yCoordinate+v.yOffset,T.xAdvance=0,T.yAdvance=0;break}}}function Uj($,Q,Z,K){let J=Z.digest,q=Q.infos,U=Q.positions,W=Z.subtables;for(let H=0;H<q.length;H++){let _=q[H];if(!_)continue;if(!J.mayHave(_.glyphId))continue;if(x8($,_.glyphId,K)!==3)continue;let N=-1;if(H>0){let X=q[H-1];if(X){if(x8($,X.glyphId,K)===3)N=H-1}}if(N<0)continue;let V=q[N];if(!V)continue;for(let X=0;X<W.length;X++){let z=W[X],j=z.mark1Coverage.get(_.glyphId),Y=z.mark2Coverage.get(V.glyphId);if(j===null||Y===null)continue;let G=z.mark1Array.markRecords[j],E=z.mark2Array[Y];if(!G||!E)continue;let w=E.mark2Anchors[G.markClass];if(!w)continue;let F=G.markAnchor,A=U[H],M=U[N];if(!A||!M)continue;A.xOffset=w.xCoordinate-F.xCoordinate+M.xOffset,A.yOffset=w.yCoordinate-F.yCoordinate+M.yOffset;break}}}function Wj($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=_8($,Q,Z.flag);for(let X=0;X<H;X++){let z=W[X];if(!z)continue;if(V?.[X])continue;if(!_.mayHave(z.glyphId))continue;for(let j=0;j<N.length;j++){let Y=N[j],G=!1,E=[];if(Y.format===1){let w=_j($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===2){let w=Nj($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===3){if(Vj($,Q,X,Y,Z.flag))G=!0,E=Y.lookupRecords}if(G){oU($,Q,X,E,K,J,q,U);break}}}}function Hj($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=_8($,Q,Z.flag);for(let X=0;X<H;X++){let z=W[X];if(!z)continue;if(V?.[X])continue;if(!_.mayHave(z.glyphId))continue;for(let j=0;j<N.length;j++){let Y=N[j],G=!1,E=[];if(Y.format===1){let w=Xj($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===2){let w=zj($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===3){if(jj($,Q,X,Y,Z.flag))G=!0,E=Y.lookupRecords}if(G){oU($,Q,X,E,K,J,q,U);break}}}}function _j($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(z9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function Nj($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(j9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function Vj($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&j6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function Xj($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!iU($,Q,Z-1,_.backtrackSequence,J))continue;if(!z9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&j6($,Q.infos[N]?.glyphId,J))N++;N++}if(!z9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function zj($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!sU($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!j9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,X=Z+1;for(let z=0;z<N.inputClasses.length;z++){while(X<V.length&&j6($,V[X]?.glyphId,J))X++;X++}if(!j9($,Q,X,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function jj($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let X=0;X<W.length;X++){let z=W[X];while(U>=0&&j6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(z.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let X=0;X<_.length;X++){let z=_[X];while(H<q.length&&j6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(z.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let X=0;X<V.length;X++){let z=V[X];while(N<q.length&&j6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(z.get(q[N]?.glyphId)===null)return!1;N++}return!0}function oU($,Q,Z,K,J,q,U,W){let H=K.length;if(H===0)return;if(H===1){let N=K[0],V=J.gposLookupMap.get(N.lookupListIndex);if(!V)return;if(Z+N.sequenceIndex>=Q.infos.length)return;i7($,Q,V.lookup,J,q,U,W);return}let _=new Uint8Array(H);for(let N=0;N<H;N++){let V=-1,X=-1;for(let G=0;G<H;G++){if(_[G])continue;let E=K[G].sequenceIndex;if(E>X)X=E,V=G}if(V<0)break;_[V]=1;let z=K[V],j=J.gposLookupMap.get(z.lookupListIndex);if(!j)continue;if(Z+z.sequenceIndex>=Q.infos.length)continue;i7($,Q,j.lookup,J,q,U,W)}}function z9($,Q,Z,K,J){let q=Z;for(let U=0;U<K.length;U++){let W=K[U];while(q<Q.infos.length&&j6($,Q.infos[q]?.glyphId,J))q++;if(q>=Q.infos.length)return!1;if(Q.infos[q]?.glyphId!==W)return!1;q++}return!0}function iU($,Q,Z,K,J){let q=Q.infos,U=Z;for(let W=0;W<K.length;W++){let H=K[W];while(U>=0&&j6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(q[U]?.glyphId!==H)return!1;U--}return!0}function j9($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W<U.length&&j6($,U[W]?.glyphId,q))W++;if(W>=U.length)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W++}return!0}function sU($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W>=0&&j6($,U[W]?.glyphId,q))W--;if(W<0)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W--}return!0}function j6($,Q,Z){if((Z&14)===0&&(Z&65280)===0)return!1;let K=$.gdef;if(!K)return!1;let J=U8(K,Q);if(Z&h6.IgnoreBaseGlyphs&&J===1)return!0;if(Z&h6.IgnoreLigatures&&J===2)return!0;if(Z&h6.IgnoreMarks&&J===3)return!0;let q=d0(Z);if(q!==0&&J===3){if(K.markAttachClassDef.get(Q)!==q)return!0}return!1}function Yj($,Q){let Z=$.morx;if(!Z)return;let K=Z.chains;for(let J=0;J<K.length;J++){let q=K[J],U=q.subtables;for(let W=0;W<U.length;W++){let H=U[W];if((q.defaultFlags&H.subFeatureFlags)===0)continue;switch(H.type){case 4:{let _=Q.infos;for(let N=0;N<_.length;N++){let V=_[N],X=G7(H,V.glyphId);if(X!==null)V.glyphId=X}break}case 0:L1(H,Q.infos);break;case 1:D1(H,Q.infos);break;case 2:{let _=M1(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}case 5:{let _=B1(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}}}}}var s7={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function Z0($,Q){let K=0,J=new Map,q=Q?new Map:null,U="";function W(H){if(H.indexOf("+")!==-1)for(let _=+H;_--;)W(U);else{U=H;let _=H.split(">"),N=_[0]??"",V=_[1]??"";K+=parseInt(N,36);let X=String.fromCodePoint(K);K+=parseInt(V,36);let z=String.fromCodePoint(K);if(J.set(X,z),q)q.set(z,X)}}return $.split(",").forEach(W),{map:J,reverseMap:q}}var a7=null,aU=null,rU=null;function r7(){if(!a7){let{map:$,reverseMap:Q}=Z0(s7.pairs,!0);a7=$,aU=Q,rU=Z0(s7.canonical,!1).map}}function q1($){return r7(),a7?.get($)||null}function U1($){return r7(),aU?.get($)||null}function W1($){return r7(),rU?.get($)||null}var K0={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"};var K6={},t7={};K6.L=1;t7[1]="L";Object.keys(K0).forEach(($,Q)=>{K6[$]=1<<Q+1;let Z=K6[$];if(Z!==void 0)t7[Z]=$});Object.freeze(K6);function U6($){return K6[$]??0}var e6=U6("LRI")|U6("RLI")|U6("FSI"),_1=U6("L")|U6("R")|U6("AL"),I6=U6("B")|U6("S")|U6("WS")|U6("ON")|U6("FSI")|U6("LRI")|U6("RLI")|U6("PDI"),w6=U6("BN")|U6("RLE")|U6("LRE")|U6("RLO")|U6("LRO")|U6("PDF"),J0=U6("S")|U6("WS")|U6("B")|e6|U6("PDI")|w6,H1=null;function Gj(){if(!H1){H1=new Map;let $=0;for(let Q in K0)if(Object.hasOwn(K0,Q)){let Z=K0[Q],K="",J=0,q=!1,U=0;for(let W=0;W<=Z.length+1;W+=1){let H=Z[W];if(H!==","&&W!==Z.length)if(H==="+")q=!0,U=$=U+parseInt(K,36),K="";else K+=H;else{if(!q)U=$=U+parseInt(K,36),J=$;else J=$+parseInt(K,36);q=!1,K="",U=J;let _=U6(Q);for(let N=$;N<J+1;N+=1)H1.set(N,_)}}}}}function y6($){Gj();let Q=$.codePointAt(0);if(Q===void 0)return U6("L");return H1?.get(Q)??U6("L")}var g6=K6.L??1,l6=K6.R??2,k6=K6.EN??4,q0=K6.ES??8,N1=K6.ET??16,U0=K6.AN??32,V1=K6.CS??64,Y9=K6.B??128,Ej=K6.S??256,X1=K6.ON??512,wj=K6.BN??1024,z1=K6.NSM??2048,j1=K6.AL??4096,tU=K6.LRO??8192,Y1=K6.RLO??16384,eU=K6.LRE??32768,e7=K6.RLE??65536,$W=K6.PDF??131072,Aj=K6.LRI??262144,QW=K6.RLI??524288,Fj=K6.FSI??1048576,G9=K6.PDI??2097152;function a($,Q){return $[Q]??0}function H6($,Q){return $[Q]??0}function E9($,Q){return $[Q]??""}function $$($,Q){let K=new Uint32Array($.length);for(let Y=0;Y<$.length;Y++)K[Y]=y6(E9($,Y));let J=new Map;function q(Y,G){let E=a(K,Y);if(K[Y]=G,J.set(E,(J.get(E)??0)-1),E&I6)J.set(I6,(J.get(I6)??0)-1);if(J.set(G,(J.get(G)??0)+1),G&I6)J.set(I6,(J.get(I6)??0)+1)}let U=new Uint8Array($.length),W=new Map,H=[],_=null;function N(Y,G){for(let E=Y;E<$.length;E++){let w=a(K,E);if(w&(l6|j1))return 1;if(w&(Y9|g6)||G&&w===G9)return 0;if(w&e6){let F=V(E);E=F===-1?$.length:F}}return 0}function V(Y){let G=1;for(let E=Y+1;E<$.length;E++){let w=a(K,E);if(w&Y9)break;if(w&G9){if(--G===0)return E}else if(w&e6)G++}return-1}for(let Y=0;Y<$.length;Y++){if(!_)_={start:Y,end:$.length-1,level:Q==="rtl"?1:Q==="ltr"?0:N(Y,!1)},H.push(_);if(a(K,Y)&Y9)_.end=Y,_=null}let X=e7|eU|Y1|tU|e6|G9|$W|Y9,z=(Y)=>Y+(Y&1?1:2),j=(Y)=>Y+(Y&1?2:1);for(let Y=0;Y<H.length;Y++){let G=H[Y];if(!G)continue;_=G;let E=[{_level:_.level,_override:0,_isolate:0}],w=0,F=0,A=0;J.clear();for(let T=_.start;T<=_.end;T++){let v=a(K,T),R=E[E.length-1];if(!R)continue;if(J.set(v,(J.get(v)??0)+1),v&I6)J.set(I6,(J.get(I6)??0)+1);if(v&X){if(v&(e7|eU)){U[T]=R._level;let u=(v===e7?j:z)(R._level);if(u<=125&&!w&&!F)E.push({_level:u,_override:0,_isolate:0});else if(!w)F++}else if(v&(Y1|tU)){U[T]=R._level;let u=(v===Y1?j:z)(R._level);if(u<=125&&!w&&!F)E.push({_level:u,_override:v&Y1?l6:g6,_isolate:0});else if(!w)F++}else if(v&e6){if(v&Fj)v=N(T+1,!0)===1?QW:Aj;if(U[T]=R._level,R._override)q(T,R._override);let u=(v===QW?j:z)(R._level);if(u<=125&&w===0&&F===0)A++,E.push({_level:u,_override:0,_isolate:1,_isolInitIndex:T});else w++}else if(v&G9){if(w>0)w--;else if(A>0){F=0;while(E.length>0){if(E[E.length-1]?._isolate)break;E.pop()}let I=E[E.length-1]?._isolInitIndex;if(I!=null)W.set(I,T),W.set(T,I);E.pop(),A--}if(R=E[E.length-1],!R)continue;if(U[T]=R._level,R._override)q(T,R._override)}else if(v&$W){if(w===0){if(F>0)F--;else if(!R._isolate&&E.length>1){if(E.pop(),R=E[E.length-1],!R)continue}}U[T]=R._level}else if(v&Y9)U[T]=_.level}else if(U[T]=R._level,R._override&&v!==wj)q(T,R._override)}let M=[],L=null;for(let T=_.start;T<=_.end;T++){let v=a(K,T);if(!(v&w6)){let R=U[T]??0,u=!!(v&e6),I=v===G9;if(L&&R===L._level)L._end=T,L._endsWithIsolInit=u;else L={_start:T,_end:T,_level:R,_startsWithPDI:I,_endsWithIsolInit:u},M.push(L)}}let O=[];for(let T=0;T<M.length;T++){let v=M[T];if(!v)continue;if(!v._startsWithPDI||v._startsWithPDI&&!W.has(v._start)){L=v;let R=[v];while(L?._endsWithIsolInit){let x=W.get(L._end);if(x==null)break;let n=!1;for(let o=T+1;o<M.length;o++){let d=M[o];if(d?._start===x){L=d,R.push(d),n=!0;break}}if(!n)break}let u=[];for(let x=0;x<R.length;x++){let n=R[x];for(let o=n._start;o<=n._end;o++)u.push(o)}let I=u[0]??0,l=U[I]??0,f=_.level;for(let x=I-1;x>=0;x--)if(!(a(K,x)&w6)){f=U[x]??0;break}let C=u[u.length-1]??0,B=U[C]??0,y=_.level;if(!(a(K,C)&e6)){for(let x=C+1;x<=_.end;x++)if(!(a(K,x)&w6)){y=U[x]??0;break}}O.push({_seqIndices:u,_sosType:Math.max(f,l)%2?l6:g6,_eosType:Math.max(y,B)%2?l6:g6})}}for(let T=0;T<O.length;T++){let v=O[T],{_seqIndices:R,_sosType:u,_eosType:I}=v,l=R[0]??0,f=(U[l]??0)&1?l6:g6;if(J.get(z1))for(let C=0;C<R.length;C++){let B=H6(R,C);if(a(K,B)&z1){let y=u;for(let x=C-1;x>=0;x--){let n=H6(R,x);if(!(a(K,n)&w6)){y=a(K,n);break}}q(B,y&(e6|G9)?X1:y)}}if(J.get(k6))for(let C=0;C<R.length;C++){let B=H6(R,C);if(a(K,B)&k6)for(let y=C-1;y>=-1;y--){let x=y===-1?u:a(K,H6(R,y));if(x&_1){if(x===j1)q(B,U0);break}}}if(J.get(j1))for(let C=0;C<R.length;C++){let B=H6(R,C);if(a(K,B)&j1)q(B,l6)}if(J.get(q0)||J.get(V1))for(let C=1;C<R.length-1;C++){let B=H6(R,C);if(a(K,B)&(q0|V1)){let y=0,x=0;for(let n=C-1;n>=0;n--)if(y=a(K,H6(R,n)),!(y&w6))break;for(let n=C+1;n<R.length;n++)if(x=a(K,H6(R,n)),!(x&w6))break;if(y===x&&(a(K,B)===q0?y===k6:y&(k6|U0)))q(B,y)}}if(J.get(k6))for(let C=0;C<R.length;C++){let B=H6(R,C);if(a(K,B)&k6){for(let y=C-1;y>=0;y--){let x=H6(R,y);if(!(a(K,x)&(N1|w6)))break;q(x,k6)}for(C++;C<R.length;C++){let y=H6(R,C);if(!(a(K,y)&(N1|w6|k6)))break;if(a(K,y)!==k6)q(y,k6)}}}if(J.get(N1)||J.get(q0)||J.get(V1))for(let C=0;C<R.length;C++){let B=H6(R,C);if(a(K,B)&(N1|q0|V1)){q(B,X1);for(let y=C-1;y>=0;y--){let x=H6(R,y);if(!(a(K,x)&w6))break;q(x,X1)}for(let y=C+1;y<R.length;y++){let x=H6(R,y);if(!(a(K,x)&w6))break;q(x,X1)}}}if(J.get(k6)){let C=u;for(let B=0;B<R.length;B++){let y=H6(R,B),x=a(K,y);if(x&k6){if(C===g6)q(y,g6)}else if(x&_1)C=x}}if(J.get(I6)){let C=l6|k6|U0,B=C|g6,y=[],x=[];for(let n=0;n<R.length;n++){let o=H6(R,n);if(a(K,o)&I6){let d=E9($,o);if(q1(d)!==null)if(x.length<63)x.push({char:d,seqIndex:n});else break;else{let g=U1(d);if(g!==null)for(let V6=x.length-1;V6>=0;V6--){let S=x[V6];if(!S)continue;let q6=S.char,b=W1(d),A6=W1(q6);if(q6===g||b&&q6===U1(b)||A6&&q1(A6)===d){y.push([S.seqIndex,n]),x.length=V6;break}}}}}y.sort((n,o)=>n[0]-o[0]);for(let n=0;n<y.length;n++){let o=y[n],[d,e]=o,g=!1,V6=0;for(let S=d+1;S<e;S++){let q6=H6(R,S),b=a(K,q6);if(b&B){g=!0;let A6=b&C?l6:g6;if(A6===f){V6=A6;break}}}if(g&&!V6){V6=u;for(let S=d-1;S>=0;S--){let q6=H6(R,S),b=a(K,q6);if(b&B){let A6=b&C?l6:g6;V6=A6!==f?A6:f;break}}}if(V6){if(K[H6(R,d)]=V6,K[H6(R,e)]=V6,V6!==f){for(let S=d+1;S<R.length;S++){let q6=H6(R,S);if(!(a(K,q6)&w6)){if(y6(E9($,q6))&z1)K[q6]=V6;break}}for(let S=e+1;S<R.length;S++){let q6=H6(R,S);if(!(a(K,q6)&w6)){if(y6(E9($,q6))&z1)K[q6]=V6;break}}}}}for(let n=0;n<R.length;n++){let o=H6(R,n);if(a(K,o)&I6){let d=n,e=n,g=u;for(let S=n-1;S>=0;S--){let q6=H6(R,S);if(a(K,q6)&w6)d=S;else{g=a(K,q6)&C?l6:g6;break}}let V6=I;for(let S=n+1;S<R.length;S++){let q6=H6(R,S);if(a(K,q6)&(I6|w6))e=S;else{V6=a(K,q6)&C?l6:g6;break}}for(let S=d;S<=e;S++)K[H6(R,S)]=g===V6?g:f;n=e}}}}for(let T=_.start;T<=_.end;T++){let v=U[T]??0,R=a(K,T);if(v&1){if(R&(g6|k6|U0))U[T]++}else if(R&l6)U[T]++;else if(R&(U0|k6))U[T]+=2;if(R&w6)U[T]=T===0?_.level:U[T-1]??_.level;if(T===_.end||y6(E9($,T))&(Ej|Y9))for(let u=T;u>=0&&y6(E9($,u))&J0;u--)U[u]=_.level}}return{levels:U,paragraphs:H}}var ZW="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1";var Q$=null;function Lj(){if(!Q$){let{map:$,reverseMap:Q}=Z0(ZW,!0);if(Q)Q.forEach((Z,K)=>{$.set(K,Z)});Q$=$}}function G1($){return Lj(),Q$?.get($)||null}function KW($,Q,Z,K){let J=$.length,q=Math.max(0,Z==null?0:+Z),U=Math.min(J-1,K==null?J-1:+K),W=[];for(let H=0;H<Q.paragraphs.length;H++){let _=Q.paragraphs[H],N=Math.max(q,_.start),V=Math.min(U,_.end);if(N<V){let X=Q.levels.slice(N,V+1);for(let Y=V;Y>=N;Y--){let G=$[Y];if(G===void 0)break;if(!(y6(G)&J0))break;X[Y-N]=_.level}let z=_.level,j=1/0;for(let Y=0;Y<X.length;Y++){let G=X[Y]??0;if(G>z)z=G;if(G<j)j=G|1}for(let Y=z;Y>=j;Y--)for(let G=0;G<X.length;G++)if((X[G]??0)>=Y){let w=G;while(G+1<X.length){if((X[G+1]??0)<Y)break;G++}if(G>w)W.push([w+N,G+N])}}}return W}function E1($,Q,Z,K){let J=KW($,Q,Z,K),q=[];for(let U=0;U<$.length;U++)q[U]=U;for(let U=0;U<J.length;U++){let W=J[U],H=W[0],_=W[1],N=q.slice(H,_+1);for(let V=N.length;V--;){let X=N[V];if(X!==void 0)q[_-V]=X}}return q}function JW($,Q=4){let Z=Q===5?"rtl":Q===4?"ltr":"auto",K=$$($,Z);return{levels:K.levels,paragraphs:K.paragraphs}}function Dj($,Q,Z=0,K=$.length){return[...E1($,Q,Z,K)]}function qW($,Q){if($.length===0)return $;let Z="x".repeat($.length),K=E1(Z,Q,0,$.length),J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U<$.length){let W=$[U];if(W)J.push(W)}}return J}function UW($){let Q=String.fromCodePoint($),Z=G1(Q);return Z?Z.codePointAt(0)??$:$}function WW($,Q){for(let Z=0;Z<$.length;Z++){let K=$[Z],J=Q[Z];if(J===void 0)continue;if(J&1){let q=UW(K.codepoint);if(q!==K.codepoint)K.codepoint=q}}}var u8={L:1,R:2,EN:4,ES:8,ET:16,AN:32,CS:64,B:128,S:256,WS:512,ON:1024,BN:2048,NSM:4096,AL:8192,LRO:16384,RLO:32768,LRE:65536,RLE:131072,PDF:262144,LRI:524288,RLI:1048576,FSI:2097152,PDI:4194304};function Mj($){return y6($)}function Bj($){let Q=String.fromCodePoint($);return(y6(Q)&(u8.R|u8.AL))!==0}function Rj($){let Q=String.fromCodePoint($);return(y6(Q)&u8.L)!==0}function Tj($){let Q=[...$];for(let Z=0;Z<Q.length;Z++){let K=Q[Z],J=y6(K);if(J&u8.L)return 4;if(J&(u8.R|u8.AL))return 5}return 4}function Oj($,Q=4){if($.length===0)return{infos:$,levels:new Uint8Array(0)};let Z=$.map((q)=>String.fromCodePoint(q.codepoint)).join(""),K=JW(Z,Q);return WW($,K.levels),{infos:qW($,K),levels:K.levels}}var HW;((b)=>{b[b.BK=0]="BK";b[b.CR=1]="CR";b[b.LF=2]="LF";b[b.CM=3]="CM";b[b.NL=4]="NL";b[b.SG=5]="SG";b[b.WJ=6]="WJ";b[b.ZW=7]="ZW";b[b.GL=8]="GL";b[b.SP=9]="SP";b[b.ZWJ=10]="ZWJ";b[b.B2=11]="B2";b[b.BA=12]="BA";b[b.BB=13]="BB";b[b.HY=14]="HY";b[b.CB=15]="CB";b[b.CL=16]="CL";b[b.CP=17]="CP";b[b.EX=18]="EX";b[b.IN=19]="IN";b[b.NS=20]="NS";b[b.OP=21]="OP";b[b.QU=22]="QU";b[b.IS=23]="IS";b[b.NU=24]="NU";b[b.PO=25]="PO";b[b.PR=26]="PR";b[b.SY=27]="SY";b[b.AI=28]="AI";b[b.AL=29]="AL";b[b.CJ=30]="CJ";b[b.EB=31]="EB";b[b.EM=32]="EM";b[b.H2=33]="H2";b[b.H3=34]="H3";b[b.HL=35]="HL";b[b.ID=36]="ID";b[b.JL=37]="JL";b[b.JV=38]="JV";b[b.JT=39]="JT";b[b.RI=40]="RI";b[b.SA=41]="SA";b[b.XX=42]="XX"})(HW||={});var _W;((U)=>{U[U.Direct=0]="Direct";U[U.Indirect=1]="Indirect";U[U.CombiningIndirect=2]="CombiningIndirect";U[U.CombiningProhibited=3]="CombiningProhibited";U[U.Prohibited=4]="Prohibited";U[U.Explicit=5]="Explicit"})(_W||={});var NW;((K)=>{K[K.NoBreak=0]="NoBreak";K[K.Optional=1]="Optional";K[K.Mandatory=2]="Mandatory"})(NW||={});function VW($){if($===10)return 2;if($===13)return 1;if($===133)return 4;if($===11||$===12)return 0;if($===8232)return 0;if($===8233)return 0;if($===8203)return 7;if($===8205)return 10;if($===8288)return 6;if($===65279)return 6;if($===32)return 9;if($===160)return 8;if($===8239)return 8;if($===8199)return 8;if($===8209)return 8;if($===9)return 12;if($>=8192&&$<=8202)return 12;if($>=768&&$<=879)return 3;if($>=1155&&$<=1161)return 3;if($>=1425&&$<=1469)return 3;if($>=1471&&$<=1479)return 3;if($>=1552&&$<=1562)return 3;if($>=1611&&$<=1631)return 3;if($>=1648&&$<=1648)return 3;if($>=1750&&$<=1773)return 3;if($>=1809&&$<=1809)return 3;if($>=1840&&$<=1866)return 3;if($>=1958&&$<=1968)return 3;if($>=2070&&$<=2083)return 3;if($>=2085&&$<=2093)return 3;if($>=2137&&$<=2139)return 3;if($>=2259&&$<=2273)return 3;if($>=2275&&$<=2307)return 3;if($>=2362&&$<=2364)return 3;if($>=2366&&$<=2383)return 3;if($>=2385&&$<=2391)return 3;if($>=2402&&$<=2403)return 3;if($>=2433&&$<=2435)return 3;if($===2492)return 3;if($>=2494&&$<=2509)return 3;if($>=2519&&$<=2519)return 3;if($>=2530&&$<=2531)return 3;if($>=2558&&$<=2558)return 3;if($>=2561&&$<=2563)return 3;if($>=2620&&$<=2641)return 3;if($>=2672&&$<=2673)return 3;if($>=2677&&$<=2677)return 3;if($>=2689&&$<=2691)return 3;if($>=2748&&$<=2765)return 3;if($>=2786&&$<=2787)return 3;if($>=2810&&$<=2815)return 3;if($>=2817&&$<=2819)return 3;if($>=2876&&$<=2903)return 3;if($>=2914&&$<=2915)return 3;if($>=2946&&$<=2946)return 3;if($>=3006&&$<=3021)return 3;if($>=3031&&$<=3031)return 3;if($>=3072&&$<=3076)return 3;if($>=3134&&$<=3158)return 3;if($>=3170&&$<=3171)return 3;if($>=3201&&$<=3203)return 3;if($>=3260&&$<=3286)return 3;if($>=3298&&$<=3299)return 3;if($>=3328&&$<=3331)return 3;if($>=3387&&$<=3405)return 3;if($>=3415&&$<=3415)return 3;if($>=3426&&$<=3427)return 3;if($>=3457&&$<=3459)return 3;if($>=3530&&$<=3571)return 3;if($>=3864&&$<=3865)return 3;if($>=3893&&$<=3897)return 3;if($>=3902&&$<=3903)return 3;if($>=3953&&$<=3972)return 3;if($>=3974&&$<=3975)return 3;if($>=3981&&$<=4028)return 3;if($===4038)return 3;if($>=5906&&$<=5908)return 3;if($>=5938&&$<=5940)return 3;if($>=5970&&$<=5971)return 3;if($>=6002&&$<=6003)return 3;if($>=6068&&$<=6099)return 3;if($===6109)return 3;if($>=6155&&$<=6157)return 3;if($===6159)return 3;if($>=6277&&$<=6278)return 3;if($===6313)return 3;if($>=6432&&$<=6459)return 3;if($>=6679&&$<=6683)return 3;if($>=6741&&$<=6783)return 3;if($>=6832&&$<=6862)return 3;if($>=6912&&$<=6916)return 3;if($>=6964&&$<=6980)return 3;if($>=7019&&$<=7027)return 3;if($>=7040&&$<=7042)return 3;if($>=7073&&$<=7085)return 3;if($>=7142&&$<=7155)return 3;if($>=7204&&$<=7223)return 3;if($>=7376&&$<=7417)return 3;if($>=7616&&$<=7679)return 3;if($>=8400&&$<=8432)return 3;if($>=11503&&$<=11505)return 3;if($===11647)return 3;if($>=11744&&$<=11775)return 3;if($>=12330&&$<=12335)return 3;if($>=12441&&$<=12442)return 3;if($>=42607&&$<=42610)return 3;if($>=42612&&$<=42621)return 3;if($>=42654&&$<=42655)return 3;if($>=42736&&$<=42737)return 3;if($>=43010&&$<=43047)return 3;if($>=43052&&$<=43052)return 3;if($>=43136&&$<=43137)return 3;if($>=43188&&$<=43205)return 3;if($>=43232&&$<=43249)return 3;if($===43263)return 3;if($>=43302&&$<=43309)return 3;if($>=43335&&$<=43347)return 3;if($>=43392&&$<=43395)return 3;if($>=43443&&$<=43469)return 3;if($===43493)return 3;if($>=43561&&$<=43574)return 3;if($>=43587&&$<=43587)return 3;if($>=43596&&$<=43597)return 3;if($>=43643&&$<=43645)return 3;if($>=43696&&$<=43714)return 3;if($>=43755&&$<=43759)return 3;if($>=43765&&$<=43766)return 3;if($>=44003&&$<=44010)return 3;if($>=44012&&$<=44013)return 3;if($===64286)return 3;if($>=65024&&$<=65039)return 3;if($>=65056&&$<=65071)return 3;if($>=66045&&$<=66045)return 3;if($>=66272&&$<=66272)return 3;if($>=66422&&$<=66426)return 3;if($>=68097&&$<=68111)return 3;if($>=68152&&$<=68159)return 3;if($>=68325&&$<=68326)return 3;if($>=68900&&$<=68903)return 3;if($>=69291&&$<=69292)return 3;if($>=69446&&$<=69456)return 3;if($>=69506&&$<=69509)return 3;if($>=69632&&$<=69634)return 3;if($>=69688&&$<=69702)return 3;if($>=69744&&$<=69744)return 3;if($>=69747&&$<=69748)return 3;if($>=69759&&$<=69762)return 3;if($>=69808&&$<=69826)return 3;if($>=69888&&$<=69890)return 3;if($>=69927&&$<=69940)return 3;if($===69957)return 3;if($===69958)return 3;if($>=70003&&$<=70003)return 3;if($>=70016&&$<=70018)return 3;if($>=70067&&$<=70080)return 3;if($>=70089&&$<=70092)return 3;if($===70094)return 3;if($===70095)return 3;if($>=70188&&$<=70199)return 3;if($===70206)return 3;if($>=70367&&$<=70378)return 3;if($>=70400&&$<=70403)return 3;if($>=70459&&$<=70460)return 3;if($>=70462&&$<=70477)return 3;if($>=70487&&$<=70487)return 3;if($>=70498&&$<=70516)return 3;if($>=70709&&$<=70726)return 3;if($===70750)return 3;if($>=70832&&$<=70851)return 3;if($>=71087&&$<=71104)return 3;if($>=71132&&$<=71133)return 3;if($>=71216&&$<=71232)return 3;if($>=71339&&$<=71351)return 3;if($>=71453&&$<=71467)return 3;if($>=71724&&$<=71738)return 3;if($>=71984&&$<=71989)return 3;if($>=71991&&$<=71992)return 3;if($>=71995&&$<=71998)return 3;if($===72000)return 3;if($>=72002&&$<=72003)return 3;if($>=72145&&$<=72151)return 3;if($>=72154&&$<=72160)return 3;if($===72164)return 3;if($>=72193&&$<=72202)return 3;if($>=72243&&$<=72249)return 3;if($>=72251&&$<=72254)return 3;if($===72263)return 3;if($>=72273&&$<=72283)return 3;if($>=72330&&$<=72345)return 3;if($>=72751&&$<=72758)return 3;if($>=72760&&$<=72767)return 3;if($>=72850&&$<=72871)return 3;if($>=72873&&$<=72886)return 3;if($>=73009&&$<=73029)return 3;if($===73031)return 3;if($>=73098&&$<=73111)return 3;if($>=73459&&$<=73462)return 3;if($>=92912&&$<=92916)return 3;if($>=92976&&$<=92982)return 3;if($===94031)return 3;if($>=94033&&$<=94087)return 3;if($>=94095&&$<=94098)return 3;if($>=94180&&$<=94180)return 3;if($>=94192&&$<=94193)return 3;if($>=113821&&$<=113822)return 3;if($>=118528&&$<=118598)return 3;if($>=119141&&$<=119145)return 3;if($>=119149&&$<=119154)return 3;if($>=119163&&$<=119170)return 3;if($>=119173&&$<=119179)return 3;if($>=119210&&$<=119213)return 3;if($>=119362&&$<=119364)return 3;if($>=121344&&$<=121398)return 3;if($>=121403&&$<=121452)return 3;if($===121461)return 3;if($===121476)return 3;if($>=121499&&$<=121519)return 3;if($>=122880&&$<=122922)return 3;if($>=123184&&$<=123190)return 3;if($>=123566&&$<=123566)return 3;if($>=123628&&$<=123631)return 3;if($>=125136&&$<=125142)return 3;if($>=125252&&$<=125258)return 3;if($>=917760&&$<=917999)return 3;if($===33)return 18;if($===63)return 18;if($===34)return 22;if($===39)return 22;if($===40)return 21;if($===41)return 17;if($===91)return 21;if($===93)return 17;if($===123)return 21;if($===125)return 16;if($===44)return 23;if($===46)return 23;if($===58)return 23;if($===59)return 23;if($===45)return 14;if($===8208)return 12;if($===8211)return 12;if($===8212)return 11;if($===8216||$===8217)return 22;if($===8220||$===8221)return 22;if($===8230)return 19;if($===12289||$===12290)return 16;if($===12296)return 21;if($===12297)return 16;if($===12298)return 21;if($===12299)return 16;if($===12300)return 21;if($===12301)return 16;if($===12302)return 21;if($===12303)return 16;if($===12304)return 21;if($===12305)return 16;if($===12308)return 21;if($===12309)return 16;if($===12310)return 21;if($===12311)return 16;if($>=12312&&$<=12315)return $%2===0?21:16;if($===65288)return 21;if($===65289)return 16;if($===65292)return 16;if($===65294)return 16;if($===65306)return 20;if($===65307)return 20;if($===65311)return 18;if($===65281)return 18;if($>=12353&&$<=12438){if($===12353||$===12355||$===12357||$===12359||$===12361||$===12387||$===12419||$===12421||$===12423||$===12430||$===12437||$===12438)return 30;return 36}if($>=12449&&$<=12538){if($===12449||$===12451||$===12453||$===12455||$===12457||$===12483||$===12515||$===12517||$===12519||$===12526||$===12533||$===12534)return 30;return 36}if($===12540)return 30;if($>=4352&&$<=4447)return 37;if($>=43360&&$<=43388)return 37;if($>=4448&&$<=4519)return 38;if($>=55216&&$<=55238)return 38;if($>=4520&&$<=4607)return 39;if($>=55243&&$<=55291)return 39;if($>=44032&&$<=55203){if(($-44032)%28===0)return 33;return 34}if($>=48&&$<=57)return 24;if($>=1632&&$<=1641)return 24;if($>=1776&&$<=1785)return 24;if($>=2406&&$<=2415)return 24;if($>=65296&&$<=65305)return 24;if($===36)return 26;if($===163)return 26;if($===165)return 26;if($===8364)return 26;if($===37)return 25;if($>=1488&&$<=1514)return 35;if($>=64285&&$<=64335)return 35;if($>=19968&&$<=40959)return 36;if($>=13312&&$<=19903)return 36;if($>=131072&&$<=173791)return 36;if($>=173824&&$<=177983)return 36;if($>=177984&&$<=178207)return 36;if($>=178208&&$<=183983)return 36;if($>=183984&&$<=191471)return 36;if($>=196608&&$<=201551)return 36;if($>=63744&&$<=64255)return 36;if($>=194560&&$<=195103)return 36;if($>=127744&&$<=129535)return 36;if($>=129536&&$<=129791)return 36;if($>=9728&&$<=9983)return 36;if($>=9984&&$<=10175)return 36;if($>=127456&&$<=127487)return 40;if($>=127995&&$<=127999)return 32;if($>=3584&&$<=3711)return 41;if($>=3712&&$<=3839)return 41;if($>=4096&&$<=4255)return 41;if($>=43488&&$<=43519)return 41;if($>=43616&&$<=43647)return 41;if($>=6016&&$<=6143)return 41;if($>=6624&&$<=6655)return 41;if($>=65&&$<=90)return 29;if($>=97&&$<=122)return 29;if($>=192&&$<=591)return 29;if($>=1536&&$<=1791)return 29;if($>=1872&&$<=1919)return 29;if($>=2208&&$<=2303)return 29;if($>=2304&&$<=2431)return 29;if($>=2432&&$<=2559)return 29;if($>=2560&&$<=2687)return 29;if($>=2688&&$<=2815)return 29;if($>=2816&&$<=2943)return 29;if($>=2944&&$<=3071)return 29;if($>=3072&&$<=3199)return 29;if($>=3200&&$<=3327)return 29;if($>=3328&&$<=3455)return 29;if($>=1024&&$<=1279)return 29;if($>=1280&&$<=1327)return 29;if($>=880&&$<=1023)return 29;return 42}function Pj($,Q){if($===28)$=29;if($===41)$=29;if($===5)$=29;if($===42)$=29;if($===30)$=20;if(Q===28)Q=29;if(Q===41)Q=29;if(Q===5)Q=29;if(Q===42)Q=29;if(Q===30)Q=20;if($===0)return 5;if($===1&&Q===2)return 4;if($===1||$===2||$===4)return 5;if(Q===0||Q===1||Q===2||Q===4)return 4;if(Q===9||Q===7)return 4;if($===7)return 0;if($===10)return 4;if(Q===3||Q===10){if($!==9)return 4}let Z=$,K=Q;if($===3||$===10)Z=29;if(Q===3||Q===10)K=29;if($=Z,Q=K,$===6||Q===6)return 4;if($===8)return 4;if(Q===8){if($!==9&&$!==12&&$!==14)return 4}if(Q===16||Q===17||Q===18||Q===23||Q===27)return 4;if($===21)return 4;if($===22&&Q===21)return 4;if(($===16||$===17)&&Q===20)return 4;if($===11&&Q===11)return 4;if($===9)return 0;if($===22||Q===22)return 4;if($===15||Q===15)return 0;if(Q===12||Q===14||Q===20)return 4;if($===13)return 4;if($===27&&Q===35)return 4;if(Q===19)return 4;if(($===29||$===35)&&Q===24)return 4;if($===24&&(Q===29||Q===35))return 4;if($===26&&Q===36)return 4;if($===36&&Q===25)return 4;if(($===26||$===25)&&(Q===29||Q===35))return 4;if(($===29||$===35)&&(Q===26||Q===25))return 4;if(($===16||$===17)&&Q===24)return 4;if($===24&&(Q===25||Q===26))return 4;if(($===25||$===26||$===14||$===23||$===24||$===27)&&Q===24)return 4;if($===37){if(Q===37||Q===38||Q===33||Q===34)return 4}if($===38||$===33){if(Q===38||Q===39)return 4}if($===39||$===34){if(Q===39)return 4}if($===37||$===38||$===39||$===33||$===34){if(Q===25)return 4}if(Q===37||Q===38||Q===39||Q===33||Q===34){if($===26)return 4}if(($===29||$===35)&&(Q===29||Q===35))return 4;if($===23&&(Q===29||Q===35))return 4;if(($===29||$===35||$===24)&&Q===21)return 4;if($===17&&(Q===29||Q===35||Q===24))return 4;if($===40&&Q===40)return 4;if($===31&&Q===32)return 4;return 0}function vj($){let Q=[],Z=[...$];for(let K=0;K<Z.length;K++){let J=Z[K];Q.push(J.codePointAt(0)??0)}return Z$(Q)}function Z$($){let Q=$.length,Z=[],K=[];for(let J=0;J<$.length;J++){let q=$[J];Z.push(VW(q))}K.push(0);for(let J=1;J<Q;J++){let q=Z[J-1],U=Z[J];switch(Pj(q,U)){case 5:K.push(2);break;case 0:K.push(1);break;default:K.push(0)}}return K.push(2),{breaks:K,classes:Z}}function Ij($){let Q=$.map((Z)=>Z.codepoint);return Z$(Q)}function kj($,Q){for(let Z=Q+1;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)return Z;return $.breaks.length-1}function Cj($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]!==0}function Sj($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]===2}function hj($){let Q=[];for(let Z=0;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)Q.push(Z);return Q}var zW;((P)=>{P.Common="Zyyy";P.Inherited="Zinh";P.Unknown="Zzzz";P.Latin="Latn";P.Greek="Grek";P.Cyrillic="Cyrl";P.Armenian="Armn";P.Hebrew="Hebr";P.Arabic="Arab";P.Syriac="Syrc";P.Thaana="Thaa";P.Devanagari="Deva";P.Bengali="Beng";P.Gurmukhi="Guru";P.Gujarati="Gujr";P.Oriya="Orya";P.Tamil="Taml";P.Telugu="Telu";P.Kannada="Knda";P.Malayalam="Mlym";P.Sinhala="Sinh";P.Thai="Thai";P.Lao="Laoo";P.Tibetan="Tibt";P.Myanmar="Mymr";P.Georgian="Geor";P.Hangul="Hang";P.Ethiopic="Ethi";P.Cherokee="Cher";P.CanadianAboriginal="Cans";P.Ogham="Ogam";P.Runic="Runr";P.Khmer="Khmr";P.Mongolian="Mong";P.Hiragana="Hira";P.Katakana="Kana";P.Bopomofo="Bopo";P.Han="Hani";P.Yi="Yiii";P.OldItalic="Ital";P.Gothic="Goth";P.Deseret="Dsrt";P.Tagalog="Tglg";P.Hanunoo="Hano";P.Buhid="Buhd";P.Tagbanwa="Tagb";P.Limbu="Limb";P.TaiLe="Tale";P.LinearB="Linb";P.Ugaritic="Ugar";P.Shavian="Shaw";P.Osmanya="Osma";P.Cypriot="Cprt";P.Braille="Brai";P.Buginese="Bugi";P.Coptic="Copt";P.NewTaiLue="Talu";P.Glagolitic="Glag";P.Tifinagh="Tfng";P.SylotiNagri="Sylo";P.OldPersian="Xpeo";P.Kharoshthi="Khar";P.Balinese="Bali";P.Cuneiform="Xsux";P.Phoenician="Phnx";P.PhagsPa="Phag";P.Nko="Nkoo";P.Sundanese="Sund";P.Lepcha="Lepc";P.OlChiki="Olck";P.Vai="Vaii";P.Saurashtra="Saur";P.KayahLi="Kali";P.Rejang="Rjng";P.Lycian="Lyci";P.Carian="Cari";P.Lydian="Lydi";P.Cham="Cham";P.TaiTham="Lana";P.TaiViet="Tavt";P.Avestan="Avst";P.EgyptianHieroglyphs="Egyp";P.Samaritan="Samr";P.Lisu="Lisu";P.Bamum="Bamu";P.Javanese="Java";P.MeeteiMayek="Mtei";P.ImperialAramaic="Armi";P.OldSouthArabian="Sarb";P.InscriptionalParthian="Prti";P.InscriptionalPahlavi="Phli";P.OldTurkic="Orkh";P.Kaithi="Kthi";P.Batak="Batk";P.Brahmi="Brah";P.Mandaic="Mand";P.Chakma="Cakm";P.MeroiticCursive="Merc";P.MeroiticHieroglyphs="Mero";P.Miao="Plrd";P.Sharada="Shrd";P.SoraSompeng="Sora";P.Takri="Takr";P.CaucasianAlbanian="Aghb";P.BassaVah="Bass";P.Duployan="Dupl";P.Elbasan="Elba";P.Grantha="Gran";P.PahawhHmong="Hmng";P.Khojki="Khoj";P.LinearA="Lina";P.Mahajani="Mahj";P.Manichaean="Mani";P.MendeKikakui="Mend";P.Modi="Modi";P.Mro="Mroo";P.OldNorthArabian="Narb";P.Nabataean="Nbat";P.Palmyrene="Palm";P.PauCinHau="Pauc";P.OldPermic="Perm";P.PsalterPahlavi="Phlp";P.Siddham="Sidd";P.Khudawadi="Sind";P.Tirhuta="Tirh";P.WarangCiti="Wara";P.Ahom="Ahom";P.AnatolianHieroglyphs="Hluw";P.Hatran="Hatr";P.Multani="Mult";P.OldHungarian="Hung";P.SignWriting="Sgnw";P.Adlam="Adlm";P.Bhaiksuki="Bhks";P.Marchen="Marc";P.Newa="Newa";P.Osage="Osge";P.Tangut="Tang";P.MasaramGondi="Gonm";P.Nushu="Nshu";P.Soyombo="Soyo";P.ZanabazarSquare="Zanb";P.Dogra="Dogr";P.GunjalaGondi="Gong";P.Makasar="Maka";P.Medefaidrin="Medf";P.HanifiRohingya="Rohg";P.Sogdian="Sogd";P.OldSogdian="Sogo";P.Elymaic="Elym";P.Nandinagari="Nand";P.NyiakengPuachueHmong="Hmnp";P.Wancho="Wcho";P.Yezidi="Yezi";P.Chorasmian="Chrs";P.DivesAkuru="Diak";P.KhitanSmallScript="Kits";P.Vithkuqi="Vith";P.OldUyghur="Ougr";P.Cypro_Minoan="Cpmn";P.Tangsa="Tnsa";P.Toto="Toto";P.Kawi="Kawi";P.NagMundari="Nagm"})(zW||={});var XW=[{start:0,end:127,script:"Zyyy"},{start:128,end:255,script:"Latn"},{start:256,end:383,script:"Latn"},{start:384,end:591,script:"Latn"},{start:592,end:687,script:"Latn"},{start:688,end:767,script:"Zyyy"},{start:768,end:879,script:"Zinh"},{start:880,end:1023,script:"Grek"},{start:1024,end:1279,script:"Cyrl"},{start:1280,end:1327,script:"Cyrl"},{start:1328,end:1423,script:"Armn"},{start:1424,end:1535,script:"Hebr"},{start:1536,end:1791,script:"Arab"},{start:1792,end:1871,script:"Syrc"},{start:1872,end:1919,script:"Arab"},{start:1920,end:1983,script:"Thaa"},{start:1984,end:2047,script:"Nkoo"},{start:2048,end:2111,script:"Samr"},{start:2112,end:2143,script:"Mand"},{start:2144,end:2159,script:"Syrc"},{start:2160,end:2207,script:"Arab"},{start:2208,end:2303,script:"Arab"},{start:2304,end:2431,script:"Deva"},{start:2432,end:2559,script:"Beng"},{start:2560,end:2687,script:"Guru"},{start:2688,end:2815,script:"Gujr"},{start:2816,end:2943,script:"Orya"},{start:2944,end:3071,script:"Taml"},{start:3072,end:3199,script:"Telu"},{start:3200,end:3327,script:"Knda"},{start:3328,end:3455,script:"Mlym"},{start:3456,end:3583,script:"Sinh"},{start:3584,end:3711,script:"Thai"},{start:3712,end:3839,script:"Laoo"},{start:3840,end:4095,script:"Tibt"},{start:4096,end:4255,script:"Mymr"},{start:4256,end:4351,script:"Geor"},{start:4352,end:4607,script:"Hang"},{start:4608,end:4991,script:"Ethi"},{start:4992,end:5023,script:"Ethi"},{start:5024,end:5119,script:"Cher"},{start:5120,end:5759,script:"Cans"},{start:5760,end:5791,script:"Ogam"},{start:5792,end:5887,script:"Runr"},{start:5888,end:5919,script:"Tglg"},{start:5920,end:5951,script:"Hano"},{start:5952,end:5983,script:"Buhd"},{start:5984,end:6015,script:"Tagb"},{start:6016,end:6143,script:"Khmr"},{start:6144,end:6319,script:"Mong"},{start:6320,end:6399,script:"Cans"},{start:6400,end:6479,script:"Limb"},{start:6480,end:6527,script:"Tale"},{start:6528,end:6623,script:"Talu"},{start:6624,end:6655,script:"Khmr"},{start:6656,end:6687,script:"Bugi"},{start:6688,end:6831,script:"Lana"},{start:6832,end:6911,script:"Zinh"},{start:6912,end:7039,script:"Bali"},{start:7040,end:7103,script:"Sund"},{start:7104,end:7167,script:"Batk"},{start:7168,end:7247,script:"Lepc"},{start:7248,end:7295,script:"Olck"},{start:7296,end:7311,script:"Cyrl"},{start:7312,end:7359,script:"Geor"},{start:7360,end:7375,script:"Sund"},{start:7376,end:7423,script:"Zinh"},{start:7424,end:7551,script:"Latn"},{start:7552,end:7615,script:"Latn"},{start:7616,end:7679,script:"Zinh"},{start:7680,end:7935,script:"Latn"},{start:7936,end:8191,script:"Grek"},{start:8192,end:8303,script:"Zyyy"},{start:8304,end:8351,script:"Zyyy"},{start:8352,end:8399,script:"Zyyy"},{start:8400,end:8447,script:"Zinh"},{start:8448,end:8527,script:"Zyyy"},{start:8528,end:8591,script:"Zyyy"},{start:8592,end:8703,script:"Zyyy"},{start:8704,end:8959,script:"Zyyy"},{start:8960,end:9215,script:"Zyyy"},{start:9216,end:9279,script:"Zyyy"},{start:9280,end:9311,script:"Zyyy"},{start:9312,end:9471,script:"Zyyy"},{start:9472,end:9599,script:"Zyyy"},{start:9600,end:9631,script:"Zyyy"},{start:9632,end:9727,script:"Zyyy"},{start:9728,end:9983,script:"Zyyy"},{start:9984,end:10175,script:"Zyyy"},{start:10176,end:10223,script:"Zyyy"},{start:10224,end:10239,script:"Zyyy"},{start:10240,end:10495,script:"Brai"},{start:10496,end:10623,script:"Zyyy"},{start:10624,end:10751,script:"Zyyy"},{start:10752,end:11007,script:"Zyyy"},{start:11008,end:11263,script:"Zyyy"},{start:11264,end:11359,script:"Glag"},{start:11360,end:11391,script:"Latn"},{start:11392,end:11519,script:"Copt"},{start:11520,end:11567,script:"Geor"},{start:11568,end:11647,script:"Tfng"},{start:11648,end:11743,script:"Ethi"},{start:11744,end:11775,script:"Cyrl"},{start:11776,end:11903,script:"Zyyy"},{start:11904,end:12031,script:"Hani"},{start:12032,end:12255,script:"Hani"},{start:12272,end:12287,script:"Zyyy"},{start:12288,end:12351,script:"Zyyy"},{start:12352,end:12447,script:"Hira"},{start:12448,end:12543,script:"Kana"},{start:12544,end:12591,script:"Bopo"},{start:12592,end:12687,script:"Hang"},{start:12688,end:12703,script:"Zyyy"},{start:12704,end:12735,script:"Bopo"},{start:12736,end:12783,script:"Zyyy"},{start:12784,end:12799,script:"Kana"},{start:12800,end:13055,script:"Zyyy"},{start:13056,end:13311,script:"Zyyy"},{start:13312,end:19903,script:"Hani"},{start:19904,end:19967,script:"Zyyy"},{start:19968,end:40959,script:"Hani"},{start:40960,end:42127,script:"Yiii"},{start:42128,end:42191,script:"Yiii"},{start:42192,end:42239,script:"Lisu"},{start:42240,end:42559,script:"Vaii"},{start:42560,end:42655,script:"Cyrl"},{start:42656,end:42751,script:"Bamu"},{start:42752,end:42783,script:"Zyyy"},{start:42784,end:43007,script:"Latn"},{start:43008,end:43055,script:"Sylo"},{start:43056,end:43071,script:"Zyyy"},{start:43072,end:43135,script:"Phag"},{start:43136,end:43231,script:"Saur"},{start:43232,end:43263,script:"Deva"},{start:43264,end:43311,script:"Kali"},{start:43312,end:43359,script:"Rjng"},{start:43360,end:43391,script:"Hang"},{start:43392,end:43487,script:"Java"},{start:43488,end:43519,script:"Mymr"},{start:43520,end:43615,script:"Cham"},{start:43616,end:43647,script:"Mymr"},{start:43648,end:43743,script:"Tavt"},{start:43744,end:43775,script:"Mtei"},{start:43776,end:43823,script:"Ethi"},{start:43824,end:43887,script:"Latn"},{start:43888,end:43967,script:"Cher"},{start:43968,end:44031,script:"Mtei"},{start:44032,end:55215,script:"Hang"},{start:55216,end:55295,script:"Hang"},{start:55296,end:57343,script:"Zzzz"},{start:57344,end:63743,script:"Zzzz"},{start:63744,end:64255,script:"Hani"},{start:64256,end:64335,script:"Latn"},{start:64336,end:65023,script:"Arab"},{start:65024,end:65039,script:"Zinh"},{start:65040,end:65055,script:"Zyyy"},{start:65056,end:65071,script:"Zinh"},{start:65072,end:65103,script:"Zyyy"},{start:65104,end:65135,script:"Zyyy"},{start:65136,end:65279,script:"Arab"},{start:65280,end:65519,script:"Zyyy"},{start:65520,end:65535,script:"Zyyy"},{start:65536,end:65663,script:"Linb"},{start:65664,end:65791,script:"Linb"},{start:65792,end:65855,script:"Zyyy"},{start:65856,end:65935,script:"Grek"},{start:65936,end:65999,script:"Zyyy"},{start:66000,end:66047,script:"Zyyy"},{start:66176,end:66207,script:"Lyci"},{start:66208,end:66271,script:"Cari"},{start:66272,end:66303,script:"Zinh"},{start:66304,end:66351,script:"Ital"},{start:66352,end:66383,script:"Goth"},{start:66384,end:66431,script:"Perm"},{start:66432,end:66463,script:"Ugar"},{start:66464,end:66527,script:"Xpeo"},{start:66560,end:66639,script:"Dsrt"},{start:66640,end:66687,script:"Shaw"},{start:66688,end:66735,script:"Osma"},{start:66736,end:66815,script:"Osge"},{start:66816,end:66863,script:"Elba"},{start:66864,end:66927,script:"Aghb"},{start:66928,end:67007,script:"Vith"},{start:67072,end:67455,script:"Lina"},{start:67456,end:67519,script:"Latn"},{start:67584,end:67647,script:"Cprt"},{start:67648,end:67679,script:"Armi"},{start:67680,end:67711,script:"Palm"},{start:67712,end:67759,script:"Nbat"},{start:67808,end:67839,script:"Hatr"},{start:67840,end:67871,script:"Phnx"},{start:67872,end:67903,script:"Lydi"},{start:67968,end:67999,script:"Mero"},{start:68000,end:68095,script:"Merc"},{start:68096,end:68191,script:"Khar"},{start:68192,end:68223,script:"Sarb"},{start:68224,end:68255,script:"Narb"},{start:68288,end:68351,script:"Mani"},{start:68352,end:68415,script:"Avst"},{start:68416,end:68447,script:"Prti"},{start:68448,end:68479,script:"Phli"},{start:68480,end:68527,script:"Phlp"},{start:68608,end:68687,script:"Orkh"},{start:68736,end:68863,script:"Hung"},{start:68864,end:68927,script:"Rohg"},{start:69248,end:69311,script:"Yezi"},{start:69376,end:69423,script:"Sogo"},{start:69424,end:69487,script:"Sogd"},{start:69488,end:69551,script:"Ougr"},{start:69552,end:69599,script:"Chrs"},{start:69600,end:69631,script:"Elym"},{start:69632,end:69759,script:"Brah"},{start:69760,end:69839,script:"Kthi"},{start:69840,end:69887,script:"Sora"},{start:69888,end:69967,script:"Cakm"},{start:69968,end:70015,script:"Mahj"},{start:70016,end:70111,script:"Shrd"},{start:70112,end:70143,script:"Sinh"},{start:70144,end:70223,script:"Khoj"},{start:70272,end:70319,script:"Mult"},{start:70320,end:70399,script:"Sind"},{start:70400,end:70527,script:"Gran"},{start:70656,end:70783,script:"Newa"},{start:70784,end:70879,script:"Tirh"},{start:71040,end:71167,script:"Sidd"},{start:71168,end:71263,script:"Modi"},{start:71264,end:71295,script:"Mong"},{start:71296,end:71375,script:"Takr"},{start:71424,end:71503,script:"Ahom"},{start:71680,end:71759,script:"Dogr"},{start:71840,end:71935,script:"Wara"},{start:71936,end:72031,script:"Diak"},{start:72096,end:72191,script:"Nand"},{start:72192,end:72271,script:"Zanb"},{start:72272,end:72367,script:"Soyo"},{start:72368,end:72383,script:"Cans"},{start:72384,end:72447,script:"Pauc"},{start:72704,end:72815,script:"Bhks"},{start:72816,end:72895,script:"Marc"},{start:72960,end:73055,script:"Gonm"},{start:73056,end:73135,script:"Gong"},{start:73440,end:73471,script:"Maka"},{start:73472,end:73567,script:"Kawi"},{start:73728,end:74751,script:"Xsux"},{start:74752,end:74879,script:"Xsux"},{start:74880,end:75087,script:"Xsux"},{start:77712,end:77823,script:"Cpmn"},{start:77824,end:78895,script:"Egyp"},{start:78896,end:78943,script:"Egyp"},{start:82944,end:83583,script:"Hluw"},{start:92160,end:92735,script:"Bamu"},{start:92736,end:92783,script:"Mroo"},{start:92784,end:92879,script:"Tnsa"},{start:92880,end:92927,script:"Bass"},{start:92928,end:93071,script:"Hmng"},{start:93760,end:93855,script:"Medf"},{start:93952,end:94111,script:"Plrd"},{start:94176,end:94207,script:"Zyyy"},{start:94208,end:100351,script:"Tang"},{start:100352,end:101119,script:"Tang"},{start:101120,end:101631,script:"Kits"},{start:101632,end:101759,script:"Tang"},{start:110576,end:110591,script:"Kana"},{start:110592,end:110847,script:"Hira"},{start:110848,end:110895,script:"Hira"},{start:110896,end:110959,script:"Kana"},{start:110960,end:111359,script:"Nshu"},{start:113664,end:113823,script:"Dupl"},{start:113824,end:113839,script:"Zyyy"},{start:118528,end:118735,script:"Zyyy"},{start:118784,end:119039,script:"Zyyy"},{start:119040,end:119295,script:"Zyyy"},{start:119296,end:119375,script:"Grek"},{start:119488,end:119519,script:"Zyyy"},{start:119520,end:119551,script:"Zyyy"},{start:119552,end:119647,script:"Zyyy"},{start:119648,end:119679,script:"Zyyy"},{start:119808,end:120831,script:"Zyyy"},{start:120832,end:121519,script:"Sgnw"},{start:122624,end:122879,script:"Latn"},{start:122880,end:122927,script:"Glag"},{start:122928,end:123023,script:"Cyrl"},{start:123136,end:123215,script:"Hmnp"},{start:123536,end:123583,script:"Toto"},{start:123584,end:123647,script:"Wcho"},{start:124112,end:124159,script:"Nagm"},{start:124896,end:124927,script:"Ethi"},{start:124928,end:125151,script:"Mend"},{start:125184,end:125279,script:"Adlm"},{start:126064,end:126143,script:"Zyyy"},{start:126208,end:126287,script:"Zyyy"},{start:126464,end:126719,script:"Arab"},{start:126976,end:127023,script:"Zyyy"},{start:127024,end:127135,script:"Zyyy"},{start:127136,end:127231,script:"Zyyy"},{start:127232,end:127487,script:"Zyyy"},{start:127488,end:127743,script:"Zyyy"},{start:127744,end:128511,script:"Zyyy"},{start:128512,end:128591,script:"Zyyy"},{start:128592,end:128639,script:"Zyyy"},{start:128640,end:128767,script:"Zyyy"},{start:128768,end:128895,script:"Zyyy"},{start:128896,end:129023,script:"Zyyy"},{start:129024,end:129279,script:"Zyyy"},{start:129280,end:129535,script:"Zyyy"},{start:129536,end:129647,script:"Zyyy"},{start:129648,end:129791,script:"Zyyy"},{start:129792,end:130047,script:"Zyyy"},{start:131072,end:173791,script:"Hani"},{start:173824,end:177983,script:"Hani"},{start:177984,end:178207,script:"Hani"},{start:178208,end:183983,script:"Hani"},{start:183984,end:191471,script:"Hani"},{start:194560,end:195103,script:"Hani"},{start:196608,end:201551,script:"Hani"},{start:201552,end:205743,script:"Hani"},{start:917504,end:917631,script:"Zyyy"},{start:917760,end:917999,script:"Zinh"},{start:983040,end:1048575,script:"Zzzz"},{start:1048576,end:1114111,script:"Zzzz"}];function W0($){let Q=0,Z=XW.length-1;while(Q<=Z){let K=Q+Z>>>1,J=XW[K];if($<J.start)Z=K-1;else if($>J.end)Q=K+1;else return J.script}return"Zzzz"}function yj($){let Q=new Map,Z=[...$];for(let U=0;U<Z.length;U++){let H=Z[U].codePointAt(0)??0,_=W0(H);if(_==="Zyyy"||_==="Zinh")continue;Q.set(_,(Q.get(_)??0)+1)}if(Q.size===0)return"Zyyy";let K="Zyyy",J=0,q=[...Q];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(H>J)J=H,K=W}return K}function bj($){let Q=new Set,Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=W0(q);Q.add(U)}return[...Q]}function mj($,Q){let Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=W0(q);if(U!==Q&&U!=="Zyyy"&&U!=="Zinh")return!1}return!0}function gj($){let Q=[];if($.length===0)return Q;let Z=null,K=0,J=0,q=[...$];for(let U=0;U<q.length;U++){let H=q[U].codePointAt(0)??0,_=W0(H);if(_==="Zyyy"||_==="Zinh"){if(Z!==null)_=Z}if(Z===null)Z=_,K=U;else if(_!==Z&&_!=="Zyyy"&&_!=="Zinh")Q.push({script:Z,start:K,end:U,text:q.slice(K,U).join("")}),Z=_,K=U}if(Z!==null)Q.push({script:Z,start:K,end:q.length,text:q.slice(K).join("")});return Q}function xj($){return{["Zyyy"]:"DFLT",["Zinh"]:"DFLT",["Zzzz"]:"DFLT",["Latn"]:"latn",["Grek"]:"grek",["Cyrl"]:"cyrl",["Armn"]:"armn",["Hebr"]:"hebr",["Arab"]:"arab",["Syrc"]:"syrc",["Thaa"]:"thaa",["Deva"]:"deva",["Beng"]:"beng",["Guru"]:"guru",["Gujr"]:"gujr",["Orya"]:"orya",["Taml"]:"taml",["Telu"]:"telu",["Knda"]:"knda",["Mlym"]:"mlym",["Sinh"]:"sinh",["Thai"]:"thai",["Laoo"]:"lao ",["Tibt"]:"tibt",["Mymr"]:"mymr",["Geor"]:"geor",["Hang"]:"hang",["Ethi"]:"ethi",["Cher"]:"cher",["Cans"]:"cans",["Ogam"]:"ogam",["Runr"]:"runr",["Khmr"]:"khmr",["Mong"]:"mong",["Hira"]:"kana",["Kana"]:"kana",["Bopo"]:"bopo",["Hani"]:"hani",["Yiii"]:"yi ",["Ital"]:"ital",["Goth"]:"goth",["Dsrt"]:"dsrt",["Tglg"]:"tglg",["Hano"]:"hano",["Buhd"]:"buhd",["Tagb"]:"tagb",["Limb"]:"limb",["Tale"]:"tale",["Linb"]:"linb",["Ugar"]:"ugar",["Shaw"]:"shaw",["Osma"]:"osma",["Cprt"]:"cprt",["Brai"]:"brai",["Bugi"]:"bugi",["Copt"]:"copt",["Talu"]:"talu",["Glag"]:"glag",["Tfng"]:"tfng",["Sylo"]:"sylo",["Xpeo"]:"xpeo",["Khar"]:"khar",["Bali"]:"bali",["Xsux"]:"xsux",["Phnx"]:"phnx",["Phag"]:"phag",["Nkoo"]:"nko ",["Sund"]:"sund",["Lepc"]:"lepc",["Olck"]:"olck",["Vaii"]:"vai ",["Saur"]:"saur",["Kali"]:"kali",["Rjng"]:"rjng",["Lyci"]:"lyci",["Cari"]:"cari",["Lydi"]:"lydi",["Cham"]:"cham",["Lana"]:"lana",["Tavt"]:"tavt",["Avst"]:"avst",["Egyp"]:"egyp",["Samr"]:"samr",["Lisu"]:"lisu",["Bamu"]:"bamu",["Java"]:"java",["Mtei"]:"mtei",["Armi"]:"armi",["Sarb"]:"sarb",["Prti"]:"prti",["Phli"]:"phli",["Orkh"]:"orkh",["Kthi"]:"kthi",["Batk"]:"batk",["Brah"]:"brah",["Mand"]:"mand",["Cakm"]:"cakm",["Merc"]:"merc",["Mero"]:"mero",["Plrd"]:"plrd",["Shrd"]:"shrd",["Sora"]:"sora",["Takr"]:"takr",["Aghb"]:"aghb",["Bass"]:"bass",["Dupl"]:"dupl",["Elba"]:"elba",["Gran"]:"gran",["Hmng"]:"hmng",["Khoj"]:"khoj",["Lina"]:"lina",["Mahj"]:"mahj",["Mani"]:"mani",["Mend"]:"mend",["Modi"]:"modi",["Mroo"]:"mroo",["Narb"]:"narb",["Nbat"]:"nbat",["Palm"]:"palm",["Pauc"]:"pauc",["Perm"]:"perm",["Phlp"]:"phlp",["Sidd"]:"sidd",["Sind"]:"sind",["Tirh"]:"tirh",["Wara"]:"wara",["Ahom"]:"ahom",["Hluw"]:"hluw",["Hatr"]:"hatr",["Mult"]:"mult",["Hung"]:"hung",["Sgnw"]:"sgnw",["Adlm"]:"adlm",["Bhks"]:"bhks",["Marc"]:"marc",["Newa"]:"newa",["Osge"]:"osge",["Tang"]:"tang",["Gonm"]:"gonm",["Nshu"]:"nshu",["Soyo"]:"soyo",["Zanb"]:"zanb",["Dogr"]:"dogr",["Gong"]:"gong",["Maka"]:"maka",["Medf"]:"medf",["Rohg"]:"rohg",["Sogd"]:"sogd",["Sogo"]:"sogo",["Elym"]:"elym",["Nand"]:"nand",["Hmnp"]:"hmnp",["Wcho"]:"wcho",["Yezi"]:"yezi",["Chrs"]:"chrs",["Diak"]:"diak",["Kits"]:"kits",["Vith"]:"vith",["Ougr"]:"ougr",["Cpmn"]:"cpmn",["Tnsa"]:"tnsa",["Toto"]:"toto",["Kawi"]:"kawi",["Nagm"]:"nagm"}[$]??"DFLT"}var uj=new Set(["Arab","Syrc","Hebr","Thaa","Nkoo","Deva","Beng","Guru","Gujr","Orya","Taml","Telu","Knda","Mlym","Sinh","Thai","Laoo","Tibt","Mymr","Khmr","Mong","Hang"]),fj=new Set(["Arab","Hebr","Syrc","Thaa","Nkoo","Samr","Mand","Armi","Phnx","Sarb","Narb","Avst","Prti","Phli","Phlp","Hatr","Lydi","Nbat","Palm","Mani","Mend","Rohg","Yezi","Sogo","Sogd","Elym","Chrs","Ougr","Adlm"]);function lj($){return uj.has($)}function nj($){return fj.has($)?"rtl":"ltr"}var jW;((Y)=>{Y[Y.Other=0]="Other";Y[Y.CR=1]="CR";Y[Y.LF=2]="LF";Y[Y.Control=3]="Control";Y[Y.Extend=4]="Extend";Y[Y.ZWJ=5]="ZWJ";Y[Y.Regional_Indicator=6]="Regional_Indicator";Y[Y.Prepend=7]="Prepend";Y[Y.SpacingMark=8]="SpacingMark";Y[Y.L=9]="L";Y[Y.V=10]="V";Y[Y.T=11]="T";Y[Y.LV=12]="LV";Y[Y.LVT=13]="LVT";Y[Y.Extended_Pictographic=14]="Extended_Pictographic"})(jW||={});var YW;((A)=>{A[A.Other=0]="Other";A[A.CR=1]="CR";A[A.LF=2]="LF";A[A.Newline=3]="Newline";A[A.Extend=4]="Extend";A[A.ZWJ=5]="ZWJ";A[A.Regional_Indicator=6]="Regional_Indicator";A[A.Format=7]="Format";A[A.Katakana=8]="Katakana";A[A.Hebrew_Letter=9]="Hebrew_Letter";A[A.ALetter=10]="ALetter";A[A.Single_Quote=11]="Single_Quote";A[A.Double_Quote=12]="Double_Quote";A[A.MidNumLet=13]="MidNumLet";A[A.MidLetter=14]="MidLetter";A[A.MidNum=15]="MidNum";A[A.Numeric=16]="Numeric";A[A.ExtendNumLet=17]="ExtendNumLet";A[A.WSegSpace=18]="WSegSpace";A[A.Extended_Pictographic=19]="Extended_Pictographic"})(YW||={});function K$($){if($===13)return 1;if($===10)return 2;if($>=0&&$<=31&&$!==10&&$!==13)return 3;if($>=127&&$<=159)return 3;if($===173)return 3;if($===1564)return 3;if($===6158)return 3;if($===8203)return 3;if($>=8206&&$<=8207)return 3;if($>=8232&&$<=8238)return 3;if($>=8288&&$<=8303)return 3;if($===65279)return 3;if($>=65520&&$<=65531)return 3;if($===8205)return 5;if($>=127456&&$<=127487)return 6;if($===1536||$===1537||$===1538||$===1539||$===1540||$===1541||$===1757||$===1807||$===2192||$===2193||$===2274||$===69821||$===69837)return 7;if($>=4352&&$<=4447)return 9;if($>=43360&&$<=43388)return 9;if($>=4448&&$<=4519)return 10;if($>=55216&&$<=55238)return 10;if($>=4520&&$<=4607)return 11;if($>=55243&&$<=55291)return 11;if($>=44032&&$<=55203){if(($-44032)%28===0)return 12;return 13}if($>=127744&&$<=129535)return 14;if($>=129536&&$<=129791)return 14;if($>=9728&&$<=9983)return 14;if($>=9984&&$<=10175)return 14;if($===169||$===174)return 14;if($>=8960&&$<=9215)return 14;if($>=126976&&$<=127023)return 14;if($>=127136&&$<=127231)return 14;if($>=127232&&$<=127487)return 14;if($>=127488&&$<=127743)return 14;if($>=2307&&$<=2307)return 8;if($>=2363&&$<=2363)return 8;if($>=2366&&$<=2368)return 8;if($>=2377&&$<=2380)return 8;if($>=2382&&$<=2383)return 8;if($>=2434&&$<=2435)return 8;if($>=2494&&$<=2496)return 8;if($>=2503&&$<=2508)return 8;if($===2519)return 8;if($>=2563&&$<=2563)return 8;if($>=2622&&$<=2624)return 8;if($>=2691&&$<=2691)return 8;if($>=2750&&$<=2752)return 8;if($===2761)return 8;if($>=2763&&$<=2764)return 8;if($>=2818&&$<=2819)return 8;if($===2878)return 8;if($===2880)return 8;if($>=2887&&$<=2892)return 8;if($===2903)return 8;if($>=3006&&$<=3007)return 8;if($>=3009&&$<=3020)return 8;if($===3031)return 8;if($>=3073&&$<=3075)return 8;if($>=3137&&$<=3140)return 8;if($>=3202&&$<=3203)return 8;if($===3262)return 8;if($>=3264&&$<=3268)return 8;if($>=3271&&$<=3275)return 8;if($>=3285&&$<=3286)return 8;if($>=3330&&$<=3331)return 8;if($>=3390&&$<=3392)return 8;if($>=3398&&$<=3404)return 8;if($===3415)return 8;if($>=3458&&$<=3459)return 8;if($>=3535&&$<=3537)return 8;if($>=3544&&$<=3551)return 8;if($>=3570&&$<=3571)return 8;if($===3902||$===3903)return 8;if($===3967)return 8;if($>=4139&&$<=4140)return 8;if($===4145)return 8;if($===4152)return 8;if($>=4155&&$<=4156)return 8;if($>=4182&&$<=4183)return 8;if($===4194)return 8;if($>=4199&&$<=4200)return 8;if($>=4227&&$<=4228)return 8;if($>=4231&&$<=4236)return 8;if($===4239)return 8;if($>=4250&&$<=4252)return 8;if($>=6070&&$<=6070)return 8;if($>=6078&&$<=6085)return 8;if($>=6087&&$<=6088)return 8;if($>=6435&&$<=6438)return 8;if($>=6441&&$<=6443)return 8;if($>=6448&&$<=6449)return 8;if($>=6451&&$<=6456)return 8;if($>=768&&$<=879)return 4;if($>=1155&&$<=1161)return 4;if($>=1425&&$<=1469)return 4;if($===1471)return 4;if($>=1473&&$<=1474)return 4;if($>=1476&&$<=1477)return 4;if($===1479)return 4;if($>=1552&&$<=1562)return 4;if($>=1611&&$<=1631)return 4;if($===1648)return 4;if($>=1750&&$<=1756)return 4;if($>=1759&&$<=1764)return 4;if($>=1767&&$<=1768)return 4;if($>=1770&&$<=1773)return 4;if($===1809)return 4;if($>=1840&&$<=1866)return 4;if($>=1958&&$<=1968)return 4;if($>=2027&&$<=2035)return 4;if($===2045)return 4;if($>=2070&&$<=2073)return 4;if($>=2075&&$<=2083)return 4;if($>=2085&&$<=2087)return 4;if($>=2089&&$<=2093)return 4;if($>=2137&&$<=2139)return 4;if($>=2259&&$<=2273)return 4;if($>=2275&&$<=2306)return 4;if($===2362)return 4;if($===2364)return 4;if($>=2369&&$<=2376)return 4;if($===2381)return 4;if($>=2385&&$<=2391)return 4;if($>=2402&&$<=2403)return 4;if($===2433)return 4;if($===2492)return 4;if($>=2497&&$<=2500)return 4;if($===2509)return 4;if($>=2530&&$<=2531)return 4;if($===2558)return 4;if($>=2561&&$<=2562)return 4;if($===2620)return 4;if($>=2625&&$<=2626)return 4;if($>=2631&&$<=2632)return 4;if($>=2635&&$<=2637)return 4;if($===2641)return 4;if($>=2672&&$<=2673)return 4;if($===2677)return 4;if($>=2689&&$<=2690)return 4;if($===2748)return 4;if($>=2753&&$<=2757)return 4;if($>=2759&&$<=2760)return 4;if($===2765)return 4;if($>=2786&&$<=2787)return 4;if($>=2810&&$<=2815)return 4;if($===2817)return 4;if($===2876)return 4;if($===2879)return 4;if($>=2881&&$<=2884)return 4;if($===2893)return 4;if($>=2901&&$<=2902)return 4;if($>=2914&&$<=2915)return 4;if($===2946)return 4;if($===3008)return 4;if($===3021)return 4;if($===3072)return 4;if($===3076)return 4;if($>=3134&&$<=3136)return 4;if($>=3142&&$<=3144)return 4;if($>=3146&&$<=3149)return 4;if($>=3157&&$<=3158)return 4;if($>=3170&&$<=3171)return 4;if($===3201)return 4;if($===3260)return 4;if($===3263)return 4;if($===3270)return 4;if($>=3276&&$<=3277)return 4;if($>=3298&&$<=3299)return 4;if($>=3328&&$<=3329)return 4;if($>=3387&&$<=3388)return 4;if($>=3393&&$<=3396)return 4;if($===3405)return 4;if($>=3426&&$<=3427)return 4;if($===3457)return 4;if($===3530)return 4;if($>=3538&&$<=3540)return 4;if($===3542)return 4;if($===3633)return 4;if($>=3636&&$<=3642)return 4;if($>=3655&&$<=3662)return 4;if($===3761)return 4;if($>=3764&&$<=3772)return 4;if($>=3784&&$<=3789)return 4;if($>=3864&&$<=3865)return 4;if($===3893)return 4;if($===3895)return 4;if($===3897)return 4;if($>=3953&&$<=3966)return 4;if($>=3968&&$<=3972)return 4;if($>=3974&&$<=3975)return 4;if($>=3981&&$<=3991)return 4;if($>=3993&&$<=4028)return 4;if($===4038)return 4;if($>=4141&&$<=4144)return 4;if($>=4146&&$<=4151)return 4;if($>=4153&&$<=4154)return 4;if($>=4157&&$<=4158)return 4;if($>=4184&&$<=4185)return 4;if($>=4190&&$<=4192)return 4;if($>=4209&&$<=4212)return 4;if($===4226)return 4;if($>=4229&&$<=4230)return 4;if($===4237)return 4;if($===4253)return 4;if($>=4957&&$<=4959)return 4;if($>=5906&&$<=5908)return 4;if($>=5938&&$<=5940)return 4;if($>=5970&&$<=5971)return 4;if($>=6002&&$<=6003)return 4;if($>=6068&&$<=6069)return 4;if($>=6071&&$<=6077)return 4;if($===6086)return 4;if($>=6089&&$<=6099)return 4;if($===6109)return 4;if($>=6155&&$<=6157)return 4;if($===6159)return 4;if($>=6277&&$<=6278)return 4;if($===6313)return 4;if($>=6432&&$<=6434)return 4;if($>=6439&&$<=6440)return 4;if($===6450)return 4;if($>=6457&&$<=6459)return 4;if($>=6679&&$<=6680)return 4;if($===6683)return 4;if($===6742)return 4;if($>=6744&&$<=6750)return 4;if($===6752)return 4;if($===6754)return 4;if($>=6757&&$<=6764)return 4;if($>=6771&&$<=6780)return 4;if($===6783)return 4;if($>=6832&&$<=6862)return 4;if($>=6912&&$<=6915)return 4;if($===6964)return 4;if($>=6966&&$<=6970)return 4;if($===6972)return 4;if($===6978)return 4;if($>=7019&&$<=7027)return 4;if($>=7040&&$<=7041)return 4;if($>=7074&&$<=7077)return 4;if($>=7080&&$<=7081)return 4;if($>=7083&&$<=7085)return 4;if($===7142)return 4;if($>=7144&&$<=7145)return 4;if($===7149)return 4;if($>=7151&&$<=7153)return 4;if($>=7212&&$<=7219)return 4;if($>=7222&&$<=7223)return 4;if($>=7376&&$<=7378)return 4;if($>=7380&&$<=7392)return 4;if($>=7394&&$<=7400)return 4;if($===7405)return 4;if($===7412)return 4;if($>=7416&&$<=7417)return 4;if($>=7616&&$<=7679)return 4;if($>=8400&&$<=8432)return 4;if($>=11503&&$<=11505)return 4;if($===11647)return 4;if($>=11744&&$<=11775)return 4;if($>=12330&&$<=12335)return 4;if($>=12441&&$<=12442)return 4;if($>=42607&&$<=42610)return 4;if($>=42612&&$<=42621)return 4;if($>=42654&&$<=42655)return 4;if($>=42736&&$<=42737)return 4;if($===43010)return 4;if($===43014)return 4;if($===43019)return 4;if($>=43045&&$<=43046)return 4;if($===43052)return 4;if($>=43204&&$<=43205)return 4;if($>=43232&&$<=43249)return 4;if($===43263)return 4;if($>=43302&&$<=43309)return 4;if($>=43335&&$<=43345)return 4;if($>=43392&&$<=43394)return 4;if($===43443)return 4;if($>=43446&&$<=43449)return 4;if($>=43452&&$<=43453)return 4;if($===43493)return 4;if($>=43561&&$<=43566)return 4;if($>=43569&&$<=43570)return 4;if($>=43573&&$<=43574)return 4;if($===43587)return 4;if($===43596)return 4;if($===43644)return 4;if($===43696)return 4;if($>=43698&&$<=43700)return 4;if($>=43703&&$<=43704)return 4;if($>=43710&&$<=43711)return 4;if($===43713)return 4;if($>=43756&&$<=43757)return 4;if($===43766)return 4;if($===44005)return 4;if($===44008)return 4;if($===44013)return 4;if($===64286)return 4;if($>=65024&&$<=65039)return 4;if($>=65056&&$<=65071)return 4;if($>=127995&&$<=127999)return 4;if($>=917760&&$<=917999)return 4;return 0}function GW($){if($===13)return 1;if($===10)return 2;if($===11||$===12||$===133||$===8232||$===8233)return 3;if($===8205)return 5;if($===173)return 7;if($===1564)return 7;if($===8203)return 7;if($>=8206&&$<=8207)return 7;if($>=8288&&$<=8303)return 7;if($===65279)return 7;if($>=127456&&$<=127487)return 6;if($>=127744&&$<=129535)return 19;if($>=129536&&$<=129791)return 19;if($>=9728&&$<=9983)return 19;if($>=9984&&$<=10175)return 19;if($>=1488&&$<=1514)return 9;if($>=64285&&$<=64335)return 9;if($>=12448&&$<=12543)return 8;if($===12337||$===12338||$===12339||$===12340||$===12341)return 8;if($===12443||$===12444)return 8;if($>=12784&&$<=12799)return 8;if($>=13008&&$<=13054)return 8;if($>=13056&&$<=13143)return 8;if($>=65382&&$<=65437)return 8;if($===39)return 11;if($===34)return 12;if($===46)return 13;if($===8216||$===8217)return 13;if($===8228)return 13;if($===65106)return 13;if($===65287)return 13;if($===65294)return 13;if($===58)return 14;if($===183)return 14;if($===903)return 14;if($===1524)return 14;if($===8231)return 14;if($===65043)return 14;if($===65109)return 14;if($===65306)return 14;if($===44)return 15;if($===59)return 15;if($===894)return 15;if($===1417)return 15;if($===1548||$===1549)return 15;if($===1644)return 15;if($===2040)return 15;if($===8260)return 15;if($===65040)return 15;if($===65044)return 15;if($===65104)return 15;if($===65108)return 15;if($===65292)return 15;if($===65307)return 15;if($>=48&&$<=57)return 16;if($>=1632&&$<=1641)return 16;if($>=1776&&$<=1785)return 16;if($>=1984&&$<=1993)return 16;if($>=2406&&$<=2415)return 16;if($>=2534&&$<=2543)return 16;if($>=2662&&$<=2671)return 16;if($>=2790&&$<=2799)return 16;if($>=2918&&$<=2927)return 16;if($>=3046&&$<=3055)return 16;if($>=3174&&$<=3183)return 16;if($>=3302&&$<=3311)return 16;if($>=3430&&$<=3439)return 16;if($>=3558&&$<=3567)return 16;if($>=3664&&$<=3673)return 16;if($>=3792&&$<=3801)return 16;if($>=3872&&$<=3881)return 16;if($>=4160&&$<=4169)return 16;if($>=4240&&$<=4249)return 16;if($>=6112&&$<=6121)return 16;if($>=6160&&$<=6169)return 16;if($>=6470&&$<=6479)return 16;if($>=6608&&$<=6617)return 16;if($>=6784&&$<=6793)return 16;if($>=6800&&$<=6809)return 16;if($>=6992&&$<=7001)return 16;if($>=7088&&$<=7097)return 16;if($>=7232&&$<=7241)return 16;if($>=7248&&$<=7257)return 16;if($>=42528&&$<=42537)return 16;if($>=43216&&$<=43225)return 16;if($>=43264&&$<=43273)return 16;if($>=43472&&$<=43481)return 16;if($>=43504&&$<=43513)return 16;if($>=43600&&$<=43609)return 16;if($>=44016&&$<=44025)return 16;if($>=65296&&$<=65305)return 16;if($===95)return 17;if($===8239)return 17;if($===8256)return 17;if($===8276)return 17;if($===65075||$===65076)return 17;if($>=65101&&$<=65103)return 17;if($===65343)return 17;if($===32)return 18;if($===5760)return 18;if($>=8192&&$<=8202&&$!==8199)return 18;if($===8287)return 18;if($===12288)return 18;if(K$($)===4)return 4;if($>=65&&$<=90)return 10;if($>=97&&$<=122)return 10;if($>=192&&$<=214)return 10;if($>=216&&$<=246)return 10;if($>=248&&$<=591)return 10;if($>=592&&$<=687)return 10;if($>=880&&$<=1023)return 10;if($>=1024&&$<=1279)return 10;if($>=1280&&$<=1327)return 10;if($>=1329&&$<=1366)return 10;if($>=1376&&$<=1416)return 10;if($>=1536&&$<=1791)return 10;if($>=2304&&$<=2431)return 10;if($>=2432&&$<=2559)return 10;if($>=2560&&$<=2687)return 10;if($>=2688&&$<=2815)return 10;if($>=2816&&$<=2943)return 10;if($>=2944&&$<=3071)return 10;if($>=3072&&$<=3199)return 10;if($>=3200&&$<=3327)return 10;if($>=3328&&$<=3455)return 10;if($>=3584&&$<=3711)return 10;if($>=3712&&$<=3839)return 10;if($>=4096&&$<=4255)return 10;if($>=4256&&$<=4351)return 10;if($>=4352&&$<=4607)return 10;if($>=6016&&$<=6143)return 10;if($>=12352&&$<=12447)return 10;if($>=7936&&$<=8191)return 10;if($>=11264&&$<=11359)return 10;if($>=40960&&$<=42127)return 10;if($>=42192&&$<=42239)return 10;if($>=42240&&$<=42559)return 10;if($>=42560&&$<=42655)return 10;if($>=42784&&$<=43007)return 10;if($>=43776&&$<=43887)return 10;if($>=44032&&$<=55215)return 10;if($>=64256&&$<=64262)return 10;if($>=65313&&$<=65338)return 10;if($>=65345&&$<=65370)return 10;return 0}function J$($){let Q=$.length,Z=[],K=[];for(let U=0;U<$.length;U++){let W=$[U];Z.push(K$(W))}if(Q===0)return{boundaries:K,properties:Z};let J=0,q=!1;for(let U=1;U<Q;U++){let W=Z[U-1],H=Z[U],_=!0;if(W===1&&H===2)_=!1;else if(W===3||W===1||W===2)_=!0;else if(H===3||H===1||H===2)_=!0;else if(W===9&&(H===9||H===10||H===12||H===13))_=!1;else if((W===12||W===10)&&(H===10||H===11))_=!1;else if((W===13||W===11)&&H===11)_=!1;else if(H===4||H===5)_=!1;else if(H===8)_=!1;else if(W===7)_=!1;else if(q&&W===5&&H===14)_=!1;else if(W===6&&H===6){if(J%2===1)_=!1}if(H===14)q=!0;else if(H!==4&&H!==5)q=!1;if(H===6)J++;else J=0;if(_)K.push(U)}return K.push(Q),{boundaries:K,properties:Z}}function EW($){let Q=$.length,Z=[],K=[];for(let q=0;q<$.length;q++){let U=$[q];Z.push(GW(U))}if(Q===0)return{boundaries:K,properties:Z};K.push(0);let J=0;for(let q=1;q<Q;q++){let U=Z[q-1],W=Z[q],H=!0;if(U===1&&W===2)H=!1;else if(U===3||U===1||U===2)H=!0;else if(W===3||W===1||W===2)H=!0;else if(U===5&&W===19)H=!1;else if(U===18&&W===18)H=!1;else if(W===7||W===4||W===5)H=!1;else if((U===10||U===9)&&(W===10||W===9))H=!1;else if((U===10||U===9)&&(W===14||W===13||W===11)){if(q+1<Q){let _=Z[q+1];if(_===10||_===9)H=!1}}else if(U===16&&W===16)H=!1;else if((U===10||U===9)&&W===16)H=!1;else if(U===16&&(W===10||W===9))H=!1;else if(U===16&&(W===15||W===13||W===11)){if(q+1<Q&&Z[q+1]===16)H=!1}else if(U===8&&W===8)H=!1;else if((U===10||U===9||U===16||U===8||U===17)&&W===17)H=!1;else if(U===17&&(W===10||W===9||W===16||W===8))H=!1;else if(U===6&&W===6){if(J%2===1)H=!1}if(W===6)J++;else J=0;if(H)K.push(q)}return K.push(Q),{boundaries:K,properties:Z}}function dj($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K}=J$(Q),J=[],q=0;for(let U=0;U<K.length;U++){let W=K[U];if(W>q)J.push(Z.slice(q,W).join(""));q=W}return J}function pj($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K,properties:J}=EW(Q),q=[];for(let U=0;U<K.length-1;U++){let W=K[U],H=K[U+1],_=!1;for(let N=W;N<H;N++){let V=J[N];if(V!==18&&V!==1&&V!==2&&V!==3){_=!0;break}}if(_)q.push(Z.slice(W,H).join(""))}return q}function cj($){let Q=[],Z=[...$];for(let J=0;J<Z.length;J++){let q=Z[J];Q.push(q.codePointAt(0)??0)}let{boundaries:K}=J$(Q);return K.length}export{rX as verticalLayoutFeatures,YU as verticalKanaAlternates,zU as verticalForms,jU as verticalAlternatesRotation,$H as vectorLength,UH as validateOutline,DV as useTypoMetrics,aW as upscale,vW as updateMinTransformedX,i6 as truncPixel,IW as translateOutline,n8 as translate2D,t as transformPoint3x3,$6 as transformPoint2D,O9 as transformOutline3D,R6 as transformOutline2D,_z as traditionalForms,Kz as thirdWidthForms,R9 as tagToString,k as tag,fX as tabularFigures,yX as swash,pX as superscript,cX as subscript,z5 as subBitmaps,PX as stylisticSets,_U as stylisticSet,hX as stylisticAlternates,V4 as strokeUniform,a8 as strokePath,u9 as strokeAsymmetricCombined,y8 as strokeAsymmetric,IX as standardLigatures,pj as splitWords,dj as splitGraphemes,VU as smallCaps,dX as slashedZero,Hz as simplifiedForms,uH as signedDistanceToQuadratic,gH as signedDistanceToLine,lH as signedDistanceToCubic,KH as sign,f_ as shouldGridFit,l_ as shouldDoGray,S9 as shiftBitmap,P8 as shear2D,GZ as shapedTextToSVGWithVariation,jZ as shapedTextToSVG,pU as shapeInto,Sz as shape,F0 as setSize,l8 as setCodeRange,oX as scientificInferiors,PW as scaleOutlinePow2,kW as scaleOutline,T8 as scale2D,B9 as runProgram,G0 as runGlyphProgram,j0 as runFontProgram,Y0 as runCVTProgram,tX as ruby,v1 as roundUpToGrid,T1 as roundToHalfGrid,z0 as roundToGrid,O1 as roundToDoubleGrid,C1 as roundSuper45,k1 as roundSuper,oW as roundPixel,I1 as roundOff,P1 as roundDownToGrid,N8 as round,OW as rotateOutline90,CW as rotateOutline,O8 as rotate2D,uq as resolveDupeGlyph,i8 as resizeBitmapBilinear,k8 as resizeBitmap,e0 as reorderMarks,qW as reorderGlyphs,YZ as renderShapedTextWithVariation,zZ as renderShapedText,C8 as renderSdf,S8 as renderMsdf,SZ as rasterizeText,s8 as rasterizePathWithGradient,s6 as rasterizePath,NX as rasterizeLcd,C0 as rasterizeGlyph,Zz as quarterWidthForms,Qz as proportionalWidthForms,uX as proportionalFigures,L1 as processRearrangement,M1 as processLigature,B1 as processInsertion,D1 as processContextual,Oj as processBidi,QK as pipe,bX as petiteCaps,Z5 as perspectiveMatrix,wZ as pathToSVGWithMatrix3D,EZ as pathToSVGWithMatrix,V8 as pathToSVG,T0 as pathToCanvasWithMatrix3D,R0 as pathToCanvasWithMatrix,p8 as pathToCanvas,Y4 as path,L9 as parseSuperRound,c9 as parseScriptList,U7 as parsePrep,A7 as parsePost,w7 as parseOs2,E7 as parseName,j7 as parseMath,qN as parseLookupHeaders,H7 as parseJstf,p5 as parseGasp,q7 as parseFpgm,L7 as parseFontDirectory,o9 as parseFeatureList,d5 as parseFeat,W7 as parseCvt,n5 as parseCpal,i as parseCoverageAt,Uq as parseCoverage,l5 as parseColr,D6 as parseClassDefAt,dJ as parseClassDef,x5 as parseCff2,m5 as parseCff,b5 as parseBase,h9 as padBitmap,nX as ordinals,u_ as openTypeTagToAat,gX as oldstyleFigures,r8 as obliquePath,QH as normalizeVector,B5 as normalizeAxisValue,BX as normalize,Sj as mustBreakAt,T9 as multiply3x3,v8 as multiply2D,tW as mulFix,U5 as mulDiv,X5 as mulBitmaps,sZ as msdfAtlasToRGBA,iZ as msdfAtlasToRGB,mH as median,Y5 as maxBitmaps,AZ as matrixToSVGTransform,xV as matchAxisValue,w0 as loadFontProgram,A0 as loadCVTProgram,xX as liningFigures,jX as lcdToRGBA,aX as kerning,qX as justifyParagraph,QU as justify,Uz as jis90Forms,qz as jis83Forms,Jz as jis78Forms,Wz as jis2004Forms,SW as italicizeOutline,Wq as isVariationIndexTable,D7 as isTrueType,mj as isScript,Bj as isRTL,mV as isOlderSiblingFont,RV as isMonospaced,Rj as isLTR,FV as isItalic,oN as isExtendedShape,y_ as isExclusiveFeature,bV as isElidableAxisValue,lj as isComplexScript,P_ as isColrV1,IV as isCFF,LV as isBold,v0 as interpolateGradient,$5 as identity3x3,O6 as identity2D,LZ as hypot,CX as historicalLigatures,KZ as hintedToPixels,L0 as hintGlyph,cV as hasVertOriginY,uV as hasSvgGlyph,g_ as hasSettingValue,i_ as hasGlyphOutline,vV as hasGlyphBitmap,D_ as hasColorGlyph,t4 as hasColorBitmap,eX as halfWidthForms,j4 as glyphVar,yW as glyphToSVG,bW as glyphBufferToShapedGlyphs,X4 as glyph,_V as getXHeightDelta,GW as getWordBreakProperty,rV as getVorgDelta,Dj as getVisualOrder,iN as getVerticalVariants,dV as getVerticalMetrics,aN as getVerticalAssembly,pV as getVertOriginY,EV as getVersion,sV as getTsbDelta,cq as getTrackingValue,cN as getTopAccentAttachment,mW as getTextWidth,fV as getSvgGlyphIds,nq as getSvgDocument,UX as getSubstitutedLookups,xq as getStrikeForPpem,V7 as getShrinkageMods,m_ as getSettingByValue,bj as getScripts,xj as getScriptTag,gj as getScriptRuns,nj as getScriptDirection,W0 as getScript,OV as getSbixGlyphBitmap,GV as getPostScriptName,K8 as getPathBounds,Q1 as getOrCreateShapePlan,M8 as getNameById,UW as getMirror,o4 as getMinMaxExtent,t9 as getMetricDelta,d0 as getMarkAttachmentType,VW as getLineBreakClass,v_ as getLayerPaint,mN as getKerxValue,z7 as getKernValue,N7 as getJstfPriorities,pN as getItalicsCorrection,sN as getHorizontalVariants,rN as getHorizontalAssembly,HV as getHDescenderDelta,WV as getHAscenderDelta,K$ as getGraphemeBreakProperty,xZ as getGlyphUV,v9 as getGlyphPathWithVariation,S6 as getGlyphPath,BV as getGlyphName,n0 as getGlyphLocation,o_ as getGlyphDelta,c5 as getGaspBehavior,YV as getFullName,jV as getFontSubfamily,zV as getFontFamily,WH as getFillRuleFromFlags,p0 as getFeature,X7 as getExtensionMods,_7 as getExtenderGlyphs,TZ as getExactBounds,JW as getEmbeddings,MV as getEmbeddingPermission,Hq as getDeviceDelta,b_ as getDefaultSetting,c4 as getDefaultBaseline,W8 as getCombiningClass,T_ as getColorVariationDelta,TJ as getColorPaint,RJ as getColorLayers,e4 as getColorBitmapSizes,I_ as getColor,R_ as getClipBox,Mj as getCharType,K_ as getCffString,q_ as getCffGlyphWidth,NV as getCapHeightDelta,aV as getBsbDelta,a4 as getBitmapGlyph,p4 as getBaselineForScript,hV as getAxisValuesForAxis,gV as getAxisValueNumber,CV as getAxisRecord,SV as getAxisIndex,PV as getAvailablePpemSizes,h_ as getAllFeatures,hj as getAllBreakOpportunities,T5 as getAdvanceWidthDelta,iV as getAdvanceHeightDelta,S_ as getAatFeature,d6 as gaussianBlur,$z as fullWidthForms,lX as fractions,I8 as fracPixel,iW as floorPixel,cW as floatToPixel,dW as floatToF26Dot6,HH as fixOutline,EW as findWordBoundaries,i9 as findScript,kj as findNextBreak,e9 as findMatchingFeatureVariation,i5 as findLangSys,J$ as findGraphemeBoundaries,yV as findAxisValueByNameId,Nz as features,GU as feature,g9 as fastGaussianBlur,pW as f26Dot6ToFloat,_H as expandToFit,e1 as executeFontProgram,g5 as executeCffCharString,u0 as executeCff2CharString,t1 as execute,ZU as evaluateConditionSet,e8 as emboldenPath,o8 as emboldenBitmap,rW as downscale,eW as divFix,kX as discretionaryLigatures,yj as detectScript,Tj as detectDirection,X8 as decomposePath,$1 as decompose,jz as createShapePlan,q5 as createPath2D,WN as createLookupDigest,E0 as createHintingEngine,I0 as createGradientBitmap,$8 as createGlyphZone,G5 as createGaussianKernel,A4 as createFace,X0 as createExecContext,R1 as createDefaultGraphicsState,r as createBitmap,cj as countGraphemes,J6 as copyBitmap,J8 as convertBitmap,J5 as contourToPath,SX as contextualAlternates,t8 as condensePath,B0 as computeTightBounds,Q5 as computeControlBox,j5 as compositeBitmaps,Q8 as compensate,P9 as combinePaths,Vz as combineFeatures,E4 as combine,k_ as colorToRgba,C_ as colorToHex,d8 as clonePath,H5 as clearBitmap,ZH as clamp,vX as characterVariants,NU as characterVariant,z4 as char,sW as ceilPixel,iX as caseSensitiveForms,h8 as cascadeBlur,XU as capsToSmallCaps,sX as capitalSpacing,Cj as canBreakAt,Y_ as calculateVariationDelta,l0 as calculateTupleScalar,t0 as calculateLineWidth,bZ as buildStringAtlas,oZ as buildMsdfStringAtlas,h0 as buildMsdfAtlas,cZ as buildMsdfAsciiAtlas,S0 as buildAtlas,yZ as buildAsciiAtlas,JX as breakIntoLines,z8 as boxBlur,OZ as blurBitmap,P0 as blendBitmap,b9 as bitmapToRGBA,m9 as bitmapToGray,G4 as bitmap,mZ as atlasToRGBA,gZ as atlasToAlpha,pZ as assignEdgeColors,nV as applyTracking,G7 as applyNonContextual,WW as applyMirroring,gW as applyMatrixToContext,WX as applyFeatureVariations,T7 as applyFallbackMarkPositioning,O7 as applyFallbackKerning,ZN as applyDeviceAdjustment,uK as applyAvarMapping,M5 as applyAvar,Z$ as analyzeLineBreaksFromCodepoints,Ij as analyzeLineBreaksForGlyphs,vj as analyzeLineBreaks,mX as allSmallCaps,V5 as addBitmaps,x9 as adaptiveBlur,P6 as abs,x_ as aatToOpenTypeTag,YW as WordBreakProperty,VV as WindowsEncodingId,AV as WidthClass,wV as WeightClass,IJ as VerticalPositionSetting,gJ as UpperCaseSetting,UZ as UnicodeBuffer,f8 as TouchFlag,p as Tags,yJ as StylisticAlternativesSetting,xJ as SmartSwashSetting,_6 as SetDigest,zW as Script,F7 as SbixGraphicType,A9 as RoundMode,p6 as Reader,_9 as PlatformId,F6 as PixelMode,Z6 as PathBuilder,OJ as PaletteType,DJ as PaintFormat,xW as PIXEL_MASK,E6 as PIXEL_BITS,RZ as OutlineError,D as Opcode,W6 as ONE_PIXEL,CJ as NumberSpacingSetting,kJ as NumberCaseSetting,HU as NormalizationMode,D8 as NameId,r9 as MvarTags,Y7 as MorxSubtableType,mJ as LowerCaseSetting,h6 as LookupFlag,HW as LineBreakClass,vJ as LigatureSetting,JU as LcdMode,HX as LCD_FILTER_LIGHT,_X as LCD_FILTER_LEGACY,KU as LCD_FILTER_DEFAULT,$U as JustifyMode,ON as JstfPriority,jW as GraphemeBreakProperty,M0 as GlyphClass,R8 as GlyphBuffer,p9 as GaspFlag,i0 as FsType,s0 as FsSelection,SJ as FractionsSetting,N9 as Font,Z8 as FillRule,PJ as FeatureType,vY as FeatureTags,lJ as FeatureFlags,b8 as Face,uW as F26DOT6_SHIFT,fW as F26DOT6_ONE,lW as F16DOT16_SHIFT,nW as F16DOT16_ONE,MJ as Extend,nJ as EMPTY_CLASS_DEF,D0 as Direction,uJ as DiacriticsSetting,q9 as Coverage,bJ as ContextualAlternativesSetting,BJ as CompositeMode,F9 as CodeRange,JZ as ClusterLevel,E8 as ClassDef,fJ as CharacterShapeSetting,i4 as CbdtImageFormat,hJ as CaseSensitiveLayoutSetting,qZ as BufferFlags,NW as BreakOpportunity,_W as BreakAction,s as BitmapBuilder,u8 as BidiType,l4 as BaselineTag,M7 as AxisValueFlags,JK as $translate,mK as $toSVG,yK as $toRGBA,bK as $toGray,jK as $strokePath,wK as $strokeAsymmetricCombined,EK as $strokeAsymmetric,IK as $shift,WK as $shear,KK as $scale,UK as $rotateDeg,qK as $rotate,CK as $resizeBilinear,kK as $resize,DK as $renderSdf,MK as $renderMsdf,LK as $rasterizeWithGradient,FK as $rasterizeAuto,AK as $rasterize,NK as $perspective,SK as $pad,zK as $obliquePath,_K as $matrix,HK as $italic,ZK as $fromGlyph,PK as $fastBlur,VK as $emboldenPath,vK as $embolden,gK as $copy,hK as $convert,XK as $condensePath,GK as $combinePaths,YK as $clone,TK as $cascadeBlur,RK as $boxBlur,BK as $blur,OK as $adaptiveBlur};
|
|
5
|
+
</svg>`}function u7($,Q,Z,K){let J=K?.fontSize??16,q=K?.x??0,U=K?.y??0,W=K?.fill??"black",H=K?.stroke,_=K?.strokeWidth??1,N=K?.matrix,V=K?.matrix3D,X=J/Q.unitsPerEm;if($.fillStyle=W,H){if($.strokeStyle=H,$.lineWidth=_*X,K?.lineCap)$.lineCap=K.lineCap;if(K?.lineJoin)$.lineJoin=K.lineJoin}let j=q,z=U;for(let Y=0;Y<Z.length;Y++){let G=Z[Y],E=y6(Q,G.glyphId);if(E){if($.beginPath(),V){let w=j+G.xOffset*X,F=z-G.yOffset*X,A=[[V[0][0]*X,V[0][1]*X,V[0][0]*w+V[0][1]*F+V[0][2]],[V[1][0]*X,V[1][1]*X,V[1][0]*w+V[1][1]*F+V[1][2]],[V[2][0]*X,V[2][1]*X,V[2][0]*w+V[2][1]*F+V[2][2]]];k0($,E,A)}else if(N){let w=j+G.xOffset*X,F=z-G.yOffset*X,A=[N[0]*X,N[1]*X,N[2]*X,N[3]*X,N[0]*w+N[2]*F+N[4],N[1]*w+N[3]*F+N[5]];I0($,E,A)}else i8($,E,{scale:X,flipY:!0,offsetX:j+G.xOffset*X,offsetY:z-G.yOffset*X});if(W!=="none")$.fill();if(H)$.stroke()}j+=G.xAdvance*X,z+=G.yAdvance*X}}function x7($,Q,Z){let K=Z?.fontSize??100,J=Z?.fill??"currentColor",q=Z?.stroke,U=Z?.strokeWidth??1,W=Z?.matrix,H=Z?.matrix3D,_=Z?.useNativeTransform??!1,N=K/$.unitsPerEm,V="",X=0,j=0,z=1/0,Y=-1/0,G=1/0,E=-1/0;for(let v=0;v<Q.length;v++){let f=Q[v],l=y6($,f.glyphId);if(l?.bounds){let C=X+f.xOffset*N,R=j-f.yOffset*N,y;if(H&&!_){let u=[[H[0][0]*N,H[0][1]*N,H[0][0]*C+H[0][1]*R+H[0][2]],[H[1][0]*N,H[1][1]*N,H[1][0]*C+H[1][1]*R+H[1][2]],[H[2][0]*N,H[2][1]*N,H[2][0]*C+H[2][1]*R+H[2][2]]];y=n7(l,u);let d=l.bounds,c=[t(d.xMin*N+C,-d.yMax*N+R,H),t(d.xMax*N+C,-d.yMax*N+R,H),t(d.xMin*N+C,-d.yMin*N+R,H),t(d.xMax*N+C,-d.yMin*N+R,H)];for(let n=0;n<c.length;n++){let e=c[n];z=Math.min(z,e.x),Y=Math.max(Y,e.x),G=Math.min(G,e.y),E=Math.max(E,e.y)}}else if(W&&!_){let u=[W[0]*N,W[1]*N,W[2]*N,W[3]*N,W[0]*C+W[2]*R+W[4],W[1]*C+W[3]*R+W[5]];y=d7(l,u);let d=l.bounds,c=[$6(d.xMin*N+C,-d.yMax*N+R,W),$6(d.xMax*N+C,-d.yMax*N+R,W),$6(d.xMin*N+C,-d.yMin*N+R,W),$6(d.xMax*N+C,-d.yMin*N+R,W)];for(let n=0;n<c.length;n++){let e=c[n];z=Math.min(z,e.x),Y=Math.max(Y,e.x),G=Math.min(G,e.y),E=Math.max(E,e.y)}}else{y=o7(l,N,C,R);let u=l.bounds;z=Math.min(z,C+u.xMin*N),Y=Math.max(Y,C+u.xMax*N),G=Math.min(G,R-u.yMax*N),E=Math.max(E,R-u.yMin*N)}if(V)V+=" ";V+=y}X+=f.xAdvance*N,j+=f.yAdvance*N}if(!V)return'<svg xmlns="http://www.w3.org/2000/svg"></svg>';let w=q?U/2:0,F=Math.ceil(Y-z+w*2),A=Math.ceil(E-G+w*2),M=Math.floor((z-w)*G6),L=Math.floor((G-w)*G6),T=Math.ceil(F*G6),B=Math.ceil(A*G6),I=`${M} ${L} ${T} ${B}`,O=q?` stroke="${q}" stroke-width="${U*G6}"${Z?.lineCap?` stroke-linecap="${Z.lineCap}"`:""}${Z?.lineJoin?` stroke-linejoin="${Z.lineJoin}"`:""}`:"",x=_&&W?` transform="${p7(W)}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${F}" height="${A}" viewBox="${I}">
|
|
6
|
+
<path d="${V}" fill="${J}"${O}${x}/>
|
|
7
|
+
</svg>`}function UH($){let Q=[];for(let Z=0;Z<$.infos.length;Z++){let K=$.infos[Z],J=$.positions[Z];if(!J)continue;Q.push({glyphId:K.glyphId,xOffset:J.xOffset,yOffset:J.yOffset,xAdvance:J.xAdvance,yAdvance:J.yAdvance})}return Q}function S9($,Q,Z){let K=$.getGlyphContoursWithVariation(Q,Z);if(!K)return null;let J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(...N5(W))}let q=$.getGlyphBounds(Q);return{commands:J,bounds:q}}function f7($,Q,Z,K,J){let q=J?.fontSize??16,U=J?.x??0,W=J?.y??0,H=J?.fill??"black",_=J?.stroke,N=J?.strokeWidth??1,V=q/Q.unitsPerEm;if($.fillStyle=H,_){if($.strokeStyle=_,$.lineWidth=N*V,J?.lineCap)$.lineCap=J.lineCap;if(J?.lineJoin)$.lineJoin=J.lineJoin}let X=U,j=W;for(let z=0;z<Z.length;z++){let Y=Z[z],G=S9(Q,Y.glyphId,K);if(G){if($.beginPath(),i8($,G,{scale:V,flipY:!0,offsetX:X+Y.xOffset*V,offsetY:j-Y.yOffset*V}),H!=="none")$.fill();if(_)$.stroke()}X+=Y.xAdvance*V,j+=Y.yAdvance*V}}function l7($,Q,Z,K){let J=K?.fontSize??100,q=K?.fill??"currentColor",U=K?.stroke,W=K?.strokeWidth??1,H=J/$.unitsPerEm,_="",N=0,V=0,X=1/0,j=-1/0,z=1/0,Y=-1/0;for(let I=0;I<Q.length;I++){let O=Q[I],x=S9($,O.glyphId,Z);if(x?.bounds){let v=N+O.xOffset*H,f=V-O.yOffset*H,l=o7(x,H,v,f);if(_)_+=" ";_+=l;let C=x.bounds;X=Math.min(X,v+C.xMin*H),j=Math.max(j,v+C.xMax*H),z=Math.min(z,f-C.yMax*H),Y=Math.max(Y,f-C.yMin*H)}N+=O.xAdvance*H,V+=O.yAdvance*H}if(!_)return'<svg xmlns="http://www.w3.org/2000/svg"></svg>';let G=U?W/2:0,E=Math.ceil(j-X+G*2),w=Math.ceil(Y-z+G*2),F=Math.floor((X-G)*G6),A=Math.floor((z-G)*G6),M=Math.ceil(E*G6),L=Math.ceil(w*G6),T=`${F} ${A} ${M} ${L}`,B=U?` stroke="${U}" stroke-width="${W*G6}"${K?.lineCap?` stroke-linecap="${K.lineCap}"`:""}${K?.lineJoin?` stroke-linejoin="${K.lineJoin}"`:""}`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${E}" height="${w}" viewBox="${T}">
|
|
8
|
+
<path d="${_}" fill="${q}"${B}/>
|
|
9
|
+
</svg>`}function WH($,Q,Z){let K=Z/Q.unitsPerEm,J=0;for(let q=0;q<$.length;q++){let U=$[q];J+=U.xAdvance}return J*K}function V5($,Q){let Z=new Path2D;return i8(Z,$,Q),Z}function I0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=$6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=$6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x2,W.y2*q,Z),N=$6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function d7($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=$6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=$6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x2,W.y2*J,Q),N=$6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function k0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=t(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=t(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=t(W.x1,W.y1*q,Z),_=t(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=t(W.x1,W.y1*q,Z),_=t(W.x2,W.y2*q,Z),N=t(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function n7($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=t(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=t(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=t(W.x1,W.y1*J,Q),_=t(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=t(W.x1,W.y1*J,Q),_=t(W.x2,W.y2*J,Q),N=t(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function HH($,Q){$.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}function p7($){return`matrix(${$[0]} ${$[1]} ${$[2]} ${$[3]} ${$[4]} ${$[5]})`}function o7($,Q,Z,K){let J="",q=Q*G6,U=-Q*G6,W=Z*G6,H=K*G6;for(let _=0;_<$.commands.length;_++){let N=$.commands[_];if(_>0)J+=" ";switch(N.type){case"M":J+="M "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"L":J+="L "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Q":J+="Q "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"C":J+="C "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x2*q+W)+" "+Math.round(N.y2*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Z":J+="Z";break}}return J}var A6=8,W6=256,_H=255,NH=6,VH=64,XH=16,jH=65536;function zH($){return Math.round($*64)}function YH($){return $/64}function GH($,Q){return Math.round($*Q*256)}function a6($){return $>>8}function C8($){return $&255}function EH($){return $+128>>8}function wH($){return $&-256}function AH($){return $+255&-256}function FH($){return $<<2}function LH($){return $>>2}function X5($,Q,Z){if(Z===0)return 0;let K=$<0?-$:$,J=Q<0?-Q:Q;if(K<8388607&&J<8388607)return Math.trunc($*Q/Z);return Number(BigInt($)*BigInt(Q)/BigInt(Z))}function DH($,Q){return X5($,Q,65536)}function MH($,Q){if(Q===0)return 0;return X5($,65536,Q)}function c7($,Q){return $=I6($),Q=I6(Q),$>Q?$+(3*Q>>3):Q+(3*$>>3)}function BH($,Q){return c7($,Q)}function RH($,Q){let Z=Math.sqrt($*$+Q*Q);if(Z===0)return{x:65536,y:0};return{x:Math.round($/Z*65536),y:Math.round(Q/Z*65536)}}function TH($,Q,Z){return $<Q?Q:$>Z?Z:$}function I6($){return $<0?-$:$}function OH($){return $<0?-1:$>0?1:0}var PH=16384,i7=2147483647;class s8 extends Error{constructor(){super("Cell pool overflow");this.name="PoolOverflowError"}}class j5{pool;poolSize;freeIndex;ycells;bandMinY=0;bandMaxY=0;minY=1/0;maxY=-1/0;minX=1/0;maxX=-1/0;currentX=0;currentY=0;currentCellIndex=-1;clipMinX=-1/0;clipMinY=-1/0;clipMaxX=1/0;clipMaxY=1/0;nullCellIndex;bandSet=!1;constructor($=PH){this.poolSize=$,this.nullCellIndex=$-1,this.pool=Array($);for(let Q=0;Q<$;Q++)this.pool[Q]={x:0,area:0,cover:0,next:-1};this.pool[this.nullCellIndex].x=i7,this.pool[this.nullCellIndex].next=-1,this.ycells=[],this.freeIndex=0,this.bandMinY=-1e4,this.bandMaxY=1e4}setClip($,Q,Z,K){this.clipMinX=$,this.clipMinY=Q,this.clipMaxX=Z,this.clipMaxY=K}setBandBounds($,Q){this.bandMinY=$,this.bandMaxY=Q,this.bandSet=!0;let Z=Q-$;if(this.ycells.length<Z)this.ycells=Array(Z);for(let K=0;K<Z;K++)this.ycells[K]=this.nullCellIndex;this.freeIndex=0}reset(){if(this.freeIndex=0,this.pool[this.nullCellIndex].x=i7,this.pool[this.nullCellIndex].area=0,this.pool[this.nullCellIndex].cover=0,this.pool[this.nullCellIndex].next=-1,this.bandSet)for(let $=0;$<this.ycells.length;$++)this.ycells[$]=this.nullCellIndex;else this.ycells=[],this.bandMinY=-1e5,this.bandMaxY=1e5;this.minY=1/0,this.maxY=-1/0,this.minX=1/0,this.maxX=-1/0,this.currentCellIndex=-1}setCurrentCell($,Q){let Z=a6($),K=a6(Q);if(this.currentCellIndex>=0&&this.currentX===Z&&this.currentY===K)return;if(K<this.bandMinY||K>=this.bandMaxY||K<this.clipMinY||K>=this.clipMaxY||Z<this.clipMinX||Z>=this.clipMaxX){this.currentCellIndex=this.nullCellIndex,this.currentX=Z,this.currentY=K;return}this.currentX=Z,this.currentY=K,this.currentCellIndex=this.findOrCreateCell(Z,K),this.minY=Math.min(this.minY,K),this.maxY=Math.max(this.maxY,K),this.minX=Math.min(this.minX,Z),this.maxX=Math.max(this.maxX,Z)}findOrCreateCell($,Q){if(!this.bandSet)this.ensureYCellsCapacity(Q);let Z=Q-this.bandMinY;if(Z<0||Z>=this.ycells.length)return this.nullCellIndex;let K=-1,J=this.ycells[Z];while(J!==this.nullCellIndex){let W=this.pool[J];if(W.x===$)return J;if(W.x>$)break;K=J,J=W.next}if(this.freeIndex>=this.nullCellIndex)throw new s8;let q=this.freeIndex++,U=this.pool[q];if(U.x=$,U.area=0,U.cover=0,U.next=J,K===-1)this.ycells[Z]=q;else this.pool[K].next=q;return q}ensureYCellsCapacity($){if(this.ycells.length===0){this.bandMinY=Math.min($,0),this.bandMaxY=Math.max($+1,256);let Q=this.bandMaxY-this.bandMinY;this.ycells=Array(Q);for(let Z=0;Z<Q;Z++)this.ycells[Z]=this.nullCellIndex;return}if($<this.bandMinY){let Q=this.bandMinY-$,Z=Array(this.ycells.length+Q);for(let K=0;K<Q;K++)Z[K]=this.nullCellIndex;for(let K=0;K<this.ycells.length;K++)Z[Q+K]=this.ycells[K];this.ycells=Z,this.bandMinY=$}else if($>=this.bandMaxY){let Q=$+1,Z=this.ycells.length,K=Q-this.bandMinY;if(K>Z){let J=Array(K);for(let q=0;q<Z;q++)J[q]=this.ycells[q];for(let q=Z;q<K;q++)J[q]=this.nullCellIndex;this.ycells=J}this.bandMaxY=Q}}addArea($,Q){if(this.currentCellIndex>=0){let Z=this.pool[this.currentCellIndex];Z.area+=$,Z.cover+=Q}}getArea(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.area;return 0}getCover(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.cover;return 0}getCellsForRow($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return[];let Z=[],K=this.ycells[Q];while(K!==this.nullCellIndex)Z.push(this.pool[K]),K=this.pool[K].next;return Z}*iterateCells(){for(let $=0;$<this.ycells.length;$++){let Q=this.bandMinY+$,Z=this.ycells[$];if(Z===this.nullCellIndex)continue;let K=[];while(Z!==this.nullCellIndex)K.push(this.pool[Z]),Z=this.pool[Z].next;if(K.length>0)yield{y:Q,cells:K}}}*iterateScanlines(){for(let $=0;$<this.ycells.length;$++){let Q=this.ycells[$];if(Q!==this.nullCellIndex)yield{y:this.bandMinY+$,firstCellIndex:Q}}}getPool(){return this.pool}getNullIndex(){return this.nullCellIndex}getYCells(){return this.ycells}getBandMinY(){return this.bandMinY}*iterateRowCells($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return;let Z=this.ycells[Q];while(Z!==this.nullCellIndex)yield this.pool[Z],Z=this.pool[Z].next}getCellCount(){return this.freeIndex}isNearCapacity(){return this.freeIndex>this.poolSize*0.9}}z6();var vH=32,a7=16;class a8{cells;x=0;y=0;minX=0;minY=0;maxX=0;maxY=0;constructor(){this.cells=new j5}setClip($,Q,Z,K){this.minX=$,this.minY=Q,this.maxX=Z,this.maxY=K,this.cells.setClip($,Q,Z,K)}setBandBounds($,Q){this.cells.setBandBounds($,Q)}reset(){this.cells.reset(),this.x=0,this.y=0}moveTo($,Q){this.x=$,this.y=Q,this.cells.setCurrentCell($,Q)}lineTo($,Q){this.renderLine($,Q),this.x=$,this.y=Q}renderLine($,Q){let Z=a6(this.y),K=a6(Q);if(Z>=this.maxY&&K>=this.maxY||Z<this.minY&&K<this.minY)return;let J=C8(this.y),q=C8(Q);if(Z===K){this.renderScanline(Z,this.x,J,$,q);return}let U=$-this.x,W=Q-this.y;if(U===0){let z=a6(this.x),Y=C8(this.x)*2,G,E;if(W>0)G=W6,E=1;else G=0,E=-1;let w=G-J;this.cells.setCurrentCell(this.x,Z<<A6),this.cells.addArea(w*Y,w),Z+=E,this.cells.setCurrentCell(this.x,Z<<A6),w=G+G-W6;while(Z!==K)this.cells.addArea(w*Y,w),Z+=E,this.cells.setCurrentCell(this.x,Z<<A6);w=q-W6+G,this.cells.addArea(w*Y,w);return}let H=this.x,_,N;if(W>0)N=W6,_=1;else N=0,_=-1;let V=N-J,X=this.mulDiv(U,V,I6(W)),j=H+X;if(this.renderScanline(Z,H,J,j,N),H=j,Z+=_,this.cells.setCurrentCell(H,Z<<A6),Z!==K){let z=this.mulDiv(U,W6,I6(W));V=N+N-W6;while(Z!==K)j=H+z,this.renderScanline(Z,H,W6-N,j,N),H=j,Z+=_,this.cells.setCurrentCell(H,Z<<A6)}V=q-W6+N,this.renderScanline(Z,H,W6-N,$,q)}renderScanline($,Q,Z,K,J){let q=a6(Q),U=a6(K);if(Z===J){this.cells.setCurrentCell(K,$<<A6);return}let W=C8(Q),H=C8(K);if(q===U){let G=J-Z;this.cells.setCurrentCell(Q,$<<A6),this.cells.addArea(G*(W+H),G);return}let _=K-Q,N=J-Z,V,X;if(_>0)V=W6,X=1;else V=0,X=-1;let j=this.mulDiv(N,V-W,I6(_));this.cells.setCurrentCell(Q,$<<A6),this.cells.addArea(j*(W+V),j);let z=Z+j,Y=q+X;if(this.cells.setCurrentCell(Y<<A6,$<<A6),Y!==U){let G=this.mulDiv(N,W6,I6(_));while(Y!==U)j=G,this.cells.addArea(j*W6,j),z+=j,Y+=X,this.cells.setCurrentCell(Y<<A6,$<<A6)}j=J-z,this.cells.addArea(j*(H+W6-V),j)}mulDiv($,Q,Z){if(Z===0)return 0;return Math.trunc($*Q/Z)}conicTo($,Q,Z,K){this.subdivConic(this.x,this.y,$,Q,Z,K,0),this.x=Z,this.y=K}subdivConic($,Q,Z,K,J,q,U){if(U>16){this.renderLine(J,q),this.x=J,this.y=q;return}let W=J-$,H=q-Q,_=I6((Z-$)*H-(K-Q)*W),N=I6(W)+I6(H),V=Math.max(W6>>2,N>>4);if(_<=V*N){this.renderLine(J,q),this.x=J,this.y=q;return}let X=$+Z>>1,j=Q+K>>1,z=Z+J>>1,Y=K+q>>1,G=X+z>>1,E=j+Y>>1;this.subdivConic($,Q,X,j,G,E,U+1),this.subdivConic(G,E,z,Y,J,q,U+1)}cubicTo($,Q,Z,K,J,q){this.subdivCubic(this.x,this.y,$,Q,Z,K,J,q,0),this.x=J,this.y=q}subdivCubic($,Q,Z,K,J,q,U,W,H){if(H>16){this.renderLine(U,W),this.x=U,this.y=W;return}let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,X=K+q>>1,j=J+U>>1,z=q+W>>1,Y=_+V>>1,G=N+X>>1,E=V+j>>1,w=X+z>>1,F=Y+E>>1,A=G+w>>1,M=U-$,L=W-Q,T=I6((Z-U)*L-(K-W)*M),B=I6((J-U)*L-(q-W)*M),I=I6(M)+I6(L),O=Math.max(W6>>2,I>>4);if(T+B<=O*I){this.renderLine(U,W),this.x=U,this.y=W;return}this.subdivCubic($,Q,_,N,Y,G,F,A,H+1),this.subdivCubic(F,A,E,w,j,z,U,W,H+1)}sweep($,Q=0){let Z=$.pitch,K=Z<0?($.rows-1)*-Z:0,J=$.width,q=$.rows,U=this.cells.getPool(),W=this.cells.getNullIndex(),H=this.cells.getYCells(),_=this.cells.getBandMinY(),N=H.length;for(let V=0;V<N;V++){let X=H[V];if(X===W)continue;let j=_+V;if(j<0||j>=q)continue;let z=0,Y=0,G=Z<0?K-j*-Z:j*Z,E=X;while(E!==W){let w=U[E];if(w.x>Y&&z!==0){let L=this.applyFillRule(z,Q);if(L>0){let T=Y<0?0:Y,B=w.x>J?J:w.x;this.fillSpan($,G,T,B,L)}}let A=z*(W6*2)-w.area,M=this.applyFillRule(A>>A6+1,Q);if(M>0&&w.x>=0&&w.x<J)this.setPixel($,G,w.x,M);z+=w.cover,Y=w.x+1,E=w.next}if(Y<J&&z!==0){let w=this.applyFillRule(z,Q);if(w>0)this.fillSpan($,G,Y,J,w)}}}applyFillRule($,Q){let Z=$;if(Z<0)Z=-Z;if(Q===1){if(Z&=511,Z>256)Z=512-Z}return Z>255?255:Z}fillSpan($,Q,Z,K,J){if($.pixelMode===1)$.buffer.fill(J,Q+Z,Q+K);else if($.pixelMode===0){if(J>=128)for(let q=Z;q<K;q++){let U=Q+(q>>3),W=7-(q&7);$.buffer[U]|=1<<W}}else if($.pixelMode===2||$.pixelMode===3)for(let q=Z;q<K;q++){let U=Q+q*3;$.buffer[U]=J,$.buffer[U+1]=J,$.buffer[U+2]=J}else if($.pixelMode===4)for(let q=Z;q<K;q++){let U=Q+q*4;$.buffer[U]=0,$.buffer[U+1]=0,$.buffer[U+2]=0,$.buffer[U+3]=J}}setPixel($,Q,Z,K){if($.pixelMode===1)$.buffer[Q+Z]=K;else if($.pixelMode===0){if(K>=128){let J=Q+(Z>>3),q=7-(Z&7);$.buffer[J]|=1<<q}}else if($.pixelMode===2||$.pixelMode===3){let J=Q+Z*3;$.buffer[J]=K,$.buffer[J+1]=K,$.buffer[J+2]=K}else if($.pixelMode===4){let J=Q+Z*4;$.buffer[J]=0,$.buffer[J+1]=0,$.buffer[J+2]=0,$.buffer[J+3]=K}}sweepSpans($,Q=0,Z){let K=this.cells.getYCells(),J=this.cells.getPool(),q=this.cells.getNullIndex(),U=this.cells.getBandMinY();for(let W=0;W<K.length;W++){let H=K[W];if(H===q)continue;let _=U+W,N=[],V=0,X=-1;while(H!==q){let j=J[H];if(V!==0&&j.x>X+1){let E=this.applyFillRule(V,Q);if(E>0)N.push({x:X+1,len:j.x-X-1,coverage:E})}let Y=V*(W6*2)-j.area,G=this.applyFillRule(Y>>A6+1,Q);if(G>0)N.push({x:j.x,len:1,coverage:G});V+=j.cover,X=j.x,H=j.next}if(N.length>0)$(_,N,Z)}}sweepDirect($,Q=0,Z=0,K=1/0,J){let q=[],U=this.cells.getYCells(),W=this.cells.getPool(),H=this.cells.getNullIndex(),_=this.cells.getBandMinY();for(let N=0;N<U.length;N++){let V=U[N];if(V===H)continue;let X=_+N,j=0,z=Z;while(V!==H){let Y=W[V];if(j!==0&&Y.x>z){let F=this.applyFillRule(j,Q);if(F>0){if(q.push({x:z,len:Y.x-z,coverage:F}),q.length>=a7)$(X,q.splice(0,q.length),J)}}let E=j*(W6*2)-Y.area,w=this.applyFillRule(E>>A6+1,Q);if(w>0&&Y.x>=Z&&Y.x<K){if(q.push({x:Y.x,len:1,coverage:w}),q.length>=a7)$(X,q.splice(0,q.length),J)}j+=Y.cover,z=Y.x+1,V=Y.next}if(j!==0&&z<K){let Y=this.applyFillRule(j,Q);if(Y>0)q.push({x:z,len:Math.min(K,this.maxX+1)-z,coverage:Y})}if(q.length>0)$(X,q.splice(0,q.length),J)}}renderWithBands($,Q,Z,K=0){let q=Z.maxY-Z.minY,U=Math.max(1,Math.floor(256));if(q<=U)U=q;let W=Z.minX??0,H=Z.maxX??$.width,_=[];for(let N=Z.minY;N<Z.maxY;N+=U)_.push({minY:N,maxY:Math.min(N+U,Z.maxY),minX:W,maxX:H,depth:0});while(_.length>0){let N=_.pop();if(!N)break;if(this.renderBandWithXClip($,Q,N.minY,N.maxY,N.minX,N.maxX,K))continue;let V=N.depth;if(V>=vH){console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), depth limit reached`);continue}let X=V+1,j=N.minX+N.maxX>>1;if(j>N.minX){_.push({minY:N.minY,maxY:N.maxY,minX:j,maxX:N.maxX,depth:X}),_.push({minY:N.minY,maxY:N.maxY,minX:N.minX,maxX:j,depth:X});continue}let z=N.minY+N.maxY>>1;if(z>N.minY){_.push({minY:z,maxY:N.maxY,minX:N.minX,maxX:N.maxX,depth:X}),_.push({minY:N.minY,maxY:z,minX:N.minX,maxX:N.maxX,depth:X});continue}console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), cannot bisect further`)}}renderBandWithXClip($,Q,Z,K,J,q,U){this.setClip(J,Z,q,K),this.cells.setBandBounds(Z,K),this.cells.reset(),this.minY=Z,this.maxY=K;try{return Q(),this.sweepBandWithXClip($,Z,K,J,q,U),!0}catch(W){if(W instanceof s8)return!1;throw W}}sweepBandWithXClip($,Q,Z,K,J,q){let U=$.pitch,W=U<0?($.rows-1)*-U:0,H=this.cells.getYCells(),_=this.cells.getPool(),N=this.cells.getNullIndex(),V=this.cells.getBandMinY();for(let X=Q;X<Z;X++){if(X<0||X>=$.rows)continue;let j=X-V;if(j<0||j>=H.length)continue;let z=H[j];if(z===N)continue;let Y=0,G=K,E=U<0?W-X*-U:X*U;while(z!==N){let w=_[z];if(w.x<K){Y+=w.cover,z=w.next;continue}if(w.x>=J){if(Y!==0&&G<J){let L=this.applyFillRule(Y,q);if(L>0)this.fillSpan($,E,Math.max(0,G),Math.min($.width,J),L)}break}if(w.x>G&&Y!==0){let L=this.applyFillRule(Y,q);if(L>0){let T=Math.max(0,G),B=Math.min($.width,w.x);this.fillSpan($,E,T,B,L)}}let A=Y*(W6*2)-w.area,M=this.applyFillRule(A>>A6+1,q);if(M>0&&w.x>=0&&w.x<$.width)this.setPixel($,E,w.x,M);Y+=w.cover,G=w.x+1,z=w.next}if(G<J&&G<$.width&&Y!==0){let w=this.applyFillRule(Y,q);if(w>0)this.fillSpan($,E,G,Math.min($.width,J),w)}}}}z6();var r7;((J)=>{J[J.Ok=0]="Ok";J[J.InvalidOutline=1]="InvalidOutline";J[J.InvalidArgument=2]="InvalidArgument";J[J.EmptyOutline=3]="EmptyOutline"})(r7||={});function IH($,Q=!0){if(!$)return{error:1,message:"Path is null or undefined"};if(!$.commands)return{error:1,message:"Path commands array is missing"};if($.commands.length===0){if(Q)return{error:3};return{error:1,message:"Path is empty"}}let Z=!1,K=!1,J=0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":if(Z=!0,K=!0,J++,!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}: (${U.x}, ${U.y})`};break;case"L":if(!Z)return{error:1,message:`Line command at ${q} without preceding moveTo`};if(!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Q":if(!Z)return{error:1,message:`Quadratic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"C":if(!Z)return{error:1,message:`Cubic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x2)||!Number.isFinite(U.y2)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Z":K=!1;break;default:return{error:1,message:`Unknown command type at ${q}: ${U.type}`}}}if(J===0&&!Q)return{error:3,message:"No contours in path"};return{error:0}}function G8($,Q,Z,K=0,J=0,q=!0){let U=0,W=0,H=!1,_=Z*W6,N=(q?-Z:Z)*W6,V=K*W6,X=J*W6;for(let j=0;j<Q.commands.length;j++){let z=Q.commands[j];switch(z.type){case"M":{if(H)$.lineTo(U,W);let Y=Math.round(z.x*_+V),G=Math.round(z.y*N+X);$.moveTo(Y,G),U=Y,W=G,H=!0;break}case"L":{let Y=Math.round(z.x*_+V),G=Math.round(z.y*N+X);$.lineTo(Y,G);break}case"Q":{let Y=Math.round(z.x1*_+V),G=Math.round(z.y1*N+X),E=Math.round(z.x*_+V),w=Math.round(z.y*N+X);$.conicTo(Y,G,E,w);break}case"C":{let Y=Math.round(z.x1*_+V),G=Math.round(z.y1*N+X),E=Math.round(z.x2*_+V),w=Math.round(z.y2*N+X),F=Math.round(z.x*_+V),A=Math.round(z.y*N+X);$.cubicTo(Y,G,E,w,F,A);break}case"Z":{if(H)$.lineTo(U,W),H=!1;break}}}if(H)$.lineTo(U,W)}function q8($,Q,Z=!0){if(!$.bounds)return null;let K=$.bounds;if(Z)return{minX:Math.floor(K.xMin*Q),minY:Math.floor(-K.yMax*Q),maxX:Math.ceil(K.xMax*Q),maxY:Math.ceil(-K.yMin*Q)};else return{minX:Math.floor(K.xMin*Q),minY:Math.floor(K.yMin*Q),maxX:Math.ceil(K.xMax*Q),maxY:Math.ceil(K.yMax*Q)}}function kH($,Q=0){if(!$?.flags)return Q;return($.flags&1)!==0?1:0}z6();function t7($){if(!$.commands||$.commands.length===0)return null;let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0,W=!1,H=(_,N)=>{Q=Math.min(Q,_),Z=Math.min(Z,N),K=Math.max(K,_),J=Math.max(J,N),W=!0};for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":{q=N.x,U=N.y,H(q,U);break}case"L":{q=N.x,U=N.y,H(q,U);break}case"Q":{H(N.x,N.y);let V=Y5(q,N.x1,N.x);for(let Y=0;Y<V.length;Y++){let G=V[Y],E=y9(q,N.x1,N.x,G);H(E,U)}let X=Y5(U,N.y1,N.y);for(let Y=0;Y<X.length;Y++){let G=X[Y],E=y9(U,N.y1,N.y,G);H(q,E)}let z=[...new Set([...V,...X])];for(let Y=0;Y<z.length;Y++){let G=z[Y],E=y9(q,N.x1,N.x,G),w=y9(U,N.y1,N.y,G);H(E,w)}q=N.x,U=N.y;break}case"C":{H(N.x,N.y);let V=G5(q,N.x1,N.x2,N.x);for(let Y=0;Y<V.length;Y++){let G=V[Y],E=b9(q,N.x1,N.x2,N.x,G);H(E,U)}let X=G5(U,N.y1,N.y2,N.y);for(let Y=0;Y<X.length;Y++){let G=X[Y],E=b9(U,N.y1,N.y2,N.y,G);H(q,E)}let z=[...new Set([...V,...X])];for(let Y=0;Y<z.length;Y++){let G=z[Y],E=b9(q,N.x1,N.x2,N.x,G),w=b9(U,N.y1,N.y2,N.y,G);H(E,w)}q=N.x,U=N.y;break}case"Z":break}}if(!W)return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function Y5($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function G5($,Q,Z,K){let J=3*(K-3*Z+3*Q-$),q=6*(Z-2*Q+$),U=3*(Q-$),W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)<0.0000000001)return[];let X=-U/q;if(X>0&&X<1)W.push(X);return W}let H=q*q-4*J*U;if(H<0)return[];if(Math.abs(H)<0.0000000001){let X=-q/(2*J);if(X>0&&X<1)W.push(X);return W}let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V);return W}function y9($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function b9($,Q,Z,K,J){let q=1-J,U=q*q,W=J*J;return U*q*$+3*U*J*Q+3*q*W*Z+W*J*K}z6();function r8($,Q,Z){if(Q===0&&Z===0)return J6($);let K=r($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++)for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=$.buffer[N*$.pitch+_]??0;U=Math.max(U,V)}}K.buffer[J*K.pitch+q]=U}else if($.pixelMode===0)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=!1;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++){for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=N*$.pitch+(_>>3),X=7-(_&7);if(($.buffer[V]??0)>>X&1){U=!0;break}}}if(U)break}if(U){let W=J*K.pitch+(q>>3),H=7-(q&7);K.buffer[W]|=1<<H}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0,W=0,H=0;for(let N=-Math.floor(Z);N<=Math.ceil(Z);N++)for(let V=-Math.floor(Q);V<=Math.ceil(Q);V++){let X=q+V,j=J+N;if(X>=0&&X<$.width&&j>=0&&j<$.rows){let z=j*$.pitch+X*3;U=Math.max(U,$.buffer[z]??0),W=Math.max(W,$.buffer[z+1]??0),H=Math.max(H,$.buffer[z+2]??0)}}let _=J*K.pitch+q*3;K.buffer[_]=U,K.buffer[_+1]=W,K.buffer[_+2]=H}return K}function U8($,Q){if($.pixelMode===Q)return $;let Z=r($.width,$.rows,Q);if($.pixelMode===1&&Q===0){for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++)if(($.buffer[K*$.pitch+J]??0)>=128){let U=K*Z.pitch+(J>>3),W=7-(J&7);Z.buffer[U]|=1<<W}}else if($.pixelMode===0&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),W=($.buffer[q]??0)>>U&1;Z.buffer[K*Z.pitch+J]=W?255:0}else if($.pixelMode===1&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===0&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),H=($.buffer[q]??0)>>U&1?255:0,_=K*Z.pitch+J*3;Z.buffer[_]=H,Z.buffer[_+1]=H,Z.buffer[_+2]=H}else if($.pixelMode===1&&Q===3)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===2&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+J*3,U=$.buffer[q]??0,W=$.buffer[q+1]??0,H=$.buffer[q+2]??0;Z.buffer[K*Z.pitch+J]=Math.floor((U+W+H)/3)}return Z}function C0($,Q,Z,K,J){if($.pixelMode!==1||Q.pixelMode!==1)return;J=Math.max(0,Math.min(1,J));let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++)for(let N=q;N<W;N++){let V=Z+N,X=K+_;if(V>=0&&V<$.width&&X>=0&&X<$.rows){let j=Q.buffer[_*Q.pitch+N]??0,Y=($.buffer[X*$.pitch+V]??0)+j*J;$.buffer[X*$.pitch+V]=Math.min(255,Math.floor(Y))}}}function J6($){return{buffer:new Uint8Array($.buffer),width:$.width,rows:$.rows,pitch:$.pitch,pixelMode:$.pixelMode,numGrays:$.numGrays}}function S8($,Q,Z){let K=r(Q,Z,$.pixelMode),J=$.width/Q,q=$.rows/Z;if($.pixelMode===1)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),_=Math.floor(U*q);K.buffer[U*K.pitch+W]=$.buffer[_*$.pitch+H]??0}else if($.pixelMode===0)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+(H>>3),V=7-(H&7);if(($.buffer[N]??0)>>V&1){let j=U*K.pitch+(W>>3),z=7-(W&7);K.buffer[j]|=1<<z}}else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+H*3,V=U*K.pitch+W*3;K.buffer[V]=$.buffer[N]??0,K.buffer[V+1]=$.buffer[N+1]??0,K.buffer[V+2]=$.buffer[N+2]??0}return K}function t8($,Q,Z){let K=r(Q,Z,$.pixelMode),J=($.width-1)/Math.max(1,Q-1),q=($.rows-1)/Math.max(1,Z-1);if($.pixelMode===1)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let X=V*J,j=Math.floor(X),z=Math.min(j+1,$.width-1),Y=X-j,G=$.buffer[H*$.pitch+j]??0,E=$.buffer[H*$.pitch+z]??0,w=$.buffer[_*$.pitch+j]??0,F=$.buffer[_*$.pitch+z]??0,A=G+(E-G)*Y,M=w+(F-w)*Y,L=A+(M-A)*N;K.buffer[U*K.pitch+V]=Math.round(L)}}else if($.pixelMode===0)return S8($,Q,Z);else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let X=V*J,j=Math.floor(X),z=Math.min(j+1,$.width-1),Y=X-j,G=H*$.pitch+j*3,E=H*$.pitch+z*3,w=_*$.pitch+j*3,F=_*$.pitch+z*3;for(let A=0;A<3;A++){let M=$.buffer[G+A]??0,L=$.buffer[E+A]??0,T=$.buffer[w+A]??0,B=$.buffer[F+A]??0,I=M+(L-M)*Y,O=T+(B-T)*Y,x=I+(O-I)*N;K.buffer[U*K.pitch+V*3+A]=Math.round(x)}}}return K}function E5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.min(255,X+j)}}}function w5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.floor((X*j+127)/255)}}}function A5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(0,j-X)}}}function F5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0,z=X+Math.floor((j*(255-X)+127)/255);$.buffer[_*$.pitch+V]=Math.min(255,z)}}}function m9($,Q,Z){let K=r($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;K.buffer[J*K.pitch+U]=$.buffer[q*$.pitch+W]??0}}else if($.pixelMode===0)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+(W>>3),_=7-(W&7);if(($.buffer[H]??0)>>_&1){let V=J*K.pitch+(U>>3),X=7-(U&7);K.buffer[V]|=1<<X}}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+W*3,_=J*K.pitch+U*3;K.buffer[_]=$.buffer[H]??0,K.buffer[_+1]=$.buffer[H+1]??0,K.buffer[_+2]=$.buffer[H+2]??0}}return K}function CH($,Q,Z=0,K=0,J=128){if($.pixelMode!==1||Q.pixelMode!==1)return;let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++){let N=K+_;if(N<0||N>=$.rows)continue;for(let V=q;V<W;V++){let X=Z+V;if(X<0||X>=$.width)continue;if((Q.buffer[_*Q.pitch+V]??0)>=J)$.buffer[N*$.pitch+X]=0}}}function L5($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let X=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(X,j)}}}function g9($,Q,Z,K,J){let q=$.width+Q+K,U=$.rows+Z+J,W=r(q,U,$.pixelMode);if($.pixelMode===1)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++)W.buffer[(H+Z)*W.pitch+(_+Q)]=$.buffer[H*$.pitch+_]??0;else if($.pixelMode===2||$.pixelMode===3)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++){let N=H*$.pitch+_*3,V=(H+Z)*W.pitch+(_+Q)*3;W.buffer[V]=$.buffer[N]??0,W.buffer[V+1]=$.buffer[N+1]??0,W.buffer[V+2]=$.buffer[N+2]??0}return W}function SH($,Q,Z,K){let{width:U,rows:W}=$,H=Z,_=K,N=Z+Q.width,V=K+Q.rows,X=Math.min(0,H),j=Math.min(0,_),z=Math.max(U,N),Y=Math.max(W,V),G=z-X,E=Y-j,w=r(G,E,$.pixelMode),F=0-X,A=0-j,M=H-X,L=_-j;if($.pixelMode===1)for(let T=0;T<$.rows;T++)for(let B=0;B<$.width;B++)w.buffer[(T+A)*w.pitch+(B+F)]=$.buffer[T*$.pitch+B]??0;return{expanded:w,dstOffsetX:F,dstOffsetY:A,srcOffsetX:M,srcOffsetY:L}}z6();function D5($){if($<=0)return new Float32Array([1]);let Q=$,Z=Math.ceil($*2)*2+1,K=new Float32Array(Z),J=Math.floor(Z/2),q=0;for(let U=0;U<Z;U++){let W=U-J,H=Math.exp(-(W*W)/(2*Q*Q));K[U]=H,q+=H}for(let U=0;U<Z;U++)K[U]/=q;return K}function hH($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let X=0;for(let z=0;z<U.length;z++){let Y=N+z-H,G=Math.max(0,Math.min(Z-1,Y)),E=_*J+G*W+V;X+=($[E]??0)*U[z]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(X)))}}function yH($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let X=0;for(let z=0;z<U.length;z++){let Y=_+z-H,E=Math.max(0,Math.min(K-1,Y))*J+N*W+V;X+=($[E]??0)*U[z]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(X)))}}function o6($,Q){if($.pixelMode===0){let q=U8($,1);return o6(q,Q)}if(Q<=0)return $;let Z=D5(Q),K=1;if($.pixelMode===2||$.pixelMode===3)K=3;else if($.pixelMode===4)K=4;let J=new Uint8Array($.buffer.length);return hH($.buffer,J,$.width,$.rows,$.pitch,$.pitch,Z,K),yH(J,$.buffer,$.width,$.rows,$.pitch,$.pitch,Z,K),$}function E8($,Q){if($.pixelMode===0){let U=U8($,1);return E8(U,Q)}if(Q<=0)return $;let Z=1;if($.pixelMode===2||$.pixelMode===3)Z=3;else if($.pixelMode===4)Z=4;let K=Math.floor(Q),J=K*2+1,q=new Uint8Array($.buffer.length);for(let U=0;U<$.rows;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.width){let X=U*$.pitch+V*Z+W;H+=$.buffer[X]??0,_++}let N=U*$.pitch+0*Z+W;q[N]=Math.round(H/_);for(let V=1;V<$.width;V++){let X=V-K-1;if(X>=0){let Y=U*$.pitch+X*Z+W;H-=$.buffer[Y]??0,_--}let j=V+K;if(j<$.width){let Y=U*$.pitch+j*Z+W;H+=$.buffer[Y]??0,_++}let z=U*$.pitch+V*Z+W;q[z]=Math.round(H/_)}}for(let U=0;U<$.width;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.rows){let X=V*$.pitch+U*Z+W;H+=q[X]??0,_++}let N=0*$.pitch+U*Z+W;$.buffer[N]=Math.round(H/_);for(let V=1;V<$.rows;V++){let X=V-K-1;if(X>=0){let Y=X*$.pitch+U*Z+W;H-=q[Y]??0,_--}let j=V+K;if(j<$.rows){let Y=j*$.pitch+U*Z+W;H+=q[Y]??0,_++}let z=V*$.pitch+U*Z+W;$.buffer[z]=Math.round(H/_)}}return $}function e7($,Q,Z="gaussian"){if(Z==="box")return E8($,Q);else return o6($,Q)}z6();function bH($,Q,Z){return[Math.round($[0]+(Q[0]-$[0])*Z),Math.round($[1]+(Q[1]-$[1])*Z),Math.round($[2]+(Q[2]-$[2])*Z),Math.round($[3]+(Q[3]-$[3])*Z)]}function S0($,Q,Z){if($.stops.length===0)return[0,0,0,0];if($.stops.length===1)return $.stops[0].color;let K;if($.type==="linear"){let q=$.x1-$.x0,U=$.y1-$.y0,W=q*q+U*U;if(W===0)return $.stops[0].color;let H=Q-$.x0,_=Z-$.y0;K=(H*q+_*U)/W}else{let q=Q-$.cx,U=Z-$.cy,W=Math.sqrt(q*q+U*U);K=$.radius>0?W/$.radius:0}K=Math.max(0,Math.min(1,K));let J=[...$.stops].sort((q,U)=>q.offset-U.offset);if(K<=J[0].offset)return J[0].color;if(K>=J[J.length-1].offset)return J[J.length-1].color;for(let q=0;q<J.length-1;q++){let U=J[q],W=J[q+1];if(K>=U.offset&&K<=W.offset){let H=W.offset-U.offset;if(H===0)return W.color;let _=(K-U.offset)/H;return bH(U.color,W.color,_)}}return J[J.length-1].color}function h0($,Q,Z){let K=r($,Q,4);for(let J=0;J<Q;J++)for(let q=0;q<$;q++){let U=S0(Z,q,J),W=(J*$+q)*4;K.buffer[W]=U[0],K.buffer[W+1]=U[1],K.buffer[W+2]=U[2],K.buffer[W+3]=U[3]}return K}function e8($,Q,Z){let{width:K,height:J}=Z,q=r6($,{...Z,pixelMode:1,flipY:Z.flipY??!1}),U=r(K,J,4);for(let W=0;W<J;W++)for(let H=0;H<K;H++){let _=q.buffer[W*q.pitch+H]??0;if(_>0){let N=S0(Q,H,W),V=(W*K+H)*4,X=N[3]*_/255;U.buffer[V]=N[0],U.buffer[V+1]=N[1],U.buffer[V+2]=N[2],U.buffer[V+3]=Math.round(X)}}return U}z6();function h8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=r(Z,K,1),N=mH($,J,q,U,W);if(N.length===0)return _.buffer.fill(0),_;for(let V=0;V<K;V++)for(let X=0;X<Z;X++){let j=X+0.5,z=V+0.5,Y=1/0;for(let A=0;A<N.length;A++){let M=N[A],L=gH(j,z,M);Y=Math.min(Y,L)}let w=128+(lH(j,z,N)?Y:-Y)/H*127,F=Math.max(0,Math.min(255,Math.round(w)));_.buffer[V*_.pitch+X]=F}return _}function mH($,Q,Z,K,J){let q=[],U=null,W=null,H=(_,N)=>({x:_*Q+Z,y:J?-(N*Q)+K:N*Q+K});for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":U=H(N.x,N.y),W=U;break;case"L":if(U){let V=H(N.x,N.y);q.push({type:"line",p0:U,p1:V}),U=V}break;case"Q":if(U){let V=H(N.x1,N.y1),X=H(N.x,N.y);q.push({type:"quadratic",p0:U,p1:V,p2:X}),U=X}break;case"C":if(U){let V=H(N.x1,N.y1),X=H(N.x2,N.y2),j=H(N.x,N.y);q.push({type:"cubic",p0:U,p1:V,p2:X,p3:j}),U=j}break;case"Z":if(U&&W){if(Math.abs(U.x-W.x)>0.001||Math.abs(U.y-W.y)>0.001)q.push({type:"line",p0:U,p1:W});U=W}break}}return q}function gH($,Q,Z){switch(Z.type){case"line":return uH($,Q,Z.p0,Z.p1);case"quadratic":return xH($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return fH($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function uH($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0001){let X=$-Z.x,j=Q-Z.y;return Math.sqrt(X*X+j*j)}let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Z.x+W*J,_=Z.y+W*q,N=$-H,V=Q-_;return Math.sqrt(N*N+V*V)}function xH($,Q,Z,K,J){let q=1/0,U=32;for(let W=0;W<=U;W++){let H=W/U,_=1-H,N=_*_*Z.x+2*_*H*K.x+H*H*J.x,V=_*_*Z.y+2*_*H*K.y+H*H*J.y,X=$-N,j=Q-V,z=Math.sqrt(X*X+j*j);q=Math.min(q,z)}return q}function fH($,Q,Z,K,J,q){let U=1/0,W=32;for(let H=0;H<=W;H++){let _=H/W,N=1-_,V=N*N*N*Z.x+3*N*N*_*K.x+3*N*_*_*J.x+_*_*_*q.x,X=N*N*N*Z.y+3*N*N*_*K.y+3*N*_*_*J.y+_*_*_*q.y,j=$-V,z=Q-X,Y=Math.sqrt(j*j+z*z);U=Math.min(U,Y)}return U}function lH($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J],U=dH(q);for(let W=0;W<U.length-1;W++){let H=U[W],_=U[W+1];if(!H||!_)continue;if(H.y>Q!==_.y>Q){let N=(_.x-H.x)/(_.y-H.y),V=H.x+N*(Q-H.y);if($<V)K++}}}return(K&1)===1}function dH($){switch($.type){case"line":return[$.p0,$.p1];case"quadratic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*$.p0.x+2*q*J*$.p1.x+J*J*$.p2.x,y:q*q*$.p0.y+2*q*J*$.p1.y+J*J*$.p2.y})}return Q}case"cubic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*q*$.p0.x+3*q*q*J*$.p1.x+3*q*J*J*$.p2.x+J*J*J*$.p3.x,y:q*q*q*$.p0.y+3*q*q*J*$.p1.y+3*q*J*J*$.p2.y+J*J*J*$.p3.y})}return Q}}}function M5($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q===0)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function l6($){return{x:-$.y,y:$.x}}function nH($,Q){let Z=$.x*Q.x+$.y*Q.y,K=$.x*Q.y-$.y*Q.x;return Math.atan2(K,Z)}function $K($,Q,Z,K,J){let q=l6(Z),U={x:Q.x+q.x*K*(J?1:-1),y:Q.y+q.y*K*(J?1:-1)},W={x:Q.x-q.x*K*(J?1:-1),y:Q.y-q.y*K*(J?1:-1)},H={x:Q.x+Z.x*K,y:Q.y+Z.y*K},_={x:U.x+Z.x*K*0.5523,y:U.y+Z.y*K*0.5523},N={x:W.x+Z.x*K*0.5523,y:W.y+Z.y*K*0.5523};$.push({type:"Q",x1:_.x,y1:_.y,x:H.x,y:H.y}),$.push({type:"Q",x1:N.x,y1:N.y,x:W.x,y:W.y})}function QK($,Q,Z,K){let J=l6(Z),q={x:Q.x+Z.x*K,y:Q.y+Z.y*K},U={x:q.x+J.x*K,y:q.y+J.y*K},W={x:q.x-J.x*K,y:q.y-J.y*K};$.push({type:"L",x:U.x,y:U.y}),$.push({type:"L",x:W.x,y:W.y})}function y0($,Q,Z,K,J,q,U,W){let H=nH(Z,K),_=W?H<0:H>0;if(Math.abs(H)<0.01)return;let N=l6(Z),V=l6(K),X=W?1:-1,j={x:Q.x+N.x*J*X,y:Q.y+N.y*J*X},z={x:Q.x+V.x*J*X,y:Q.y+V.y*J*X};if(!_){$.push({type:"L",x:z.x,y:z.y});return}switch(q){case"round":{let Y=Math.abs(H),G=Math.max(2,Math.ceil(Y/(Math.PI/4)));for(let E=1;E<=G;E++){let w=E/G,F=Math.atan2(N.y,N.x)+H*w*X,A=Q.x+Math.cos(F)*J*X,M=Q.y+Math.sin(F)*J*X;$.push({type:"L",x:A,y:M})}break}case"miter":{if(1/Math.sin(Math.abs(H)/2)<=U){let G=H/2,E=M5({x:Z.x+K.x,y:Z.y+K.y}),w=J/Math.cos(G),F={x:Q.x+E.x*w*X,y:Q.y+E.y*w*X};$.push({type:"L",x:F.x,y:F.y}),$.push({type:"L",x:z.x,y:z.y})}else $.push({type:"L",x:z.x,y:z.y});break}default:$.push({type:"L",x:z.x,y:z.y});break}}function pH($,Q){if($.length<2)return[];let{width:Z,lineJoin:K,miterLimit:J}=Q,q=Z/2,U=[],W=$.length,H=[];for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W];if(!E||!w)continue;H.push(M5({x:w.x-E.x,y:w.y-E.y}))}let _=H[0],N=$[0];if(!_||!N)return[];let V=l6(_);U.push({type:"M",x:N.x+V.x*q,y:N.y+V.y*q});for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W],F=H[G],A=H[(G+1)%W];if(!E||!w||!F||!A)continue;let M=l6(F);U.push({type:"L",x:w.x+M.x*q,y:w.y+M.y*q}),y0(U,w,F,A,q,K,J,!0)}U.push({type:"Z"});let X=W-1,j=H[X],z=$[0];if(!j||!z)return U;let Y=l6(_);U.push({type:"M",x:N.x-Y.x*q,y:N.y-Y.y*q});for(let G=0;G<W;G++){let E=$[G],w=$[(G+1)%W],F=H[G],A=H[(G+1)%W];if(!E||!w||!F||!A)continue;let M=l6(F);U.push({type:"L",x:w.x-M.x*q,y:w.y-M.y*q}),y0(U,w,F,A,q,K,J,!1)}return U.push({type:"Z"}),U}function oH($,Q){if($.length<2)return[];let{width:Z,lineCap:K,lineJoin:J,miterLimit:q}=Q,U=Z/2,W=[],H=$.length,_=[];for(let E=0;E<H-1;E++){let w=$[E],F=$[E+1];if(!w||!F)continue;_.push(M5({x:F.x-w.x,y:F.y-w.y}))}let N=$[0],V=$[H-1],X=_[0],j=_[_.length-1];if(!N||!V||!X||!j)return[];let z=l6(X);W.push({type:"M",x:N.x+z.x*U,y:N.y+z.y*U});for(let E=0;E<H-1;E++){let w=$[E+1],F=_[E],A=_[E+1];if(!w||!F)continue;let M=l6(F);if(W.push({type:"L",x:w.x+M.x*U,y:w.y+M.y*U}),A)y0(W,w,F,A,U,J,q,!0)}let Y={x:-j.x,y:-j.y};switch(K){case"round":$K(W,V,j,U,!0);break;case"square":QK(W,V,j,U);break;default:{let E=l6(j);W.push({type:"L",x:V.x-E.x*U,y:V.y-E.y*U});break}}for(let E=H-2;E>=0;E--){let w=$[E],F=_[E],A=_[E-1];if(!w||!F)continue;let M=l6(F);if(W.push({type:"L",x:w.x-M.x*U,y:w.y-M.y*U}),A)y0(W,w,{x:-F.x,y:-F.y},{x:-A.x,y:-A.y},U,J,q,!0)}let G={x:-X.x,y:-X.y};switch(K){case"round":$K(W,N,G,U,!0);break;case"square":QK(W,N,G,U);break;default:break}return W.push({type:"Z"}),W}function cH($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push({points:Z,closed:!1});Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push({points:Z,closed:!0}),Z=[];break}}if(Z.length>0)Q.push({points:Z,closed:!1});return Q}function $9($,Q){let Z={width:Q.width,lineCap:Q.lineCap??"butt",lineJoin:Q.lineJoin??"miter",miterLimit:Q.miterLimit??4},K=cH($),J=[];for(let U=0;U<K.length;U++){let W=K[U];if(W.points.length<2)continue;let H=W.closed?pH(W.points,Z):oH(W.points,Z);J.push(...H)}let q=$.bounds;if(q){let U=Z.width/2;q={xMin:q.xMin-U,yMin:q.yMin-U,xMax:q.xMax+U,yMax:q.yMax+U}}return{commands:J,bounds:q}}function iH($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.length;q++){let U=$[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),K=Math.max(K,U.x),Z=Math.min(Z,U.y),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x,U.x1),K=Math.max(K,U.x,U.x1),Z=Math.min(Z,U.y,U.y1),J=Math.max(J,U.y,U.y1);break;case"C":Q=Math.min(Q,U.x,U.x1,U.x2),K=Math.max(K,U.x,U.x1,U.x2),Z=Math.min(Z,U.y,U.y1,U.y2),J=Math.max(J,U.y,U.y1,U.y2);break;case"Z":break}}if(!Number.isFinite(Q))return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function Q9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x+q.y*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1+q.y1*Q,y1:q.y1,x:q.x+q.y*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1+q.y1*Q,y1:q.y1,x2:q.x2+q.y2*Q,y2:q.y2,x:q.x+q.y*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=iH(Z);return{commands:Z,bounds:K,flags:$.flags}}function Z9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1*Q,y1:q.y1,x:q.x*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1*Q,y1:q.y1,x2:q.x2*Q,y2:q.y2,x:q.x*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=$.bounds;if(K)K={xMin:K.xMin*Q,yMin:K.yMin,xMax:K.xMax*Q,yMax:K.yMax};return{commands:Z,bounds:K,flags:$.flags}}function K9($,Q){if(Q===0)return{...$,commands:[...$.commands]};let Z=sH($),K=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(U.length<3)continue;let W=aH(U,Q);if(W.length>0){K.push({type:"M",x:W[0].x,y:W[0].y});for(let H=1;H<W.length;H++)K.push({type:"L",x:W[H].x,y:W[H].y});K.push({type:"Z"})}}let J=null;if(K.length>0){let q=1/0,U=1/0,W=-1/0,H=-1/0;for(let _=0;_<K.length;_++){let N=K[_];if(N.type==="M"||N.type==="L")q=Math.min(q,N.x),U=Math.min(U,N.y),W=Math.max(W,N.x),H=Math.max(H,N.y)}if(Number.isFinite(q))J={xMin:q,yMin:U,xMax:W,yMax:H}}return{commands:K,bounds:J,flags:$.flags}}function sH($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push(Z);Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push(Z),Z=[];break}}if(Z.length>0)Q.push(Z);return Q}function aH($,Q){let Z=$.length;if(Z<3)return $;let K=0;for(let W=0;W<Z;W++){let H=(W+1)%Z,_=$[W],N=$[H];if(_&&N)K+=(N.x-_.x)*(N.y+_.y)}let J=K<0?-1:1,q=Q*J,U=[];for(let W=0;W<Z;W++){let H=$[(W-1+Z)%Z],_=$[W],N=$[(W+1)%Z];if(!H||!_||!N)continue;let V={x:_.x-H.x,y:_.y-H.y},X={x:N.x-_.x,y:N.y-_.y},j=Math.sqrt(V.x*V.x+V.y*V.y),z=Math.sqrt(X.x*X.x+X.y*X.y);if(j===0||z===0){U.push(_);continue}V.x/=j,V.y/=j,X.x/=z,X.y/=z;let Y={x:-V.y,y:V.x},G={x:-X.y,y:X.x},E=(Y.x+G.x)/2,w=(Y.y+G.y)/2,F=Math.sqrt(E*E+w*w);if(F>0.001){E/=F,w/=F;let A=Y.x*G.x+Y.y*G.y,M=A>-0.999?1/Math.sqrt((1+A)/2):1,L=Math.min(M,3);U.push({x:_.x+E*q*L,y:_.y+w*q*L})}else U.push(_)}return U}z6();var ZK=new WeakMap,B5=null;function R5(){if(!B5)B5=new a8;return B5}var u9=null,KK=0;function rH($){if($<=KK&&u9)return u9.fill(0,0,$),u9;let Q=Math.max($,4096);return u9=new Uint8Array(Q),KK=Q,u9}function tH($,Q,Z){let K=Z===4?4:Z===2||Z===3?3:Z===0?0.125:1,J=Z===0?Math.ceil($/8):Math.ceil($*K),q=J*Q,U=rH(q);return{width:$,rows:Q,pitch:J,buffer:U.subarray(0,q),pixelMode:Z,numGrays:Z===0?2:256}}var JK=new WeakMap;function qK($){if($&w6.UnscaledComponentOffset)return!1;if($&w6.ScaledComponentOffset)return!0;return!1}function b0($){return Math.round($/64)*64}function T5($,Q,Z,K=0){if(K>32)return null;let J=$.getGlyph(Q);if(!J||J.type==="empty")return null;if(J.type==="simple"){let V=[],X=[],j=[],z=[],Y=0;for(let G of J.contours){for(let E of G)V.push(Math.round(E.x*Z)),X.push(Math.round(E.y*Z)),j.push(E.onCurve?1:0),Y++;z.push(Y-1)}return{xCoords:V,yCoords:X,flags:new Uint8Array(j),contourEnds:z}}let q=[],U=[],W=[],H=[],_=[],N=0;for(let V of J.components){let X=T5($,V.glyphId,Z,K+1);if(!X||X.xCoords.length===0)continue;let[j,z,Y,G]=V.transform,E=(V.flags&w6.ArgsAreXYValues)!==0,w=Array(X.xCoords.length),F=Array(X.yCoords.length);for(let L=0;L<X.xCoords.length;L++){let T=X.xCoords[L],B=X.yCoords[L];w[L]=Math.round(j*T+Y*B),F[L]=Math.round(z*T+G*B)}let A=0,M=0;if(E){let{arg1:L,arg2:T}=V;if(qK(V.flags)){let B=Math.round(L*Z),I=Math.round(T*Z);A=Math.round(j*B+Y*I),M=Math.round(z*B+G*I)}else A=Math.round(L*Z),M=Math.round(T*Z);if(V.flags&w6.RoundXYToGrid)A=b0(A),M=b0(M)}else{let{arg1:L,arg2:T}=V;if(L>=0&&L<_.length&&T>=0&&T<w.length){let B=_[L];A=B.x-w[T],M=B.y-F[T]}}for(let L=0;L<w.length;L++){let T=w[L]+A,B=F[L]+M;q.push(T),U.push(B),W.push(X.flags[L]??0),_.push({x:T,y:B})}for(let L=0;L<X.contourEnds.length;L++)H.push(N+X.contourEnds[L]);N+=w.length}if(q.length===0)return null;return{xCoords:q,yCoords:U,flags:new Uint8Array(W),contourEnds:H}}function eH($,Q,Z,K,J){if(Z.type!=="composite")return null;if(J>16)return null;let q=[],U=[],W=[],H=[],_=[],N=0;for(let V=0;V<Z.components.length;V++){let X=Z.components[V],j=UK($,Q,X.glyphId,K,J+1);if(!j||j.xCoords.length===0)continue;let[z,Y,G,E]=X.transform,w=(X.flags&w6.ArgsAreXYValues)!==0,F=0,A=0;if(w){let{arg1:M,arg2:L}=X;if(qK(X.flags)){let T=z*M+G*L,B=Y*M+E*L;M=T,L=B}if(F=u6(M,$.ctx.scaleFix),A=u6(L,$.ctx.scaleFix),X.flags&w6.RoundXYToGrid)F=b0(F),A=b0(A)}else{let{arg1:M,arg2:L}=X;if(M>=0&&M<_.length&&L>=0&&L<j.xCoords.length){let T=_[M],B=z*j.xCoords[L]+G*j.yCoords[L],I=Y*j.xCoords[L]+E*j.yCoords[L];F=Math.round(T.x-B),A=Math.round(T.y-I)}}for(let M=0;M<j.xCoords.length;M++){let L=j.xCoords[M],T=j.yCoords[M],B=Math.round(z*L+G*T+F),I=Math.round(Y*L+E*T+A);q.push(B),U.push(I),W.push(j.flags[M]??0),_.push({x:B,y:I})}for(let M=0;M<j.contourEnds.length;M++)H.push(N+j.contourEnds[M]);N+=j.xCoords.length}if(q.length===0)return null;return{xCoords:q,yCoords:U,flags:new Uint8Array(W),contourEnds:H,error:null}}function UK($,Q,Z,K,J=0){let q=`${Z}:${K}`,U=JK.get(Q);if(!U)U=new Map,JK.set(Q,U);let W=U.get(q);if(W!==void 0)return W;let H=Q.getGlyph(Z);if(!H||H.type==="empty")return U.set(q,null),null;if(M0($,K,K))return U.set(q,null),null;if(H.type==="composite"&&H.instructions.length===0){let X=eH($,Q,H,K,J);if(X&&X.xCoords.length>0)return U.set(q,X),X}let N=Q4(Q,Z,$.ctx.scale);if(!N)return U.set(q,null),null;let V=B0($,N);if(V.error||V.xCoords.length===0)return U.set(q,null),null;return U.set(q,V),V}function $4($){if(!$.isTrueType||!$.hasHinting)return null;let Q=ZK.get($);if(Q)return Q;let Z=$.cvtTable,K=Z?new Int32Array(Z.values):void 0,J=$.maxp;Q=F0($.unitsPerEm,"maxStackElements"in J?J.maxStackElements:256,"maxStorage"in J?J.maxStorage:64,"maxFunctionDefs"in J?J.maxFunctionDefs:64,"maxTwilightPoints"in J?J.maxTwilightPoints:16,K);let q=$.fpgm;if(q)L0(Q,q.instructions);let U=$.prep;if(U)D0(Q,U.instructions);return ZK.set($,Q),Q}function Q4($,Q,Z){let K=$.getGlyph(Q);if(!K||K.type==="empty")return null;let J=[],q=[],U=[],W=[],H=$.advanceWidth(Q),_=$.leftSideBearing(Q);if(K.type==="composite"&&K.instructions.length>0&&Z){let N=T5($,Q,Z);if(!N||N.xCoords.length===0)return null;let V=1/Z;for(let X=0;X<N.xCoords.length;X++)J.push(N.xCoords[X]*V),q.push(N.yCoords[X]*V),U.push(N.flags[X]??0);for(let X=0;X<N.contourEnds.length;X++)W.push(N.contourEnds[X])}else{let N=K.type==="simple"?K.contours:$.getGlyphContours(Q);if(!N||N.length===0)return null;let V=0;for(let X=0;X<N.length;X++){let j=N[X];for(let z=0;z<j.length;z++){let Y=j[z];J.push(Y.x),q.push(Y.y),U.push(Y.onCurve?1:0),V++}W.push(V-1)}}return{xCoords:J,yCoords:q,flags:new Uint8Array(U),contourEnds:W,instructions:K.instructions,lsb:_,advanceWidth:H}}function Z4($,Q,Z,K){let{xCoords:J,yCoords:q,flags:U,contourEnds:W}=Q,H=0,_=0;for(let N=0;N<J.length;N++){let V=N===W[H],X=(J[N]<<2|0)+(Z<<8),j=(-q[N]<<2|0)+(K<<8),z=(U[N]&1)!==0;if(N===_)$.moveTo(X,j);else if(z)$.lineTo(X,j);else{let Y=V?_:N+1,G=(J[Y]<<2|0)+(Z<<8),E=(-q[Y]<<2|0)+(K<<8);if((U[Y]&1)!==0){if($.conicTo(X,j,G,E),!V)N++}else $.conicTo(X,j,X+G>>1,j+E>>1)}if(V){let Y=(J[_]<<2|0)+(Z<<8),G=(-q[_]<<2|0)+(K<<8);if(z&&N!==_)$.lineTo(Y,G);H++,_=N+1}}}var K4=256;function r6($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=Q,N=r(Z,K,W),V=R5();if(V.setClip(0,0,Z,K),K>K4){let X=()=>G8(V,$,J,q,U,_);V.renderWithBands(N,X,{minY:0,maxY:K},H)}else V.setBandBounds(0,K),V.reset(),G8(V,$,J,q,U,_),V.sweep(N,H);return N}function m0($,Q,Z,K){let J=K?.padding??1,q=K?.pixelMode??1;if((K?.hinting??!1)&&$.hasHinting){let Y=J4($,Q,Z,J,q);if(Y)return Y}let W=y6($,Q);if(!W)return null;let H=Z/$.unitsPerEm,_=q8(W,H,!0);if(!_)return{bitmap:r(1,1,q),bearingX:0,bearingY:0};let N=_.maxX-_.minX+J*2,V=_.maxY-_.minY+J*2;if(N<=0||V<=0)return{bitmap:r(1,1,q),bearingX:0,bearingY:0};let X=-_.minX+J,j=-_.minY+J;return{bitmap:r6(W,{width:N,height:V,scale:H,offsetX:X,offsetY:j,pixelMode:q,flipY:!0}),bearingX:_.minX-J,bearingY:-(_.minY-J)}}function J4($,Q,Z,K,J){let q=$4($);if(!q)return null;let U=Math.round(Z),W=UK(q,$,Q,U);if(!W)return null;let H=W;if(J===1){let v=U*64/$.unitsPerEm,f=T5($,Q,v);if(f&&f.xCoords.length===W.xCoords.length)H={...W,xCoords:f.xCoords}}let{xCoords:_,yCoords:N}=H,V=_[0],X=N[0],j=_[0],z=N[0];for(let v=1;v<_.length;v++){let f=_[v],l=N[v];if(f<V)V=f;if(f>j)j=f;if(l<X)X=l;if(l>z)z=l}if(!Number.isFinite(V))return{bitmap:r(1,1,J),bearingX:0,bearingY:0};let Y=$.getGlyphBounds(Q);if(Y){let v=Z/$.unitsPerEm,f=(Y.xMax-Y.xMin)*v,l=(Y.yMax-Y.yMin)*v,C=Math.max(f*8,Z*8,f+64),R=Math.max(l*8,Z*8,l+64),y=(j-V)/64,u=(z-X)/64;if(y>C||u>R)return null}let G=Math.floor(V/64),E=Math.floor(X/64),w=Math.floor((j+63)/64),F=Math.floor((z+63)/64),A=w-G+K*2,M=F-E+K*2;if(j6?.HINT_TRACE_GLYPH===String(Q))console.log("trace hinted bounds",{glyphId:Q,minX26:V,maxX26:j,minY26:X,maxY26:z,bMinX:G,bMaxX:w,bMinY:E,bMaxY:F,width:A,height:M});if(A<=0||M<=0)return{bitmap:r(1,1,J),bearingX:0,bearingY:0};let L=tH(A,M,J),T=R5();T.setClip(0,0,A,M),T.reset();let B=-G+K,I=F+K,O=()=>Z4(T,H,B,I);try{O(),T.sweep(L,0)}catch(v){if(v instanceof s8)T.reset(),T.renderWithBands(L,O,{minY:0,maxY:M,minX:0,maxX:A},0);else throw v}let x=r(A,M,J);return x.buffer.set(L.buffer),{bitmap:x,bearingX:G-K,bearingY:F+K}}function WK($,Q,Z,K){let J=Z/$.unitsPerEm,q=K?.padding??2,U=K?.pixelMode??1,W=[],H=0,_=0,N=0,V=[...Q];for(let w=0;w<V.length;w++){let A=V[w].codePointAt(0);if(A===void 0)continue;let M=$.glyphId(A);if(M===void 0)continue;let L=$.advanceWidth(M)*J,T=y6($,M);if(T?.bounds)_=Math.max(_,-T.bounds.yMin*J),N=Math.max(N,T.bounds.yMax*J);W.push({glyphId:M,advance:L}),H+=L}if(W.length===0)return null;let X=Math.ceil(H)+q*2,j=Math.ceil(_+N)+q*2,z=r(X,j,U),Y=R5();Y.setClip(0,0,X,j);let G=q,E=N+q;for(let w=0;w<W.length;w++){let F=W[w],A=y6($,F.glyphId);if(A)Y.reset(),G8(Y,A,J,G,E,!0),Y.sweep(z);G+=F.advance}return z}function x9($){let Q=$.pixelMode===2,Z=$.pixelMode===3,K=new Uint8Array($.width*$.rows*4),J=$.pitch,q=Math.abs(J),U=J<0?($.rows-1)*q:0;for(let W=0;W<$.rows;W++){let H=U+W*J;for(let _=0;_<$.width;_++){let N=(W*$.width+_)*4;if($.pixelMode===1){let V=H+_,X=$.buffer[V]??0;K[N]=255-X,K[N+1]=255-X,K[N+2]=255-X,K[N+3]=255}else if($.pixelMode===0){let V=H+(_>>3),X=7-(_&7),j=($.buffer[V]??0)>>X&1?255:0;K[N]=255-j,K[N+1]=255-j,K[N+2]=255-j,K[N+3]=255}else if(Q||Z){let V=H+_*3,X=$.buffer[V]??0,j=$.buffer[V+1]??0,z=$.buffer[V+2]??0;K[N]=255-X,K[N+1]=255-j,K[N+2]=255-z,K[N+3]=255}else if($.pixelMode===4){let V=H+_*4;K[N]=$.buffer[V]??0,K[N+1]=$.buffer[V+1]??0,K[N+2]=$.buffer[V+2]??0,K[N+3]=$.buffer[V+3]??0}else{let V=H+_,X=$.buffer[V]??0;K[N]=255-X,K[N+1]=255-X,K[N+2]=255-X,K[N+3]=255}}}return K}function f9($){if($.pixelMode===1&&$.pitch===$.width)return $.buffer;let Q=new Uint8Array($.width*$.rows),Z=$.pitch,K=Math.abs(Z),J=Z<0?($.rows-1)*K:0;for(let q=0;q<$.rows;q++){let U=J+q*Z;for(let W=0;W<$.width;W++){let H=q*$.width+W;if($.pixelMode===1)Q[H]=$.buffer[U+W]??0;else if($.pixelMode===0){let _=U+(W>>3),N=7-(W&7);Q[H]=($.buffer[_]??0)>>N&1?255:0}else if($.pixelMode===2||$.pixelMode===3){let _=U+W*3,N=$.buffer[_]??0,V=$.buffer[_+1]??0,X=$.buffer[_+2]??0;Q[H]=Math.round((N+V+X)/3)}else if($.pixelMode===4){let _=U+W*4;Q[H]=$.buffer[_+3]??0}}}return Q}z6();function g0($,Q,Z){let{fontSize:K,padding:J=1,maxWidth:q=2048,maxHeight:U=2048,pixelMode:W=1}=Z,H=[],_=K/$.unitsPerEm;for(let Y=0;Y<Q.length;Y++){let G=Q[Y],E=m0($,G,K,{padding:0,pixelMode:W});if(!E)continue;let w=$.advanceWidth(G)*_;H.push({glyphId:G,bitmap:E.bitmap,bearingX:E.bearingX,bearingY:E.bearingY,advance:w})}H.sort((Y,G)=>G.bitmap.rows-Y.bitmap.rows);let{width:N,height:V,placements:X}=q4(H.map((Y)=>({width:Y.bitmap.width+J*2,height:Y.bitmap.rows+J*2})),q,U),j=r(N,V,W),z=new Map;for(let Y=0;Y<H.length;Y++){let G=H[Y],E=X[Y];if(!E.placed)continue;U4(G.bitmap,j,E.x+J,E.y+J),z.set(G.glyphId,{glyphId:G.glyphId,atlasX:E.x+J,atlasY:E.y+J,width:G.bitmap.width,height:G.bitmap.rows,bearingX:G.bearingX,bearingY:G.bearingY,advance:G.advance})}return{bitmap:j,glyphs:z,fontSize:K}}function _K($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return g0($,Z,Q)}function NK($,Q,Z){let K=new Set,J=[...Q];for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return g0($,[...K],Z)}function q4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,X=-1,j=Z;for(let z=0;z<K.length;z++){let Y=K[z];if(Y.width+N.width<=Q&&N.height<=Y.height){if(Y.y<j)X=z,j=Y.y}}if(X>=0){let z=K[X];J.push({x:z.width,y:z.y,placed:!0}),z.width+=N.width,q=Math.max(q,z.width),V=!0}else{let z=U;if(z+N.height<=Z&&N.width<=Q)K.push({y:z,height:N.height,width:N.width}),J.push({x:0,y:z,placed:!0}),U=z+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=HK(q),H=HK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function U4($,Q,Z,K){let J=$.pixelMode===2?3:1;for(let q=0;q<$.rows;q++){let U=q*$.pitch,W=(K+q)*Q.pitch+Z*J;for(let H=0;H<$.width*J;H++)Q.buffer[W+H]=$.buffer[U+H]}}function HK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function VK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J,U=(K*Q.width+J)*4,W=Q.buffer[q]??0;Z[U]=255,Z[U+1]=255,Z[U+2]=255,Z[U+3]=W}return Z}function XK($){let{bitmap:Q}=$;if(Q.pitch===Q.width)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++)Z[K*Q.width+J]=Q.buffer[K*Q.pitch+J];return Z}function jK($,Q){let Z=$.glyphs.get(Q);if(!Z)return null;let{bitmap:K}=$;return{u0:Z.atlasX/K.width,v0:Z.atlasY/K.rows,u1:(Z.atlasX+Z.width)/K.width,v1:(Z.atlasY+Z.height)/K.rows}}z6();function W4($,Q,Z){return Math.max(Math.min($,Q),Math.min(Math.max($,Q),Z))}function H4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return{distance:Math.sqrt(($-Z.x)**2+(Q-Z.y)**2),t:0};let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2);return{distance:(J*(Q-Z.y)-q*($-Z.x)>=0?1:-1)*H,t:W}}function _4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return Math.sqrt(($-Z.x)**2+(Q-Z.y)**2);let W=(($-Z.x)*J+(Q-Z.y)*q)/U;return W=Math.max(0,Math.min(1,W)),Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2)}function N4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2)),H=W===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let G=1;G<6;G++){let E=G/6;for(let L=0;L<3;L++){let T=1-E,B=T*T*Z.x+2*T*E*K.x+E*E*J.x,I=T*T*Z.y+2*T*E*K.y+E*E*J.y,O=2*(T*(K.x-Z.x)+E*(J.x-K.x)),x=2*(T*(K.y-Z.y)+E*(J.y-K.y)),v=B-$,f=I-Q,l=v*O+f*x,C=O*O+x*x+v*2*q+f*2*U;if(Math.abs(C)<0.0000000001)break;E=Math.max(0,Math.min(1,E-l/C))}let w=1-E,F=w*w*Z.x+2*w*E*K.x+E*E*J.x,A=w*w*Z.y+2*w*E*K.y+E*E*J.y,M=Math.sqrt((F-$)**2+(A-Q)**2);if(M<W)W=M,H=E}let _=1-H,N=2*(_*(K.x-Z.x)+H*(J.x-K.x)),V=2*(_*(K.y-Z.y)+H*(J.y-K.y)),X=_*_*Z.x+2*_*H*K.x+H*H*J.x,j=_*_*Z.y+2*_*H*K.y+H*H*J.y;return{distance:(N*(Q-j)-V*($-X)>=0?1:-1)*W,t:H}}function V4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2));for(let H=1;H<6;H++){let _=H/6;for(let X=0;X<3;X++){let j=1-_,z=j*j*Z.x+2*j*_*K.x+_*_*J.x,Y=j*j*Z.y+2*j*_*K.y+_*_*J.y,G=2*(j*(K.x-Z.x)+_*(J.x-K.x)),E=2*(j*(K.y-Z.y)+_*(J.y-K.y)),w=z-$,F=Y-Q,A=G*G+E*E+w*2*q+F*2*U;if(Math.abs(A)<0.0000000001)break;_=Math.max(0,Math.min(1,_-(w*G+F*E)/A))}let N=1-_,V=Math.sqrt((N*N*Z.x+2*N*_*K.x+_*_*J.x-$)**2+(N*N*Z.y+2*N*_*K.y+_*_*J.y-Q)**2);if(V<W)W=V}return W}function X4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2)),W=U===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let F=1;F<6;F++){let A=F/6;for(let f=0;f<3;f++){let l=1-A,C=l*l,R=C*l,y=A*A,u=y*A,d=R*Z.x+3*C*A*K.x+3*l*y*J.x+u*q.x,c=R*Z.y+3*C*A*K.y+3*l*y*J.y+u*q.y,n=3*C*(K.x-Z.x)+6*l*A*(J.x-K.x)+3*y*(q.x-J.x),e=3*C*(K.y-Z.y)+6*l*A*(J.y-K.y)+3*y*(q.y-J.y),g=6*l*(J.x-2*K.x+Z.x)+6*A*(q.x-2*J.x+K.x),X6=6*l*(J.y-2*K.y+Z.y)+6*A*(q.y-2*J.y+K.y),S=d-$,q6=c-Q,b=S*n+q6*e,L6=n*n+e*e+S*g+q6*X6;if(Math.abs(L6)<0.0000000001)break;A=Math.max(0,Math.min(1,A-b/L6))}let M=1-A,L=M*M,T=L*M,B=A*A,I=B*A,O=T*Z.x+3*L*A*K.x+3*M*B*J.x+I*q.x,x=T*Z.y+3*L*A*K.y+3*M*B*J.y+I*q.y,v=Math.sqrt((O-$)**2+(x-Q)**2);if(v<U)U=v,W=A}let H=1-W,_=H*H,N=W*W,V=3*_*(K.x-Z.x)+6*H*W*(J.x-K.x)+3*N*(q.x-J.x),X=3*_*(K.y-Z.y)+6*H*W*(J.y-K.y)+3*N*(q.y-J.y),j=_*H,z=N*W,Y=j*Z.x+3*_*W*K.x+3*H*N*J.x+z*q.x,G=j*Z.y+3*_*W*K.y+3*H*N*J.y+z*q.y;return{distance:(V*(Q-G)-X*($-Y)>=0?1:-1)*U,t:W}}function j4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2));for(let W=1;W<6;W++){let H=W/6;for(let Y=0;Y<3;Y++){let G=1-H,E=G*G,w=E*G,F=H*H,A=F*H,M=w*Z.x+3*E*H*K.x+3*G*F*J.x+A*q.x,L=w*Z.y+3*E*H*K.y+3*G*F*J.y+A*q.y,T=3*E*(K.x-Z.x)+6*G*H*(J.x-K.x)+3*F*(q.x-J.x),B=3*E*(K.y-Z.y)+6*G*H*(J.y-K.y)+3*F*(q.y-J.y),I=6*G*(J.x-2*K.x+Z.x)+6*H*(q.x-2*J.x+K.x),O=6*G*(J.y-2*K.y+Z.y)+6*H*(q.y-2*J.y+K.y),x=M-$,v=L-Q,f=T*T+B*B+x*I+v*O;if(Math.abs(f)<0.0000000001)break;H=Math.max(0,Math.min(1,H-(x*T+v*B)/f))}let _=1-H,N=_*_,V=N*_,X=H*H,j=X*H,z=Math.sqrt((V*Z.x+3*N*H*K.x+3*_*X*J.x+j*q.x-$)**2+(V*Z.y+3*N*H*K.y+3*_*X*J.y+j*q.y-Q)**2);if(z<U)U=z}return U}function zK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p1.x-$.p0.x),y:2*($.p1.y-$.p0.y)};case"cubic":return{x:3*($.p1.x-$.p0.x),y:3*($.p1.y-$.p0.y)}}}function YK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p2.x-$.p1.x),y:2*($.p2.y-$.p1.y)};case"cubic":return{x:3*($.p3.x-$.p2.x),y:3*($.p3.y-$.p2.y)}}}function GK($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q<0.0000000001)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function z4($,Q){return $.x*Q.x+$.y*Q.y}function EK($,Q,Z=Math.PI/3){let K=GK($),J=GK(Q),q=z4(K,J),U=Math.acos(Math.max(-1,Math.min(1,q)));return U>Z&&U<Math.PI-Z}function AK($){let Q=Math.PI/4;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(K.length===0)continue;if(K.length===1){K[0].color=0;continue}let J=0;for(let q=0;q<K.length;q++){let U=K[q],W=K[(q-1+K.length)%K.length];if(q===0)U.color=J;else{let H=YK(W),_=zK(U);if(EK(H,_,Q))J=(J+1)%3;U.color=J}}if(K.length>=2){let q=K[K.length-1],U=K[0],W=YK(q),H=zK(U);if(EK(W,H,Q)){if(q.color===U.color){let _=K[K.length-2]?.color??0,N=K[1]?.color??0;for(let V=0;V<3;V++)if(V!==U.color&&V!==_){q.color=V;break}}}}}}function Y4($,Q,Z,K,J){let q=[],U=[],W=null,H=null,_=(N,V)=>({x:N*Q+Z,y:J?-(V*Q)+K:V*Q+K});for(let N=0;N<$.commands.length;N++){let V=$.commands[N];switch(V.type){case"M":if(U.length>0)q.push(U),U=[];W=_(V.x,V.y),H=W;break;case"L":if(W){let X=_(V.x,V.y);if(Math.abs(X.x-W.x)>0.000001||Math.abs(X.y-W.y)>0.000001)U.push({type:"line",p0:W,p1:X,color:0,minX:Math.min(W.x,X.x),maxX:Math.max(W.x,X.x),minY:Math.min(W.y,X.y),maxY:Math.max(W.y,X.y)});W=X}break;case"Q":if(W){let X=_(V.x1,V.y1),j=_(V.x,V.y);U.push({type:"quadratic",p0:W,p1:X,p2:j,color:0,minX:Math.min(W.x,X.x,j.x),maxX:Math.max(W.x,X.x,j.x),minY:Math.min(W.y,X.y,j.y),maxY:Math.max(W.y,X.y,j.y)}),W=j}break;case"C":if(W){let X=_(V.x1,V.y1),j=_(V.x2,V.y2),z=_(V.x,V.y);U.push({type:"cubic",p0:W,p1:X,p2:j,p3:z,color:0,minX:Math.min(W.x,X.x,j.x,z.x),maxX:Math.max(W.x,X.x,j.x,z.x),minY:Math.min(W.y,X.y,j.y,z.y),maxY:Math.max(W.y,X.y,j.y,z.y)}),W=z}break;case"Z":if(W&&H){if(Math.abs(W.x-H.x)>0.000001||Math.abs(W.y-H.y)>0.000001)U.push({type:"line",p0:W,p1:H,color:0,minX:Math.min(W.x,H.x),maxX:Math.max(W.x,H.x),minY:Math.min(W.y,H.y),maxY:Math.max(W.y,H.y)});W=H}if(U.length>0)q.push(U),U=[];break}}if(U.length>0)q.push(U);return q}function G4($,Q,Z){switch(Z.type){case"line":return _4($,Q,Z.p0,Z.p1);case"quadratic":return V4($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return j4($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function E4($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z],J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U.type==="line")J.push([U.p0,U.p1]);else if(U.type==="quadratic"){let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V={x:N*N*U.p0.x+2*N*_*U.p1.x+_*_*U.p2.x,y:N*N*U.p0.y+2*N*_*U.p1.y+_*_*U.p2.y};J.push([W,V]),W=V}}else{let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V=N*N,X=V*N,j=_*_,z=j*_,Y={x:X*U.p0.x+3*V*_*U.p1.x+3*N*j*U.p2.x+z*U.p3.x,y:X*U.p0.y+3*V*_*U.p1.y+3*N*j*U.p2.y+z*U.p3.y};J.push([W,Y]),W=Y}}}Q.push(J)}return Q}function w4($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(W.y>Q!==H.y>Q){let _=W.x+(H.x-W.x)*(Q-W.y)/(H.y-W.y);if($<_)K++}}}return(K&1)===1}function O5($,Q,Z){let K=1/0;for(let J=0;J<Z.length;J++){let q=Z[J],U=$<q.minX?q.minX-$:$>q.maxX?$-q.maxX:0,W=Q<q.minY?q.minY-Q:Q>q.maxY?Q-q.maxY:0;if(U*U+W*W>=K*K)continue;let H=G4($,Q,q);if(H<K){if(K=H,H<0.5)break}}return K}function y8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=r(Z,K,2),N=Y4($,J,q,U,W);if(N.length===0||N.every((F)=>F.length===0))return _.buffer.fill(0),_;AK(N);let V=E4(N),X=N.flat(),j=X.filter((F)=>F.color===0),z=X.filter((F)=>F.color===1),Y=X.filter((F)=>F.color===2),G=j.length>0?j:X,E=z.length>0?z:X,w=Y.length>0?Y:X;for(let F=0;F<K;F++)for(let A=0;A<Z;A++){let M=A+0.5,L=F+0.5,T=O5(M,L,G),B=O5(M,L,E),I=O5(M,L,w),x=w4(M,L,V)?1:-1,v=T*x,f=B*x,l=I*x,C=(y)=>{let u=128+y/H*127;return Math.max(0,Math.min(255,Math.round(u)))},R=F*_.pitch+A*3;_.buffer[R]=C(v),_.buffer[R+1]=C(f),_.buffer[R+2]=C(l)}return _}function A4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,X=-1,j=Z;for(let z=0;z<K.length;z++){let Y=K[z];if(Y.width+N.width<=Q&&N.height<=Y.height){if(Y.y<j)X=z,j=Y.y}}if(X>=0){let z=K[X];J.push({x:z.width,y:z.y,placed:!0}),z.width+=N.width,q=Math.max(q,z.width),V=!0}else{let z=U;if(z+N.height<=Z&&N.width<=Q)K.push({y:z,height:N.height,width:N.width}),J.push({x:0,y:z,placed:!0}),U=z+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=wK(q),H=wK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function wK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function F4($,Q,Z,K){for(let J=0;J<$.rows;J++){let q=J*$.pitch,U=(K+J)*Q.pitch+Z*3;for(let W=0;W<$.width*3;W++)Q.buffer[U+W]=$.buffer[q+W]}}function u0($,Q,Z){let{fontSize:K,padding:J=2,maxWidth:q=2048,maxHeight:U=2048,spread:W=4}=Z,H=K/$.unitsPerEm,_=[];for(let Y=0;Y<Q.length;Y++){let G=Q[Y],E=y6($,G);if(!E||!E.bounds)continue;let w=E.bounds,F=Math.ceil((w.xMax-w.xMin)*H)+W*2,A=Math.ceil((w.yMax-w.yMin)*H)+W*2;if(F<=0||A<=0)continue;let M=y8(E,{width:F,height:A,scale:H,offsetX:-w.xMin*H+W,offsetY:w.yMax*H+W,flipY:!0,spread:W}),L=$.advanceWidth(G)*H,T=w.xMin*H-W,B=w.yMax*H+W;_.push({glyphId:G,bitmap:M,bearingX:T,bearingY:B,advance:L})}_.sort((Y,G)=>G.bitmap.rows-Y.bitmap.rows);let{width:N,height:V,placements:X}=A4(_.map((Y)=>({width:Y.bitmap.width+J*2,height:Y.bitmap.rows+J*2})),q,U),j=r(N,V,2),z=new Map;for(let Y=0;Y<_.length;Y++){let G=_[Y],E=X[Y];if(!E.placed)continue;F4(G.bitmap,j,E.x+J,E.y+J),z.set(G.glyphId,{glyphId:G.glyphId,atlasX:E.x+J,atlasY:E.y+J,width:G.bitmap.width,height:G.bitmap.rows,bearingX:G.bearingX,bearingY:G.bearingY,advance:G.advance})}return{bitmap:j,glyphs:z,fontSize:K}}function FK($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return u0($,Z,Q)}function LK($,Q,Z){let K=new Set,J=Array.from(Q);for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return u0($,[...K],Z)}function DK($){let{bitmap:Q}=$;if(Q.pitch===Q.width*3)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows*3);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width*3;J++)Z[K*Q.width*3+J]=Q.buffer[K*Q.pitch+J];return Z}function MK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J*3,U=(K*Q.width+J)*4;Z[U]=Q.buffer[q],Z[U+1]=Q.buffer[q+1],Z[U+2]=Q.buffer[q+2],Z[U+3]=255}return Z}z6();var L4=Math.PI;function D4($,Q,Z){let K=0.5/Z,J=Math.exp(-K),q=J*J,U=Math.sqrt(K/L4);$[0]=U,U*=J,$[1]=U;for(let W=2;W<Q;W++)J*=q,U*=J,$[W]=U}function BK($,Q,Z){let K=$[1],J=$[2],q=$[3];for(let U=0;U<Q;U++){let W=$[U]*Z[0]+(K+$[U+1])*Z[1]+(J+$[U+2])*Z[2]+(q+$[U+3])*Z[3];q=J,J=K,K=$[U],$[U]=W}}function M4($,Q,Z){for(let K=0;K<Z;K++){$[K][K]=Q[2*K+2]+3*Q[0]-4*Q[K+1];for(let J=K+1;J<Z;J++)$[K][J]=$[J][K]=Q[K+J+2]+Q[J-K]+2*(Q[0]-Q[K+1]-Q[J+1])}for(let K=0;K<Z;K++){let J=1/$[K][K];$[K][K]=1;for(let q=0;q<Z;q++){if(q===K)continue;let U=$[q][K]*J;$[q][K]=0;for(let W=0;W<Z;W++)$[q][W]-=$[K][W]*U}for(let q=0;q<Z;q++)$[K][q]*=J}}function B4($,Q,Z,K){let q=[((0.27116402116402116*K+0.09027777777777778)*K+0.20833333333333334)*K+0.43022486772486773,((-0.20337301587301587*K-0.022569444444444444)*K-0.017361111111111112)*K+0.24330357142857142,((0.08134920634920635*K-0.04513888888888889)*K-0.0763888888888889)*K+0.04017857142857143,((-0.013558201058201057*K+0.022569444444444444)*K-0.010416666666666666)*K+0.0014054232804232803],U=new Float64Array(17);U[0]=q[0],U[1]=q[1],U[2]=q[2],U[3]=q[3],BK(U,7,q);let W=new Float64Array(12);D4(W,Q+4,Z*K),BK(W,Q+1,q);let H=[];for(let N=0;N<8;N++)H.push(new Float64Array(8));M4(H,U,Q);let _=new Float64Array(8);for(let N=0;N<Q;N++)_[N]=U[0]-U[N+1]-W[0]+W[N+1];for(let N=0;N<Q;N++){let V=0;for(let X=0;X<Q;X++)V+=H[N][X]*_[X];$[N]=Math.max(0,V)}}function RK($){let Q=new Float64Array(8),Z,K;if($<0.5)Z=0,K=4,Q[1]=0.085*$*$*$,Q[0]=0.5*$-4*Q[1],Q[2]=Q[3]=0;else{let q=Math.sqrt(0.11569*$+0.20591047);Z=Math.floor(Math.log2(q))+1;let U=q/2**(Z-1)-1,W=0.25**Z;K=8-Math.floor((10.1525+0.8335*W)*(1-U)),K=Math.max(K,4),K=Math.min(K,8),B4(Q,K,$,W)}let J=new Float32Array(8);for(let q=0;q<K;q++)J[q]=Q[q];return{level:Z,radius:K,coeff:J}}function R4($,Q,Z,K,J,q){let U=Math.floor((Z+5)/2);for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=N*2,X=0;X+=(Q[H+Math.max(0,V-2)]??0)*1,X+=(Q[H+Math.max(0,V-1)]??0)*5,X+=(Q[H+Math.min(Z-1,V)]??0)*10,X+=(Q[H+Math.min(Z-1,V+1)]??0)*10,X+=(Q[H+Math.min(Z-1,V+2)]??0)*5,X+=(Q[H+Math.min(Z-1,V+3)]??0)*1,$[_+N]=X/32}}}function T4($,Q,Z,K,J,q){let U=Math.floor((K+5)/2);for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=H*2,N=0;N+=(Q[Math.max(0,_-2)*J+W]??0)*1,N+=(Q[Math.max(0,_-1)*J+W]??0)*5,N+=(Q[Math.min(K-1,_)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+1)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+2)*J+W]??0)*5,N+=(Q[Math.min(K-1,_+3)*J+W]??0)*1,$[H*q+W]=N/32}}function O4($,Q,Z,K,J,q){let U=Z*2+4;for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=Math.floor((N-2)/2),X=N-2&1,j=0;if(X===0)j+=(Q[H+Math.max(0,Math.min(Z-1,V-1))]??0)*1,j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*30,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*1;else j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*16,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*16;$[_+N]=j/32}}}function P4($,Q,Z,K,J,q){let U=K*2+4;for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=Math.floor((H-2)/2),N=H-2&1,V=0;if(N===0)V+=(Q[Math.max(0,Math.min(K-1,_-1))*J+W]??0)*1,V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*30,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*1;else V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*16,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*16;$[H*q+W]=V/32}}function v4($,Q,Z,K,J,q,U,W){let H=Z+2*U;for(let _=0;_<K;_++){let N=_*J,V=_*q;for(let X=0;X<H;X++){let j=X-U,z=0;for(let Y=0;Y<U;Y++){let G=Math.max(0,Math.min(Z-1,j-Y-1)),E=Math.max(0,Math.min(Z-1,j+Y));z+=((Q[N+G]??0)+(Q[N+E]??0))*W[Y]}$[V+X]=z}}}function I4($,Q,Z,K,J,q,U,W){let H=K+2*U;for(let _=0;_<Z;_++)for(let N=0;N<H;N++){let V=N-U,X=0;for(let j=0;j<U;j++){let z=Math.max(0,Math.min(K-1,V-j-1)),Y=Math.max(0,Math.min(K-1,V+j));X+=((Q[z*J+_]??0)+(Q[Y*J+_]??0))*W[j]}$[N*q+_]=X}}function k4($,Q,Z){let K=(Q+Z)/2;return o6($,K)}function b8($,Q,Z=Q){if(Q<=0&&Z<=0)return $;if($.pixelMode===4)return k4($,Q,Z);let K=Q*Q,J=Z*Z,q=RK(K),U=RK(J),W=$.width,H=$.rows,_=(2*q.radius+9<<q.level)-5,N=(2*U.radius+9<<U.level)-5,V=(W+_&~((1<<q.level)-1))-4,X=(H+N&~((1<<U.level)-1))-4,j=Math.max(W*H,V*X)*2,z=new Float32Array(j),Y=new Float32Array(j);for(let B=0;B<H;B++)for(let I=0;I<W;I++)z[B*W+I]=$.buffer[B*$.pitch+I]??0;let G=z,E=Y,w=W;for(let B=0;B<U.level;B++){let I=Math.floor((H+5)/2);T4(E,G,W,H,w,W),H=I,[G,E]=[E,G]}for(let B=0;B<q.level;B++){let I=Math.floor((W+5)/2);R4(E,G,W,H,w,I),W=I,w=I,[G,E]=[E,G]}let F=W+2*q.radius;v4(E,G,W,H,w,F,q.radius,q.coeff),W=F,w=F,[G,E]=[E,G];let A=H+2*U.radius;I4(E,G,W,H,w,w,U.radius,U.coeff),H=A,[G,E]=[E,G];for(let B=0;B<q.level;B++){let I=W*2+4;O4(E,G,W,H,w,I),W=I,w=I,[G,E]=[E,G]}for(let B=0;B<U.level;B++){let I=H*2+4;P4(E,G,W,H,w,w),H=I,[G,E]=[E,G]}let M=Math.min(W,V),L=Math.min(H,X),T=new Uint8Array(M*L);for(let B=0;B<L;B++)for(let I=0;I<M;I++){let O=G[B*w+I]??0;T[B*M+I]=Math.max(0,Math.min(255,Math.round(O)))}return{buffer:T,width:M,rows:L,pitch:M,pixelMode:1,numGrays:256}}function l9($,Q){return b8($,Q,Q)}function d9($,Q,Z){let K=Z??Q;if(Math.max(Q,K)<=3)return o6($,(Q+K)/2);return b8($,Q,K)}z6();class s{_bitmap;_bearingX;_bearingY;constructor($,Q=0,Z=0){this._bitmap=$;this._bearingX=Q;this._bearingY=Z}static fromBitmap($){return new s(J6($))}static fromBitmapWithBearing($,Q,Z){return new s(J6($),Q,Z)}static fromRasterizedGlyph($){return new s(J6($.bitmap),$.bearingX,$.bearingY)}static create($,Q,Z=1){return new s(r($,Q,Z))}static fromGradient($,Q,Z){return new s(h0($,Q,Z))}blur($){let Q=o6(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}boxBlur($){let Q=E8(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}cascadeBlur($,Q){let Z=b8(J6(this._bitmap),$,Q??$);return new s(Z,this._bearingX,this._bearingY)}adaptiveBlur($,Q){let Z=d9(J6(this._bitmap),$,Q??$);return new s(Z,this._bearingX,this._bearingY)}fastBlur($){let Q=l9(J6(this._bitmap),$);return new s(Q,this._bearingX,this._bearingY)}embolden($,Q){let Z=r8(this._bitmap,$,Q??$);return new s(Z,this._bearingX,this._bearingY)}shift($,Q){let Z=m9(this._bitmap,$,Q);return new s(Z,this._bearingX+$,this._bearingY-Q)}resize($,Q){let Z=S8(this._bitmap,$,Q);return new s(Z,this._bearingX,this._bearingY)}resizeBilinear($,Q){let Z=t8(this._bitmap,$,Q);return new s(Z,this._bearingX,this._bearingY)}pad($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$,H=g9(this._bitmap,J,q,U,W);return new s(H,this._bearingX-J,this._bearingY+q)}blend($,Q,Z,K=1){let J=$ instanceof s?$._bitmap:$,q=J6(this._bitmap);return C0(q,J,Q,Z,K),new s(q,this._bearingX,this._bearingY)}composite($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return F5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}add($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return E5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}subtract($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return A5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}multiply($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return w5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}max($,Q=0,Z=0){let K=$ instanceof s?$._bitmap:$,J=J6(this._bitmap);return L5(J,K,Q,Z),new s(J,this._bearingX,this._bearingY)}convert($){let Q=U8(this._bitmap,$);return new s(Q,this._bearingX,this._bearingY)}toRGBA(){return x9(this._bitmap)}toGray(){return f9(this._bitmap)}toBitmap(){return J6(this._bitmap)}toRasterizedGlyph(){return{bitmap:J6(this._bitmap),bearingX:this._bearingX,bearingY:this._bearingY}}clone(){return new s(J6(this._bitmap),this._bearingX,this._bearingY)}get width(){return this._bitmap.width}get height(){return this._bitmap.rows}get pixelMode(){return this._bitmap.pixelMode}get bearingX(){return this._bearingX}get bearingY(){return this._bearingY}}function C4($,Q,Z,K){let J=-Q*K,q=$*Z,U=Math.sqrt(J*J+q*q);if(U<0.0000000001)return{x:0,y:0,len:0};return{x:J/U,y:q/U,len:U}}function P5($,Q,Z,K,J){let q=Z.x-$.x,U=Z.y-$.y;if(Math.abs((Q.x-$.x)*U-(Q.y-$.y)*q)/Math.sqrt(q*q+U*U+0.0000000001)<=K){J.push(Z);return}let H={x:($.x+Q.x)/2,y:($.y+Q.y)/2},_={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},N={x:(H.x+_.x)/2,y:(H.y+_.y)/2};P5($,H,N,K,J),P5(N,_,Z,K,J)}function v5($,Q,Z,K,J,q){let U=K.x-$.x,W=K.y-$.y,H=U*U+W*W+0.0000000001,_=Math.abs((Q.x-$.x)*W-(Q.y-$.y)*U)/Math.sqrt(H),N=Math.abs((Z.x-$.x)*W-(Z.y-$.y)*U)/Math.sqrt(H);if(_<=J&&N<=J){q.push(K);return}let V={x:($.x+Q.x)/2,y:($.y+Q.y)/2},X={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},j={x:(Z.x+K.x)/2,y:(Z.y+K.y)/2},z={x:(V.x+X.x)/2,y:(V.y+X.y)/2},Y={x:(X.x+j.x)/2,y:(X.y+j.y)/2},G={x:(z.x+Y.x)/2,y:(z.y+Y.y)/2};v5($,V,z,G,J,q),v5(G,Y,j,K,J,q)}function S4($,Q){let Z=[],K=[],J={x:0,y:0},q={x:0,y:0};for(let U=0;U<$.commands.length;U++){let W=$.commands[U];switch(W.type){case"M":if(K.length>1)Z.push({points:K,closed:!1});J={x:W.x,y:W.y},q=J,K=[J];break;case"L":J={x:W.x,y:W.y},K.push(J);break;case"Q":P5(J,{x:W.x1,y:W.y1},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"C":v5(J,{x:W.x1,y:W.y1},{x:W.x2,y:W.y2},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"Z":if(K.length>1){let H=K[0],_=K[K.length-1];if(H&&_){let N=_.x-H.x,V=_.y-H.y;if(N*N+V*V>Q*Q)K.push({...H})}Z.push({points:K,closed:!0})}K=[],J=q;break}}if(K.length>1)Z.push({points:K,closed:!1});return Z}function TK($,Q,Z,K,J,q,U){let W=Z.x*K.x+Z.y*K.y,H=Z.x*K.y-Z.y*K.x,_=Math.atan2(H,W),N=Math.max(2,Math.ceil(Math.abs(_)/(Math.PI/8))),V=U?1:-1,X=Math.atan2(Z.y,Z.x);for(let j=1;j<=N;j++){let z=j/N,Y=X+_*z,G=Math.cos(Y),E=Math.sin(Y);$.push({x:Q.x+G*J*V,y:Q.y+E*q*V})}}function OK($,Q,Z,K,J,q,U,W){let H=W?1:-1,_=Z.x*K.x+Z.y*K.y,N=Math.sqrt((1-_)/2);if(N<0.0000000001)return!1;let V=1/N;if(V>U)return!1;let X=Z.x+K.x,j=Z.y+K.y,z=Math.sqrt(X*X+j*j);if(z<0.0000000001)return!1;let Y=V*Math.sqrt(J*J+q*q)/2;return $.push({x:Q.x+X/z*Y*H,y:Q.y+j/z*Y*H}),!0}function h4($,Q,Z,K,J){let q=$.length;if(q<3)return{outer:[],inner:[]};let U=q-1,W=$[0],H=$[U],_=q;if(W&&H){let j=H.x-W.x,z=H.y-W.y;if(j*j+z*z<1)_=q-1}if(_<3)return{outer:[],inner:[]};let N=[];for(let j=0;j<_;j++){let z=$[j],Y=$[(j+1)%_];if(!z||!Y)continue;let G=Y.x-z.x,E=Y.y-z.y,w=Math.sqrt(G*G+E*E);if(w<0.0000000001)N.push({x:0,y:0,len:0});else N.push(C4(G/w,E/w,Q,Z))}let V=[],X=[];for(let j=0;j<_;j++){let z=$[j],Y=N[(j-1+_)%_],G=N[j];if(!z||!Y||!G)continue;if(Y.len<0.0000000001||G.len<0.0000000001){V.push({x:z.x+(G.len>0?G.x*Q:0),y:z.y+(G.len>0?G.y*Z:0)});continue}let E={x:z.x+G.x*Q,y:z.y+G.y*Z},w=Y.x*G.y-Y.y*G.x,F=w>0;if(Math.abs(w)<0.01)V.push(E);else if(F)switch(K){case"round":TK(V,z,Y,G,Q,Z,!0);break;case"miter":if(!OK(V,z,Y,G,Q,Z,J,!0))V.push(E);break;default:V.push(E);break}else V.push(E)}for(let j=0;j<_;j++){let z=$[j],Y=N[(j-1+_)%_],G=N[j];if(!z||!Y||!G)continue;if(Y.len<0.0000000001||G.len<0.0000000001){X.push({x:z.x-(G.len>0?G.x*Q:0),y:z.y-(G.len>0?G.y*Z:0)});continue}let E={x:z.x-G.x*Q,y:z.y-G.y*Z},w=Y.x*G.y-Y.y*G.x,F=w<0;if(Math.abs(w)<0.01)X.push(E);else if(F)switch(K){case"round":TK(X,z,Y,G,Q,Z,!1);break;case"miter":if(!OK(X,z,Y,G,Q,Z,J,!1))X.push(E);break;default:X.push(E);break}else X.push(E)}return{outer:V,inner:X}}function PK($,Q){if($.length===0)return[];let Z=[],K=$[0];if(!K)return[];Z.push({type:"M",x:K.x,y:K.y});for(let J=1;J<$.length;J++){let q=$[J];if(!q)continue;Z.push({type:"L",x:q.x,y:q.y})}if(Q)Z.push({type:"Z"});return Z}function m8($,Q){let{xBorder:Z,yBorder:K,eps:J=1,lineJoin:q="round",miterLimit:U=4}=Q;if(Z<=0&&K<=0)return{outer:{commands:[],bounds:null},inner:{commands:[],bounds:null}};let W=S4($,J),H=[],_=[];for(let X=0;X<W.length;X++){let j=W[X];if(!j.closed){let G=j.points[0];if(G)j.points.push(G);j.closed=!0}let{outer:z,inner:Y}=h4(j.points,Z,K,q,U);H.push(...PK(z,!0)),_.push(...PK(Y,!0))}let N=null,V=null;if($.bounds)N={xMin:$.bounds.xMin-Z,yMin:$.bounds.yMin-K,xMax:$.bounds.xMax+Z,yMax:$.bounds.yMax+K},V={xMin:$.bounds.xMin+Z,yMin:$.bounds.yMin+K,xMax:$.bounds.xMax-Z,yMax:$.bounds.yMax-K};return{outer:{commands:H,bounds:N,flags:$.flags},inner:{commands:_,bounds:V,flags:$.flags}}}function n9($,Q){let{outer:Z,inner:K}=m8($,Q),J=[...Z.commands,...K.commands],q=Z.bounds;return{commands:J,bounds:q,flags:$.flags}}function y4($,Q,Z){return m8($,{xBorder:Q,yBorder:Q,...Z})}z6();class Z6{_path;_transform;_font;constructor($,Q,Z){this._path=$;this._transform=Q;this._font=Z}static fromGlyph($,Q){let Z=y6($,Q);if(!Z)return null;return new Z6(Z,{matrix2D:v6(),matrix3D:null},$)}static fromGlyphWithVariation($,Q,Z){let K=S9($,Q,Z);if(!K)return null;return new Z6(K,{matrix2D:v6(),matrix3D:null},$)}static fromPath($){return new Z6(c8($),{matrix2D:v6(),matrix3D:null},null)}static combine(...$){let Q=$.map((K)=>K.toPath()),Z=C9(Q);return new Z6(Z,{matrix2D:v6(),matrix3D:null},null)}scale($,Q=$){let Z=k8(this._transform.matrix2D,P8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}translate($,Q){let Z=k8(this._transform.matrix2D,o8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}rotate($){let Q=k8(this._transform.matrix2D,v8($));return new Z6(this._path,{...this._transform,matrix2D:Q},this._font)}rotateDeg($){return this.rotate($*Math.PI/180)}shear($,Q){let Z=k8(this._transform.matrix2D,I8($,Q));return new Z6(this._path,{...this._transform,matrix2D:Z},this._font)}italic($){let Q=Math.tan($*Math.PI/180);return this.shear(Q,0)}matrix($){let Q=k8(this._transform.matrix2D,$);return new Z6(this._path,{...this._transform,matrix2D:Q},this._font)}resetTransform(){return new Z6(this._path,{matrix2D:v6(),matrix3D:null},this._font)}perspective($){let Q=this._transform.matrix3D?I9(this._transform.matrix3D,$):$;return new Z6(this._path,{...this._transform,matrix3D:Q},this._font)}perspectiveVanish($,Q,Z){let K=H5($,Q,Z);return this.perspective(K)}apply(){let $=this.applyTransformToPath();return new Z6($,{matrix2D:v6(),matrix3D:null},this._font)}embolden($){let Q=this.applyTransformToPath(),Z=K9(Q,$);return new Z6(Z,{matrix2D:v6(),matrix3D:null},this._font)}condense($){let Q=this.applyTransformToPath(),Z=Z9(Q,$);return new Z6(Z,{matrix2D:v6(),matrix3D:null},this._font)}oblique($){let Q=this.applyTransformToPath(),Z=Q9(Q,$);return new Z6(Z,{matrix2D:v6(),matrix3D:null},this._font)}stroke($,Q,Z){let K=this.applyTransformToPath(),q=$9(K,typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$);return new Z6(q,{matrix2D:v6(),matrix3D:null},this._font)}strokeAsymmetric($){let Q=this.applyTransformToPath(),{outer:Z,inner:K}=m8(Q,$);return{outer:new Z6(Z,{matrix2D:v6(),matrix3D:null},this._font),inner:new Z6(K,{matrix2D:v6(),matrix3D:null},this._font)}}strokeAsymmetricCombined($){let Q=this.applyTransformToPath(),Z=n9(Q,$);return new Z6(Z,{matrix2D:v6(),matrix3D:null},this._font)}controlBox(){let $=this.applyTransformToPath();return W5($)}tightBounds(){let $=this.applyTransformToPath();return v0($)}getTransformMatrix(){return[...this._transform.matrix2D]}getTransformMatrix3D(){if(!this._transform.matrix3D)return null;return this._transform.matrix3D.map(($)=>[...$])}rasterize($){let Q=this.applyTransformToPath(),{width:Z=100,height:K=100,scale:J=1,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=$,N=r6(Q,{width:Z,height:K,scale:J,offsetX:q,offsetY:U,pixelMode:W,fillRule:H,flipY:_});return s.fromBitmap(N)}rasterizeAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,pixelMode:J=1,fillRule:q=0,flipY:U=!0}=$??{},W=q8(Q,K,U);if(!W){let{createBitmap:j}=(z6(),z0(h9));return s.fromBitmap(j(1,1,J))}let H=W.maxX-W.minX+Z*2,_=W.maxY-W.minY+Z*2,N=-W.minX+Z,V=-W.minY+Z,X=r6(Q,{width:H,height:_,scale:K,offsetX:N,offsetY:V,pixelMode:J,fillRule:q,flipY:U});return s.fromBitmapWithBearing(X,W.minX-Z,-(W.minY-Z))}rasterizeWithGradient($,Q){let Z=this.applyTransformToPath(),{width:K=100,height:J=100,scale:q=1,offsetX:U=0,offsetY:W=0,pixelMode:H=1,fillRule:_=0,flipY:N=!0}=Q,V=e8(Z,$,{width:K,height:J,scale:q,offsetX:U,offsetY:W,pixelMode:H,fillRule:_,flipY:N});return s.fromBitmap(V)}toSdf($){let Q=this.applyTransformToPath(),Z=h8(Q,$);return s.fromBitmap(Z)}toSdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=q8(Q,K,q);if(!U){let{createBitmap:X}=(z6(),z0(h9));return s.fromBitmap(X(1,1,1))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=h8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return s.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toMsdf($){let Q=this.applyTransformToPath(),Z=y8(Q,$);return s.fromBitmap(Z)}toMsdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=q8(Q,K,q);if(!U){let{createBitmap:X}=(z6(),z0(h9));return s.fromBitmap(X(1,1,2))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=y8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return s.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toSVG($){let{flipY:Q=!0,scale:Z=1}=$??{};if(this.hasTransform()){let K=this.applyTransformToPath();return Y8(K,{flipY:Q,scale:Z})}return Y8(this._path,{flipY:Q,scale:Z})}toSVGElement($){let{fontSize:Q=100,fill:Z="currentColor",stroke:K,strokeWidth:J=1}=$??{},q=this.applyTransformToPath(),U=v0(q),W=this._font?Q/this._font.unitsPerEm:1,H=W!==1?O6(q,P8(W,W)):q,_=W!==1?{xMin:U.xMin*W,yMin:U.yMin*W,xMax:U.xMax*W,yMax:U.yMax*W}:U,N=K?J/2:0,V=Math.ceil(_.xMax-_.xMin+N*2),X=Math.ceil(_.yMax-_.yMin+N*2),j=`${_.xMin-N} ${-_.yMax-N} ${_.xMax-_.xMin+N*2} ${_.yMax-_.yMin+N*2}`,z=Y8(H,{flipY:!0,scale:1}),Y=K?` stroke="${K}" stroke-width="${J}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${X}" viewBox="${j}">
|
|
10
|
+
<path d="${z}" fill="${Z}"${Y}/>
|
|
11
|
+
</svg>`}toCanvas($,Q){let{flipY:Z=!0,scale:K=1,offsetX:J=0,offsetY:q=0,fill:U="black",stroke:W,strokeWidth:H=1}=Q??{};if($.beginPath(),this._transform.matrix3D){let _=this.combinedMatrix3D(K,J,q);k0($,this._path,_,{flipY:Z})}else if(this.hasTransform2D()){let _=this.combinedMatrix2D(K,J,q);I0($,this._path,_,{flipY:Z})}else i8($,this._path,{flipY:Z,scale:K,offsetX:J,offsetY:q});if(U!=="none")$.fillStyle=U,$.fill();if(W)$.strokeStyle=W,$.lineWidth=H,$.stroke()}toPath2D($){let Q=this.applyTransformToPath();return V5(Q,$)}toPath(){return this.applyTransformToPath()}clone(){return new Z6(c8(this._path),{matrix2D:[...this._transform.matrix2D],matrix3D:this._transform.matrix3D?this._transform.matrix3D.map(($)=>[...$]):null},this._font)}applyTransformToPath(){if(this._transform.matrix3D){let $=this._transform.matrix2D,Q=[[$[0],$[2],$[4]],[$[1],$[3],$[5]],[0,0,1]],Z=I9(this._transform.matrix3D,Q);return k9(this._path,Z)}return O6(this._path,this._transform.matrix2D)}hasTransform(){return this.hasTransform2D()||this._transform.matrix3D!==null}hasTransform2D(){let $=this._transform.matrix2D;return $[0]!==1||$[1]!==0||$[2]!==0||$[3]!==1||$[4]!==0||$[5]!==0}combinedMatrix2D($,Q,Z){let K=this._transform.matrix2D;return[K[0]*$,K[1]*$,K[2]*$,K[3]*$,K[0]*Q+K[2]*Z+K[4]*$,K[1]*Q+K[3]*Z+K[5]*$]}combinedMatrix3D($,Q,Z){let K=this._transform.matrix2D,J=this._transform.matrix3D??U5(),q=[[K[0]*$,K[2]*$,K[4]*$+Q],[K[1]*$,K[3]*$,K[5]*$+Z],[0,0,1]];return I9(J,q)}}z6();function vK($,...Q){return Q.reduce((Z,K)=>K(Z),$)}function IK($,Q){return y6($,Q)}function kK($,Q){return(Z)=>O6(Z,P8($,Q??$))}function CK($,Q){return(Z)=>O6(Z,o8($,Q))}function SK($){return(Q)=>O6(Q,v8($))}function hK($){return(Q)=>O6(Q,v8($*Math.PI/180))}function yK($,Q){return(Z)=>O6(Z,I8($,Q))}function bK($){let Q=Math.tan($*Math.PI/180);return(Z)=>O6(Z,I8(Q,0))}function mK($){return(Q)=>O6(Q,$)}function gK($){return(Q)=>k9(Q,$)}function uK($){return(Q)=>K9(Q,$)}function xK($){return(Q)=>Z9(Q,$)}function fK($){return(Q)=>Q9(Q,$)}function lK($,Q,Z){let K=typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$;return(J)=>$9(J,K)}function dK(){return($)=>c8($)}function nK($){return C9($)}function pK($){return(Q)=>m8(Q,$)}function oK($){return(Q)=>n9(Q,$)}function cK($){return(Q)=>r6(Q,{width:$.width??100,height:$.height??100,scale:$.scale??1,offsetX:$.offsetX??0,offsetY:$.offsetY??0,pixelMode:$.pixelMode??1,fillRule:$.fillRule??0,flipY:$.flipY??!0})}function iK($){let{padding:Q=1,scale:Z=1,pixelMode:K=1}=$??{};return(J)=>{let q=q8(J,Z,!0);if(!q){let{createBitmap:N}=(z6(),z0(h9));return N(1,1,K)}let U=q.maxX-q.minX+Q*2,W=q.maxY-q.minY+Q*2,H=-q.minX+Q,_=-q.minY+Q;return r6(J,{width:U,height:W,scale:Z,offsetX:H,offsetY:_,pixelMode:K,fillRule:0,flipY:!0})}}function sK($,Q){return(Z)=>e8(Z,$,{width:Q.width??100,height:Q.height??100,scale:Q.scale??1,offsetX:Q.offsetX??0,offsetY:Q.offsetY??0,pixelMode:Q.pixelMode??1,fillRule:Q.fillRule??0,flipY:Q.flipY??!0})}function aK($){return(Q)=>h8(Q,$)}function rK($){return(Q)=>y8(Q,$)}function tK($){return(Q)=>o6(J6(Q),$)}function eK($){return(Q)=>E8(J6(Q),$)}function $J($,Q){return(Z)=>b8(J6(Z),$,Q??$)}function QJ($,Q){return(Z)=>d9(J6(Z),$,Q??$)}function ZJ($){return(Q)=>l9(J6(Q),$)}function KJ($,Q){return(Z)=>r8(Z,$,Q??$)}function JJ($,Q){return(Z)=>m9(Z,$,Q)}function qJ($,Q){return(Z)=>S8(Z,$,Q)}function UJ($,Q){return(Z)=>t8(Z,$,Q)}function WJ($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$;return(H)=>g9(H,J,q,U,W)}function HJ($){return(Q)=>U8(Q,$)}function _J($){return x9($)}function NJ($){return f9($)}function VJ($){return(Q)=>Y8(Q,$)}function XJ($){return J6($)}function b4($,Q){return Z6.fromGlyph($,Q)}function m4($,Q){let Z=Q.codePointAt(0);if(Z===void 0)return null;let K=$.glyphId(Z);if(K===void 0)return null;return Z6.fromGlyph($,K)}function g4($,Q,Z){return Z6.fromGlyphWithVariation($,Q,Z)}function u4($){return Z6.fromPath($)}function x4($){return s.fromBitmap($)}function f4(...$){return Z6.combine(...$)}class c6{data;start;end;pos;constructor($,Q=0,Z){if($ instanceof ArrayBuffer)this.data=new DataView($),this.start=Q,this.end=Z!==void 0?Q+Z:$.byteLength;else this.data=$,this.start=$.byteOffset+Q,this.end=Z!==void 0?this.start+Z:$.byteOffset+$.byteLength;this.pos=this.start}get offset(){return this.pos-this.start}get remaining(){return this.end-this.pos}get length(){return this.end-this.start}seek($){this.pos=this.start+$}skip($){this.pos+=$}slice($,Q){return new c6(this.data,this.start+$,Q)}sliceFrom($){return new c6(this.data,this.start+$,this.end-this.start-$)}peek($){let Q=this.pos,Z=$();return this.pos=Q,Z}uint8(){let $=this.data.getUint8(this.pos);return this.pos+=1,$}int8(){let $=this.data.getInt8(this.pos);return this.pos+=1,$}uint16(){let $=this.data.getUint16(this.pos,!1);return this.pos+=2,$}int16(){let $=this.data.getInt16(this.pos,!1);return this.pos+=2,$}uint32(){let $=this.data.getUint32(this.pos,!1);return this.pos+=4,$}int32(){let $=this.data.getInt32(this.pos,!1);return this.pos+=4,$}fixed(){return this.int32()/65536}f2dot14(){return this.int16()/16384}fword(){return this.int16()}ufword(){return this.uint16()}longDateTime(){let $=this.uint32(),Q=this.uint32();return BigInt($)<<32n|BigInt(Q)}tag(){return this.uint32()}tagString(){let $=this.uint32();return String.fromCharCode($>>24&255,$>>16&255,$>>8&255,$&255)}offset16(){return this.uint16()}offset32(){return this.uint32()}uint24(){let $=this.data.getUint8(this.pos),Q=this.data.getUint8(this.pos+1),Z=this.data.getUint8(this.pos+2);return this.pos+=3,$<<16|Q<<8|Z}uint8Array($){let Q=new Uint8Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint8();return Q}uint16Array($){let Q=new Uint16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint16();return Q}int16Array($){let Q=new Int16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.int16();return Q}uint32Array($){let Q=new Uint32Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint32();return Q}array($,Q){let Z=Array($);for(let K=0;K<$;K++)Z[K]=Q(this);return Z}ascii($){let Q="";for(let Z=0;Z<$;Z++)Q+=String.fromCharCode(this.uint8());return Q}utf16be($){let Q=[],Z=$/2;for(let K=0;K<Z;K++)Q.push(this.uint16());return String.fromCharCode(...Q)}hasRemaining($){return this.remaining>=$}ensureRemaining($){if(this.remaining<$)throw Error(`Unexpected end of data: need ${$} bytes, have ${this.remaining}`)}bytes($){let Q=new Uint8Array(this.data.buffer,this.data.byteOffset+this.pos,$);return this.pos+=$,Q}readAt($,Q){let Z=this.pos;this.pos=this.start+$;let K=Q(this);return this.pos=Z,K}}function jJ($,Q){let Z=$.uint16(),K=$.uint16();$.skip(2);let J=[];for(let q=0;q<Q;q++){let U=$.uint16(),W=[];for(let H=0;H<U;H++)W.push({fromCoordinate:$.f2dot14(),toCoordinate:$.f2dot14()});J.push({axisValueMaps:W})}return{majorVersion:Z,minorVersion:K,axisSegmentMaps:J}}function zJ($,Q){let Z=$.axisValueMaps;if(Z.length===0)return Q;for(let q=0;q<Z.length-1;q++){let U=Z[q],W=Z[q+1];if(!U||!W)continue;if(Q>=U.fromCoordinate&&Q<=W.fromCoordinate){let H=(Q-U.fromCoordinate)/(W.fromCoordinate-U.fromCoordinate);return U.toCoordinate+H*(W.toCoordinate-U.toCoordinate)}}let K=Z[0],J=Z[Z.length-1];if(K&&Q<=K.fromCoordinate)return K.toCoordinate;return J?.toCoordinate??Q}function I5($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.axisSegmentMaps[K];if(q)Z.push(zJ(q,J));else Z.push(J)}return Z}function YJ($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16();$.skip(2);let J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=[];$.seek(K);for(let V=0;V<J;V++){let X=$.offset,j=$.uint32(),z=$.fixed(),Y=$.fixed(),G=$.fixed(),E=$.uint16(),w=$.uint16();H.push({tag:j,minValue:z,defaultValue:Y,maxValue:G,flags:E,axisNameId:w}),$.seek(X+q)}let _=[],N=W>=4+J*4+2;for(let V=0;V<U;V++){let X=$.offset,j=$.uint16(),z=$.uint16(),Y=[];for(let E=0;E<J;E++)Y.push($.fixed());let G={subfamilyNameId:j,flags:z,coordinates:Y};if(N)G.postScriptNameId=$.uint16();_.push(G),$.seek(X+W)}return{majorVersion:Q,minorVersion:Z,axes:H,instances:_}}function k5($,Q){if(Q<$.defaultValue){if(Q<$.minValue)Q=$.minValue;if($.defaultValue===$.minValue)return 0;return(Q-$.defaultValue)/($.defaultValue-$.minValue)}else if(Q>$.defaultValue){if(Q>$.maxValue)Q=$.maxValue;if($.defaultValue===$.maxValue)return 0;return(Q-$.defaultValue)/($.maxValue-$.defaultValue)}return 0}function GJ($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=l4($.sliceFrom(K)),H=J!==0?C5($.sliceFrom(J)):null,_=q!==0?C5($.sliceFrom(q)):null,N=U!==0?C5($.sliceFrom(U)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,advanceWidthMapping:H,lsbMapping:_,rsbMapping:N}}function l4($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),j=X.uint16(),z=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(z&32768)!==0,w=z&32767,F=Y-w,A=[];for(let M=0;M<j;M++){let L=[];for(let T=0;T<w;T++)if(E)L.push(X.int32());else L.push(X.int16());for(let T=0;T<F;T++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:j,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function C5($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function p9($,Q){let Z=1;for(let K=0;K<$.regionAxes.length&&K<Q.length;K++){let J=$.regionAxes[K],q=Q[K];if(J===void 0||q===void 0)continue;if(q<J.startCoord||q>J.endCoord)return 0;if(q===J.peakCoord)continue;if(q<J.peakCoord){if(J.peakCoord===J.startCoord)continue;Z*=(q-J.startCoord)/(J.peakCoord-J.startCoord)}else{if(J.peakCoord===J.endCoord)continue;Z*=(J.endCoord-q)/(J.endCoord-J.peakCoord)}}return Z}function EJ($,Q,Z,K){let J,q;if(K&&Q<K.mapData.length){let _=K.mapData[Q];if(!_)J=0,q=Q;else J=_.outer,q=_.inner}else J=0,q=Q;let U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let X=p9(V,Z),j=W[_]??0;H+=X*j}return Math.round(H)}function S5($,Q,Z){return EJ($,Q,Z,$.advanceWidthMapping)}function wJ($,Q,Z){if(!$.lsbMapping)return 0;return EJ($,Q,Z,$.lsbMapping)}class g8{font;_coords;_variations;_advanceDeltas=null;constructor($,Q){this.font=$,this._coords=[],this._variations=new Map;let Z=$.fvar;if(Z){if(this._coords=Array(Z.axes.length).fill(0),Q)this.setVariations(Q)}}setVariations($){let Q=this.font.fvar;if(!Q)return;if(this._advanceDeltas=null,Array.isArray($))for(let K=0;K<$.length;K++){let J=$[K];this._variations.set(J.tag,J.value)}else{let K=Object.entries($);for(let J=0;J<K.length;J++){let[q,U]=K[J],W=k(q.padEnd(4," "));this._variations.set(W,U)}}for(let K=0;K<Q.axes.length;K++){let J=Q.axes[K],q=this._variations.get(J.tag)??J.defaultValue;this._coords[K]=k5(J,q)}let Z=this.font.avar;if(Z)this._coords=I5(Z,this._coords)}get normalizedCoords(){return this._coords}get isVariable(){return this.font.isVariable}get axes(){return this.font.fvar?.axes??[]}getAxisValue($){let Q=typeof $==="string"?k($.padEnd(4," ")):$,Z=this.font.fvar;if(!Z)return null;let K=this._variations.get(Q);if(K!==void 0)return K;return Z.axes.find((q)=>q.tag===Q)?.defaultValue??null}advanceWidth($){let Q=this.font.advanceWidth($);if(this._coords.length>0&&this.font.hvar){if(this._advanceDeltas){let K=this._advanceDeltas.get($);if(K!==void 0)return Q+K}else this._advanceDeltas=new Map;let Z=S5(this.font.hvar,$,this._coords);return this._advanceDeltas.set($,Z),Q+Z}return Q}leftSideBearing($){let Q=this.font.leftSideBearing($);if(this._coords.length>0&&this.font.hvar){let Z=wJ(this.font.hvar,$,this._coords);Q+=Z}return Q}get numGlyphs(){return this.font.numGlyphs}get unitsPerEm(){return this.font.unitsPerEm}get ascender(){return this.font.ascender}get descender(){return this.font.descender}get lineGap(){return this.font.lineGap}glyphId($){return this.font.glyphId($)}glyphIdForChar($){return this.font.glyphIdForChar($)}hasTable($){return this.font.hasTable($)}get gdef(){return this.font.gdef}get gsub(){return this.font.gsub}get gpos(){return this.font.gpos}get kern(){return this.font.kern}get morx(){return this.font.morx}get cmap(){return this.font.cmap}get hmtx(){return this.font.hmtx}get hhea(){return this.font.hhea}}function d4($,Q){return new g8($,Q)}var q_=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"];function yJ($,Q){let Z=0;for(let K=0;K<5;K++){let J=$[Q.value++];if(K===0&&J===128)throw Error("Invalid UIntBase128: leading zeros");if(Z>2097151)throw Error("UIntBase128 overflow");if(Z=Z<<7|J&127,(J&128)===0)return Z}throw Error("UIntBase128 too long")}function l5($,Q){let Z=$[Q.value++];if(Z===253){let K=$[Q.value++],J=$[Q.value++];return K<<8|J}else if(Z===255)return $[Q.value++]+506;else if(Z===254)return $[Q.value++]+253;return Z}function U_($,Q,Z){let K=[];for(let J=0;J<Z;J++){let q=$[Q.value++],U=q&63,W=q>>6&3,H;if(U===63)H=String.fromCharCode($[Q.value++],$[Q.value++],$[Q.value++],$[Q.value++]);else H=q_[U];let _=yJ($,Q),N=_;if(H==="glyf"||H==="loca"?W===0:W!==0)N=yJ($,Q);K.push({tag:H,origLength:_,transformLength:N,transformVersion:W})}return K}async function W_($){if(typeof DecompressionStream<"u")try{let Z=new DecompressionStream("brotli"),J=new Blob([$.buffer]).stream().pipeThrough(Z),q=await new Response(J).arrayBuffer();return new Uint8Array(q)}catch{}let{decompress:Q}=await Promise.resolve().then(() => (hJ(),SJ));return Q($)}function d6($,Q,Z){$[Q]=Z>>8&255,$[Q+1]=Z&255}function J9($,Q,Z){$[Q]=Z>>24&255,$[Q+1]=Z>>16&255,$[Q+2]=Z>>8&255,$[Q+3]=Z&255}function A8($,Q){return $[Q]<<8|$[Q+1]}function t6($,Q){let Z=A8($,Q);return Z>=32768?Z-65536:Z}function u8($,Q){return($[Q]<<24|$[Q+1]<<16|$[Q+2]<<8|$[Q+3])>>>0}function bJ($,Q,Z){let K=0,J=Math.ceil(Z/4);for(let q=0;q<J;q++){let U=Q+q*4;K=K+(($[U]||0)<<24|($[U+1]||0)<<16|($[U+2]||0)<<8|($[U+3]||0))>>>0}return K}function d0($){return $+3&-4}function H_($,Q,Z,K,J){let q=[],U=0,W=0;function H(_,N){return _&1?N:-N}for(let _=0;_<Z;_++){let N=$[K.value++],V=N>>7===0,X=N&127,j=0,z=0;if(X<10)j=0,z=H(N,((X&14)<<7)+Q[J.value++]);else if(X<20)j=H(N,((X-10&14)<<7)+Q[J.value++]),z=0;else if(X<84){let Y=X-20,G=Q[J.value++];j=H(N,1+(Y&48)+(G>>4)),z=H(N>>1,1+((Y&12)<<2)+(G&15))}else if(X<120){let Y=X-84;j=H(N,1+(Math.floor(Y/12)<<8)+Q[J.value++]),z=H(N>>1,1+(Y%12>>2<<8)+Q[J.value++])}else if(X<124){let Y=Q[J.value++],G=Q[J.value++],E=Q[J.value++];j=H(N,(Y<<4)+(G>>4)),z=H(N>>1,((G&15)<<8)+E)}else j=H(N,(Q[J.value++]<<8)+Q[J.value++]),z=H(N>>1,(Q[J.value++]<<8)+Q[J.value++]);U+=j,W+=z,q.push({x:U,y:W,onCurve:V})}return q}function __($,Q,Z){let K=0,J=A8($,K);if(K+=2,J!==0)throw Error(`Unsupported glyf transform version: ${J}`);let q=A8($,K);K+=2;let U=A8($,K);K+=2;let W=A8($,K);K+=2;let H=u8($,K);K+=4;let _=u8($,K);K+=4;let N=u8($,K);K+=4;let V=u8($,K);K+=4;let X=u8($,K);K+=4;let j=u8($,K);K+=4;let z=u8($,K);K+=4;let Y=$.slice(K,K+H);K+=H;let G=$.slice(K,K+_);K+=_;let E=$.slice(K,K+N);K+=N;let w=$.slice(K,K+V);K+=V;let F=$.slice(K,K+X);K+=X;let A=$.slice(K,K+j);K+=j;let M=$.slice(K,K+z),L={value:0},T={value:0},B={value:0},I={value:0},O={value:0},x={value:0},v={value:0},f=[0],l=[],C=0;for(let c=0;c<Q;c++){let n=t6(Y,L.value);if(L.value+=2,n===0){l.push(new Uint8Array(0)),f.push(C);continue}if(n>0){let e=N_(n,G,T,E,B,w,I,A,x,M,v,q);l.push(e),C+=d0(e.length),f.push(C)}else{let e=V_(F,O,A,x,M,v,q);l.push(e),C+=d0(e.length),f.push(C)}}let R=new Uint8Array(C),y=0;for(let c=0;c<l.length;c++){let n=l[c];R.set(n,y),y+=d0(n.length)}let u=Z===0?(Q+1)*2:(Q+1)*4,d=new Uint8Array(u);for(let c=0;c<=Q;c++)if(Z===0)d6(d,c*2,f[c]/2);else J9(d,c*4,f[c]);return{glyf:R,loca:d}}function N_($,Q,Z,K,J,q,U,W,H,_,N,V){let X=[],j=0;for(let y=0;y<$;y++){let u=l5(Q,Z);j+=u,X.push(j-1)}let z=H_(K,q,j,J,U),Y,G,E,w;if((V&1)===0&&H.value+8<=W.length)Y=t6(W,H.value),H.value+=2,G=t6(W,H.value),H.value+=2,E=t6(W,H.value),H.value+=2,w=t6(W,H.value),H.value+=2;else{Y=G=32767,E=w=-32768;for(let y=0;y<z.length;y++){let u=z[y];Y=Math.min(Y,u.x),G=Math.min(G,u.y),E=Math.max(E,u.x),w=Math.max(w,u.y)}}let A=l5(q,U),M=_.slice(N.value,N.value+A);N.value+=A;let L=[],T=[],B=0,I=0;for(let y=0;y<z.length;y++){let u=z[y];L.push(u.x-B),T.push(u.y-I),B=u.x,I=u.y}let O=[],x=[],v=[];for(let y=0;y<j;y++){let u=z[y].onCurve?1:0,d=L[y],c=T[y];if(d===0)u|=16;else if(d>=-255&&d<=255){if(u|=2,d>0)u|=16;x.push(Math.abs(d))}else x.push(d>>8&255,d&255);if(c===0)u|=32;else if(c>=-255&&c<=255){if(u|=4,c>0)u|=32;v.push(Math.abs(c))}else v.push(c>>8&255,c&255);O.push(u)}let l=10+$*2+2+A+O.length+x.length+v.length,C=new Uint8Array(l),R=0;d6(C,R,$),R+=2,d6(C,R,Y&65535),R+=2,d6(C,R,G&65535),R+=2,d6(C,R,E&65535),R+=2,d6(C,R,w&65535),R+=2;for(let y=0;y<X.length;y++){let u=X[y];d6(C,R,u),R+=2}d6(C,R,A),R+=2,C.set(M,R),R+=A;for(let y=0;y<O.length;y++){let u=O[y];C[R++]=u}for(let y=0;y<x.length;y++){let u=x[y];C[R++]=u}for(let y=0;y<v.length;y++){let u=v[y];C[R++]=u}return C.slice(0,R)}function V_($,Q,Z,K,J,q,U){let W=[],H=t6(Z,K.value);K.value+=2;let _=t6(Z,K.value);K.value+=2;let N=t6(Z,K.value);K.value+=2;let V=t6(Z,K.value);K.value+=2,W.push(255,255),W.push(H>>8&255,H&255),W.push(_>>8&255,_&255),W.push(N>>8&255,N&255),W.push(V>>8&255,V&255);let X=!0,j=!1;while(X){let z=A8($,Q.value);Q.value+=2;let Y=A8($,Q.value);if(Q.value+=2,W.push(z>>8&255,z&255),W.push(Y>>8&255,Y&255),z&1)W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]);else W.push($[Q.value++]),W.push($[Q.value++]);if(z&8)W.push($[Q.value++]),W.push($[Q.value++]);else if(z&64)for(let G=0;G<4;G++)W.push($[Q.value++]);else if(z&128)for(let G=0;G<8;G++)W.push($[Q.value++]);if(X=(z&32)!==0,z&256)j=!0}if(j){let z=l5(J,q);W.push(z>>8&255,z&255);for(let Y=0;Y<z;Y++)W.push(J[q.value++])}return new Uint8Array(W)}async function mJ($){let Q=new Uint8Array($),Z=new DataView($);if(Z.getUint32(0,!1)!==2001684018)throw Error("Not a valid WOFF2 file");let J=Z.getUint32(4,!1),q=Z.getUint16(12,!1),U=Z.getUint32(20,!1),W={value:48},H=U_(Q,W,q),_=Q.slice(W.value,W.value+U),N=await W_(_),V=new Map,X=0;for(let v=0;v<H.length;v++){let f=H[v],l=N.slice(X,X+f.transformLength);V.set(f.tag,l),X+=f.transformLength}let j=V.get("maxp"),z=V.get("head");if(!j||!z)throw Error("Missing required tables");let Y=A8(j,4),G=t6(z,50),E=H.find((v)=>v.tag==="glyf"),w=H.find((v)=>v.tag==="loca");if(E&&E.transformVersion===0){let v=V.get("glyf");if(!v)throw Error("Missing glyf table data for transform");let{glyf:f,loca:l}=__(v,Y,G);if(V.set("glyf",f),V.set("loca",l),E.origLength=f.length,w)w.origLength=l.length}let F=12,A=q*16,M=F+A,L=[];for(let v=0;v<H.length;v++){let f=H[v];L.push(M),M+=d0(f.origLength)}let T=new Uint8Array(M),B=2**Math.floor(Math.log2(q))*16,I=Math.floor(Math.log2(q)),O=q*16-B;J9(T,0,J),d6(T,4,q),d6(T,6,B),d6(T,8,I),d6(T,10,O);let x=-1;for(let v=0;v<H.length;v++){let f=H[v],l=V.get(f.tag);if(!l)throw Error(`Missing table data for ${f.tag}`);let C=F+v*16,R=L[v];if(f.tag==="head"&&R!==void 0)x=R;for(let u=0;u<4;u++)T[C+u]=f.tag.charCodeAt(u);let y=bJ(l,0,l.length);J9(T,C+4,y),J9(T,C+8,L[v]),J9(T,C+12,f.origLength),T.set(l.slice(0,f.origLength),L[v])}if(x>=0){let f=2981146554-bJ(T,0,T.length)>>>0;J9(T,x+8,f)}return T.buffer}var X_={hang:1751215719,icfb:1768121954,icft:1768121972,ideo:1768187247,idtp:1768191088,math:1835103336,romn:1919905134};function i9($){let Q=$.uint16(),Z=$.int16(),K={format:Q,coordinate:Z};if(Q===2)K.referenceGlyph=$.uint16(),K.baseCoordPoint=$.uint16();else if(Q===3)K.deviceOffset=$.uint16();return K}function gJ($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=null,W=null;if(K!==0){let _=$.sliceFrom(Q+K);U=i9(_).coordinate}if(J!==0){let _=$.sliceFrom(Q+J);W=i9(_).coordinate}let H=[];for(let _=0;_<q;_++){let N=Z.uint32(),V=Z.uint16(),X=Z.uint16(),j=null,z=null;if(V!==0){let Y=$.sliceFrom(Q+V);j=i9(Y).coordinate}if(X!==0){let Y=$.sliceFrom(Q+X);z=i9(Y).coordinate}H.push({featureTag:N,minCoord:j,maxCoord:z})}return{minCoord:U,maxCoord:W,featMinMaxRecords:H}}function j_($,Q,Z){if(Q===0)return null;let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<q;H++)U.push(K.uint16());let W=[];for(let H=0;H<U.length;H++){let _=U[H];if(_!==0){let N=$.sliceFrom(Q+_);W.push(i9(N).coordinate)}else W.push(0)}return{defaultBaselineIndex:J,baseCoords:W}}function z_($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=K.uint16(),W=new Map,H=[];for(let V=0;V<U;V++){let X=K.uint32(),j=K.uint16();H.push({tag:X,offset:j})}let _=j_($,Q+J,Z),N=gJ($,Q+q);for(let V=0;V<H.length;V++){let X=H[V],j=gJ($,Q+X.offset);if(j)W.set(X.tag,j)}return{baseValues:_,defaultMinMax:N,baseLangSysRecords:W}}function uJ($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=[];if(K!==0){let W=$.sliceFrom(Q+K),H=W.uint16();for(let _=0;_<H;_++)q.push(W.uint32())}let U=[];if(J!==0){let W=$.sliceFrom(Q+J),H=W.uint16(),_=[];for(let N=0;N<H;N++){let V=W.uint32(),X=W.uint16();_.push({tag:V,offset:X})}for(let N=0;N<_.length;N++){let V=_[N],X=z_($,Q+J+V.offset,q);U.push({scriptTag:V.tag,...X})}}return{baseTagList:q,baseScriptList:U}}function d5($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=uJ($,K),U=uJ($,J);return{majorVersion:Q,minorVersion:Z,horizAxis:q,vertAxis:U}}function Y_($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((W)=>W.scriptTag===Q);if(!q?.baseValues)return null;let U=J.baseTagList.indexOf(Z);if(U===-1)return null;return q.baseValues.baseCoords[U]??null}function G_($,Q,Z=!0){let K=Z?$.horizAxis:$.vertAxis;if(!K)return null;let J=K.baseScriptList.find((H)=>H.scriptTag===Q);if(!J?.baseValues)return null;let q=J.baseValues.defaultBaselineIndex,U=K.baseTagList[q],W=J.baseValues.baseCoords[q];if(U===void 0||W===void 0)return null;return{tag:U,coordinate:W}}function E_($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((U)=>U.scriptTag===Q);if(!q)return null;if(Z!==void 0){let U=q.baseLangSysRecords.get(Z);if(U)return{minCoord:U.minCoord,maxCoord:U.maxCoord}}if(q.defaultMinMax)return{minCoord:q.defaultMinMax.minCoord,maxCoord:q.defaultMinMax.maxCoord};return null}var w_={SmallMetrics:1,SmallMetricsPng:17,BigMetrics:2,BigMetricsPng:18,CompressedPng:19};function fJ($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=xJ($),X=xJ($),j=$.uint16(),z=$.uint16(),Y=$.uint8(),G=$.uint8(),E=$.uint8(),w=$.int8();q.push({indexSubTableArrayOffset:W,indexTablesSize:H,numberOfIndexSubTables:_,colorRef:N,hori:V,vert:X,startGlyphIndex:j,endGlyphIndex:z,ppemX:Y,ppemY:G,bitDepth:E,flags:w,indexSubTables:[]})}for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(Q+W.indexSubTableArrayOffset),_=[];for(let N=0;N<W.numberOfIndexSubTables;N++)_.push({firstGlyphIndex:H.uint16(),lastGlyphIndex:H.uint16(),additionalOffsetToIndexSubtable:H.uint32()});for(let N=0;N<_.length;N++){let V=_[N],X=A_($,Q+W.indexSubTableArrayOffset+V.additionalOffsetToIndexSubtable,V.firstGlyphIndex,V.lastGlyphIndex);W.indexSubTables.push(X)}}return{majorVersion:Z,minorVersion:K,bitmapSizes:q}}function xJ($){return{ascender:$.int8(),descender:$.int8(),widthMax:$.uint8(),caretSlopeNumerator:$.int8(),caretSlopeDenominator:$.int8(),caretOffset:$.int8(),minOriginSB:$.int8(),minAdvanceSB:$.int8(),maxBeforeBL:$.int8(),minAfterBL:$.int8(),pad1:$.int8(),pad2:$.int8()}}function A_($,Q,Z,K){let J=$.sliceFrom(Q),q=J.uint16(),U=J.uint16(),W=J.uint32(),H=new Map,_=K-Z+1;switch(q){case 1:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint32());for(let V=0;V<_;V++){let X=N[V],j=N[V+1];if(X===void 0||j===void 0)continue;if(j>X)H.set(Z+V,{offset:W+X,length:j-X})}break}case 2:{let N=J.uint32(),V={height:J.uint8(),width:J.uint8(),horiBearingX:J.int8(),horiBearingY:J.int8(),horiAdvance:J.uint8(),vertBearingX:J.int8(),vertBearingY:J.int8(),vertAdvance:J.uint8()};for(let X=0;X<_;X++)H.set(Z+X,{offset:W+X*N,length:N});break}case 3:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint16());for(let V=0;V<_;V++){let X=N[V],j=N[V+1];if(X===void 0||j===void 0)continue;if(j>X)H.set(Z+V,{offset:W+X,length:j-X})}break}case 4:{let N=J.uint32(),V=[];for(let X=0;X<=N;X++)V.push({glyphId:J.uint16(),offset:J.uint16()});for(let X=0;X<N;X++){let j=V[X],z=V[X+1];if(j===void 0||z===void 0)continue;H.set(j.glyphId,{offset:W+j.offset,length:z.offset-j.offset})}break}case 5:{let N=J.uint32();J.skip(8);let V=J.uint32();for(let X=0;X<V;X++){let j=J.uint16();H.set(j,{offset:W+X*N,length:N})}break}}return{firstGlyphIndex:Z,lastGlyphIndex:K,indexFormat:q,imageFormat:U,imageDataOffset:W,glyphOffsets:H}}function lJ($){let Q=$.uint16(),Z=$.uint16(),K=$.bytes($.remaining);return{majorVersion:Q,minorVersion:Z,data:K}}function F_($,Q,Z,K){let J=null,q=1/0;for(let U=0;U<$.bitmapSizes.length;U++){let W=$.bitmapSizes[U];if(Z<W.startGlyphIndex||Z>W.endGlyphIndex)continue;let H=Math.abs(W.ppemX-K);if(H<q)q=H,J=W}if(!J)return null;for(let U=0;U<J.indexSubTables.length;U++){let W=J.indexSubTables[U],H=W.glyphOffsets.get(Z);if(!H)continue;let _=Q.data.slice(H.offset-4,H.offset-4+H.length);return L_(_,W.imageFormat)}return null}function L_($,Q){if($.length===0)return null;let Z=0,K;switch(Q){case 1:case 2:case 17:case 18:{if(Q===1||Q===17){if(Z+5>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0}}else{if(Z+8>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0},Z+=3}break}case 19:{K={height:0,width:0,bearingX:0,bearingY:0,advance:0};break}default:return null}return{metrics:K,imageFormat:Q,data:$.slice(Z)}}function D_($,Q,Z){for(let K=0;K<$.bitmapSizes.length;K++){let J=$.bitmapSizes[K];if(Z!==void 0&&J.ppemX!==Z)continue;if(Q<J.startGlyphIndex||Q>J.endGlyphIndex)continue;for(let q=0;q<J.indexSubTables.length;q++)if(J.indexSubTables[q].glyphOffsets.has(Q))return!0}return!1}function M_($){let Q=new Set;for(let Z=0;Z<$.bitmapSizes.length;Z++){let K=$.bitmapSizes[Z];Q.add(K.ppemX)}return[...Q].sort((Z,K)=>Z-K)}var U9=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];function n5($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint8();$.seek(Q+J);let U=F8($).map((G)=>new TextDecoder().decode(G)),W=F8($),H=[],N=F8($).map((G)=>new TextDecoder().decode(G)),V=F8($);for(let G=0;G<W.length;G++){let E=W[G];H.push(dJ(new c6(E.buffer,E.byteOffset,E.byteLength),N))}let X=[],j=[],z=[],Y=[];for(let G=0;G<H.length;G++){let E=H[G];if(E.charStrings!==void 0)$.seek(Q+E.charStrings),X.push(F8($));else X.push([]);if(E.private){let[w,F]=E.private,A=nJ($.slice(F,w),N);if(A.subrs!==void 0)$.seek(Q+F+A.subrs),j.push(F8($));else j.push([])}else j.push([]);if(E.fdArray!==void 0){$.seek(Q+E.fdArray);let w=F8($),F=[];for(let A=0;A<w.length;A++){let M=w[A],L=dJ(new c6(M.buffer,M.byteOffset,M.byteLength),N);if(L.private){let[T,B]=L.private,I=nJ($.slice(Q+B,T),N);if(Object.assign(L,I),I.subrs!==void 0)$.seek(Q+B+I.subrs),L.localSubrs=F8($)}F.push(L)}z.push(F)}else z.push([]);if(E.fdSelect!==void 0){$.seek(Q+E.fdSelect);let w=X[X.length-1];Y.push(T_($,w?.length??0))}else Y.push({format:0,select:()=>0})}return{version:{major:Z,minor:K},names:U,topDicts:H,strings:N,globalSubrs:V,charStrings:X,localSubrs:j,fdArrays:z,fdSelects:Y}}function F8($){let Q=$.uint16();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push(B_($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function B_($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function pJ($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(R_($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function R_($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else Q+=Z[U]}}return parseFloat(Q)}function dJ($,Q){let Z=pJ($),K={},J=(U)=>{if(U<U9.length)return U9[U]??"";return Q[U-U9.length]??""},q=[...Z];for(let U=0;U<q.length;U++){let[W,H]=q[U],_=H[0],N=H[1],V=H[2];switch(W){case 0:if(_!==void 0)K.version=J(_);break;case 1:if(_!==void 0)K.notice=J(_);break;case 3072:if(_!==void 0)K.copyright=J(_);break;case 2:if(_!==void 0)K.fullName=J(_);break;case 3:if(_!==void 0)K.familyName=J(_);break;case 4:if(_!==void 0)K.weight=J(_);break;case 3073:K.isFixedPitch=_!==0;break;case 3074:K.italicAngle=_;break;case 3075:K.underlinePosition=_;break;case 3076:K.underlineThickness=_;break;case 3077:K.paintType=_;break;case 3078:K.charstringType=_;break;case 3079:K.fontMatrix=H;break;case 13:K.uniqueID=_;break;case 5:K.fontBBox=H;break;case 3080:K.strokeWidth=_;break;case 15:K.charset=_;break;case 16:K.encoding=_;break;case 17:K.charStrings=_;break;case 18:if(_!==void 0&&N!==void 0)K.private=[_,N];break;case 3092:K.syntheticBase=_;break;case 3093:if(_!==void 0)K.postScript=J(_);break;case 3094:if(_!==void 0)K.baseFontName=J(_);break;case 3095:K.baseFontBlend=H;break;case 3102:if(_!==void 0&&N!==void 0&&V!==void 0)K.ros={registry:J(_),ordering:J(N),supplement:V};break;case 3103:K.cidFontVersion=_;break;case 3104:K.cidFontRevision=_;break;case 3105:K.cidFontType=_;break;case 3106:K.cidCount=_;break;case 3107:K.uidBase=_;break;case 3108:K.fdArray=_;break;case 3109:K.fdSelect=_;break;case 3110:if(_!==void 0)K.fontName=J(_);break}}return K}function nJ($,Q){let Z=pJ($),K={},J=[...Z];for(let q=0;q<J.length;q++){let[U,W]=J[q],H=W[0];switch(U){case 6:K.blueValues=q9(W);break;case 7:K.otherBlues=q9(W);break;case 8:K.familyBlues=q9(W);break;case 9:K.familyOtherBlues=q9(W);break;case 3081:K.blueScale=H;break;case 3082:K.blueShift=H;break;case 3083:K.blueFuzz=H;break;case 10:K.stdHW=H;break;case 11:K.stdVW=H;break;case 3084:K.stemSnapH=q9(W);break;case 3085:K.stemSnapV=q9(W);break;case 3086:K.forceBold=H!==0;break;case 3089:K.languageGroup=H;break;case 3090:K.expansionFactor=H;break;case 3091:K.initialRandomSeed=H;break;case 19:K.subrs=H;break;case 20:K.defaultWidthX=H;break;case 21:K.nominalWidthX=H;break}}return K}function q9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function T_($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let U=0;U<K;U++)J.push({first:$.uint16(),fd:$.uint8()});let q=$.uint16();return{format:Z,select:(U)=>{let W=0,H=J.length-1;while(W<H){let N=Math.ceil((W+H)/2),V=J[N];if(V&&V.first<=U)W=N;else H=N-1}return J[W]?.fd??0}}}return{format:Z,select:()=>0}}function O_($,Q){if(Q<U9.length)return U9[Q]??"";return $.strings[Q-U9.length]??""}function Q6($){return $.stack.length-$.stackPos}function m($){if($.stackPos>=$.stack.length)return;return $.stack[$.stackPos++]}function W9($){$.stack.length=0,$.stackPos=0}function p5($,Q,Z=0){let K=$.charStrings[Z];if(!K||Q>=K.length)return null;let J=K[Q];if(!J)return null;let q=$.globalSubrs,W=$.topDicts[Z]?.ros!==void 0,H=[];if(W&&$.fdSelects[Z]&&$.fdArrays[Z]){let N=$.fdSelects[Z]?.select(Q)??0;H=$.fdArrays[Z]?.[N]?.localSubrs||$.localSubrs[Z]||[]}else H=$.localSubrs[Z]||[];let _={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!1,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:0,axisCoords:null,vstore:null};if(n0(_,J,q,H),_.currentContour.length>0)_.contours.push(_.currentContour);return _.contours}function p0($,Q,Z=null){if(Q>=$.charStrings.length)return null;let K=$.charStrings[Q];if(!K)return null;let J=$.globalSubrs,q=$.fdSelect?.select(Q)??0,U=$.fdArray[q],W=U?.localSubrs||[],H={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!0,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:U?.private?.vsindex??0,axisCoords:Z,vstore:$.vstore};if(n0(H,K,J,W),H.currentContour.length>0)H.contours.push(H.currentContour);return H.contours}function n0($,Q,Z,K){let J=0;while(J<Q.length){let q=Q[J++];if(q===void 0)return;if(q===28){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;$.stack.push((U<<8|W)<<16>>16)}else if(q===255){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;let H=Q[J++];if(H===void 0)return;let _=Q[J++];if(_===void 0)return;let N=(U<<24|W<<16|H<<8|_)>>0;$.stack.push(N/65536)}else if(q>=32&&q<=246)$.stack.push(q-139);else if(q>=247&&q<=250){let U=Q[J++];if(U===void 0)return;$.stack.push((q-247)*256+U+108)}else if(q>=251&&q<=254){let U=Q[J++];if(U===void 0)return;$.stack.push(-(q-251)*256-U-108)}else if(q===12){let U=Q[J++];if(U===void 0)return;let W=3072|U;oJ($,W,Z,K)}else if(q===19||q===20){if(Q6($)%2!==0&&!$.haveWidth){let _=m($);if(_!==void 0)$.width=_,$.haveWidth=!0}$.nStems+=Q6($)/2,W9($);let H=Math.ceil($.nStems/8);J+=H}else oJ($,q,Z,K);if($.callStack.length>0){let U=$.callStack[$.callStack.length-1];if(U&&U.pos>=U.data.length)$.callStack.pop()}}}function oJ($,Q,Z,K){let J=$.stack;switch(Q){case 1:case 3:case 18:case 23:{if(Q6($)%2!==0&&!$.haveWidth){let W=m($);if(W===void 0)break;$.width=W,$.haveWidth=!0}$.nStems+=Q6($)/2,W9($);break}case 19:case 20:break;case 21:{if(Q6($)>2&&!$.haveWidth){let W=m($);if(W===void 0)break;$.width=W,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),W9($);break}case 22:{if(Q6($)>1&&!$.haveWidth){let U=m($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;$.x+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),W9($);break}case 4:{if(Q6($)>1&&!$.haveWidth){let U=m($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=m($);if(q===void 0)break;$.y+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),W9($);break}case 5:{while(Q6($)>=2){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 6:{let q=!0;while(Q6($)>=1){let U=m($);if(U===void 0)break;if(q)$.x+=U;else $.y+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 7:{let q=!0;while(Q6($)>=1){let U=m($);if(U===void 0)break;if(q)$.y+=U;else $.x+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 8:{while(Q6($)>=6){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;M6($,q,U,W,H,_,N)}break}case 27:{let q=0;if(Q6($)%4===1){let U=m($);if(U===void 0)break;q=U}while(Q6($)>=4){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;M6($,U,q,W,H,_,0),q=0}break}case 26:{let q=0;if(Q6($)%4===1){let U=m($);if(U===void 0)break;q=U}while(Q6($)>=4){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;M6($,q,U,W,H,0,_),q=0}break}case 31:{let q=!0;while(Q6($)>=4){if(q){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;M6($,U,0,W,H,N,_)}else{let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;M6($,0,U,W,H,_,N)}q=!q}break}case 30:{let q=!0;while(Q6($)>=4){if(q){let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;M6($,0,U,W,H,_,N)}else{let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=Q6($)===1?m($)??0:0;M6($,U,0,W,H,N,_)}q=!q}break}case 24:{while(Q6($)>=8){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;M6($,q,U,W,H,_,N)}if(Q6($)>=2){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 25:{while(Q6($)>=8){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}if(Q6($)>=6){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;M6($,q,U,W,H,_,N)}break}case 10:{let q=J.pop();if(q===void 0)break;let U=q+cJ(K.length),W=K[U];if(W)n0($,W,Z,K);break}case 29:{let q=J.pop();if(q===void 0)break;let U=q+cJ(Z.length),W=Z[U];if(W)n0($,W,Z,K);break}case 11:break;case 14:{if(Q6($)>0&&!$.haveWidth){let q=m($);if(q===void 0)break;$.width=q,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];W9($);break}case 3107:{if(Q6($)>=13){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let j=m($);if(j===void 0)break;let z=m($);if(z===void 0)break;let Y=m($);if(Y===void 0)break;let G=m($);if(G===void 0)break;m($),M6($,q,U,W,H,_,N),M6($,V,X,j,z,Y,G)}break}case 3106:{if(Q6($)>=7){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;M6($,q,0,U,W,H,0),M6($,_,0,N,-W,V,0)}break}case 3108:{if(Q6($)>=9){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let j=m($);if(j===void 0)break;M6($,q,U,W,H,_,0),M6($,N,0,V,X,j,-(U+H+X))}break}case 3109:{if(Q6($)>=11){let q=m($);if(q===void 0)break;let U=m($);if(U===void 0)break;let W=m($);if(W===void 0)break;let H=m($);if(H===void 0)break;let _=m($);if(_===void 0)break;let N=m($);if(N===void 0)break;let V=m($);if(V===void 0)break;let X=m($);if(X===void 0)break;let j=m($);if(j===void 0)break;let z=m($);if(z===void 0)break;let Y=m($);if(Y===void 0)break;let G=q+W+_+V+j,E=U+H+N+X+z,w,F;if(Math.abs(G)>Math.abs(E))w=Y,F=-E;else w=-G,F=Y;M6($,q,U,W,H,_,N),M6($,V,X,j,z,w,F)}break}case 3075:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U&&q?1:0);break}case 3076:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U||q?1:0);break}case 3077:{let q=J.pop();if(q===void 0)break;J.push(q?0:1);break}case 3081:{let q=J.pop();if(q===void 0)break;J.push(Math.abs(q));break}case 3082:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U+q);break}case 3083:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U-q);break}case 3084:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U/q);break}case 3086:{let q=J.pop();if(q===void 0)break;J.push(-q);break}case 3087:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U===q?1:0);break}case 3090:{J.pop();break}case 3092:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;$.transientArray[q]=U;break}case 3093:{let q=J.pop();if(q===void 0)break;J.push($.transientArray[q]??0);break}case 3094:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;let W=J.pop();if(W===void 0)break;let H=J.pop();if(H===void 0)break;J.push(U<=q?H:W);break}case 3095:{J.push(Math.random());break}case 3096:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U*q);break}case 3098:{let q=J.pop();if(q===void 0)break;J.push(Math.sqrt(q));break}case 3099:{let q=J[J.length-1];if(q===void 0)break;J.push(q);break}case 3100:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(q,U);break}case 3101:{let q=J.pop();if(q===void 0)break;let U=J.length-1-q;J.push(J[U]??0);break}case 3102:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;if(U>0){let W=J.splice(-U),H=(q%U+U)%U;for(let _=0;_<U;_++){let N=W[(_+H)%U];if(N!==void 0)J.push(N)}}break}case 16:{if(!$.axisCoords||!$.vstore)break;let q=J.pop();if(q===void 0)break;let U=$.vstore.itemVariationData[$.vsindex]?.regionIndexCount??0,W=q*U,H=J.splice(-W),_=J.splice(-q);for(let N=0;N<q;N++){let V=_[N];if(V===void 0)continue;let X=V;for(let j=0;j<U;j++){let z=H[N*U+j];if(z===void 0)continue;let Y=P_($.vstore,$.vsindex,j,$.axisCoords);X+=z*Y}J.push(X)}break}case 15:{let q=J.pop();if(q===void 0)break;$.vsindex=q;break}case 3072:break}}function M6($,Q,Z,K,J,q,U){let{x:W,y:H}=$,_=W+Q,N=H+Z,V=_+K,X=N+J,j=V+q,z=X+U;$.currentContour.push({x:_,y:N,onCurve:!1,cubic:!0}),$.currentContour.push({x:V,y:X,onCurve:!1,cubic:!0}),$.currentContour.push({x:j,y:z,onCurve:!0}),$.x=j,$.y=z}function cJ($){if($<1240)return 107;if($<33900)return 1131;return 32768}function P_($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.regionIndexes[Z];if(q===void 0)return 0;let U=$.variationRegionList.regions[q];if(!U)return 0;let W=1;for(let H=0;H<U.axes.length&&H<K.length;H++){let _=U.axes[H];if(!_)continue;let N=K[H];if(N===void 0)continue;if(N<_.startCoord||N>_.endCoord)return 0;if(N===_.peakCoord)continue;if(N<_.peakCoord)W*=(N-_.startCoord)/(_.peakCoord-_.startCoord);else W*=(_.endCoord-N)/(_.endCoord-_.peakCoord)}return W}function v_($,Q,Z=0){let K=$.topDicts[Z];return 0}function o5($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint16();$.seek(Q+J);let U=$.slice($.offset-Q,q);$.skip(q);let W=C_(U),H=o0($),_=[];if(W.charStrings!==void 0)$.seek(Q+W.charStrings),_=o0($);let N=[];if(W.fdArray!==void 0){$.seek(Q+W.fdArray);let j=o0($);for(let z=0;z<j.length;z++){let Y=j[z],G=S_(new c6(Y.buffer,Y.byteOffset,Y.byteLength));if(G.privateOffset!==void 0&&G.privateSize!==void 0){$.seek(Q+G.privateOffset);let E=$.slice(0,G.privateSize);if(G.private=h_(E),G.private.subrs!==void 0)$.seek(Q+G.privateOffset+G.private.subrs),G.localSubrs=o0($)}N.push(G)}}let V=null;if(W.fdSelect!==void 0)$.seek(Q+W.fdSelect),V=y_($,_.length);let X=null;if(W.vstore!==void 0)$.seek(Q+W.vstore),X=b_($);return{version:{major:Z,minor:K},topDict:W,globalSubrs:H,charStrings:_,fdArray:N,fdSelect:V,vstore:X}}function o0($){let Q=$.uint32();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push(I_($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function I_($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function c5($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===22)Q.set(22,[...Z]),Z.length=0;else if(K===23)Q.set(23,[...Z]),Z.length=0;else if(K===24)Q.set(24,[...Z]),Z.length=0;else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(k_($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function k_($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else{let W=Z[U];if(W!==void 0)Q+=W}}}return parseFloat(Q)}function C_($){let Q=c5($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J];switch(q){case 3079:Z.fontMatrix=U;break;case 17:Z.charStrings=U[0];break;case 3108:Z.fdArray=U[0];break;case 3109:Z.fdSelect=U[0];break;case 24:Z.vstore=U[0];break}}return Z}function S_($){let Q=c5($),Z={},K=Q.get(18);if(K&&K.length>=2)Z.privateSize=K[0],Z.privateOffset=K[1];return Z}function h_($){let Q=c5($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J],W=U[0];switch(q){case 6:Z.blueValues=H9(U);break;case 7:Z.otherBlues=H9(U);break;case 8:Z.familyBlues=H9(U);break;case 9:Z.familyOtherBlues=H9(U);break;case 3081:Z.blueScale=W;break;case 3082:Z.blueShift=W;break;case 3083:Z.blueFuzz=W;break;case 10:Z.stdHW=W;break;case 11:Z.stdVW=W;break;case 3084:Z.stemSnapH=H9(U);break;case 3085:Z.stemSnapV=H9(U);break;case 3089:Z.languageGroup=W;break;case 3090:Z.expansionFactor=W;break;case 19:Z.subrs=W;break;case 22:Z.vsindex=W;break;case 23:Z.blend=U;break}}return Z}function H9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function y_($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint16(),fd:$.uint8()});return $.uint16(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}else if(Z===4){let K=$.uint32(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint32(),fd:$.uint16()});return $.uint32(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}return{format:Z,select:()=>0}}function b_($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint16(),U=[];for(let _=0;_<q;_++)U.push($.uint32());$.seek(Q+J);let W=m_($),H=[];for(let _=0;_<U.length;_++){let N=U[_];$.seek(Q+N),H.push(g_($))}return{format:K,variationRegionList:W,itemVariationData:H}}function m_($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=[];for(let U=0;U<Q;U++)q.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});K.push({axes:q})}return{axisCount:Q,regionCount:Z,regions:K}}function g_($){let Q=$.uint16(),Z=$.uint16(),K=Z&32767,J=(Z&32768)!==0,q=[];for(let W=0;W<K;W++)q.push($.uint16());let U=[];for(let W=0;W<Q;W++){let H=[];for(let _=0;_<K;_++)if(J)H.push($.int32());else H.push($.int16());U.push(H)}return{itemCount:Q,regionIndexCount:K,regionIndexes:q,deltaSets:U}}function u_($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexCount;W++){let H=J.regionIndexes[W];if(H===void 0)continue;let _=$.variationRegionList.regions[H];if(!_)continue;let N=1;for(let V=0;V<_.axes.length;V++){let X=_.axes[V],j=K[V]??0;if(X.peakCoord===0)continue;if(j<X.startCoord||j>X.endCoord){N=0;break}if(j===X.peakCoord)continue;if(j<X.peakCoord)N*=(j-X.startCoord)/(X.peakCoord-X.startCoord);else N*=(X.endCoord-j)/(X.endCoord-X.peakCoord)}U+=N*(q[W]??0)}return Math.round(U)}function iJ($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push({platformId:$.uint16(),encodingId:$.uint16(),offset:$.uint32()});let U=new Map,W=new Set;for(let N=0;N<q.length;N++){let V=q[N];if(W.has(V.offset)){let z=`${V.platformId}-${V.encodingId}`,Y=[...U.entries()];for(let G=0;G<Y.length;G++){let[E,w]=Y[G],A=E.split("@")[0];if(A&&Number.parseInt(A,10)===V.offset){U.set(z,w);break}}continue}W.add(V.offset);let X=$.slice(V.offset,Q-V.offset),j=x_(X);if(j){let z=`${V.platformId}-${V.encodingId}`;U.set(z,j)}}let H=["3-10","0-4","3-1","0-3","0-6","1-0"],_=null;for(let N=0;N<H.length;N++){let V=H[N],X=U.get(V);if(X&&X.format!==14){_=X;break}}if(!_){let N=[...U.values()];for(let V=0;V<N.length;V++){let X=N[V];if(X.format!==14){_=X;break}}}return{version:K,numTables:J,encodingRecords:q,subtables:U,bestSubtable:_}}function x_($){switch($.uint16()){case 0:return f_($);case 4:return l_($);case 12:return d_($);case 14:return n_($);default:return null}}function f_($){let Q=$.uint16(),Z=$.uint16(),K=$.uint8Array(256);return{format:0,glyphIdArray:K,lookup(J){if(J>=0&&J<256)return K[J];return}}}function l_($){let Q=$.uint16(),Z=$.uint16(),J=$.uint16()/2;$.skip(6);let q=$.uint16Array(J);$.skip(2);let U=$.uint16Array(J),W=$.int16Array(J),H=$.offset,_=$.uint16Array(J),V=$.remaining/2,X=$.uint16Array(V),j=(Y)=>{let G=0,E=J-1;while(G<=E){let w=G+E>>>1,F=q[w];if(Y>F)G=w+1;else{let A=U[w];if(Y<A)E=w-1;else{let M=_[w],L=W[w];if(M===0)return Y+L&65535;let T=M/2-(J-w)+(Y-A),B=X[T];if(B===void 0||B===0)return 0;return B+L&65535}}}return},z=new Uint16Array(256);for(let Y=0;Y<256;Y++){let G=j(Y);z[Y]=G!==void 0?G+1:0}return{format:4,segCount:J,endCodes:q,startCodes:U,idDeltas:W,idRangeOffsets:_,glyphIdArray:X,lookup(Y){if(Y<256){let G=z[Y];return G===0?void 0:G-1}if(Y>65535)return;return j(Y)}}}function d_($){$.skip(2);let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Array(K);for(let W=0;W<K;W++)J[W]={startCharCode:$.uint32(),endCharCode:$.uint32(),startGlyphId:$.uint32()};let q=(W)=>{let H=0,_=J.length-1;while(H<=_){let N=H+_>>>1,V=J[N];if(!V)break;if(W>V.endCharCode)H=N+1;else if(W<V.startCharCode)_=N-1;else return V.startGlyphId+(W-V.startCharCode)}return},U=new Uint16Array(128);for(let W=0;W<128;W++){let H=q(W);U[W]=H!==void 0?H+1:0}return{format:12,groups:J,lookup(W){if(W<128){let H=U[W];return H===0?void 0:H-1}return q(W)}}}function n_($){let Q=$.offset-2,Z=$.uint32(),K=$.uint32(),J=[];for(let U=0;U<K;U++)J.push({varSelector:$.uint24(),defaultUVSOffset:$.uint32(),nonDefaultUVSOffset:$.uint32()});let q=[];for(let U=0;U<J.length;U++){let W=J[U],H=null,_=null;if(W.defaultUVSOffset!==0){let N=$.sliceFrom(Q+W.defaultUVSOffset),V=N.uint32();H=[];for(let X=0;X<V;X++)H.push({startUnicodeValue:N.uint24(),additionalCount:N.uint8()})}if(W.nonDefaultUVSOffset!==0){let N=$.sliceFrom(Q+W.nonDefaultUVSOffset),V=N.uint32();_=[];for(let X=0;X<V;X++)_.push({unicodeValue:N.uint24(),glyphId:N.uint16()})}q.push({varSelector:W.varSelector,defaultUVS:H,nonDefaultUVS:_})}return{format:14,varSelectorRecords:q,lookup(U){return},lookupVariation(U,W){let H=0,_=q.length-1,N=null;while(H<=_){let V=H+_>>>1,X=q[V];if(!X)break;if(W>X.varSelector)H=V+1;else if(W<X.varSelector)_=V-1;else{N=X;break}}if(!N)return;if(N.nonDefaultUVS){let V=0,X=N.nonDefaultUVS.length-1;while(V<=X){let j=V+X>>>1,z=N.nonDefaultUVS[j];if(!z)break;if(U>z.unicodeValue)V=j+1;else if(U<z.unicodeValue)X=j-1;else return z.glyphId}}if(N.defaultUVS)for(let V=0;V<N.defaultUVS.length;V++){let X=N.defaultUVS[V],j=X.startUnicodeValue+X.additionalCount;if(U>=X.startUnicodeValue&&U<=j)return"default"}return}}}function sJ($,Q){return $.bestSubtable?.lookup(Q)??0}var aJ;((R)=>{R[R.ColrLayers=1]="ColrLayers";R[R.Solid=2]="Solid";R[R.VarSolid=3]="VarSolid";R[R.LinearGradient=4]="LinearGradient";R[R.VarLinearGradient=5]="VarLinearGradient";R[R.RadialGradient=6]="RadialGradient";R[R.VarRadialGradient=7]="VarRadialGradient";R[R.SweepGradient=8]="SweepGradient";R[R.VarSweepGradient=9]="VarSweepGradient";R[R.Glyph=10]="Glyph";R[R.ColrGlyph=11]="ColrGlyph";R[R.Transform=12]="Transform";R[R.VarTransform=13]="VarTransform";R[R.Translate=14]="Translate";R[R.VarTranslate=15]="VarTranslate";R[R.Scale=16]="Scale";R[R.VarScale=17]="VarScale";R[R.ScaleAroundCenter=18]="ScaleAroundCenter";R[R.VarScaleAroundCenter=19]="VarScaleAroundCenter";R[R.ScaleUniform=20]="ScaleUniform";R[R.VarScaleUniform=21]="VarScaleUniform";R[R.ScaleUniformAroundCenter=22]="ScaleUniformAroundCenter";R[R.VarScaleUniformAroundCenter=23]="VarScaleUniformAroundCenter";R[R.Rotate=24]="Rotate";R[R.VarRotate=25]="VarRotate";R[R.RotateAroundCenter=26]="RotateAroundCenter";R[R.VarRotateAroundCenter=27]="VarRotateAroundCenter";R[R.Skew=28]="Skew";R[R.VarSkew=29]="VarSkew";R[R.SkewAroundCenter=30]="SkewAroundCenter";R[R.VarSkewAroundCenter=31]="VarSkewAroundCenter";R[R.Composite=32]="Composite"})(aJ||={});var rJ;((K)=>{K[K.Pad=0]="Pad";K[K.Repeat=1]="Repeat";K[K.Reflect=2]="Reflect"})(rJ||={});var tJ;((v)=>{v[v.Clear=0]="Clear";v[v.Src=1]="Src";v[v.Dest=2]="Dest";v[v.SrcOver=3]="SrcOver";v[v.DestOver=4]="DestOver";v[v.SrcIn=5]="SrcIn";v[v.DestIn=6]="DestIn";v[v.SrcOut=7]="SrcOut";v[v.DestOut=8]="DestOut";v[v.SrcAtop=9]="SrcAtop";v[v.DestAtop=10]="DestAtop";v[v.Xor=11]="Xor";v[v.Plus=12]="Plus";v[v.Screen=13]="Screen";v[v.Overlay=14]="Overlay";v[v.Darken=15]="Darken";v[v.Lighten=16]="Lighten";v[v.ColorDodge=17]="ColorDodge";v[v.ColorBurn=18]="ColorBurn";v[v.HardLight=19]="HardLight";v[v.SoftLight=20]="SoftLight";v[v.Difference=21]="Difference";v[v.Exclusion=22]="Exclusion";v[v.Multiply=23]="Multiply";v[v.Hue=24]="Hue";v[v.Saturation=25]="Saturation";v[v.Color=26]="Color";v[v.Luminosity=27]="Luminosity"})(tJ||={});function s5($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint32(),U=$.uint16(),W=[];if(J!==0&&K>0){$.seek(Q+J);for(let N=0;N<K;N++)W.push({glyphId:$.uint16(),firstLayerIndex:$.uint16(),numLayers:$.uint16()})}let H=[];if(q!==0&&U>0){$.seek(Q+q);for(let N=0;N<U;N++)H.push({glyphId:$.uint16(),paletteIndex:$.uint16()})}let _={version:Z,baseGlyphRecords:W,layerRecords:H};if(Z>=1){$.seek(Q+14);let N=$.uint32(),V=$.uint32(),X=$.uint32(),j=$.uint32(),z=$.uint32();if(N!==0){let Y=Q+N;$.seek(Y);let G=$.uint32();_.baseGlyphPaintRecords=[];for(let E=0;E<G;E++){let w=$.uint16(),F=$.uint32(),A=$.offset;$.seek(Y+F);let M=k6($,Q);$.seek(A),_.baseGlyphPaintRecords.push({glyphId:w,paint:M})}}if(V!==0){$.seek(Q+V);let Y=$.uint32(),G=[];for(let E=0;E<Y;E++)G.push($.uint32());_.layerList=[];for(let E=0;E<G.length;E++){let w=G[E];$.seek(Q+V+w),_.layerList.push(k6($,Q))}}if(X!==0)$.seek(Q+X),_.clipList=p_($,Q);if(j!==0)$.seek(Q+j),_.varIdxMap=c_($);if(z!==0)$.seek(Q+z),_.itemVariationStore=i_($)}return _}function k6($,Q){let Z=$.offset,K=$.uint8();switch(K){case 1:return{format:K,numLayers:$.uint8(),firstLayerIndex:$.uint32()};case 2:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14()};case 3:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14(),varIndexBase:$.uint32()};case 4:case 5:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.fword(),V=$.offset;$.seek(Z+J);let X=i5($);return $.seek(V),{format:K,colorLine:X,x0:q,y0:U,x1:W,y1:H,x2:_,y2:N}}case 6:case 7:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.ufword(),H=$.fword(),_=$.fword(),N=$.ufword(),V=$.offset;$.seek(Z+J);let X=i5($);return $.seek(V),{format:K,colorLine:X,x0:q,y0:U,radius0:W,x1:H,y1:_,radius1:N}}case 8:case 9:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.f2dot14(),H=$.f2dot14(),_=$.offset;$.seek(Z+J);let N=i5($);return $.seek(_),{format:K,colorLine:N,centerX:q,centerY:U,startAngle:W,endAngle:H}}case 10:{let J=$.uint24(),q=$.uint16(),U=$.offset;$.seek(Z+J);let W=k6($,Q);return $.seek(U),{format:K,paint:W,glyphId:q}}case 11:return{format:K,glyphId:$.uint16()};case 12:case 13:{let J=$.uint24(),q=$.uint24();$.seek(Z+q);let U={xx:$.fixed(),yx:$.fixed(),xy:$.fixed(),yy:$.fixed(),dx:$.fixed(),dy:$.fixed()};$.seek(Z+J);let W=k6($,Q);return{format:K,paint:W,transform:U}}case 14:case 15:{let J=$.uint24(),q=$.fword(),U=$.fword();$.seek(Z+J);let W=k6($,Q);return{format:K,paint:W,dx:q,dy:U}}case 16:case 17:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=k6($,Q);return{format:K,paint:W,scaleX:q,scaleY:U}}case 18:case 19:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=k6($,Q);return{format:K,paint:_,scaleX:q,scaleY:U,centerX:W,centerY:H}}case 20:case 21:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=k6($,Q);return{format:K,paint:U,scaleX:q,scaleY:q}}case 22:case 23:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=k6($,Q);return{format:K,paint:H,scaleX:q,scaleY:q,centerX:U,centerY:W}}case 24:case 25:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=k6($,Q);return{format:K,paint:U,angle:q}}case 26:case 27:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=k6($,Q);return{format:K,paint:H,angle:q,centerX:U,centerY:W}}case 28:case 29:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=k6($,Q);return{format:K,paint:W,xSkewAngle:q,ySkewAngle:U}}case 30:case 31:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=k6($,Q);return{format:K,paint:_,xSkewAngle:q,ySkewAngle:U,centerX:W,centerY:H}}case 32:{let J=$.uint24(),q=$.uint8(),U=$.uint24();$.seek(Z+J);let W=k6($,Q);$.seek(Z+U);let H=k6($,Q);return{format:K,sourcePaint:W,compositeMode:q,backdropPaint:H}}default:throw Error(`Unknown paint format: ${K}`)}}function i5($){let Q=$.uint8(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({stopOffset:$.f2dot14(),paletteIndex:$.uint16(),alpha:$.f2dot14()});return{extend:Q,colorStops:K}}function p_($,Q){let Z=$.offset,K=$.uint8(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint16(),H=$.uint16(),_=$.uint24(),N=$.offset;$.seek(Z+_);let V=$.uint8(),X={format:V,xMin:$.fword(),yMin:$.fword(),xMax:$.fword(),yMax:$.fword()};if(V===2)X.varIndexBase=$.uint32();$.seek(N),q.push({startGlyphId:W,endGlyphId:H,clipBox:X})}return q}function eJ($,Q){let Z=$.baseGlyphRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q){let W=[];for(let H=0;H<U.numLayers;H++){let _=$.layerRecords[U.firstLayerIndex+H];if(_)W.push(_)}return W}else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function $q($,Q){if(!$.baseGlyphPaintRecords)return null;let Z=$.baseGlyphPaintRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q)return U.paint;else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function o_($,Q){return eJ($,Q)!==null||$q($,Q)!==null}function c_($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&15)+1,U=Math.ceil((J+q)/8),W=[];for(let H=0;H<K;H++){let _=0;for(let j=0;j<U;j++)_=_<<8|$.uint8();let N=(1<<J)-1,V=_&N,X=_>>J;W.push(X<<16|V)}return W}function i_($){let Q=$.offset,Z=$.uint16(),K=$.uint32(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push($.uint32());$.seek(Q+K);let U=$.uint16(),W=$.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<q.length;N++){let V=q[N];$.seek(Q+V);let X=$.uint16(),j=$.uint16(),z=$.uint16(),Y=[];for(let F=0;F<z;F++)Y.push($.uint16());let G=(j&32768)!==0,E=j&32767,w=[];for(let F=0;F<X;F++){let A=[];for(let M=0;M<z;M++)if(M<E)A.push(G?$.int32():$.int16());else A.push(G?$.int16():$.int8());w.push(A)}_.push({itemCount:X,wordDeltaCount:j,regionIndexCount:z,regionIndexes:Y,deltaSets:w})}return{format:Z,variationRegionListOffset:K,itemVariationDataCount:J,itemVariationDataOffsets:q,variationRegions:H,itemVariationData:_}}function s_($,Q){if(!$.clipList)return null;for(let Z=0;Z<$.clipList.length;Z++){let K=$.clipList[Z];if(Q>=K.startGlyphId&&Q<=K.endGlyphId)return K.clipBox}return null}function a_($,Q,Z){if(!$.itemVariationStore||!$.varIdxMap)return 0;let K=$.varIdxMap[Q];if(K===void 0)return 0;let J=K>>16,q=K&65535,U=$.itemVariationStore,W=U.itemVariationData[J];if(!W)return 0;let H=W.deltaSets[q];if(!H)return 0;let _=0;for(let N=0;N<W.regionIndexCount;N++){let V=W.regionIndexes[N];if(V===void 0)continue;let X=U.variationRegions[V];if(!X)continue;let j=1;for(let Y=0;Y<X.regionAxes.length&&Y<Z.length;Y++){let G=X.regionAxes[Y],E=Z[Y];if(G===void 0||E===void 0)continue;if(j*=r_(E,G.startCoord,G.peakCoord,G.endCoord),j===0)break}let z=H[N];if(z!==void 0)_+=z*j}return _}function r_($,Q,Z,K){if(Q===0&&Z===0&&K===0)return 1;if($===Z)return 1;if($<Q||$>K)return 0;if($<Z){if(Q===Z)return 1;return($-Q)/(Z-Q)}else{if(Z===K)return 1;return(K-$)/(K-Z)}}function t_($){return $.version>=1&&$.baseGlyphPaintRecords!==void 0}function e_($,Q){return $.layerList?.[Q]??null}var Qq;((Z)=>{Z[Z.UsableWithLightBackground=1]="UsableWithLightBackground";Z[Z.UsableWithDarkBackground=2]="UsableWithDarkBackground"})(Qq||={});function a5($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint32(),W=[];for(let j=0;j<J;j++)W.push($.uint16());$.seek(Q+U);let H=[];for(let j=0;j<q;j++)H.push({blue:$.uint8(),green:$.uint8(),red:$.uint8(),alpha:$.uint8()});let _=[];for(let j=0;j<J;j++){let z=W[j];if(z===void 0)continue;let Y=[];for(let G=0;G<K;G++){let E=H[z+G];if(E)Y.push(E)}_.push({colors:Y})}let N,V,X;if(Z>=1){$.seek(Q+12+J*2);let j=$.uint32(),z=$.uint32(),Y=$.uint32();if(j!==0){$.seek(Q+j),N=[];for(let G=0;G<J;G++)N.push($.uint32())}if(z!==0){$.seek(Q+z),V=[];for(let G=0;G<J;G++)V.push($.uint16())}if(Y!==0){$.seek(Q+Y),X=[];for(let G=0;G<K;G++)X.push($.uint16())}}return{version:Z,numPalettes:J,numPaletteEntries:K,palettes:_,paletteTypes:N,paletteLabels:V,paletteEntryLabels:X}}function $N($,Q,Z){let K=$.palettes[Q];if(!K)return null;return K.colors[Z]??null}function QN($){return`rgba(${$.red}, ${$.green}, ${$.blue}, ${($.alpha/255).toFixed(3)})`}function ZN($){let Q=$.red.toString(16).padStart(2,"0"),Z=$.green.toString(16).padStart(2,"0"),K=$.blue.toString(16).padStart(2,"0");if($.alpha===255)return`#${Q}${Z}${K}`;let J=$.alpha.toString(16).padStart(2,"0");return`#${Q}${Z}${K}${J}`}var Zq;((g)=>{g[g.AllTypographicFeatures=0]="AllTypographicFeatures";g[g.Ligatures=1]="Ligatures";g[g.CursiveConnection=2]="CursiveConnection";g[g.LetterCase=3]="LetterCase";g[g.VerticalSubstitution=4]="VerticalSubstitution";g[g.LinguisticRearrangement=5]="LinguisticRearrangement";g[g.NumberSpacing=6]="NumberSpacing";g[g.SmartSwashes=8]="SmartSwashes";g[g.Diacritics=9]="Diacritics";g[g.VerticalPosition=10]="VerticalPosition";g[g.Fractions=11]="Fractions";g[g.OverlappingCharacters=13]="OverlappingCharacters";g[g.TypographicExtras=14]="TypographicExtras";g[g.MathematicalExtras=15]="MathematicalExtras";g[g.OrnamentSets=16]="OrnamentSets";g[g.CharacterAlternatives=17]="CharacterAlternatives";g[g.DesignComplexity=18]="DesignComplexity";g[g.StyleOptions=19]="StyleOptions";g[g.CharacterShape=20]="CharacterShape";g[g.NumberCase=21]="NumberCase";g[g.TextSpacing=22]="TextSpacing";g[g.Transliteration=23]="Transliteration";g[g.Annotation=24]="Annotation";g[g.KanaSpacing=25]="KanaSpacing";g[g.IdeographicSpacing=26]="IdeographicSpacing";g[g.UnicodeDecomposition=27]="UnicodeDecomposition";g[g.RubyKana=28]="RubyKana";g[g.CJKSymbolAlternatives=29]="CJKSymbolAlternatives";g[g.IdeographicAlternatives=30]="IdeographicAlternatives";g[g.CJKVerticalRomanPlacement=31]="CJKVerticalRomanPlacement";g[g.ItalicCJKRoman=32]="ItalicCJKRoman";g[g.CaseSensitiveLayout=33]="CaseSensitiveLayout";g[g.AlternateKana=34]="AlternateKana";g[g.StylisticAlternatives=35]="StylisticAlternatives";g[g.ContextualAlternatives=36]="ContextualAlternatives";g[g.LowerCase=37]="LowerCase";g[g.UpperCase=38]="UpperCase";g[g.LanguageTag=39]="LanguageTag";g[g.CJKRomanSpacing=103]="CJKRomanSpacing"})(Zq||={});var Kq;((L)=>{L[L.RequiredLigaturesOn=0]="RequiredLigaturesOn";L[L.RequiredLigaturesOff=1]="RequiredLigaturesOff";L[L.CommonLigaturesOn=2]="CommonLigaturesOn";L[L.CommonLigaturesOff=3]="CommonLigaturesOff";L[L.RareLigaturesOn=4]="RareLigaturesOn";L[L.RareLigaturesOff=5]="RareLigaturesOff";L[L.LogosOn=6]="LogosOn";L[L.LogosOff=7]="LogosOff";L[L.RebusPicturesOn=8]="RebusPicturesOn";L[L.RebusPicturesOff=9]="RebusPicturesOff";L[L.DiphthongLigaturesOn=10]="DiphthongLigaturesOn";L[L.DiphthongLigaturesOff=11]="DiphthongLigaturesOff";L[L.SquaredLigaturesOn=12]="SquaredLigaturesOn";L[L.SquaredLigaturesOff=13]="SquaredLigaturesOff";L[L.AbbrevSquaredLigaturesOn=14]="AbbrevSquaredLigaturesOn";L[L.AbbrevSquaredLigaturesOff=15]="AbbrevSquaredLigaturesOff";L[L.SymbolLigaturesOn=16]="SymbolLigaturesOn";L[L.SymbolLigaturesOff=17]="SymbolLigaturesOff";L[L.ContextualLigaturesOn=18]="ContextualLigaturesOn";L[L.ContextualLigaturesOff=19]="ContextualLigaturesOff";L[L.HistoricalLigaturesOn=20]="HistoricalLigaturesOn";L[L.HistoricalLigaturesOff=21]="HistoricalLigaturesOff"})(Kq||={});var Jq;((q)=>{q[q.NormalPosition=0]="NormalPosition";q[q.Superiors=1]="Superiors";q[q.Inferiors=2]="Inferiors";q[q.Ordinals=3]="Ordinals";q[q.ScientificInferiors=4]="ScientificInferiors"})(Jq||={});var qq;((Z)=>{Z[Z.LowerCaseNumbers=0]="LowerCaseNumbers";Z[Z.UpperCaseNumbers=1]="UpperCaseNumbers"})(qq||={});var Uq;((J)=>{J[J.MonospacedNumbers=0]="MonospacedNumbers";J[J.ProportionalNumbers=1]="ProportionalNumbers";J[J.ThirdWidthNumbers=2]="ThirdWidthNumbers";J[J.QuarterWidthNumbers=3]="QuarterWidthNumbers"})(Uq||={});var Wq;((K)=>{K[K.NoFractions=0]="NoFractions";K[K.VerticalFractions=1]="VerticalFractions";K[K.DiagonalFractions=2]="DiagonalFractions"})(Wq||={});var Hq;((J)=>{J[J.CaseSensitiveLayoutOn=0]="CaseSensitiveLayoutOn";J[J.CaseSensitiveLayoutOff=1]="CaseSensitiveLayoutOff";J[J.CaseSensitiveSpacingOn=2]="CaseSensitiveSpacingOn";J[J.CaseSensitiveSpacingOff=3]="CaseSensitiveSpacingOff"})(Hq||={});var _q;((S)=>{S[S.NoStylisticAlternates=0]="NoStylisticAlternates";S[S.StylisticAltOneOn=2]="StylisticAltOneOn";S[S.StylisticAltOneOff=3]="StylisticAltOneOff";S[S.StylisticAltTwoOn=4]="StylisticAltTwoOn";S[S.StylisticAltTwoOff=5]="StylisticAltTwoOff";S[S.StylisticAltThreeOn=6]="StylisticAltThreeOn";S[S.StylisticAltThreeOff=7]="StylisticAltThreeOff";S[S.StylisticAltFourOn=8]="StylisticAltFourOn";S[S.StylisticAltFourOff=9]="StylisticAltFourOff";S[S.StylisticAltFiveOn=10]="StylisticAltFiveOn";S[S.StylisticAltFiveOff=11]="StylisticAltFiveOff";S[S.StylisticAltSixOn=12]="StylisticAltSixOn";S[S.StylisticAltSixOff=13]="StylisticAltSixOff";S[S.StylisticAltSevenOn=14]="StylisticAltSevenOn";S[S.StylisticAltSevenOff=15]="StylisticAltSevenOff";S[S.StylisticAltEightOn=16]="StylisticAltEightOn";S[S.StylisticAltEightOff=17]="StylisticAltEightOff";S[S.StylisticAltNineOn=18]="StylisticAltNineOn";S[S.StylisticAltNineOff=19]="StylisticAltNineOff";S[S.StylisticAltTenOn=20]="StylisticAltTenOn";S[S.StylisticAltTenOff=21]="StylisticAltTenOff";S[S.StylisticAltElevenOn=22]="StylisticAltElevenOn";S[S.StylisticAltElevenOff=23]="StylisticAltElevenOff";S[S.StylisticAltTwelveOn=24]="StylisticAltTwelveOn";S[S.StylisticAltTwelveOff=25]="StylisticAltTwelveOff";S[S.StylisticAltThirteenOn=26]="StylisticAltThirteenOn";S[S.StylisticAltThirteenOff=27]="StylisticAltThirteenOff";S[S.StylisticAltFourteenOn=28]="StylisticAltFourteenOn";S[S.StylisticAltFourteenOff=29]="StylisticAltFourteenOff";S[S.StylisticAltFifteenOn=30]="StylisticAltFifteenOn";S[S.StylisticAltFifteenOff=31]="StylisticAltFifteenOff";S[S.StylisticAltSixteenOn=32]="StylisticAltSixteenOn";S[S.StylisticAltSixteenOff=33]="StylisticAltSixteenOff";S[S.StylisticAltSeventeenOn=34]="StylisticAltSeventeenOn";S[S.StylisticAltSeventeenOff=35]="StylisticAltSeventeenOff";S[S.StylisticAltEighteenOn=36]="StylisticAltEighteenOn";S[S.StylisticAltEighteenOff=37]="StylisticAltEighteenOff";S[S.StylisticAltNineteenOn=38]="StylisticAltNineteenOn";S[S.StylisticAltNineteenOff=39]="StylisticAltNineteenOff";S[S.StylisticAltTwentyOn=40]="StylisticAltTwentyOn";S[S.StylisticAltTwentyOff=41]="StylisticAltTwentyOff"})(_q||={});var Nq;((U)=>{U[U.ContextualAlternatesOn=0]="ContextualAlternatesOn";U[U.ContextualAlternatesOff=1]="ContextualAlternatesOff";U[U.SwashAlternatesOn=2]="SwashAlternatesOn";U[U.SwashAlternatesOff=3]="SwashAlternatesOff";U[U.ContextualSwashAlternatesOn=4]="ContextualSwashAlternatesOn";U[U.ContextualSwashAlternatesOff=5]="ContextualSwashAlternatesOff"})(Nq||={});var Vq;((K)=>{K[K.DefaultLowerCase=0]="DefaultLowerCase";K[K.LowerCaseSmallCaps=1]="LowerCaseSmallCaps";K[K.LowerCasePetiteCaps=2]="LowerCasePetiteCaps"})(Vq||={});var Xq;((K)=>{K[K.DefaultUpperCase=0]="DefaultUpperCase";K[K.UpperCaseSmallCaps=1]="UpperCaseSmallCaps";K[K.UpperCasePetiteCaps=2]="UpperCasePetiteCaps"})(Xq||={});var jq;((N)=>{N[N.WordInitialSwashesOn=0]="WordInitialSwashesOn";N[N.WordInitialSwashesOff=1]="WordInitialSwashesOff";N[N.WordFinalSwashesOn=2]="WordFinalSwashesOn";N[N.WordFinalSwashesOff=3]="WordFinalSwashesOff";N[N.LineInitialSwashesOn=4]="LineInitialSwashesOn";N[N.LineInitialSwashesOff=5]="LineInitialSwashesOff";N[N.LineFinalSwashesOn=6]="LineFinalSwashesOn";N[N.LineFinalSwashesOff=7]="LineFinalSwashesOff";N[N.NonFinalSwashesOn=8]="NonFinalSwashesOn";N[N.NonFinalSwashesOff=9]="NonFinalSwashesOff"})(jq||={});var zq;((K)=>{K[K.ShowDiacritics=0]="ShowDiacritics";K[K.HideDiacritics=1]="HideDiacritics";K[K.DecomposeDiacritics=2]="DecomposeDiacritics"})(zq||={});var Yq;((z)=>{z[z.TraditionalCharacters=0]="TraditionalCharacters";z[z.SimplifiedCharacters=1]="SimplifiedCharacters";z[z.JIS1978Characters=2]="JIS1978Characters";z[z.JIS1983Characters=3]="JIS1983Characters";z[z.JIS1990Characters=4]="JIS1990Characters";z[z.TraditionalAltOne=5]="TraditionalAltOne";z[z.TraditionalAltTwo=6]="TraditionalAltTwo";z[z.TraditionalAltThree=7]="TraditionalAltThree";z[z.TraditionalAltFour=8]="TraditionalAltFour";z[z.TraditionalAltFive=9]="TraditionalAltFive";z[z.ExpertCharacters=10]="ExpertCharacters";z[z.NLCCharacters=13]="NLCCharacters";z[z.JIS2004Characters=11]="JIS2004Characters";z[z.HojoCharacters=12]="HojoCharacters"})(Yq||={});var Gq;((Z)=>{Z[Z.Exclusive=32768]="Exclusive";Z[Z.UseDefault=16384]="UseDefault"})(Gq||={});function r5($){let Q=$.offset,Z=$.fixed(),K=$.uint16();$.skip(2),$.skip(4);let J=[];for(let q=0;q<K;q++){let U=$.uint16(),W=$.uint16(),H=$.offset32(),_=$.uint16(),N=_&255,V=$.uint16(),X=[],j=$.offset;$.seek(Q+H);for(let z=0;z<W;z++)X.push({settingValue:$.uint16(),nameId:$.uint16()});$.seek(j),J.push({featureType:U,nSettings:W,settingTableOffset:H,featureFlags:_,defaultSettingIndex:N,nameId:V,settings:X})}return{version:Z,features:J}}function KN($,Q){return $.features.find((Z)=>Z.featureType===Q)}function JN($){return $.features}function qN($){return($.featureFlags&32768)!==0}function UN($){return $.settings[$.defaultSettingIndex]}function WN($,Q){return $.settings.find((Z)=>Z.settingValue===Q)}function HN($,Q){return $.settings.some((Z)=>Z.settingValue===Q)}function _N($,Q){switch($){case 1:switch(Q){case 2:return"liga";case 4:return"dlig";case 20:return"hlig";case 18:return"clig";case 0:return"rlig"}break;case 10:switch(Q){case 1:return"sups";case 2:return"subs";case 3:return"ordn";case 4:return"sinf"}break;case 11:if(Q===1||Q===2)return"frac";break;case 21:switch(Q){case 0:return"onum";case 1:return"lnum"}break;case 6:switch(Q){case 0:return"tnum";case 1:return"pnum"}break;case 33:if(Q===0)return"case";break;case 37:switch(Q){case 1:return"smcp";case 2:return"pcap"}break;case 38:switch(Q){case 1:return"c2sc";case 2:return"c2pc"}break;case 8:if(Q===0||Q===2)return"swsh";break;case 36:switch(Q){case 0:return"calt";case 2:return"swsh"}break;case 35:if(Q>=2&&Q<=41){let Z=Math.floor((Q-2)/2)+1;if(Z<=20)return`ss${Z.toString().padStart(2,"0")}`}break;case 20:switch(Q){case 0:return"trad";case 1:return"smpl";case 2:return"jp78";case 3:return"jp83";case 4:return"jp90";case 11:return"jp04";case 13:return"nlck";case 10:return"expt";case 12:return"hojo"}break;case 4:return"vert";case 24:return"nalt";case 28:return"ruby"}return null}function NN($){switch($){case"liga":return{featureType:1,settingValue:2};case"dlig":return{featureType:1,settingValue:4};case"hlig":return{featureType:1,settingValue:20};case"clig":return{featureType:1,settingValue:18};case"rlig":return{featureType:1,settingValue:0};case"sups":return{featureType:10,settingValue:1};case"subs":return{featureType:10,settingValue:2};case"ordn":return{featureType:10,settingValue:3};case"sinf":return{featureType:10,settingValue:4};case"frac":return{featureType:11,settingValue:2};case"onum":return{featureType:21,settingValue:0};case"lnum":return{featureType:21,settingValue:1};case"tnum":return{featureType:6,settingValue:0};case"pnum":return{featureType:6,settingValue:1};case"case":return{featureType:33,settingValue:0};case"smcp":return{featureType:37,settingValue:1};case"pcap":return{featureType:37,settingValue:2};case"c2sc":return{featureType:38,settingValue:1};case"c2pc":return{featureType:38,settingValue:2};case"swsh":return{featureType:8,settingValue:0};case"calt":return{featureType:36,settingValue:0};case"trad":return{featureType:20,settingValue:0};case"smpl":return{featureType:20,settingValue:1};case"jp78":return{featureType:20,settingValue:2};case"jp83":return{featureType:20,settingValue:3};case"jp90":return{featureType:20,settingValue:4};case"jp04":return{featureType:20,settingValue:11};case"nlck":return{featureType:20,settingValue:13};case"expt":return{featureType:20,settingValue:10};case"hojo":return{featureType:20,settingValue:12};case"vert":return{featureType:4,settingValue:0};case"nalt":return{featureType:24,settingValue:0};case"ruby":return{featureType:28,settingValue:0}}if($.startsWith("ss")&&$.length===4){let Q=parseInt($.slice(2),10);if(Q>=1&&Q<=20)return{featureType:35,settingValue:(Q-1)*2+2}}return null}var s9={GridFit:1,DoGray:2,SymmetricGridFit:4,SymmetricSmoothing:8};function t5($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16();K.push({maxPPEM:q,behavior:U})}return K.sort((J,q)=>J.maxPPEM-q.maxPPEM),{version:Q,ranges:K}}function e5($,Q){for(let Z=0;Z<$.ranges.length;Z++){let K=$.ranges[Z];if(Q<=K.maxPPEM)return K.behavior}if($.ranges.length>0)return $.ranges[$.ranges.length-1]?.behavior;return s9.GridFit|s9.DoGray}function VN($,Q){return(e5($,Q)&s9.GridFit)!==0}function XN($,Q){return(e5($,Q)&s9.DoGray)!==0}class L8{startGlyphId;classValueArray;ranges;glyphMap;isEmpty;constructor($,Q,Z,K,J){this.startGlyphId=$,this.classValueArray=Q,this.ranges=Z,this.glyphMap=K,this.isEmpty=J}static empty(){return new L8(0,null,null,null,!0)}static format1($,Q){return new L8($,Q,null,null,!1)}static format2($){let Q=0;for(let K=0;K<$.length;K++){let J=$[K];Q+=J.endGlyphId-J.startGlyphId+1}let Z=null;if(Q<1e4){Z=new Map;for(let K=0;K<$.length;K++){let J=$[K];for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Z.set(q,J.classValue)}}return new L8(0,null,$,Z,!1)}get($){if(this.isEmpty)return 0;if(this.classValueArray){let J=$-this.startGlyphId;return J>=0&&J<this.classValueArray.length?this.classValueArray[J]:0}if(this.glyphMap)return this.glyphMap.get($)??0;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.classValue}return 0}glyphsInClass($){if(this.isEmpty)return[];if(this.classValueArray){let K=[];for(let J=0;J<this.classValueArray.length;J++)if(this.classValueArray[J]===$)K.push(this.startGlyphId+J);return K}let Q=[],Z=this.ranges;for(let K=0;K<Z.length;K++){let J=Z[K];if(J.classValue===$)for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Q.push(q)}return Q}}var Eq=L8.empty();function wq($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K);return L8.format1(Z,J)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),classValue:$.uint16()};return L8.format2(K)}throw Error(`Unknown ClassDef format: ${Q}`)}function B6($,Q){if(Q===0)return Eq;return wq($.sliceFrom(Q))}function Aq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16(),U=$.offset16(),W=0;if(Q===1&&Z>=2)W=$.offset16();let H=B6($,K),_=null;if(J!==0)_=jN($.sliceFrom(J));let N=null;if(q!==0)N=zN($.sliceFrom(q));let V=B6($,U),X=null;if(W!==0)X=YN($.sliceFrom(W));return{version:{major:Q,minor:Z},glyphClassDef:H,attachList:_,ligCaretList:N,markAttachClassDef:V,markGlyphSets:X}}function jN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let X=N;X<=V;X++)U.push(X)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),X=V.uint16(),j=V.uint16Array(X),z=Array(j.length);for(let Y=0;Y<j.length;Y++)z[Y]=j[Y];W.set(N,{pointIndices:z})}return W}function zN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let X=N;X<=V;X++)U.push(X)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),X=V.uint16(),j=V.uint16Array(X),z=[];for(let Y=0;Y<j.length;Y++){let G=j[Y],E=$.sliceFrom(_+G),w=E.uint16();if(w===1)z.push(E.int16());else if(w===2)z.push(E.uint16());else if(w===3)z.push(E.int16())}W.set(N,{caretValues:z})}return W}function YN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint32Array(Z),J=[];for(let q=0;q<K.length;q++){let U=K[q],W=$.sliceFrom(U),H=W.uint16(),_=new Set;if(H===1){let N=W.uint16();for(let V=0;V<N;V++)_.add(W.uint16())}else if(H===2){let N=W.uint16();for(let V=0;V<N;V++){let X=W.uint16(),j=W.uint16();W.skip(2);for(let z=X;z<=j;z++)_.add(z)}}J.push(_)}return{has(q,U){let W=J[q];return W?W.has(U):!1}}}function H8($,Q){if(!$)return 0;return $.glyphClassDef.get(Q)}class _9{glyphMap;ranges;glyphArray;size;constructor($,Q,Z,K){this.glyphMap=$,this.ranges=Q,this.glyphArray=Z,this.size=K}static format1($){let Q=new Map;for(let Z=0;Z<$.length;Z++)Q.set($[Z],Z);return new _9(Q,null,$,$.length)}static format2($){let Q=0;if($.length>0){let Z=$[$.length-1];if(Z)Q=Z.startCoverageIndex+(Z.endGlyphId-Z.startGlyphId+1)}return new _9(null,$,null,Q)}get($){if(this.glyphMap)return this.glyphMap.get($)??null;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.startCoverageIndex+($-q.startGlyphId)}return null}covers($){return this.get($)!==null}glyphs(){if(this.glyphArray){let Z=this.glyphArray,K=Array(Z.length);for(let J=0;J<Z.length;J++)K[J]=Z[J];return K}let $=[],Q=this.ranges;for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.startGlyphId;J<=K.endGlyphId;J++)$.push(J)}return $}}function Fq($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16Array(Z);return _9.format1(K)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),startCoverageIndex:$.uint16()};return _9.format2(K)}throw Error(`Unknown Coverage format: ${Q}`)}function i($,Q){return Fq($.sliceFrom(Q))}function Lq($){return"deltaSetOuterIndex"in $}function x8($,Q){if(Q===0)return null;return GN($.sliceFrom(Q))}function GN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16();if(K===32768)return{deltaSetOuterIndex:Q,deltaSetInnerIndex:Z};let J=[];if(K>=1&&K<=3){let q=Z-Q+1,U=1<<K,W=16/U,H=(1<<U)-1,_=1<<U-1,N=Math.ceil(q/W),V=0;for(let X=0;X<N;X++){let j=$.uint16();for(let z=0;z<W&&V<q;z++,V++){let Y=16-U*(z+1),G=j>>Y&H;if(G&_)G=G-(1<<U);J.push(G)}}}return{startSize:Q,endSize:Z,deltaFormat:K,deltaValues:J}}function Dq($,Q){if(Q<$.startSize||Q>$.endSize)return 0;let Z=Q-$.startSize;return $.deltaValues[Z]??0}function EN($,Q,Z){if(!$)return Q;if(Lq($))return Q;return Q+Dq($,Z)}var b6={RightToLeft:1,IgnoreBaseGlyphs:2,IgnoreLigatures:4,IgnoreMarks:8,UseMarkFilteringSet:16,MarkAttachmentTypeMask:65280};function c0($){return($&b6.MarkAttachmentTypeMask)>>8}function a9($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=wN(U);K.push({scriptTag:q.tag,script:W})}return{scripts:K}}function wN($){let Q=$.offset16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({tag:$.tag(),offset:$.offset16()});let J=null;if(Q!==0)J=Mq($.sliceFrom(Q));let q=[];for(let U=0;U<K.length;U++){let W=K[U],H=Mq($.sliceFrom(W.offset));q.push({langSysTag:W.tag,langSys:H})}return{defaultLangSys:J,langSysRecords:q}}function Mq($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let U=0;U<K;U++)q[U]=J[U];return{requiredFeatureIndex:Z,featureIndices:q}}function r9($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=AN(U);K.push({featureTag:q.tag,feature:W})}return{features:K}}function AN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=Array(Z);for(let q=0;q<Z;q++)J[q]=K[q];return{featureParamsOffset:Q,lookupListIndices:J}}function FN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q);K.push(LN(U))}return K}function LN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let W=0;W<K;W++)q[W]=J[W];let U;if(Z&b6.UseMarkFilteringSet)U=$.uint16();return{lookupType:Q,lookupFlag:Z,subtableOffsets:q,markFilteringSet:U}}function t9($,Q){for(let Z=0;Z<$.scripts.length;Z++){let K=$.scripts[Z];if(K.scriptTag===Q)return K.script}return null}function $$($,Q){if(Q===null)return $.defaultLangSys;for(let Z=0;Z<$.langSysRecords.length;Z++){let K=$.langSysRecords[Z];if(K.langSysTag===Q)return K.langSys}return $.defaultLangSys}function i0($,Q){return $.features[Q]??null}class _6{mask0=0;mask1=0;mask2=0;add($){this.mask0|=1<<($&31),this.mask1|=1<<($>>4&31),this.mask2|=1<<($>>9&31)}addRange($,Q){if(Q-$<32)for(let Z=$;Z<=Q;Z++)this.add(Z);else this.mask0=4294967295,this.mask1=4294967295,this.mask2=4294967295}mayHave($){return(this.mask0&1<<($&31))!==0&&(this.mask1&1<<($>>4&31))!==0&&(this.mask2&1<<($>>9&31))!==0}addCoverage($){let Q=$.glyphs();for(let Z=0;Z<Q.length;Z++){let K=Q[Z];this.add(K)}}mayIntersect($){return(this.mask0&$.mask0)!==0&&(this.mask1&$.mask1)!==0&&(this.mask2&$.mask2)!==0}getMasks(){return{mask0:this.mask0,mask1:this.mask1,mask2:this.mask2}}}function DN($){let Q=new _6;for(let Z=0;Z<$.length;Z++){let K=$[Z];Q.addCoverage(K)}return Q}function Q$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(MN(q));break;case 2:Z.push(BN(q));break;case 3:Z.push(RN(q));break}}return Z}function MN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=z.uint16(),G=z.uint16(),E=z.uint16Array(Y-1),w=Array(E.length);for(let A=0;A<E.length;A++)w[A]=E[A];let F=N9(z,G);V.push({glyphCount:Y,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function BN($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=i($,Q),U=B6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),X=N.uint16Array(V),j=[];for(let z=0;z<X.length;z++){let Y=X[z],G=N.sliceFrom(Y),E=G.uint16(),w=G.uint16(),F=G.uint16Array(E-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let M=N9(G,w);j.push({glyphCount:E,inputClasses:A,lookupRecords:M})}W.push(j)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function RN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(i($,W))}let q=N9($,Z);return{format:3,coverages:J,lookupRecords:q}}function Z$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(TN(q));break;case 2:Z.push(ON(q));break;case 3:Z.push(PN(q));break}}return Z}function TN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=Array(G.length);for(let O=0;O<G.length;O++)E[O]=G[O];let w=z.uint16(),F=z.uint16Array(w-1),A=Array(F.length);for(let O=0;O<F.length;O++)A[O]=F[O];let M=z.uint16(),L=z.uint16Array(M),T=Array(L.length);for(let O=0;O<L.length;O++)T[O]=L[O];let B=z.uint16(),I=N9(z,B);V.push({backtrackSequence:E,inputSequence:A,lookaheadSequence:T,lookupRecords:I})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function ON($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=i($,Q),H=B6($,Z),_=B6($,K),N=B6($,J),V=[];for(let X=0;X<U.length;X++){let j=U[X];if(j===0){V.push(null);continue}let z=$.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=z.sliceFrom(F),M=A.uint16(),L=A.uint16Array(M),T=Array(L.length);for(let R=0;R<L.length;R++)T[R]=L[R];let B=A.uint16(),I=A.uint16Array(B-1),O=Array(I.length);for(let R=0;R<I.length;R++)O[R]=I[R];let x=A.uint16(),v=A.uint16Array(x),f=Array(v.length);for(let R=0;R<v.length;R++)f[R]=v[R];let l=A.uint16(),C=N9(A,l);E.push({backtrackClasses:T,inputClasses:O,lookaheadClasses:f,lookupRecords:C})}V.push(E)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function PN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=N9($,W),_=[];for(let X=0;X<Z.length;X++){let j=Z[X];_.push(i($,j))}let N=[];for(let X=0;X<J.length;X++){let j=J[X];N.push(i($,j))}let V=[];for(let X=0;X<U.length;X++){let j=U[X];V.push(i($,j))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function N9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function Bq($){let Q=$.uint16(),Z=$.int16(),K=$.int16(),J={xCoordinate:Z,yCoordinate:K};if(Q===2)J.anchorPoint=$.uint16();else if(Q===3)J.xDeviceOffset=$.uint16(),J.yDeviceOffset=$.uint16();return J}function e9($,Q){if(Q===0)return null;return Bq($.sliceFrom(Q))}function K$($){let Q=$.uint16(),Z=[],K=[];for(let J=0;J<Q;J++)K.push({markClass:$.uint16(),anchorOffset:$.uint16()});for(let J=0;J<K.length;J++){let q=K[J],U=Bq($.sliceFrom(q.anchorOffset));Z.push({markClass:q.markClass,markAnchor:U})}return{markRecords:Z}}function J$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=[];for(let X=0;X<H;X++)_.push({entryOffset:q.uint16(),exitOffset:q.uint16()});let N=i(q,W),V=[];for(let X=0;X<_.length;X++){let j=_[X];V.push({entryAnchor:e9(q,j.entryOffset),exitAnchor:e9(q,j.exitOffset)})}Z.push({coverage:N,entryExitRecords:V})}}return Z}function q$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),j=i(q,H),z=K$(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=[],w=[];for(let F=0;F<G;F++){let A=[];for(let M=0;M<_;M++)A.push(Y.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],M=[];for(let L=0;L<A.length;L++){let T=A[L];M.push(e9(Y,T))}E.push({baseAnchors:M})}Z.push({markCoverage:X,baseCoverage:j,markClassCount:_,markArray:z,baseArray:E})}}return Z}function U$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),j=i(q,H),z=K$(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=Y.uint16Array(G),w=[];for(let F=0;F<E.length;F++){let A=E[F],M=Y.sliceFrom(A),L=M.uint16(),T=[],B=[];for(let I=0;I<L;I++){let O=[];for(let x=0;x<_;x++)O.push(M.uint16());B.push(O)}for(let I=0;I<B.length;I++){let O=B[I],x=[];for(let v=0;v<O.length;v++){let f=O[v];x.push(e9(M,f))}T.push({ligatureAnchors:x})}w.push({componentRecords:T})}Z.push({markCoverage:X,ligatureCoverage:j,markClassCount:_,markArray:z,ligatureArray:w})}}return Z}function W$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),X=i(q,W),j=i(q,H),z=K$(q.sliceFrom(N)),Y=q.sliceFrom(V),G=Y.uint16(),E=[],w=[];for(let F=0;F<G;F++){let A=[];for(let M=0;M<_;M++)A.push(Y.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],M=[];for(let L=0;L<A.length;L++){let T=A[L];M.push(e9(Y,T))}E.push({mark2Anchors:M})}Z.push({mark1Coverage:X,mark2Coverage:j,markClassCount:_,mark1Array:z,mark2Array:E})}}return Z}var D8={XPlacement:1,YPlacement:2,XAdvance:4,YAdvance:8,XPlaDevice:16,YPlaDevice:32,XAdvDevice:64,YAdvDevice:128};function Rq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=a9($.sliceFrom(K)),W=r9($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=vN(z);if(Y)V.push(Y)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function vN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(J.length);for(let N=0;N<J.length;N++)q[N]=J[N];let U;if(Z&b6.UseMarkFilteringSet)U=$.uint16();let W={flag:Z,markFilteringSet:U},H=(N)=>{let V=new _6;for(let X=0;X<N.length;X++){let j=N[X];V.addCoverage(j.coverage)}return V},_=(N)=>{let V=new _6;for(let X=0;X<N.length;X++){let j=N[X];V.addCoverage(j.markCoverage)}return V};switch(Q){case 1:{let N=Tq($,q);return{type:1,...W,subtables:N,digest:H(N)}}case 2:{let N=Oq($,q);return{type:2,...W,subtables:N,digest:H(N)}}case 3:{let N=J$($,q);return{type:3,...W,subtables:N,digest:H(N)}}case 4:{let N=q$($,q);return{type:4,...W,subtables:N,digest:_(N)}}case 5:{let N=U$($,q);return{type:5,...W,subtables:N,digest:_(N)}}case 6:{let N=W$($,q),V=new _6;for(let X=0;X<N.length;X++){let j=N[X];V.addCoverage(j.mark1Coverage)}return{type:6,...W,subtables:N,digest:V}}case 7:{let N=Q$($,q),V=new _6;for(let X=0;X<N.length;X++){let j=N[X];if("coverage"in j&&j.coverage)V.addCoverage(j.coverage)}return{type:7,...W,subtables:N,digest:V}}case 8:{let N=Z$($,q),V=new _6;for(let X=0;X<N.length;X++){let j=N[X];if("coverage"in j&&j.coverage)V.addCoverage(j.coverage);else if("inputCoverages"in j&&j.inputCoverages?.[0])V.addCoverage(j.inputCoverages[0])}return{type:8,...W,subtables:N,digest:V}}case 9:return CN($,q,W);default:return null}}function V9($,Q,Z){let K={};if(Q&D8.XPlacement)K.xPlacement=$.int16();if(Q&D8.YPlacement)K.yPlacement=$.int16();if(Q&D8.XAdvance)K.xAdvance=$.int16();if(Q&D8.YAdvance)K.yAdvance=$.int16();let J=Z??$;if(Q&D8.XPlaDevice){let q=$.uint16();if(q!==0)K.xPlaDevice=x8(J,q)??void 0}if(Q&D8.YPlaDevice){let q=$.uint16();if(q!==0)K.yPlaDevice=x8(J,q)??void 0}if(Q&D8.XAdvDevice){let q=$.uint16();if(q!==0)K.xAdvDevice=x8(J,q)??void 0}if(Q&D8.YAdvDevice){let q=$.uint16();if(q!==0)K.yAdvDevice=x8(J,q)??void 0}return K}function Tq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1){let H=U.offset16(),_=U.uint16(),N=V9(U,_,q),V=i(q,H);Z.push({format:1,coverage:V,valueFormat:_,value:N})}else if(W===2){let H=U.offset16(),_=U.uint16(),N=U.uint16(),V=[];for(let j=0;j<N;j++)V.push(V9(U,_,q));let X=i(q,H);Z.push({format:2,coverage:X,valueFormat:_,values:V})}}return Z}function Oq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1)Z.push(IN(U,q));else if(W===2)Z.push(kN(U,q))}return Z}function IN($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=i(Q,Z),H=[];for(let _=0;_<U.length;_++){let N=U[_],V=Q.sliceFrom(N),X=Q.sliceFrom(N),j=X.uint16(),z=[];for(let Y=0;Y<j;Y++){let G=X.uint16(),E=V9(X,K,V),w=V9(X,J,V);z.push({secondGlyph:G,value1:E,value2:w})}H.push({pairValueRecords:z})}return{format:1,coverage:W,valueFormat1:K,valueFormat2:J,pairSets:H}}function kN($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.offset16(),U=$.offset16(),W=$.uint16(),H=$.uint16(),_=i(Q,Z),N=B6(Q,q),V=B6(Q,U),X=[];for(let j=0;j<W;j++){let z=[];for(let Y=0;Y<H;Y++){let G=V9($,K,Q),E=V9($,J,Q);z.push({value1:G,value2:E})}X.push({class2Records:z})}return{format:2,coverage:_,valueFormat1:K,valueFormat2:J,classDef1:N,classDef2:V,class1Count:W,class2Count:H,class1Records:X}}function CN($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),X=_.uint32();K.push({type:V,reader:_.sliceFrom(X)})}if(K.length===0)return null;let J=K[0]?.type,q=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H},U=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.markCoverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Tq(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:q(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Oq(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:q(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...J$(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:q(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...q$(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...U$(_.reader,[0]))}return{type:5,...Z,subtables:W,digest:U(W)}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...W$(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.mark1Coverage)}return{type:6,...Z,subtables:W,digest:H}}case 7:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...Q$(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:7,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...Z$(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:8,...Z,subtables:W,digest:H}}default:return null}}function SN($,Q){let Z=0,K=$.length-1;while(Z<=K){let J=Z+K>>>1,q=$[J],U=q.secondGlyph;if(U<Q)Z=J+1;else if(U>Q)K=J-1;else return q}return null}function H$($,Q,Z,K,J){for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(Q);if(W===null)continue;if(U.format===1){let H=U.pairSets[W];if(!H)continue;let _=SN(H.pairValueRecords,Z);if(_){let N=_.value1.xAdvance,V=_.value2.xAdvance;if(N)K.xAdvance+=N;if(V)J.xAdvance+=V;return!0}}else if(U.format===2){let H=U.classDef1.get(Q),_=U.class1Records;if(H>=_.length)continue;let N=_[H],V=U.classDef2.get(Z),X=N.class2Records;if(V>=X.length)continue;let j=X[V],z=j.value1.xAdvance,Y=j.value2.xAdvance;if(z)K.xAdvance+=z;if(Y)J.xAdvance+=Y;return!0}}return!1}function _$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(hN(q));break;case 2:Z.push(yN(q));break;case 3:Z.push(bN(q));break}}return Z}function hN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=z.uint16(),G=z.uint16(),E=z.uint16Array(Y-1),w=Array(E.length);for(let A=0;A<E.length;A++)w[A]=E[A];let F=X9(z,G);V.push({glyphCount:Y,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function yN($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=i($,Q),U=B6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),X=N.uint16Array(V),j=[];for(let z=0;z<X.length;z++){let Y=X[z],G=N.sliceFrom(Y),E=G.uint16(),w=G.uint16(),F=G.uint16Array(E-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let M=X9(G,w);j.push({glyphCount:E,inputClasses:A,lookupRecords:M})}W.push(j)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function bN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(i($,W))}let q=X9($,Z);return{format:3,coverages:J,lookupRecords:q}}function N$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(mN(q));break;case 2:Z.push(gN(q));break;case 3:Z.push(uN(q));break}}return Z}function mN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=i($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=Array(G.length);for(let O=0;O<G.length;O++)E[O]=G[O];let w=z.uint16(),F=z.uint16Array(w-1),A=Array(F.length);for(let O=0;O<F.length;O++)A[O]=F[O];let M=z.uint16(),L=z.uint16Array(M),T=Array(L.length);for(let O=0;O<L.length;O++)T[O]=L[O];let B=z.uint16(),I=X9(z,B);V.push({backtrackSequence:E,inputSequence:A,lookaheadSequence:T,lookupRecords:I})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function gN($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=i($,Q),H=B6($,Z),_=B6($,K),N=B6($,J),V=[];for(let X=0;X<U.length;X++){let j=U[X];if(j===0){V.push(null);continue}let z=$.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=z.sliceFrom(F),M=A.uint16(),L=A.uint16Array(M),T=Array(L.length);for(let R=0;R<L.length;R++)T[R]=L[R];let B=A.uint16(),I=A.uint16Array(B-1),O=Array(I.length);for(let R=0;R<I.length;R++)O[R]=I[R];let x=A.uint16(),v=A.uint16Array(x),f=Array(v.length);for(let R=0;R<v.length;R++)f[R]=v[R];let l=A.uint16(),C=X9(A,l);E.push({backtrackClasses:T,inputClasses:O,lookaheadClasses:f,lookupRecords:C})}V.push(E)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function uN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=X9($,W),_=[];for(let X=0;X<Z.length;X++){let j=Z[X];_.push(i($,j))}let N=[];for(let X=0;X<J.length;X++){let j=J[X];N.push(i($,j))}let V=[];for(let X=0;X<U.length;X++){let j=U[X];V.push(i($,j))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function X9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function Pq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=a9($.sliceFrom(K)),W=r9($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let X=0;X<N.length;X++){let j=N[X],z=H.sliceFrom(j),Y=xN(z,H,j);if(Y)V.push(Y)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function xN($,Q,Z){let K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=Array(U.length);for(let V=0;V<U.length;V++)W[V]=U[V];let H;if(J&b6.UseMarkFilteringSet)H=$.uint16();let _={flag:J,markFilteringSet:H},N=(V)=>{let X=new _6;for(let j=0;j<V.length;j++){let z=V[j];X.addCoverage(z.coverage)}return X};switch(K){case 1:{let V=vq($,W);return{type:1,..._,subtables:V,digest:N(V)}}case 2:{let V=Iq($,W);return{type:2,..._,subtables:V,digest:N(V)}}case 3:{let V=kq($,W);return{type:3,..._,subtables:V,digest:N(V)}}case 4:{let V=Cq($,W);return{type:4,..._,subtables:V,digest:N(V)}}case 5:{let V=_$($,W),X=new _6;for(let j=0;j<V.length;j++){let z=V[j];if("coverage"in z&&z.coverage)X.addCoverage(z.coverage)}return{type:5,..._,subtables:V,digest:X}}case 6:{let V=N$($,W),X=new _6;for(let j=0;j<V.length;j++){let z=V[j];if("coverage"in z&&z.coverage)X.addCoverage(z.coverage);else if("inputCoverages"in z&&z.inputCoverages?.[0])X.addCoverage(z.inputCoverages[0])}return{type:6,..._,subtables:V,digest:X}}case 7:return fN($,W,_);case 8:{let V=Sq($,W);return{type:8,..._,subtables:V,digest:N(V)}}default:return null}}function vq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=q.uint16();if(U===1){let W=q.offset16(),H=q.int16(),_=i(q,W);Z.push({format:1,coverage:_,deltaGlyphId:H})}else if(U===2){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=Array(_.length);for(let X=0;X<_.length;X++)N[X]=_[X];let V=i(q,W);Z.push({format:2,coverage:V,substituteGlyphIds:N})}}return Z}function Iq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let j=_[X],z=q.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=Array(G.length);for(let w=0;w<G.length;w++)E[w]=G[w];V.push(E)}Z.push({coverage:N,sequences:V})}}return Z}function kq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let j=_[X],z=q.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=Array(G.length);for(let w=0;w<G.length;w++)E[w]=G[w];V.push(E)}Z.push({coverage:N,alternateSets:V})}}return Z}function Cq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=i(q,W),V=[];for(let X=0;X<_.length;X++){let j=_[X],z=q.sliceFrom(j),Y=z.uint16(),G=z.uint16Array(Y),E=[];for(let w=0;w<G.length;w++){let F=G[w],A=z.sliceFrom(F),M=A.uint16(),L=A.uint16(),T=A.uint16Array(L-1),B=Array(T.length);for(let I=0;I<T.length;I++)B[I]=T[I];E.push({ligatureGlyph:M,componentGlyphIds:B})}V.push({ligatures:E})}Z.push({coverage:N,ligatureSets:V})}}return Z}function Sq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=q.uint16(),V=q.uint16Array(N),X=q.uint16(),j=q.uint16Array(X),z=Array(j.length);for(let w=0;w<j.length;w++)z[w]=j[w];let Y=i(q,W),G=[];for(let w=0;w<_.length;w++){let F=_[w];G.push(i(q,F))}let E=[];for(let w=0;w<V.length;w++){let F=V[w];E.push(i(q,F))}Z.push({coverage:Y,backtrackCoverages:G,lookaheadCoverages:E,substituteGlyphIds:z})}}return Z}function fN($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),X=_.uint32();K.push({type:V,reader:_.sliceFrom(X)})}if(K.length===0)return null;let J=K[0]?.type,q=K.map((W,H)=>0),U=(W)=>{let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...vq(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:U(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Iq(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:U(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...kq(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:U(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Cq(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(..._$(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:5,...Z,subtables:W,digest:H}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...N$(N.reader,[0]))}let H=new _6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:6,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...Sq(_.reader,[0]))}return{type:8,...Z,subtables:W,digest:U(W)}}default:return null}}function $0($,Q){for(let Z=0;Z<$.subtables.length;Z++){let K=$.subtables[Z],J=K.coverage.get(Q);if(J===null)continue;if(K.format===1&&K.deltaGlyphId!==void 0)return Q+K.deltaGlyphId&65535;if(K.format===2&&K.substituteGlyphIds)return K.substituteGlyphIds[J]??null}return null}function hq($,Q,Z,K){let J=Q[K];if(J===void 0)return null;for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(J);if(W===null)continue;let H=U.ligatureSets[W];if(!H)continue;for(let _=0;_<H.ligatures.length;_++){let N=H.ligatures[_],V=N.componentGlyphIds.length;if(K+1+V>Z)continue;let X=!0;for(let j=0;j<V;j++)if(Q[K+1+j]!==N.componentGlyphIds[j]){X=!1;break}if(X)return{ligatureGlyph:N.ligatureGlyph,consumed:1+V}}}return null}function yq($){let Q=$.uint16(),Z=$.uint16(),K=$.fixed(),J=$.uint32(),q=$.uint32();if(q!==1594834165)throw Error(`Invalid head table magic number: 0x${q.toString(16)}`);let U=$.uint16(),W=$.uint16(),H=$.longDateTime(),_=$.longDateTime(),N=$.fword(),V=$.fword(),X=$.fword(),j=$.fword(),z=$.uint16(),Y=$.uint16(),G=$.int16(),E=$.int16(),w=$.int16();return{majorVersion:Q,minorVersion:Z,fontRevision:K,checksumAdjustment:J,magicNumber:q,flags:U,unitsPerEm:W,created:H,modified:_,xMin:N,yMin:V,xMax:X,yMax:j,macStyle:z,lowestRecPPEM:Y,fontDirectionHint:G,indexToLocFormat:E,glyphDataFormat:w}}function bq($){return{majorVersion:$.uint16(),minorVersion:$.uint16(),ascender:$.fword(),descender:$.fword(),lineGap:$.fword(),advanceWidthMax:$.ufword(),minLeftSideBearing:$.fword(),minRightSideBearing:$.fword(),xMaxExtent:$.fword(),caretSlopeRise:$.int16(),caretSlopeRun:$.int16(),caretOffset:$.int16(),reserved1:$.int16(),reserved2:$.int16(),reserved3:$.int16(),reserved4:$.int16(),metricDataFormat:$.int16(),numberOfHMetrics:$.uint16()}}function V$($){return{instructions:$.bytes($.remaining)}}function X$($){return{instructions:$.bytes($.remaining)}}function j$($){let Q=Math.floor($.remaining/2),Z=new Int16Array(Q);for(let K=0;K<Q;K++)Z[K]=$.int16();return{values:Z}}function mq($,Q,Z){let K=Array(Q);for(let U=0;U<Q;U++)K[U]={advanceWidth:$.ufword(),lsb:$.fword()};let J=Z-Q,q=Array(J);for(let U=0;U<J;U++)q[U]=$.fword();return{hMetrics:K,leftSideBearings:q}}function gq($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.advanceWidth;return $.hMetrics[$.hMetrics.length-1]?.advanceWidth}function uq($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.lsb;let Z=Q-$.hMetrics.length;return $.leftSideBearings[Z]??0}var lN={ShrinkGpos:0,DisableGpos:1,ShrinkGsub:2,DisableGsub:3,EnableGpos:4,EnableGsub:5,MaxExtendGpos:6,MaxExtendGsub:7};function M8($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function xq($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function dN($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=Z.uint16(),W=Z.uint16(),H=Z.uint16(),_=Z.uint16(),N=Z.uint16(),V=Z.uint16(),X=Z.uint16();return{shrinkageEnableGsub:M8($,Q+K),shrinkageDisableGsub:M8($,Q+J),shrinkageEnableGpos:M8($,Q+q),shrinkageDisableGpos:M8($,Q+U),shrinkageJstfMax:xq($,Q+W),extensionEnableGsub:M8($,Q+H),extensionDisableGsub:M8($,Q+_),extensionEnableGpos:M8($,Q+N),extensionDisableGpos:M8($,Q+V),extensionJstfMax:xq($,Q+X)}}function fq($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(Z.uint16());let q=[];for(let U=0;U<J.length;U++){let W=J[U];q.push(dN($,Q+W))}return{priorities:q}}function nN($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=[];for(let N=0;N<q;N++){let V=Z.uint32(),X=Z.uint16();U.push({tag:V,offset:X})}let W=[];if(K!==0){let N=$.sliceFrom(Q+K),V=N.uint16();for(let X=0;X<V;X++)W.push(N.uint16())}let H=J!==0?fq($,Q+J):null,_=new Map;for(let N=0;N<U.length;N++){let{tag:V,offset:X}=U[N];_.set(V,fq($,Q+X))}return{extenderGlyphs:W,defaultLangSys:H,langSysRecords:_}}function z$($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[];for(let U=0;U<K;U++){let W=$.uint32(),H=$.uint16();J.push({tag:W,offset:H})}let q=[];for(let U=0;U<J.length;U++){let{tag:W,offset:H}=J[U],_=nN($,H);q.push({scriptTag:W,..._})}return{majorVersion:Q,minorVersion:Z,scripts:q}}function Y$($,Q){return $.scripts.find((K)=>K.scriptTag===Q)?.extenderGlyphs??[]}function G$($,Q,Z){let K=$.scripts.find((J)=>J.scriptTag===Q);if(!K)return[];if(Z!==void 0){let J=K.langSysRecords.get(Z);if(J)return J.priorities}return K.defaultLangSys?.priorities??[]}function E$($){return{enableGsub:$.shrinkageEnableGsub?.lookupIndices??[],disableGsub:$.shrinkageDisableGsub?.lookupIndices??[],enableGpos:$.shrinkageEnableGpos?.lookupIndices??[],disableGpos:$.shrinkageDisableGpos?.lookupIndices??[],maxLookups:$.shrinkageJstfMax?.lookupIndices??[]}}function w$($){return{enableGsub:$.extensionEnableGsub?.lookupIndices??[],disableGsub:$.extensionDisableGsub?.lookupIndices??[],enableGpos:$.extensionEnableGpos?.lookupIndices??[],disableGpos:$.extensionDisableGpos?.lookupIndices??[],maxLookups:$.extensionJstfMax?.lookupIndices??[]}}function lq($){let Q=$.uint16(),Z=[];if(Q===0){let K=$.uint16();for(let J=0;J<K;J++){let q=pN($);if(q)Z.push(q)}}else if(Q===1){$.skip(2);let K=$.uint32();for(let J=0;J<K;J++){let q=oN($);if(q)Z.push(q)}}return{version:Q,subtables:Z}}function pN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J={horizontal:(K&1)!==0,minimum:(K&2)!==0,crossStream:(K&4)!==0,override:(K&8)!==0},q=K>>8&255;if(q===0)return dq($,J);else if(q===2)return nq($,J,Z-6);return $.skip(Z-6),null}function oN($){let Q=$.uint32(),Z=$.uint16(),K=$.uint16(),J={horizontal:(Z&32768)===0,minimum:!1,crossStream:(Z&16384)!==0,override:(Z&8192)!==0},q=Z&255;if(q===0)return dq($,J);else if(q===2)return nq($,J,Q-8);return $.skip(Q-8),null}function dq($,Q){let Z=$.uint16();$.skip(6);let K=new Map;for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16(),W=$.int16(),H=q<<16|U;K.set(H,W)}return{format:0,coverage:Q,pairs:K}}function nq($,Q,Z){let K=$.offset,J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=new Map;$.seek(K+q);let _=$.uint16(),N=$.uint16();for(let E=0;E<N;E++){let w=$.uint16();if(w!==0)H.set(_+E,w)}let V=new Map;$.seek(K+U);let X=$.uint16(),j=$.uint16();for(let E=0;E<j;E++){let w=$.uint16();if(w!==0)V.set(X+E,w)}$.seek(K+W);let z=J>0?Math.floor(Z/J):0,Y=J/2,G=[];for(let E=0;E<z;E++){let w=[];for(let F=0;F<Y;F++)w.push($.int16());G.push(w)}return{format:2,coverage:Q,rowWidth:J,leftClassTable:H,rightClassTable:V,kerningValues:G}}function A$($,Q,Z){let K=0;for(let J=0;J<$.subtables.length;J++){let q=$.subtables[J];if(!q.coverage.horizontal)continue;if(q.format===0){let U=Q<<16|Z,W=q.pairs.get(U);if(W!==void 0)if(q.coverage.override)K=W;else K+=W}else if(q.format===2){let U=q.leftClassTable.get(Q)??0,W=q.rightClassTable.get(Z)??0;if(U>0&&W>0){let H=Math.floor(U/2),_=Math.floor(W/2),N=q.kerningValues[H];if(N){let V=N[_];if(V!==void 0)if(q.coverage.override)K=V;else K+=V}}}}return K}function oq($){let Q=$.uint16();$.skip(2);let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=cN($);if(q)K.push(q)}return{version:Q,nTables:Z,subtables:K}}function cN($){let Q=$.uint32(),Z=$.uint32(),K=$.uint16();$.skip(2);let J=Z&255,q={vertical:(Z&2147483648)!==0,crossStream:(Z&1073741824)!==0,variation:(Z&536870912)!==0},U={length:Q,coverage:q,tupleCount:K},W=$.offset+Q-12,H=null;switch(J){case 0:H=iN($,U);break;case 1:H=sN($,U);break;case 2:H=aN($,U);break;case 6:H=rN($,U);break}return $.seek(W),H}function iN($,Q){let Z=$.uint32();$.skip(12);let K=[];for(let J=0;J<Z;J++)K.push({left:$.uint16(),right:$.uint16(),value:$.int16()}),$.skip(2);return{...Q,format:0,nPairs:Z,pairs:K}}function sN($,Q){let Z={nClasses:$.uint32(),classTableOffset:$.offset32(),stateArrayOffset:$.offset32(),entryTableOffset:$.offset32(),valueTableOffset:$.offset32()};return{...Q,format:1,stateHeader:Z}}function aN($,Q){let Z=$.uint16();$.skip(2);let K=$.offset32(),J=$.offset32(),q=$.offset32(),U=pq($.sliceFrom(K)),W=pq($.sliceFrom(J)),H=$.sliceFrom(q),_=U.nGlyphs>0?Math.max(...[...U.classes])+1:0,N=Z/2,V=new Int16Array(_*N);for(let X=0;X<V.length;X++)V[X]=H.int16();return{...Q,format:2,rowWidth:Z,leftClassTable:U,rightClassTable:W,kerningArray:V}}function pq($){let Q=$.uint16(),Z=$.uint16(),K=new Uint8Array(Z);for(let J=0;J<Z;J++)K[J]=$.uint8();return{firstGlyph:Q,nGlyphs:Z,classes:K}}function rN($,Q){let Z=$.uint32(),K=$.uint16(),J=$.uint16(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32();return{...Q,format:6,flags:Z,rowCount:K,columnCount:J,rowIndexTableOffset:q,columnIndexTableOffset:U,kerningArrayOffset:W,kerningVectorOffset:H}}function tN($,Q,Z){for(let K=0;K<$.subtables.length;K++){let J=$.subtables[K];if(J.coverage.vertical)continue;switch(J.format){case 0:{let q=J.pairs,U=0,W=q.length-1;while(U<=W){let H=U+W>>1,_=q[H];if(!_)break;let N=_.left<<16|_.right,V=Q<<16|Z;if(N===V)return _.value;else if(N<V)U=H+1;else W=H-1}break}case 2:{let{leftClassTable:q,rightClassTable:U}=J;if(Q<q.firstGlyph||Q>=q.firstGlyph+q.nGlyphs)continue;if(Z<U.firstGlyph||Z>=U.firstGlyph+U.nGlyphs)continue;let W=q.classes[Q-q.firstGlyph],H=U.classes[Z-U.firstGlyph];if(W===void 0||H===void 0)continue;let _=J.rowWidth/2,N=W*_+H;if(N<J.kerningArray.length){let V=J.kerningArray[N];if(V!==void 0&&V!==0)return V}break}}}return 0}function o($,Q){let Z=$.int16(),K=$.uint16();return{value:Z,device:x8(Q,K)}}function eN($){let Q=$,Z=$.int16(),K=$.int16(),J=$.uint16(),q=$.uint16();return{scriptPercentScaleDown:Z,scriptScriptPercentScaleDown:K,delimitedSubFormulaMinHeight:J,displayOperatorMinHeight:q,mathLeading:o($,Q),axisHeight:o($,Q),accentBaseHeight:o($,Q),flattenedAccentBaseHeight:o($,Q),subscriptShiftDown:o($,Q),subscriptTopMax:o($,Q),subscriptBaselineDropMin:o($,Q),superscriptShiftUp:o($,Q),superscriptShiftUpCramped:o($,Q),superscriptBottomMin:o($,Q),superscriptBaselineDropMax:o($,Q),subSuperscriptGapMin:o($,Q),superscriptBottomMaxWithSubscript:o($,Q),spaceAfterScript:o($,Q),upperLimitGapMin:o($,Q),upperLimitBaselineRiseMin:o($,Q),lowerLimitGapMin:o($,Q),lowerLimitBaselineDropMin:o($,Q),stackTopShiftUp:o($,Q),stackTopDisplayStyleShiftUp:o($,Q),stackBottomShiftDown:o($,Q),stackBottomDisplayStyleShiftDown:o($,Q),stackGapMin:o($,Q),stackDisplayStyleGapMin:o($,Q),stretchStackTopShiftUp:o($,Q),stretchStackBottomShiftDown:o($,Q),stretchStackGapAboveMin:o($,Q),stretchStackGapBelowMin:o($,Q),fractionNumeratorShiftUp:o($,Q),fractionNumeratorDisplayStyleShiftUp:o($,Q),fractionDenominatorShiftDown:o($,Q),fractionDenominatorDisplayStyleShiftDown:o($,Q),fractionNumeratorGapMin:o($,Q),fractionNumDisplayStyleGapMin:o($,Q),fractionRuleThickness:o($,Q),fractionDenominatorGapMin:o($,Q),fractionDenomDisplayStyleGapMin:o($,Q),skewedFractionHorizontalGap:o($,Q),skewedFractionVerticalGap:o($,Q),overbarVerticalGap:o($,Q),overbarRuleThickness:o($,Q),overbarExtraAscender:o($,Q),underbarVerticalGap:o($,Q),underbarRuleThickness:o($,Q),underbarExtraDescender:o($,Q),radicalVerticalGap:o($,Q),radicalDisplayStyleVerticalGap:o($,Q),radicalRuleThickness:o($,Q),radicalExtraAscender:o($,Q),radicalKernBeforeDegree:o($,Q),radicalKernAfterDegree:o($,Q),radicalDegreeBottomRaisePercent:$.int16()}}function $V($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(o($,$));return{coverage:i($,Q),values:K}}function QV($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(o($,$));return{coverage:i($,Q),values:K}}function s0($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(o(Z,Z));let q=[];for(let U=0;U<K+1;U++)q.push(o(Z,Z));return{correctionHeights:J,kernValues:q}}function ZV($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({topRightOffset:$.uint16(),topLeftOffset:$.uint16(),bottomRightOffset:$.uint16(),bottomLeftOffset:$.uint16()});let J=i($,Q),q=K.map((U)=>({topRight:U.topRightOffset!==0?s0($,U.topRightOffset):null,topLeft:U.topLeftOffset!==0?s0($,U.topLeftOffset):null,bottomRight:U.bottomRightOffset!==0?s0($,U.bottomRightOffset):null,bottomLeft:U.bottomLeftOffset!==0?s0($,U.bottomLeftOffset):null}));return{coverage:J,kernInfo:q}}function KV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=null;if(Q!==0)q=$V($.sliceFrom(Q));let U=null;if(Z!==0)U=QV($.sliceFrom(Z));let W=null;if(K!==0)W={coverage:i($,K)};let H=null;if(J!==0)H=ZV($.sliceFrom(J));return{italicsCorrection:q,topAccentAttachment:U,extendedShapeCoverage:W,kernInfo:H}}function JV($){let Q=o($,$),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({glyphId:$.uint16(),startConnectorLength:$.uint16(),endConnectorLength:$.uint16(),fullAdvance:$.uint16(),partFlags:$.uint16()});return{italicsCorrection:Q,parts:K}}function cq($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push({variantGlyph:$.uint16(),advanceMeasurement:$.uint16()});let J=null;if(Q!==0)J=JV($.sliceFrom(Q));return{glyphAssembly:J,variants:K}}function qV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=[];for(let X=0;X<J;X++)U.push($.uint16());let W=[];for(let X=0;X<q;X++)W.push($.uint16());let H=Z!==0?i($,Z):null,_=K!==0?i($,K):null,N=U.map((X)=>cq($.sliceFrom(X))),V=W.map((X)=>cq($.sliceFrom(X)));return{minConnectorOverlap:Q,vertGlyphCoverage:H,horizGlyphCoverage:_,vertGlyphConstruction:N,horizGlyphConstruction:V}}function F$($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=null;if(K!==0)U=eN($.sliceFrom(K));let W=null;if(J!==0)W=KV($.sliceFrom(J));let H=null;if(q!==0)H=qV($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,constants:U,glyphInfo:W,variants:H}}function UV($,Q){let Z=$.glyphInfo?.italicsCorrection;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function WV($,Q){let Z=$.glyphInfo?.topAccentAttachment;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function HV($,Q){let Z=$.glyphInfo?.extendedShapeCoverage;if(!Z)return!1;return Z.coverage.get(Q)!==null}function _V($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.variants??null}function NV($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.variants??null}function VV($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.glyphAssembly??null}function XV($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.glyphAssembly??null}function iq($){let Q=$.uint32(),Z=$.uint16();if(Q===20480)return{version:Q,numGlyphs:Z};if(Q===65536)return{version:Q,numGlyphs:Z,maxPoints:$.uint16(),maxContours:$.uint16(),maxCompositePoints:$.uint16(),maxCompositeContours:$.uint16(),maxZones:$.uint16(),maxTwilightPoints:$.uint16(),maxStorage:$.uint16(),maxFunctionDefs:$.uint16(),maxInstructionDefs:$.uint16(),maxStackElements:$.uint16(),maxSizeOfInstructions:$.uint16(),maxComponentElements:$.uint16(),maxComponentDepth:$.uint16()};throw Error(`Unknown maxp version: 0x${Q.toString(16)}`)}var L$;((q)=>{q[q.Rearrangement=0]="Rearrangement";q[q.Contextual=1]="Contextual";q[q.Ligature=2]="Ligature";q[q.NonContextual=4]="NonContextual";q[q.Insertion=5]="Insertion"})(L$||={});function sq($){let Q=$.uint16();if($.skip(2),Q<2)return{version:Q,chains:[]};let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=jV($);K.push(q)}return{version:Q,chains:K}}function jV($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=$.uint32(),q=[];for(let W=0;W<K;W++)q.push({featureType:$.uint16(),featureSetting:$.uint16(),enableFlags:$.uint32(),disableFlags:$.uint32()});let U=[];for(let W=0;W<J;W++){let H=zV($);if(H)U.push(H)}return{defaultFlags:Q,features:q,subtables:U}}function zV($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Z&255,q={vertical:(Z&2147483648)!==0,descending:(Z&1073741824)!==0,logical:(Z&268435456)!==0},W=$.offset+Q-12,H=null;switch(J){case 0:H=wV($,q,K);break;case 1:H=GV($,q,K);break;case 2:H=EV($,q,K);break;case 4:H=YV($,q,K);break;case 5:H=AV($,q,K);break}return $.seek(W),H}function YV($,Q,Z){let K=FV($);return{type:4,coverage:Q,subFeatureFlags:Z,lookupTable:K}}function GV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=a0($.sliceFrom(K+q));return{type:1,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:[]},substitutionTable:[]}}function EV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=$.offset32(),N=$.offset32(),V=a0($.sliceFrom(K+q));return{type:2,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:V,stateArray:[]},ligatureActions:[],components:[],ligatures:[]}}function wV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=a0($.sliceFrom(K+q)),_=$.sliceFrom(K+U),N=$.sliceFrom(K+W),V=[],X=256;for(let Y=0;Y<256;Y++)V.push({newState:N.uint16(),flags:N.uint16()});let j=[],z=Math.min(256,Math.ceil((W-U)/(J*2)));for(let Y=0;Y<z;Y++){let G=[];for(let E=0;E<J;E++){let w=_.uint16();G.push(V[w]??{newState:0,flags:0})}j.push(G)}return{type:0,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:H,stateArray:j}}}function AV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=a0($.sliceFrom(K+q)),N=$.sliceFrom(K+H),V=[],X=1024;for(let F=0;F<1024;F++)try{V.push(N.uint16())}catch{break}let j=$.sliceFrom(K+W),z=[],Y=256;for(let F=0;F<Y;F++)z.push({newState:j.uint16(),flags:j.uint16(),currentInsertIndex:j.uint16(),markedInsertIndex:j.uint16()});let G=$.sliceFrom(K+U),E=[],w=Math.min(256,Math.ceil((W-U)/(J*2)));for(let F=0;F<w;F++){let A=[];for(let M=0;M<J;M++){let L=G.uint16();A.push(z[L]??{newState:0,flags:0,currentInsertIndex:65535,markedInsertIndex:65535})}E.push(A)}return{type:5,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:E},insertionGlyphs:V}}function FV($){let Q=$.uint16(),Z=new Map;switch(Q){case 0:break;case 2:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16();for(let _=W;_<=U;_++)Z.set(_,H)}break}case 4:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16()}break}case 6:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16();Z.set(U,W)}break}case 8:{let K=$.uint16(),J=$.uint16();for(let q=0;q<J;q++){let U=$.uint16();if(U!==0)Z.set(K+q,U)}break}}return{format:Q,mapping:Z}}function a0($){let Q=$.uint16(),Z=[];if(Q===2){let K=$.uint16(),J=$.uint16();$.skip(6);let q=[];for(let W=0;W<J;W++)q.push({last:$.uint16(),first:$.uint16(),classValue:$.uint16()});let U=Math.max(...q.map((W)=>W.last),0);for(let W=0;W<=U;W++){let H=q.find((_)=>W>=_.first&&W<=_.last);Z[W]=H?.classValue??1}}return{format:Q,classArray:Z}}function D$($,Q){return $.lookupTable.mapping.get(Q)??null}var Q0={hasc:k("hasc"),hdsc:k("hdsc"),hlgp:k("hlgp"),hcla:k("hcla"),hcld:k("hcld"),hcof:k("hcof"),hcrn:k("hcrn"),hcrs:k("hcrs"),vasc:k("vasc"),vdsc:k("vdsc"),vlgp:k("vlgp"),vcof:k("vcof"),vcrn:k("vcrn"),vcrs:k("vcrs"),xhgt:k("xhgt"),cpht:k("cpht"),sbxs:k("sbxs"),sbys:k("sbys"),sbxo:k("sbxo"),sbyo:k("sbyo"),spxs:k("spxs"),spys:k("spys"),spxo:k("spxo"),spyo:k("spyo"),strs:k("strs"),stro:k("stro"),undo:k("undo"),unds:k("unds"),gsp0:k("gsp0"),gsp1:k("gsp1"),gsp2:k("gsp2"),gsp3:k("gsp3")};function aq($){let Q=$.uint16(),Z=$.uint16();$.uint16();let K=$.uint16(),J=$.uint16(),q=$.offset16(),U=[];for(let H=0;H<J;H++)if(U.push({valueTag:$.tag(),deltaSetOuterIndex:$.uint16(),deltaSetInnerIndex:$.uint16()}),K>8)$.skip(K-8);let W=LV($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,valueRecords:U}}function LV($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),j=X.uint16(),z=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(z&32768)!==0,w=z&32767,F=Y-w,A=[];for(let M=0;M<j;M++){let L=[];for(let T=0;T<w;T++)if(E)L.push(X.int32());else L.push(X.int16());for(let T=0;T<F;T++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:j,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function Z0($,Q,Z){let K=$.valueRecords.find((_)=>_.valueTag===Q);if(!K)return 0;let{deltaSetOuterIndex:J,deltaSetInnerIndex:q}=K,U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let X=p9(V,Z),j=W[_]??0;H+=X*j}return Math.round(H)}function DV($,Q){return Z0($,Q0.hasc,Q)}function MV($,Q){return Z0($,Q0.hdsc,Q)}function BV($,Q){return Z0($,Q0.xhgt,Q)}function RV($,Q){return Z0($,Q0.cpht,Q)}var B8={Copyright:0,FontFamily:1,FontSubfamily:2,UniqueID:3,FullName:4,Version:5,PostScriptName:6,Trademark:7,Manufacturer:8,Designer:9,Description:10,ManufacturerURL:11,DesignerURL:12,License:13,LicenseURL:14,Reserved:15,TypographicFamily:16,TypographicSubfamily:17,CompatibleFullName:18,SampleText:19,PostScriptCIDFindfontName:20,WWSFamily:21,WWSSubfamily:22,LightBackgroundPalette:23,DarkBackgroundPalette:24,VariationsPostScriptNamePrefix:25},j9={Unicode:0,Macintosh:1,Reserved:2,Windows:3},TV={Symbol:0,UnicodeBMP:1,ShiftJIS:2,PRC:3,Big5:4,Wansung:5,Johab:6,UnicodeFullRepertoire:10};function M$($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[],q=[];for(let U=0;U<Z;U++)q.push({platformId:$.uint16(),encodingId:$.uint16(),languageId:$.uint16(),nameId:$.uint16(),length:$.uint16(),offset:$.uint16()});for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(K+W.offset),_=OV(H,W.length,W.platformId,W.encodingId);if(_!==null)J.push({platformId:W.platformId,encodingId:W.encodingId,languageId:W.languageId,nameId:W.nameId,value:_})}return{format:Q,records:J}}function OV($,Q,Z,K){if(Z===j9.Unicode||Z===j9.Windows&&(K===1||K===10)){let J=[];for(let q=0;q<Q;q+=2){let U=$.uint16();J.push(String.fromCharCode(U))}return J.join("")}if(Z===j9.Macintosh&&K===0){let J=[];for(let q=0;q<Q;q++)J.push($.uint8());return String.fromCharCode(...J)}return null}function R8($,Q,Z){for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===j9.Windows&&J.encodingId===1){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===j9.Unicode){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(Z===void 0||J.languageId===Z)return J.value}return null}function PV($){return R8($,B8.TypographicFamily)??R8($,B8.FontFamily)}function vV($){return R8($,B8.TypographicSubfamily)??R8($,B8.FontSubfamily)}function IV($){return R8($,B8.FullName)}function kV($){return R8($,B8.PostScriptName)}function CV($){return R8($,B8.Version)}var SV={Thin:100,ExtraLight:200,Light:300,Normal:400,Medium:500,SemiBold:600,Bold:700,ExtraBold:800,Black:900},hV={UltraCondensed:1,ExtraCondensed:2,Condensed:3,SemiCondensed:4,Normal:5,SemiExpanded:6,Expanded:7,ExtraExpanded:8,UltraExpanded:9},t0={Italic:1,Underscore:2,Negative:4,Outlined:8,Strikeout:16,Bold:32,Regular:64,UseTypoMetrics:128,WWS:256,Oblique:512},r0={InstallableEmbedding:0,RestrictedLicense:2,PreviewAndPrint:4,Editable:8,NoSubsetting:256,BitmapOnly:512};function B$($){let Q=$.uint16(),Z=$.int16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.int16(),W=$.int16(),H=$.int16(),_=$.int16(),N=$.int16(),V=$.int16(),X=$.int16(),j=$.int16(),z=$.int16(),Y=$.int16(),G=$.int16(),E=[];for(let R=0;R<10;R++)E.push($.uint8());let w=$.uint32(),F=$.uint32(),A=$.uint32(),M=$.uint32(),L=String.fromCharCode($.uint8(),$.uint8(),$.uint8(),$.uint8()),T=$.uint16(),B=$.uint16(),I=$.uint16(),O=$.int16(),x=$.int16(),v=$.int16(),f=$.uint16(),l=$.uint16(),C={version:Q,xAvgCharWidth:Z,usWeightClass:K,usWidthClass:J,fsType:q,ySubscriptXSize:U,ySubscriptYSize:W,ySubscriptXOffset:H,ySubscriptYOffset:_,ySuperscriptXSize:N,ySuperscriptYSize:V,ySuperscriptXOffset:X,ySuperscriptYOffset:j,yStrikeoutSize:z,yStrikeoutPosition:Y,sFamilyClass:G,panose:E,ulUnicodeRange1:w,ulUnicodeRange2:F,ulUnicodeRange3:A,ulUnicodeRange4:M,achVendID:L,fsSelection:T,usFirstCharIndex:B,usLastCharIndex:I,sTypoAscender:O,sTypoDescender:x,sTypoLineGap:v,usWinAscent:f,usWinDescent:l};if(Q>=1)C.ulCodePageRange1=$.uint32(),C.ulCodePageRange2=$.uint32();if(Q>=2)C.sxHeight=$.int16(),C.sCapHeight=$.int16(),C.usDefaultChar=$.uint16(),C.usBreakChar=$.uint16(),C.usMaxContext=$.uint16();if(Q>=5)C.usLowerOpticalPointSize=$.uint16(),C.usUpperOpticalPointSize=$.uint16();return C}function yV($){return($.fsSelection&t0.Italic)!==0}function bV($){return($.fsSelection&t0.Bold)!==0}function mV($){return($.fsSelection&t0.UseTypoMetrics)!==0}function gV($){let Q=$.fsType;if((Q&r0.RestrictedLicense)!==0)return"restricted";if((Q&r0.PreviewAndPrint)!==0)return"preview";if((Q&r0.Editable)!==0)return"editable";return"installable"}var rq=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function R$($){let Q=$.uint16(),Z=$.uint16(),K=Q+Z/65536,J=$.fixed(),q=$.int16(),U=$.int16(),W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=$.uint32(),X={version:K,italicAngle:J,underlinePosition:q,underlineThickness:U,isFixedPitch:W,minMemType42:H,maxMemType42:_,minMemType1:N,maxMemType1:V};if(K===2){let j=$.uint16(),z=[];for(let w=0;w<j;w++)z.push($.uint16());let Y=[],G=0;for(let w=0;w<z.length;w++){let F=z[w];if(F>=258&&F>G)G=F}let E=G>=258?G-257:0;for(let w=0;w<E;w++){let F=$.uint8(),A=[];for(let M=0;M<F;M++)A.push(String.fromCharCode($.uint8()));Y.push(A.join(""))}X.numberOfGlyphs=j,X.glyphNameIndex=z,X.names=Y}return X}function uV($,Q){if($.version===1){let Z=rq[Q];return Z!==void 0?Z:null}if($.version===2&&$.glyphNameIndex){let Z=$.glyphNameIndex[Q];if(Z===void 0)return null;if(Z<258)return rq[Z]??null;let K=Z-258;return $.names?.[K]??null}return null}function xV($){return $.isFixedPitch!==0}var T$={PNG:"png ",JPG:"jpg ",TIFF:"tiff",PDF:"pdf ",MASK:"mask",DUPE:"dupe"};function tq($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=$.uint32(),U=[];for(let H=0;H<q;H++)U.push($.uint32());let W=[];for(let H=0;H<U.length;H++){let _=U[H],N=fV($,Z+_,Q);W.push(N)}return{version:K,flags:J,strikes:W}}function fV($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<=Z;H++)U.push(K.uint32());let W=new Map;for(let H=0;H<Z;H++){let _=U[H],N=U[H+1];if(_===void 0||N===void 0)continue;let V=N-_;if(V<=8)continue;let X=$.sliceFrom(Q+_),j=X.int16(),z=X.int16(),Y=X.tagString(),G=V-8,E=X.bytes(G);W.set(H,{originOffsetX:j,originOffsetY:z,graphicType:Y,data:E})}return{ppem:J,ppi:q,glyphData:W}}function lV($,Q,Z){let K=null,J=1/0;for(let q=0;q<$.strikes.length;q++){let U=$.strikes[q],W=Math.abs(U.ppem-Z);if(W<J)J=W,K=U}if(!K)return null;return K.glyphData.get(Q)??null}function eq($,Q){return $.strikes.find((Z)=>Z.ppem===Q)??null}function dV($){return $.strikes.map((Q)=>Q.ppem).sort((Q,Z)=>Q-Z)}function nV($,Q,Z){if(Z!==void 0)return eq($,Z)?.glyphData.has(Q)??!1;for(let K=0;K<$.strikes.length;K++)if($.strikes[K].glyphData.has(Q))return!0;return!1}function $U($,Q,Z){if(Z.graphicType!==T$.DUPE)return Z;if(Z.data.length<2)return null;let K=(Z.data[0]??0)<<8|(Z.data[1]??0),J=Q.glyphData.get(K);if(!J)return null;if(J.graphicType===T$.DUPE)return $U($,Q,J);return J}function O$($){let Q=$.uint32();if(Q!==65536&&Q!==1330926671&&Q!==1953658213)throw Error(`Invalid sfnt version: 0x${Q.toString(16).padStart(8,"0")}`);let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=new Map;for(let W=0;W<Z;W++){let H=$.tag(),_=$.uint32(),N=$.uint32(),V=$.uint32();U.set(H,{tag:H,checksum:_,offset:N,length:V})}return{sfntVersion:Q,numTables:Z,searchRange:K,entrySelector:J,rangeShift:q,tables:U}}function P$($){return $.sfntVersion===65536||$.sfntVersion===1953658213}function pV($){return $.sfntVersion===1330926671}var v$={OlderSiblingFontAttribute:1,ElidableAxisValueName:2};function QU($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.offset32(),W=$.uint16(),H=$.offset32(),_;if(Z>=1&&K>=1)_=$.uint16();let N=[];if(U!==0){let X=$.sliceFrom(Q+U);for(let j=0;j<q;j++)if(N.push({axisTag:X.tag(),axisNameID:X.uint16(),axisOrdering:X.uint16()}),J>8)X.skip(J-8)}let V=[];if(H!==0&&W>0){let X=$.sliceFrom(Q+H),j=[];for(let z=0;z<W;z++)j.push(X.uint16());for(let z=0;z<j.length;z++){let Y=j[z],G=$.sliceFrom(Q+H+Y),E=oV(G);if(E)V.push(E)}}return{majorVersion:Z,minorVersion:K,designAxisCount:q,designAxes:N,axisValueCount:W,axisValues:V,elidedFallbackNameID:_}}function oV($){switch($.uint16()){case 1:return{format:1,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed()};case 2:return{format:2,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),nominalValue:$.fixed(),rangeMinValue:$.fixed(),rangeMaxValue:$.fixed()};case 3:return{format:3,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed(),linkedValue:$.fixed()};case 4:{let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=[];for(let U=0;U<Z;U++)q.push({axisIndex:$.uint16(),value:$.fixed()});return{format:4,axisCount:Z,flags:K,valueNameID:J,axisValues:q}}default:return null}}function cV($,Q){return $.designAxes.find((Z)=>Z.axisTag===Q)??null}function iV($,Q){return $.designAxes.findIndex((Z)=>Z.axisTag===Q)}function sV($,Q){return $.axisValues.filter((Z)=>{if(Z.format===4)return Z.axisValues.some((K)=>K.axisIndex===Q);return Z.axisIndex===Q})}function aV($,Q){return $.axisValues.find((Z)=>Z.valueNameID===Q)??null}function rV($){return($.flags&v$.ElidableAxisValueName)!==0}function tV($){return($.flags&v$.OlderSiblingFontAttribute)!==0}function eV($){switch($.format){case 1:case 3:return $.value;case 2:return $.nominalValue;case 4:return null}}function $X($,Q){switch($.format){case 1:case 3:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z===$.value}case 2:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z>=$.rangeMinValue&&Z<=$.rangeMaxValue}case 4:return $.axisValues.every((Z)=>{let K=Q.get(Z.axisIndex);return K!==void 0&&K===Z.value})}}function ZU($){let Q=$.uint16(),Z=$.offset32();$.skip(4);let K=$.sliceFrom(Z),J=K.uint16();if(J===0)return{version:Q,documentRecords:[]};let q=[];for(let H=0;H<J;H++)q.push({startGlyphID:K.uint16(),endGlyphID:K.uint16(),svgDocOffset:K.offset32(),svgDocLength:K.uint32()});let U=[],W=new TextDecoder("utf-8");for(let H=0;H<q.length;H++){let _=q[H],V=K.sliceFrom(_.svgDocOffset).bytes(_.svgDocLength),X;if(V[0]===31&&V[1]===139)try{let j=KX(V);X=W.decode(j)}catch{X=W.decode(V)}else X=W.decode(V);U.push({startGlyphID:_.startGlyphID,endGlyphID:_.endGlyphID,svgDoc:X})}return{version:Q,documentRecords:U}}function KU($,Q){for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];if(Q>=K.startGlyphID&&Q<=K.endGlyphID)return K.svgDoc}return null}function QX($,Q){return KU($,Q)!==null}function ZX($){let Q=[];for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];for(let J=K.startGlyphID;J<=K.endGlyphID;J++)Q.push(J)}return Q}function KX($){if(typeof DecompressionStream<"u")return $;return $}function qU($){let Q=$,Z=$.uint32()/65536,K=$.uint16(),J=$.offset16(),q=$.offset16();$.skip(2);let U=null,W=null;if(J!==0)U=JU($.sliceFrom(J),Q);if(q!==0)W=JU($.sliceFrom(q),Q);return{version:Z,format:K,horizData:U,vertData:W}}function JU($,Q){let Z=$.uint16(),K=$.uint16(),J=$.offset32(),q=[];for(let H=0;H<Z;H++){let _=$.int32()/65536,N=$.uint16(),V=$.uint16();q.push({track:_,nameIndex:N,offset:V,perSizeTracking:[]})}for(let H=0;H<q.length;H++){let _=q[H],N=Q.sliceFrom(_.offset);_.perSizeTracking=[];for(let V=0;V<K;V++)_.perSizeTracking.push(N.int16())}let U=Q.sliceFrom(J),W=[];for(let H=0;H<K;H++)W.push(U.int32()/65536);return{nTracks:Z,nSizes:K,sizeTableOffset:J,trackTable:q,sizeTable:W}}function UU($,Q,Z){let K=null;for(let J=0;J<$.trackTable.length;J++){let q=$.trackTable[J];if(q.track===Q){K=q;break}}if(!K){let J=null,q=null;for(let U=0;U<$.trackTable.length;U++){let W=$.trackTable[U];if(W.track<=Q&&(!J||W.track>J.track))J=W;if(W.track>=Q&&(!q||W.track<q.track))q=W}if(J&&q&&J!==q){let U=(Q-J.track)/(q.track-J.track),W=I$($,J,Z),H=I$($,q,Z);return Math.round(W+U*(H-W))}else if(J)K=J;else if(q)K=q;else return 0}if(!K)return 0;return I$($,K,Z)}function I$($,Q,Z){let K=$.sizeTable,J=Q.perSizeTracking;if(K.length===0||J.length===0)return 0;let q=K[0],U=J[0];if(q===void 0||U===void 0)return 0;if(Z<=q)return U;let W=K[K.length-1],H=J[J.length-1];if(W===void 0||H===void 0)return 0;if(Z>=W)return H;for(let _=0;_<K.length-1;_++){let N=K[_],V=K[_+1],X=J[_],j=J[_+1];if(N===void 0||V===void 0||X===void 0||j===void 0)continue;if(Z>=N&&Z<=V){let z=(Z-N)/(V-N);return Math.round(X+z*(j-X))}}return 0}function JX($,Q,Z,K=0,J=!1){let q=J?$.vertData:$.horizData;if(!q)return;let U=UU(q,K,Z);if(U===0)return;for(let W=0;W<Q.length;W++){let H=Q[W];Q[W]=(H??0)+U}}function WU($){let Q=$.uint16(),Z=$.uint16(),K=$.fword(),J=$.fword(),q=$.fword(),U=$.uint16(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.int16(),V=$.int16(),X=$.int16();$.skip(8);let j=$.int16(),z=$.uint16();return{version:{major:Q,minor:Z},ascender:K,descender:J,lineGap:q,advanceHeightMax:U,minTopSideBearing:W,minBottomSideBearing:H,yMaxExtent:_,caretSlopeRise:N,caretSlopeRun:V,caretOffset:X,metricDataFormat:j,numberOfVMetrics:z}}function HU($,Q,Z){let K=[];for(let U=0;U<Q;U++)K.push({advanceHeight:$.uint16(),topSideBearing:$.int16()});let J=[],q=Z-Q;for(let U=0;U<q;U++)J.push($.int16());return{vMetrics:K,topSideBearings:J}}function qX($,Q){if(Q<$.vMetrics.length){let U=$.vMetrics[Q];if(U)return{advanceHeight:U.advanceHeight,topSideBearing:U.topSideBearing}}let K=$.vMetrics[$.vMetrics.length-1]?.advanceHeight??0,J=Q-$.vMetrics.length,q=$.topSideBearings[J]??0;return{advanceHeight:K,topSideBearing:q}}function _U($){let Q=$.uint16(),Z=$.uint16(),K=$.int16(),J=$.uint16(),q=[];for(let U=0;U<J;U++)q.push({glyphIndex:$.uint16(),vertOriginY:$.int16()});return q.sort((U,W)=>U.glyphIndex-W.glyphIndex),{majorVersion:Q,minorVersion:Z,defaultVertOriginY:K,vertOriginYMetrics:q}}function UX($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return U.vertOriginY;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return $.defaultVertOriginY}function WX($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return!0;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return!1}function NU($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=HX($.sliceFrom(K)),_=J!==0?e0($.sliceFrom(J)):null,N=q!==0?e0($.sliceFrom(q)):null,V=U!==0?e0($.sliceFrom(U)):null,X=W!==0?e0($.sliceFrom(W)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:H,advanceHeightMapping:_,tsbMapping:N,bsbMapping:V,vOrgMapping:X}}function HX($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let X=0;X<U;X++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],X=$.sliceFrom(V),j=X.uint16(),z=X.uint16(),Y=X.uint16(),G=[];for(let M=0;M<Y;M++)G.push(X.uint16());let E=(z&32768)!==0,w=z&32767,F=Y-w,A=[];for(let M=0;M<j;M++){let L=[];for(let T=0;T<w;T++)if(E)L.push(X.int32());else L.push(X.int16());for(let T=0;T<F;T++)if(E)L.push(X.int16());else L.push(X.int8());A.push(L)}_.push({itemCount:j,regionIndexes:G,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function e0($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function _X($,Q,Z){let K=$.advanceHeightMapping,J,q;if(K&&Q<K.mapData.length){let U=K.mapData[Q];if(!U)return 0;J=U.outer,q=U.inner}else J=0,q=Q;return $1($.itemVariationStore,J,q,Z)}function NX($,Q,Z){let K=$.tsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return $1($.itemVariationStore,J.outer,J.inner,Z)}function VX($,Q,Z){let K=$.bsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return $1($.itemVariationStore,J.outer,J.inner,Z)}function XX($,Q,Z){let K=$.vOrgMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return $1($.itemVariationStore,J.outer,J.inner,Z)}function $1($,Q,Z,K){let J=$.itemVariationData[Q];if(!J||Z>=J.itemCount)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexes.length;W++){let H=J.regionIndexes[W],_=$.variationRegions[H];if(!_)continue;let N=p9(_,K),V=q[W]??0;U+=N*V}return Math.round(U)}var jX=2001684038,zX=2001684018;function VU($){return new DataView($).getUint32(0,!1)===zX}function XU($){return new DataView($).getUint32(0,!1)===jX}class z9{reader;directory;_head=null;_maxp=null;_hhea=null;_hmtx=null;_cmap=null;_gdef=void 0;_gsub=void 0;_gpos=void 0;_kern=void 0;_fvar=void 0;_hvar=void 0;_vhea=void 0;_vmtx=void 0;_morx=void 0;_gvar=void 0;_avar=void 0;_kerx=void 0;_trak=void 0;_cff=void 0;_cff2=void 0;_colr=void 0;_cpal=void 0;_vvar=void 0;_mvar=void 0;_os2=void 0;_name=void 0;_post=void 0;_base=void 0;_jstf=void 0;_math=void 0;_loca=void 0;_glyf=void 0;_svg=void 0;_vorg=void 0;_sbix=void 0;_stat=void 0;_cbdt=void 0;_cblc=void 0;_feat=void 0;_fpgm=void 0;_prep=void 0;_cvt=void 0;_gasp=void 0;constructor($,Q={}){this.reader=new c6($),this.directory=O$(this.reader)}static load($,Q){if(VU($))throw Error("WOFF2 requires async loading. Use Font.loadAsync() instead.");if(XU($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new z9($,Q)}static async loadAsync($,Q){if(VU($))$=await mJ($);else if(XU($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new z9($,Q)}static async fromURL($,Q){let Z=await fetch($);if(!Z.ok)throw Error(`Failed to fetch font: ${Z.status} ${Z.statusText}`);let K=await Z.arrayBuffer();return z9.loadAsync(K,Q)}static async fromFile($,Q){let K=await Bun.file($).arrayBuffer();return z9.loadAsync(K,Q)}hasTable($){return this.directory.tables.has($)}getTableRecord($){return this.directory.tables.get($)}getTableReader($){let Q=this.directory.tables.get($);if(!Q)return null;return this.reader.slice(Q.offset,Q.length)}get head(){if(!this._head){let $=this.getTableReader(p.head);if(!$)throw Error("Missing required 'head' table");this._head=yq($)}return this._head}get maxp(){if(!this._maxp){let $=this.getTableReader(p.maxp);if(!$)throw Error("Missing required 'maxp' table");this._maxp=iq($)}return this._maxp}get hhea(){if(!this._hhea){let $=this.getTableReader(p.hhea);if(!$)throw Error("Missing required 'hhea' table");this._hhea=bq($)}return this._hhea}get hmtx(){if(!this._hmtx){let $=this.getTableReader(p.hmtx);if(!$)throw Error("Missing required 'hmtx' table");this._hmtx=mq($,this.hhea.numberOfHMetrics,this.numGlyphs)}return this._hmtx}get cmap(){if(!this._cmap){let $=this.getTableRecord(p.cmap),Q=this.getTableReader(p.cmap);if(!Q||!$)throw Error("Missing required 'cmap' table");this._cmap=iJ(Q,$.length)}return this._cmap}get gdef(){if(this._gdef===void 0){let $=this.getTableReader(p.GDEF);this._gdef=$?Aq($):null}return this._gdef}get gsub(){if(this._gsub===void 0){let $=this.getTableReader(p.GSUB);this._gsub=$?Pq($):null}return this._gsub}get gpos(){if(this._gpos===void 0){let $=this.getTableReader(p.GPOS);this._gpos=$?Rq($):null}return this._gpos}get kern(){if(this._kern===void 0){let $=this.getTableReader(p.kern);this._kern=$?lq($):null}return this._kern}get fvar(){if(this._fvar===void 0){let $=this.getTableReader(p.fvar);this._fvar=$?YJ($):null}return this._fvar}get hvar(){if(this._hvar===void 0){let $=this.getTableReader(p.HVAR);this._hvar=$?GJ($):null}return this._hvar}get vhea(){if(this._vhea===void 0){let $=this.getTableReader(p.vhea);this._vhea=$?WU($):null}return this._vhea}get vmtx(){if(this._vmtx===void 0){let $=this.vhea;if(!$)this._vmtx=null;else{let Q=this.getTableReader(p.vmtx);this._vmtx=Q?HU(Q,$.numberOfVMetrics,this.numGlyphs):null}}return this._vmtx}get morx(){if(this._morx===void 0){let $=this.getTableReader(p.morx);this._morx=$?sq($):null}return this._morx}get gvar(){if(this._gvar===void 0){let $=this.getTableReader(p.gvar);this._gvar=$?A7($,this.numGlyphs):null}return this._gvar}get avar(){if(this._avar===void 0){let $=this.fvar;if(!$)this._avar=null;else{let Q=this.getTableReader(p.avar);this._avar=Q?jJ(Q,$.axes.length):null}}return this._avar}get kerx(){if(this._kerx===void 0){let $=this.getTableReader(p.kerx);this._kerx=$?oq($):null}return this._kerx}get trak(){if(this._trak===void 0){let $=this.getTableReader(p.trak);this._trak=$?qU($):null}return this._trak}get cff(){if(this._cff===void 0){let $=this.getTableReader(p.CFF);this._cff=$?n5($):null}return this._cff}get cff2(){if(this._cff2===void 0){let $=this.getTableReader(p.CFF2);this._cff2=$?o5($):null}return this._cff2}get colr(){if(this._colr===void 0){let $=this.getTableReader(p.COLR);this._colr=$?s5($):null}return this._colr}get cpal(){if(this._cpal===void 0){let $=this.getTableReader(p.CPAL);this._cpal=$?a5($):null}return this._cpal}get vvar(){if(this._vvar===void 0){let $=this.getTableReader(p.VVAR);this._vvar=$?NU($):null}return this._vvar}get mvar(){if(this._mvar===void 0){let $=this.getTableReader(p.MVAR);this._mvar=$?aq($):null}return this._mvar}get os2(){if(this._os2===void 0){let $=this.getTableReader(p.OS2);this._os2=$?B$($):null}return this._os2}get name(){if(this._name===void 0){let $=this.getTableReader(p.name);this._name=$?M$($):null}return this._name}get post(){if(this._post===void 0){let $=this.getTableReader(p.post);this._post=$?R$($):null}return this._post}get base(){if(this._base===void 0){let $=this.getTableReader(p.BASE);this._base=$?d5($):null}return this._base}get jstf(){if(this._jstf===void 0){let $=this.getTableReader(p.JSTF);this._jstf=$?z$($):null}return this._jstf}get math(){if(this._math===void 0){let $=this.getTableReader(p.MATH);this._math=$?F$($):null}return this._math}get loca(){if(this._loca===void 0){let $=this.getTableReader(p.loca);this._loca=$?F7($,this.numGlyphs,this.head.indexToLocFormat):null}return this._loca}get glyf(){if(this._glyf===void 0){let $=this.getTableReader(p.glyf);this._glyf=$?D7($):null}return this._glyf}get svg(){if(this._svg===void 0){let $=this.getTableReader(p.SVG);this._svg=$?ZU($):null}return this._svg}get vorg(){if(this._vorg===void 0){let $=this.getTableReader(p.VORG);this._vorg=$?_U($):null}return this._vorg}get sbix(){if(this._sbix===void 0){let $=this.getTableReader(p.sbix);this._sbix=$?tq($,this.numGlyphs):null}return this._sbix}get stat(){if(this._stat===void 0){let $=this.getTableReader(p.STAT);this._stat=$?QU($):null}return this._stat}get cblc(){if(this._cblc===void 0){let $=this.getTableReader(p.CBLC);this._cblc=$?fJ($):null}return this._cblc}get cbdt(){if(this._cbdt===void 0){let $=this.getTableReader(p.CBDT);this._cbdt=$?lJ($):null}return this._cbdt}get feat(){if(this._feat===void 0){let $=this.getTableReader(p.feat);this._feat=$?r5($):null}return this._feat}get fpgm(){if(this._fpgm===void 0){let $=this.getTableReader(p.fpgm);this._fpgm=$?V$($):null}return this._fpgm}get prep(){if(this._prep===void 0){let $=this.getTableReader(p.prep);this._prep=$?X$($):null}return this._prep}get cvtTable(){if(this._cvt===void 0){let $=this.getTableReader(p.cvt);this._cvt=$?j$($):null}return this._cvt}get gasp(){if(this._gasp===void 0){let $=this.getTableReader(p.gasp);this._gasp=$?t5($):null}return this._gasp}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get ascender(){return this.hhea.ascender}get descender(){return this.hhea.descender}get lineGap(){return this.hhea.lineGap}get isTrueType(){return P$(this.directory)}get isCFF(){return this.hasTable(p.CFF)||this.hasTable(p.CFF2)}get isVariable(){return this.hasTable(p.fvar)}get hasOpenTypeLayout(){return this.hasTable(p.GSUB)||this.hasTable(p.GPOS)}get hasAATLayout(){return this.hasTable(p.morx)||this.hasTable(p.kerx)}get isColorFont(){return this.hasTable(p.COLR)||this.hasTable(p.SVG)||this.hasTable(p.sbix)||this.hasTable(p.CBDT)}get hasHinting(){return this.isTrueType&&(this.hasTable(p.fpgm)||this.hasTable(p.prep))}glyphId($){return sJ(this.cmap,$)}glyphIdForChar($){let Q=$.codePointAt(0);if(Q===void 0)return 0;return this.glyphId(Q)}advanceWidth($){return gq(this.hmtx,$)}leftSideBearing($){return uq(this.hmtx,$)}listTables(){return[...this.directory.tables.keys()].map(v9)}getGlyph($){if(!this.glyf||!this.loca)return null;return z8(this.glyf,this.loca,$)}getGlyphContours($){if(this.glyf&&this.loca)return T7(this.glyf,this.loca,$);if(this.cff)return p5(this.cff,$,0);if(this.cff2)return p0(this.cff2,$,null);return null}getGlyphBounds($){if(this.glyf&&this.loca)return P7(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q||Q.length===0)return null;let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let U=0;U<Q.length;U++){let W=Q[U];for(let H=0;H<W.length;H++){let _=W[H];Z=Math.min(Z,_.x),K=Math.min(K,_.y),J=Math.max(J,_.x),q=Math.max(q,_.y)}}if(Z===1/0)return null;return{xMin:Z,yMin:K,xMax:J,yMax:q}}getGlyphContoursAndBounds($){if(this.glyf&&this.loca)return O7(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q)return null;if(Q.length===0)return{contours:Q,bounds:null};let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let W=0;W<Q.length;W++){let H=Q[W];for(let _=0;_<H.length;_++){let N=H[_];Z=Math.min(Z,N.x),K=Math.min(K,N.y),J=Math.max(J,N.x),q=Math.max(q,N.y)}}return{contours:Q,bounds:Z===1/0?null:{xMin:Z,yMin:K,xMax:J,yMax:q}}}getGlyphContoursWithVariation($,Q){if(this.glyf&&this.loca)return k7(this.glyf,this.loca,this.gvar,$,Q);if(this.cff2)return p0(this.cff2,$,Q);return this.getGlyphContours($)}}var zU;((K)=>{K.Shrink="shrink";K.Extend="extend";K.Auto="auto"})(zU||={});function Q1($){let Q=0;for(let Z=0;Z<$.positions.length;Z++){let K=$.positions[Z];Q+=K.xAdvance}return Q}function YU($,Q,Z){let{targetWidth:K,script:J=k("DFLT"),language:q,mode:U="auto",maxPriority:W=10,enableKashida:H=!0,minWordSpacingFactor:_=0.8,maxWordSpacingFactor:N=1.5,enableLetterSpacing:V=!0,maxLetterSpacing:X=100}=Z,j=Q1(Q),z=K-j;if(Math.abs(z)<1)return{success:!0,finalWidth:j,delta:0,priorityLevel:0,adjustments:[]};let Y;if(U==="auto")Y=z>0?"extend":"shrink";else Y=U;let G=[],E=z,w=0,F=$.jstf;if(F){let L=G$(F,J,q);for(let T=0;T<Math.min(L.length,W);T++){let B=L[T],I=Y==="shrink"?E$(B):w$(B);if(I.enableGsub.length>0||I.disableGsub.length>0||I.enableGpos.length>0||I.disableGpos.length>0)G.push({type:"lookup",glyphIndices:[],value:T}),w=T}if(H&&Y==="extend"){let T=Y$(F,J);if(T.length>0){let B=YX(Q,T[0],E,$);E-=B.totalExtension,G.push(...B.adjustments)}}}let A=$.glyphId(32);if(A!==0){let L=EX(Q,A,E,Y==="shrink"?_:N);E-=L.totalAdjustment,G.push(...L.adjustments)}if(V&&Math.abs(E)>1){let L=wX(Q,E,X);E-=L.totalAdjustment,G.push(...L.adjustments)}let M=Q1(Q);return{success:Math.abs(E)<1,finalWidth:M,delta:K-M,priorityLevel:w,adjustments:G}}function YX($,Q,Z,K){let J=[],q=0,U=[];for(let N=0;N<$.infos.length-1;N++){let V=$.infos[N];if(GX(V.codepoint))U.push(N)}if(U.length===0)return{totalExtension:0,adjustments:[]};let W=K.advanceWidth(Q);if(W<=0)return{totalExtension:0,adjustments:[]};let H=Math.ceil(Z/W/U.length),_=Math.min(H*W,Z/U.length);for(let N=0;N<U.length;N++){if(q>=Z)break;let V=U[N];$.positions[V].xAdvance+=_,q+=_,J.push({type:"kashida",glyphIndices:[V],value:_})}return{totalExtension:q,adjustments:J}}function GX($){return $>=1568&&$<=1791}function EX($,Q,Z,K){let J=[],q=0,U=[],W=0;for(let X=0;X<$.infos.length;X++)if($.infos[X]?.glyphId===Q)U.push(X),W+=$.positions[X]?.xAdvance;if(U.length===0)return{totalAdjustment:0,adjustments:[]};let H=Z/U.length,N=W/U.length*(K-1),V=Z>0?Math.min(H,N):Math.max(H,-N);for(let X=0;X<U.length;X++){let j=U[X];$.positions[j].xAdvance+=V,q+=V}if(q!==0)J.push({type:"spacing",glyphIndices:U,value:V});return{totalAdjustment:q,adjustments:J}}function wX($,Q,Z){let K=[],J=$.infos.length;if(J<=1)return{totalAdjustment:0,adjustments:[]};let q=J-1,U=Q/q,W=Q>0?Math.min(U,Z):Math.max(U,-Z),H=[],_=0;for(let N=0;N<J-1;N++)$.positions[N].xAdvance+=W,_+=W,H.push(N);if(_!==0)K.push({type:"spacing",glyphIndices:H,value:W});return{totalAdjustment:_,adjustments:K}}function AX($,Q,Z){let K=[],J=[];if($.infos.length===0)return{lines:[],breakPoints:[]};let q=0,U=0,W=-1,H=0;for(let _=0;_<$.infos.length;_++){let N=$.positions[_],V=$.infos[_];if(U+=N.xAdvance,Z!==void 0&&V.glyphId===Z)W=_,H=U;if(U>Q&&q<_){let X;if(W>q)X=W+1;else X=_;let j=jU($,q,X);K.push(j),J.push(X),q=X,U=0,W=-1;for(let z=q;z<=_;z++)U+=$.positions[z]?.xAdvance}}if(q<$.infos.length){let _=jU($,q,$.infos.length);K.push(_)}return{lines:K,breakPoints:J}}function jU($,Q,Z){let K=new O8;K.direction=$.direction,K.script=$.script,K.language=$.language;for(let J=Q;J<Z;J++)K.infos.push({...$.infos[J]}),K.positions.push({...$.positions[J]});return K}function FX($,Q,Z){let K=[];for(let J=0;J<Q.length;J++){let q=Q[J];if(J===Q.length-1)K.push({success:!0,finalWidth:Q1(q),delta:0,priorityLevel:0,adjustments:[]});else K.push(YU($,q,Z))}return K}function GU($,Q){for(let Z=0;Z<$.conditions.length;Z++){let K=$.conditions[Z],J=Q[K.axisIndex]??0;if(J<K.filterRangeMinValue||J>K.filterRangeMaxValue)return!1}return!0}function K0($,Q){for(let Z=0;Z<$.featureVariationRecords.length;Z++){let K=$.featureVariationRecords[Z];if(GU(K.conditionSet,Q))return K}return null}function LX($,Q,Z,K){if(!$||!K)return Z;let J=K0($,K);if(!J)return Z;let q=J.featureTableSubstitution.substitutions.find((U)=>U.featureIndex===Q);if(q)return q.alternateFeature.lookupListIndices;return Z}function DX($,Q,Z,K){if(!$||!K)return Q;let J=K0($,K);if(!J)return Q;let q=new Map(Q),U=J.featureTableSubstitution.substitutions;for(let W=0;W<U.length;W++){let H=U[W],_=[...Z.entries()];for(let N=0;N<_.length;N++){let[V,X]=_[N];if(X===H.featureIndex){q.set(V,H.alternateFeature.lookupListIndices);break}}}return q}z6();var MX=[0,85,86,85,0],EU=[8,77,86,77,8],BX=[0,64,128,64,0],wU;((J)=>{J[J.RGB=0]="RGB";J[J.BGR=1]="BGR";J[J.RGB_V=2]="RGB_V";J[J.BGR_V=3]="BGR_V"})(wU||={});function RX($,Q,Z,K,J,q,U=0,W=EU){if(U===2||U===3)return TX($,Q,Z,K,J,q,U,W);let _=Q*3,N=r(_,Z,1),V=new a8;V.setClip(0,0,_,Z),V.reset(),G8(V,$,K*3,J*3,q,!0),V.sweep(N);let X=r(Q,Z,2);return OX(N,X,W,U===1),X}function TX($,Q,Z,K,J,q,U,W){let H=Z*3,_=r(Q,H,1),N=new a8;N.setClip(0,0,Q,H),N.reset(),G8(N,$,K,J,q*3,!0),N.sweep(_);let V=r(Q,Z,3);return PX(_,V,W,U===3),V}function OX($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*$.pitch,X=N*Q.pitch;for(let j=0;j<Q.width;j++){let z=j*3,Y=z-2>=0?$.buffer[V+z-2]:0,G=z-1>=0?$.buffer[V+z-1]:0,E=$.buffer[V+z],w=z+1<$.width?$.buffer[V+z+1]:0,F=z+2<$.width?$.buffer[V+z+2]:0,A=Math.min(255,Math.round((Y*J+G*q+E*U+w*W+F*H)/_)),M=z-1>=0?$.buffer[V+z-1]:0,L=$.buffer[V+z],T=z+1<$.width?$.buffer[V+z+1]:0,B=z+2<$.width?$.buffer[V+z+2]:0,I=z+3<$.width?$.buffer[V+z+3]:0,O=Math.min(255,Math.round((M*J+L*q+T*U+B*W+I*H)/_)),x=$.buffer[V+z],v=z+1<$.width?$.buffer[V+z+1]:0,f=z+2<$.width?$.buffer[V+z+2]:0,l=z+3<$.width?$.buffer[V+z+3]:0,C=z+4<$.width?$.buffer[V+z+4]:0,R=Math.min(255,Math.round((x*J+v*q+f*U+l*W+C*H)/_)),y=X+j*3;if(K)Q.buffer[y]=R,Q.buffer[y+1]=O,Q.buffer[y+2]=A;else Q.buffer[y]=A,Q.buffer[y+1]=O,Q.buffer[y+2]=R}}}function PX($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*3,X=N*Q.pitch;for(let j=0;j<Q.width;j++){let z=V-2>=0?$.buffer[(V-2)*$.pitch+j]:0,Y=V-1>=0?$.buffer[(V-1)*$.pitch+j]:0,G=$.buffer[V*$.pitch+j],E=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,w=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,F=Math.min(255,Math.round((z*J+Y*q+G*U+E*W+w*H)/_)),A=V-1>=0?$.buffer[(V-1)*$.pitch+j]:0,M=$.buffer[V*$.pitch+j],L=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,T=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,B=V+3<$.rows?$.buffer[(V+3)*$.pitch+j]:0,I=Math.min(255,Math.round((A*J+M*q+L*U+T*W+B*H)/_)),O=$.buffer[V*$.pitch+j],x=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,v=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,f=V+3<$.rows?$.buffer[(V+3)*$.pitch+j]:0,l=V+4<$.rows?$.buffer[(V+4)*$.pitch+j]:0,C=Math.min(255,Math.round((O*J+x*q+v*U+f*W+l*H)/_)),R=X+j*3;if(K)Q.buffer[R]=C,Q.buffer[R+1]=I,Q.buffer[R+2]=F;else Q.buffer[R]=F,Q.buffer[R+1]=I,Q.buffer[R+2]=C}}}function vX($,Q=[255,255,255],Z=[0,0,0]){let K=new Uint8Array($.width*$.rows*4),[J,q,U]=Q,[W,H,_]=Z;for(let N=0;N<$.rows;N++){let V=N*$.pitch,X=N*$.width*4;for(let j=0;j<$.width;j++){let z=V+j*3,Y=X+j*4,G=$.buffer[z],E=$.buffer[z+1],w=$.buffer[z+2];K[Y]=k$(J,W,G),K[Y+1]=k$(q,H,E),K[Y+2]=k$(U,_,w),K[Y+3]=255}}return K}function k$($,Q,Z){return Math.round($+(Q-$)*Z/255)}z6();var DU;((J)=>{J[J.None=0]="None";J[J.Decompose=1]="Decompose";J[J.Compose=2]="Compose";J[J.Auto=3]="Auto"})(DU||={});function _8($){if($<768)return 0;if($>=880&&$<1328)return 0;if($>=12288){if($>=44032&&$<=55215)return 0;if($>=19968&&$<=40959)return 0;if($>=13312&&$<=19903)return 0;if($>=12352&&$<12441)return 0;if($>=12443&&$<=12543)return 0;if($>=12544&&$<=12591)return 0;if($>=12800&&$<=13055)return 0}if($>=768&&$<=879)return yX($);if($>=1425&&$<=1469)return SX($);if($===1471)return 23;if($===1473)return 24;if($===1474)return 25;if($===1476)return 230;if($===1477)return 220;if($===1479)return 18;if($>=1611&&$<=1631)return hX($);if($===1648)return 35;if($>=1552&&$<=1562)return 230;if($>=1750&&$<=1756)return 230;if($>=1759&&$<=1764)return 230;if($>=1767&&$<=1768)return 230;if($>=1770&&$<=1773)return 220;if($===2260)return 230;if($>=2275&&$<=2303)return 220;if($===2364)return 7;if($===2381)return 9;if($>=2385&&$<=2388)return 230;if($===2389)return 0;if($>=2390&&$<=2391)return 0;if($===2492)return 7;if($===2509)return 9;if($===2558)return 230;if($===2620)return 7;if($===2637)return 9;if($===2748)return 7;if($===2765)return 9;if($===2876)return 7;if($===2893)return 9;if($===3021)return 9;if($===3149)return 9;if($===3157)return 84;if($===3158)return 91;if($===3260)return 7;if($===3277)return 9;if($===3405)return 9;if($===3530)return 9;if($>=3633&&$<=3642)return 0;if($>=3655&&$<=3662)return AU($);if($>=3761&&$<=3772)return 0;if($>=3784&&$<=3789)return AU($);if($>=3864&&$<=3865)return 220;if($===3893)return 220;if($===3895)return 220;if($===3897)return 216;if($>=3953&&$<=3966)return FU($);if($>=3968&&$<=3972)return FU($);if($>=3974&&$<=3975)return 230;if($===4151)return 7;if($===4153)return 9;if($===4154)return 9;if($>=12330&&$<=12335)return IX($);if($>=12441&&$<=12442)return 8;if($>=6832&&$<=6911)return kX($);if($>=7616&&$<=7679)return CX($);if($>=65056&&$<=65071)return 230;return 0}function AU($){if($>=3656&&$<=3659)return 107;if($===3660)return 0;if($===3661)return 0;if($===3662)return 0;if($>=3784&&$<=3787)return 122;return 0}function FU($){if($===3953)return 129;if($===3954)return 130;if($===3955)return 0;if($===3956)return 132;if($===3957)return 0;if($===3958)return 0;if($===3959)return 0;if($===3960)return 0;if($===3961)return 0;if($===3962)return 130;if($===3963)return 130;if($===3964)return 130;if($===3965)return 130;if($===3966)return 0;if($===3968)return 130;if($===3969)return 0;if($===3970)return 230;if($===3971)return 230;return 9}function IX($){if($===12330)return 218;if($===12331)return 228;if($===12332)return 232;if($===12333)return 222;if($===12334)return 224;return 224}function kX($){if($>=6832&&$<=6846)return 230;if($===6847)return 220;if($===6848)return 220;return 230}function CX($){if($>=7616&&$<=7617)return 230;if($===7618)return 220;if($>=7619&&$<=7626)return 230;if($===7627)return 230;if($===7628)return 230;if($===7629)return 234;if($===7630)return 214;if($===7631)return 220;if($===7632)return 202;if($>=7633&&$<=7669)return 230;if($>=7670&&$<=7672)return 232;if($===7673)return 220;if($===7674)return 218;return 230}function SX($){if($>=1425&&$<=1441)return 220;if($>=1442&&$<=1455)return 230;if($>=1456&&$<=1465){if($===1456)return 10;if($===1457)return 11;if($===1458)return 12;if($===1459)return 13;if($===1460)return 14;if($===1461)return 15;if($===1462)return 16;if($===1463)return 17;if($===1464)return 18;return 19}if($===1466)return 19;if($===1467)return 20;if($===1468)return 21;return 22}function hX($){if($===1611)return 27;if($===1612)return 28;if($===1613)return 29;if($===1614)return 30;if($===1615)return 31;if($===1616)return 32;if($===1617)return 33;if($===1618)return 34;if($>=1619&&$<=1621)return 230;if($===1622)return 220;if($===1623)return 230;if($===1624)return 230;return 230}function yX($){if($>=768&&$<=788)return 230;if($>=789&&$<=789)return 232;if($>=790&&$<=793)return 220;if($>=794&&$<=794)return 232;if($>=795&&$<=795)return 216;if($>=796&&$<=800)return 220;if($>=801&&$<=802)return 202;if($>=803&&$<=806)return 220;if($>=807&&$<=808)return 202;if($>=809&&$<=819)return 220;if($>=820&&$<=824)return 1;if($>=825&&$<=828)return 220;if($>=829&&$<=836)return 230;if($===837)return 240;if($>=838&&$<=846)return 230;if($===847)return 0;if($>=848&&$<=850)return 230;if($>=851&&$<=854)return 220;if($>=855&&$<=856)return 230;if($>=857&&$<=858)return 220;if($>=859&&$<=859)return 230;if($>=860&&$<=860)return 233;if($>=861&&$<=862)return 234;if($>=863&&$<=863)return 233;if($>=864&&$<=865)return 234;if($>=866&&$<=866)return 233;if($>=867&&$<=879)return 230;return 0}function Z1($){let Q=$.length,Z=1;while(Z<Q){let K=$[Z];if(!K){Z++;continue}let J=_8(K.codepoint);if(J===0){Z++;continue}let q=Z;while(q>0){let U=$[q-1];if(!U)break;let W=_8(U.codepoint);if(W===0)break;if(W<=J)break;$[q]=U,$[q-1]=K,q--}Z++}}var bX=new Map([[192,[65,768]],[193,[65,769]],[194,[65,770]],[195,[65,771]],[196,[65,776]],[197,[65,778]],[199,[67,807]],[200,[69,768]],[201,[69,769]],[202,[69,770]],[203,[69,776]],[204,[73,768]],[205,[73,769]],[206,[73,770]],[207,[73,776]],[209,[78,771]],[210,[79,768]],[211,[79,769]],[212,[79,770]],[213,[79,771]],[214,[79,776]],[217,[85,768]],[218,[85,769]],[219,[85,770]],[220,[85,776]],[221,[89,769]],[224,[97,768]],[225,[97,769]],[226,[97,770]],[227,[97,771]],[228,[97,776]],[229,[97,778]],[231,[99,807]],[232,[101,768]],[233,[101,769]],[234,[101,770]],[235,[101,776]],[236,[105,768]],[237,[105,769]],[238,[105,770]],[239,[105,776]],[241,[110,771]],[242,[111,768]],[243,[111,769]],[244,[111,770]],[245,[111,771]],[246,[111,776]],[249,[117,768]],[250,[117,769]],[251,[117,770]],[252,[117,776]],[253,[121,769]],[255,[121,776]],[256,[65,772]],[257,[97,772]],[258,[65,774]],[259,[97,774]],[260,[65,808]],[261,[97,808]],[262,[67,769]],[263,[99,769]],[264,[67,770]],[265,[99,770]],[266,[67,775]],[267,[99,775]],[268,[67,780]],[269,[99,780]],[270,[68,780]],[271,[100,780]],[274,[69,772]],[275,[101,772]],[276,[69,774]],[277,[101,774]],[278,[69,775]],[279,[101,775]],[280,[69,808]],[281,[101,808]],[282,[69,780]],[283,[101,780]],[284,[71,770]],[285,[103,770]],[286,[71,774]],[287,[103,774]],[288,[71,775]],[289,[103,775]],[290,[71,807]],[291,[103,807]],[292,[72,770]],[293,[104,770]],[296,[73,771]],[297,[105,771]],[298,[73,772]],[299,[105,772]],[300,[73,774]],[301,[105,774]],[302,[73,808]],[303,[105,808]],[304,[73,775]],[308,[74,770]],[309,[106,770]],[310,[75,807]],[311,[107,807]],[313,[76,769]],[314,[108,769]],[315,[76,807]],[316,[108,807]],[317,[76,780]],[318,[108,780]],[323,[78,769]],[324,[110,769]],[325,[78,807]],[326,[110,807]],[327,[78,780]],[328,[110,780]],[332,[79,772]],[333,[111,772]],[334,[79,774]],[335,[111,774]],[336,[79,779]],[337,[111,779]],[340,[82,769]],[341,[114,769]],[342,[82,807]],[343,[114,807]],[344,[82,780]],[345,[114,780]],[346,[83,769]],[347,[115,769]],[348,[83,770]],[349,[115,770]],[350,[83,807]],[351,[115,807]],[352,[83,780]],[353,[115,780]],[354,[84,807]],[355,[116,807]],[356,[84,780]],[357,[116,780]],[360,[85,771]],[361,[117,771]],[362,[85,772]],[363,[117,772]],[364,[85,774]],[365,[117,774]],[366,[85,778]],[367,[117,778]],[368,[85,779]],[369,[117,779]],[370,[85,808]],[371,[117,808]],[372,[87,770]],[373,[119,770]],[374,[89,770]],[375,[121,770]],[376,[89,776]],[377,[90,769]],[378,[122,769]],[379,[90,775]],[380,[122,775]],[381,[90,780]],[382,[122,780]],[7840,[65,803]],[7841,[97,803]],[7842,[65,777]],[7843,[97,777]],[7864,[69,803]],[7865,[101,803]],[7866,[69,777]],[7867,[101,777]],[7868,[69,771]],[7869,[101,771]],[7880,[73,777]],[7881,[105,777]],[7882,[73,803]],[7883,[105,803]],[7884,[79,803]],[7885,[111,803]],[7886,[79,777]],[7887,[111,777]],[7908,[85,803]],[7909,[117,803]],[7910,[85,777]],[7911,[117,777]],[7922,[89,768]],[7923,[121,768]],[7924,[89,803]],[7925,[121,803]],[7926,[89,777]],[7927,[121,777]],[7928,[89,771]],[7929,[121,771]],[7936,[945,787]],[7937,[945,788]],[7944,[913,787]],[7945,[913,788]],[1081,[1080,774]],[1049,[1048,774]],[1105,[1077,776]],[1025,[1045,776]]]);function K1($){return bX.get($)??null}var mX=new Map([[65,new Map([[768,192],[769,193],[770,194],[771,195],[776,196],[778,197],[808,260],[780,461],[772,256],[774,258]])],[67,new Map([[807,199],[769,262],[770,264],[780,268],[775,266]])],[69,new Map([[768,200],[769,201],[770,202],[776,203],[808,280],[780,282],[772,274],[774,276],[775,278]])],[73,new Map([[768,204],[769,205],[770,206],[776,207],[771,296],[772,298],[774,300],[808,302],[775,304]])],[78,new Map([[771,209],[769,323],[807,325],[780,327]])],[79,new Map([[768,210],[769,211],[770,212],[771,213],[776,214],[772,332],[774,334],[779,336],[808,490]])],[85,new Map([[768,217],[769,218],[770,219],[776,220],[771,360],[772,362],[774,364],[778,366],[779,368],[808,370],[780,467]])],[89,new Map([[769,221],[770,374],[776,376]])],[97,new Map([[768,224],[769,225],[770,226],[771,227],[776,228],[778,229],[808,261],[780,462],[772,257],[774,259]])],[99,new Map([[807,231],[769,263],[770,265],[780,269],[775,267]])],[101,new Map([[768,232],[769,233],[770,234],[776,235],[808,281],[780,283],[772,275],[774,277],[775,279]])],[105,new Map([[768,236],[769,237],[770,238],[776,239],[771,297],[772,299],[774,301],[808,303]])],[110,new Map([[771,241],[769,324],[807,326],[780,328]])],[111,new Map([[768,242],[769,243],[770,244],[771,245],[776,246],[772,333],[774,335],[779,337],[808,491]])],[117,new Map([[768,249],[769,250],[770,251],[776,252],[771,361],[772,363],[774,365],[778,367],[779,369],[808,371],[780,468]])],[121,new Map([[769,253],[776,255],[770,375]])],[83,new Map([[769,346],[770,348],[807,350],[780,352]])],[115,new Map([[769,347],[770,349],[807,351],[780,353]])],[90,new Map([[769,377],[775,379],[780,381]])],[122,new Map([[769,378],[775,380],[780,382]])]]);function LU($,Q){let Z=mX.get($);if(!Z)return null;return Z.get(Q)??null}function gX($){if($.length===0)return $;let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(_8(K.codepoint)===0){let q=K.codepoint,U=0,W=Z+1;while(W<$.length){let H=$[W],_=_8(H.codepoint);if(_===0)break;if(_>U||U===0){let N=LU(q,H.codepoint);if(N!==null){q=N,W++;continue}}U=_,W++}Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:q});for(let H=Z+1;H<W;H++){let _=$[H];if(!_)continue;let N=_8(_.codepoint);if(LU(q,_.codepoint)===null&&N!==0)Q.push(_)}Z=W}else Q.push(K),Z++}return Q}function uX($,Q){if(Q===0)return $;if(Q===1){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=K1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return Z1(Z),Z}if(Q===2){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=K1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return Z1(Z),gX(Z)}if(Q===3){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=K1(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return Z1(Z),Z}return $}function xX($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];if(!Z)continue;let K=Z.codepoint;if(K>=768&&K<880)return!0;if(K>=1425&&K<1480)return!0;if(K>=1552&&K<2304)return!0;if(K>=2364&&K<2416)return!0;if(K>=2492&&K<2559)return!0;if(K>=2620&&K<2677)return!0;if(K>=2748&&K<2815)return!0;if(K>=2876&&K<2928)return!0;if(K>=3021&&K<3032)return!0;if(K>=3149&&K<3184)return!0;if(K>=3260&&K<3327)return!0;if(K>=3405&&K<3440)return!0;if(K>=3530&&K<3573)return!0;if(K>=3633&&K<3664)return!0;if(K>=3761&&K<3792)return!0;if(K>=3864&&K<3976)return!0;if(K>=4151&&K<4155)return!0;if(K>=6832&&K<6912)return!0;if(K>=7616&&K<7680)return!0;if(K>=12330&&K<12336)return!0;if(K>=12441&&K<12443)return!0;if(K>=65056&&K<65072)return!0}return!1}function C$($,Q,Z){if(!xX(Q))return;let K=new Map,J=(q)=>{let U=K.get(q);if(U===void 0)U=$.gdef?H8($.gdef,q):0,K.set(q,U);return U};for(let q=0;q<Q.length;q++){let U=Q[q],W=Z[q],H=J(U.glyphId),_=_8(U.codepoint);if(H!==3&&_===0)continue;let N=-1;for(let z=q-1;z>=0;z--){let Y=Q[z],G=J(Y.glyphId),E=_8(Y.codepoint);if(G===1||G===0&&E===0){N=z;break}}if(N<0)continue;let V=Q[N],X=Z[N],j=$.advanceWidth(V.glyphId);fX($,U,W,V,X,j,_),W.xAdvance=0,W.yAdvance=0}}function fX($,Q,Z,K,J,q,U){let W=$.advanceWidth(Q.glyphId),H=$.unitsPerEm,_=(q-W)/2,N=0;if(U>=200&&U<=240)N=H*0.7,_=(q-W)/2;else if(U>=202&&U<=220)N=-H*0.15,_=(q-W)/2;else if(U===1)_=(q-W)/2,N=H*0.3;else if(U>=7&&U<=9)N=-H*0.1,_=(q-W)/2;else if(U>=10&&U<=35){if(U<=22)N=-H*0.2;else N=U<30?-H*0.15:H*0.6;_=(q-W)/2}Z.xOffset=J.xOffset+_-q,Z.yOffset=J.yOffset+N}function S$($,Q,Z){if(!$.kern)return;for(let J=0;J<Q.length-1;J++){let q=Q[J],U=Q[J+1];if(!q||!U)continue;let W=Z[J];if(!W)continue;let H=$.gdef?H8($.gdef,q.glyphId):0,_=$.gdef?H8($.gdef,U.glyphId):0;if(H===3||_===3)continue;let N=lX($,q.glyphId,U.glyphId);if(N!==0)W.xAdvance+=N}}function lX($,Q,Z){let K=$.kern;if(!K)return 0;return A$(K,Q,Z)}function MU($,Q=!0){if($<1||$>20)throw Error(`Stylistic set number must be 1-20, got ${$}`);let Z=`ss${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function dX($,Q=!0){return $.map((Z)=>MU(Z,Q))}function BU($,Q=!0){if($<1||$>99)throw Error(`Character variant number must be 1-99, got ${$}`);let Z=`cv${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function nX($,Q=!0){return $.map((Z)=>BU(Z,Q))}function pX($=!0){return{tag:k("liga"),enabled:$}}function oX($=!0){return{tag:k("dlig"),enabled:$}}function cX($=!0){return{tag:k("hlig"),enabled:$}}function iX($=!0){return{tag:k("calt"),enabled:$}}function sX($=!0){return{tag:k("salt"),enabled:$}}function aX($=!0){return{tag:k("swsh"),enabled:$}}function RU($=!0){return{tag:k("smcp"),enabled:$}}function TU($=!0){return{tag:k("c2sc"),enabled:$}}function rX($=!0){return{tag:k("pcap"),enabled:$}}function tX($=!0){return[RU($),TU($)]}function eX($=!0){return{tag:k("onum"),enabled:$}}function $j($=!0){return{tag:k("lnum"),enabled:$}}function Qj($=!0){return{tag:k("pnum"),enabled:$}}function Zj($=!0){return{tag:k("tnum"),enabled:$}}function Kj($=!0){return{tag:k("frac"),enabled:$}}function Jj($=!0){return{tag:k("ordn"),enabled:$}}function qj($=!0){return{tag:k("zero"),enabled:$}}function Uj($=!0){return{tag:k("sups"),enabled:$}}function Wj($=!0){return{tag:k("subs"),enabled:$}}function Hj($=!0){return{tag:k("sinf"),enabled:$}}function _j($=!0){return{tag:k("case"),enabled:$}}function Nj($=!0){return{tag:k("cpsp"),enabled:$}}function Vj($=!0){return{tag:k("kern"),enabled:$}}function OU($=!0){return{tag:k("vert"),enabled:$}}function PU($=!0){return{tag:k("vrt2"),enabled:$}}function vU($=!0){return{tag:k("vkna"),enabled:$}}function Xj($=!0){return[OU($),PU($),vU($)]}function jj($=!0){return{tag:k("ruby"),enabled:$}}function zj($=!0){return{tag:k("hwid"),enabled:$}}function Yj($=!0){return{tag:k("fwid"),enabled:$}}function Gj($=!0){return{tag:k("pwid"),enabled:$}}function Ej($=!0){return{tag:k("qwid"),enabled:$}}function wj($=!0){return{tag:k("twid"),enabled:$}}function Aj($=!0){return{tag:k("jp78"),enabled:$}}function Fj($=!0){return{tag:k("jp83"),enabled:$}}function Lj($=!0){return{tag:k("jp90"),enabled:$}}function Dj($=!0){return{tag:k("jp04"),enabled:$}}function Mj($=!0){return{tag:k("smpl"),enabled:$}}function Bj($=!0){return{tag:k("trad"),enabled:$}}function IU($,Q=!0){return{tag:k($),enabled:Q}}function Rj($,Q=!0){return $.map((Z)=>IU(Z,Q))}function Tj(...$){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z];if(Array.isArray(K))Q.push(...K);else Q.push(K)}return Q}var kU=new WeakMap,Oj=64,CU=["ccmp","locl","rlig","rclt","calt","liga"],SU=["kern","mark","mkmk"];function Pj($,Q,Z,K,J){if(K.length===0&&J===null)return Q===null?`${$}||${Z}||`:`${$}|${Q}|${Z}||`;let q=K.map((W)=>`${v9(W.tag)}:${W.enabled?"1":"0"}`).sort().join(","),U=J?J.map((W)=>W.toFixed(4)).join(","):"";return`${$}|${Q||""}|${Z}|${q}|${U}`}function J1($,Q,Z,K,J=[],q=null){let U=Pj(Q,Z,K,J,q),W=kU.get($);if(!W)W=new Map,kU.set($,W);let H=W.get(U);if(H)return H;let _=Ij($,Q,Z,K,J,q);if(W.size>=Oj){let N=W.keys().next().value;if(N!==void 0)W.delete(N)}return W.set(U,_),_}function vj($,Q,Z,K,J=[],q=null){return J1($,Q,Z,K,J,q)}function Ij($,Q,Z,K,J=[],q=null){let U=k(Q.padEnd(4," ")),W=Z?k(Z.padEnd(4," ")):null,H=new Set;for(let j=0;j<CU.length;j++)H.add(k(CU[j]));for(let j=0;j<SU.length;j++)H.add(k(SU[j]));for(let j=0;j<J.length;j++){let z=J[j];if(z.enabled)H.add(z.tag);else H.delete(z.tag)}let _=hU($.gsub,U,W,H,q),N=hU($.gpos,U,W,H,q),V=new Map;for(let j=0;j<_.length;j++){let z=_[j];V.set(z.index,z)}let X=new Map;for(let j=0;j<N.length;j++){let z=N[j];X.set(z.index,z)}return{script:U,language:W,direction:K,gsubLookups:_,gposLookups:N,gsubLookupMap:V,gposLookupMap:X}}function hU($,Q,Z,K,J){if(!$)return[];let q=$,U=new Set,W=t9(q.scriptList,Q);if(!W)W=t9(q.scriptList,k("DFLT"));if(!W)W=t9(q.scriptList,k("latn"));if(!W)return[];let H=$$(W,Z);if(!H)return[];let _=q.featureVariations,N=_&&J?K0(_,J):null,V=new Map;if(N){let Y=N.featureTableSubstitution.substitutions;for(let G=0;G<Y.length;G++){let E=Y[G];V.set(E.featureIndex,E.alternateFeature.lookupListIndices)}}if(H.requiredFeatureIndex!==65535){let Y=i0(q.featureList,H.requiredFeatureIndex);if(Y){let E=V.get(H.requiredFeatureIndex)??Y.feature.lookupListIndices;for(let w=0;w<E.length;w++)U.add(E[w])}}let X=H.featureIndices;for(let Y=0;Y<X.length;Y++){let G=X[Y],E=i0(q.featureList,G);if(!E)continue;if(K.has(E.featureTag)){let F=V.get(G)??E.feature.lookupListIndices;for(let A=0;A<F.length;A++)U.add(F[A])}}let j=[],z=[...U].sort((Y,G)=>Y-G);for(let Y=0;Y<z.length;Y++){let G=z[Y],E=q.lookups[G];if(E)j.push({index:G,lookup:E})}return j}var kj=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,1,2,1,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,1,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,5,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,1,1,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,2]);var J0=0,yU=1,h$=2,bU=3,b$=4,q1=5;function y$($){if($>=1536&&$<=1791)return kj[$-1536];if($<1536)return J0;if($>=1808&&$<=1810)return b$;if($>=2259&&$<=2303)return q1;return J0}function m$($){let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$[Z],J=K.codepoint??0,q=y$(J);if(q===J0||q===q1)continue;let U=J0;for(let V=Z-1;V>=0;V--){let j=$[V].codepoint??0,z=y$(j);if(z!==q1){U=z;break}}let W=J0;for(let V=Z+1;V<Q;V++){let j=$[V].codepoint??0,z=y$(j);if(z!==q1){W=z;break}}let H=U===h$||U===b$||U===bU,_=W===h$||W===yU||W===bU,N=0;if(q===h$)if(H&&_)N=4;else if(H)N=2;else if(_)N=8;else N=1;else if(q===yU)if(H)N=2;else N=1;else if(q===b$)if(_)N=8;else N=1;if(N!==0)K.mask=K.mask&4294967280|N}}function u$($){return $>=44032&&$<=55203}function Cj($){return $>=4352&&$<=4607||$>=43360&&$<=43388||$>=55216&&$<=55291}function Sj($){return $>=4352&&$<4371||$>=43360&&$<=43388}function hj($){return $>=4449&&$<4470||$>=55216&&$<=55238}function yj($){return $>4519&&$<=4546||$>=55243&&$<=55291}function bj($){if(!u$($))return[$];let Q=$-44032,Z=Math.floor(Q/588),K=Math.floor(Q%588/28),J=Q%28,q=[4352+Z,4449+K];if(J>0)q.push(4519+J);return q}function mU($,Q,Z=0){let K=$-4352,J=Q-4449,q=Z===0?0:Z-4519;if(K<0||K>=19)return null;if(J<0||J>=21)return null;if(q<0||q>=28)return null;return 44032+K*588+J*28+q}function q0($){if(Sj($))return 1;if(hj($))return 2;if(yj($))return 3;if(u$($))return($-44032)%28===0?4:5;return 0}var g$={ljmo:1,vjmo:2,tjmo:4};function x$($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];switch(q0(Z.codepoint)){case 1:Z.mask|=g$.ljmo;break;case 2:Z.mask|=g$.vjmo;break;case 3:Z.mask|=g$.tjmo;break;case 4:case 5:break}}}function f$($){let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(!K){Z++;continue}let J=q0(K.codepoint);if(J===1&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(q0(q.codepoint)===2){let W=0,H=2;if(Z+2<$.length){let N=$[Z+2];if(N){if(q0(N.codepoint)===3)W=N.codepoint,H=3}}let _=mU(K.codepoint,q.codepoint,W);if(_!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:_}),Z+=H;continue}}}if(J===4&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(q0(q.codepoint)===3){let W=bj(K.codepoint),[H,_]=W;if(W.length===2&&H!==void 0&&_!==void 0){let N=mU(H,_,q.codepoint);if(N!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:N}),Z+=2;continue}}}}Q.push(K),Z++}return Q}function gU($){return u$($)||Cj($)||$>=12593&&$<=12686}function mj($){return $>=1424&&$<=1535||$>=64285&&$<=64335}function gj($){if($>=1425&&$<=1455)return 6;if($>=1456&&$<=1469)return 2;if($===1470)return 7;if($===1471)return 5;if($===1472||$===1475)return 8;if($===1473||$===1474)return 4;if($===1468)return 3;if($===1469)return 2;if($>=1488&&$<=1514)return 1;if($>=1520&&$<=1524)return 1;if($>=64285&&$<=64335)return 1;if(mj($))return 0;return 0}function l$($){let Q=0;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(!K)continue;if(gj(K.codepoint)===1)Q=Z;K.mask=K.mask&4294901760|Q&65535}}function uU($){return $>=2304&&$<=2431}function xU($){return $>=2432&&$<=2559}function fU($){return $>=2560&&$<=2687}function lU($){return $>=2688&&$<=2815}function dU($){return $>=2816&&$<=2943}function nU($){return $>=2944&&$<=3071}function pU($){return $>=3072&&$<=3199}function oU($){return $>=3200&&$<=3327}function cU($){return $>=3328&&$<=3455}function iU($){return uU($)||xU($)||fU($)||lU($)||dU($)||nU($)||pU($)||oU($)||cU($)}function e6($){if($===8204)return 5;if($===8205)return 6;if($===9676)return 12;if(uU($)){if($>=2362&&$<=2363||$>=2366&&$<=2380||$>=2382&&$<=2383||$>=2389&&$<=2391)return 7;if($===2381)return 4;if($===2364)return 3;if($>=2305&&$<=2307)return 8;if($>=2385&&$<=2388)return 9;if($>=2308&&$<=2324||$===2400||$===2401||$===2418||$>=2422&&$<=2423)return 2;if($>=2325&&$<=2361||$>=2392&&$<=2399||$===2424||$===2425||$===2426||$>=2427&&$<=2428||$>=2430&&$<=2431){if($===2352)return 15;return 1}if($>=2406&&$<=2415)return 17;return 0}if(xU($)){if($>=2494&&$<=2500||$>=2503&&$<=2504||$>=2507&&$<=2508||$===2519)return 7;if($===2509)return 4;if($===2492)return 3;if($>=2433&&$<=2435)return 8;if($>=2437&&$<=2444||$>=2447&&$<=2448||$>=2451&&$<=2452||$===2528||$===2529)return 2;if($>=2453&&$<=2472||$>=2474&&$<=2480||$===2482||$>=2486&&$<=2489||$>=2524&&$<=2525||$>=2527&&$<=2529){if($===2480)return 15;return 1}return 0}if(fU($)||lU($)||dU($)||nU($)||pU($)||oU($)||cU($)){let Q=$&127;if(Q>=1&&Q<=3)return 8;if(Q>=5&&Q<=20)return 2;if(Q>=21&&Q<=57)return 1;if(Q===60)return 3;if(Q>=62&&Q<=76)return 7;if(Q===77)return 4;return 0}return 0}function sU($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=uj($,K);Q.push(J),K=J.end}return Q}function uj($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let W=$[K],H=$[K+1];if(W&&H){let _=e6(W.codepoint??0),N=e6(H.codepoint??0);if(_===15&&N===4)q=!0,K+=2}}let U=-1;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=e6(H);if(_===1||_===15){if(U=K,K++,K<Z){let N=$[K];if(N&&e6(N.codepoint??0)===3)K++}if(K<Z){let N=$[K];if(N&&e6(N.codepoint??0)===4){if(K++,K<Z){let V=$[K];if(V){let X=e6(V.codepoint??0);if(X===6||X===5)K++}}continue}}break}else if(_===2){K++;break}else if(_===3)K++;else{if(U===-1)K++;break}}J=U>=0?U:Q;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=e6(H);if(_===7||_===8||_===9||_===3)K++;else if(_===4){K++;break}else break}if(K===Q)K=Q+1;return{start:Q,end:K,hasReph:q,baseConsonant:J}}var E6={nukt:1,akhn:2,rphf:4,rkrf:8,pref:16,blwf:32,abvf:64,half:128,pstf:256,vatu:512,cjct:1024,init:2048,pres:4096,abvs:8192,blws:16384,psts:32768};function aU($){if($>=2304&&$<=2431){if($===2367)return 0;if($>=2373&&$<=2376)return 1;if($>=2369&&$<=2372)return 2;return 3}if($>=2432&&$<=2559){if($===2495)return 0;if($===2503||$===2504)return 0;if($>=2497&&$<=2500)return 2;return 3}if($>=2944&&$<=3071){if($>=3014&&$<=3016)return 0;if($===3009||$===3010)return 2;return 3}if($>=3072&&$<=3199){if($>=3134&&$<=3136||$>=3142&&$<=3144)return 1;if($>=3137&&$<=3140)return 2;return 3}if($>=3200&&$<=3327){if($>=3262&&$<=3264||$>=3270&&$<=3272)return 1;if($>=3265&&$<=3268)return 2;return 3}if($>=3328&&$<=3455){if($>=3398&&$<=3400)return 0;if($>=3393&&$<=3395)return 2;return 3}if($>=2560&&$<=2687){if($===2623)return 0;if($===2625||$===2626)return 2;return 3}if($>=2688&&$<=2815){if($===2751)return 0;if($>=2753&&$<=2756)return 2;return 3}if($>=2816&&$<=2943){if($===2879)return 0;if($>=2881&&$<=2883)return 2;return 3}return 3}function d$($){let Q=sU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(q){q.mask=q.mask&65535|(Z&65535)<<16;let U=e6(q.codepoint);if(U===3)q.mask|=E6.nukt;if(U===4){if(J<K.baseConsonant)q.mask|=E6.half;else if(J>K.baseConsonant)q.mask|=E6.blwf|E6.pstf}if(U===1||U===15){if(J<K.baseConsonant)q.mask|=E6.half|E6.cjct;else if(J>K.baseConsonant)q.mask|=E6.blwf|E6.pstf|E6.vatu}if(K.hasReph&&J<K.start+2)q.mask|=E6.rphf;if(U===7)switch(aU(q.codepoint)){case 0:q.mask|=E6.pref|E6.pres;break;case 1:q.mask|=E6.abvf|E6.abvs;break;case 2:q.mask|=E6.blwf|E6.blws;break;case 3:q.mask|=E6.pstf|E6.psts;break}if(U===8)q.mask|=E6.abvs|E6.psts}}}}function n$($){let Q=sU($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];xj($,K)}}function xj($,Q){let{start:Z,end:K,baseConsonant:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;if(e6(H.codepoint)===7){if(aU(H.codepoint)===0)U.push({index:W,info:H})}}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=e6(N.codepoint);if(V===8||V===9)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}function Y9($){if($<6016||$>6143)return 0;if($>=6016&&$<=6050)return 1;if($===6051||$===6052)return 2;if($>=6053&&$<=6067)return 2;if($>=6070&&$<=6085)return 3;if($===6086)return 8;if($===6087)return 9;if($===6088)return 7;if($===6089||$===6090)return 5;if($===6098)return 4;if($===6092)return 6;if($>=6091&&$<=6097)return 7;if($>=6099&&$<=6109)return 7;return 0}var T8={pref:1,blwf:2,abvf:4,pstf:8,cfar:16,pres:32,abvs:64,blws:128,psts:256,clig:512};function rU($){return $>=6016&&$<=6143||$>=6624&&$<=6655}function p$($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=Y9(Z.codepoint);if(K===0){Q++;continue}let J=Q,q=-1;if(K===1)q=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=Y9(W.codepoint);if(H===0)break;if(H===1){let _=$[U-1];if(_&&Y9(_.codepoint)!==4)break}if(H===4&&U+1<$.length){let _=$[U+1];if(_&&Y9(_.codepoint)===1){W.mask|=T8.blwf,_.mask|=T8.blwf,U+=2;continue}}if(H===3)if(W.codepoint>=6081&&W.codepoint<=6083)W.mask|=T8.pref;else if(W.codepoint>=6071&&W.codepoint<=6074)W.mask|=T8.abvf;else if(W.codepoint===6075||W.codepoint===6076||W.codepoint===6077)W.mask|=T8.blwf;else W.mask|=T8.pstf;if(H===5)W.mask|=T8.abvs;if(H===6)W.mask|=T8.abvs;U++}Q=U}}function o$($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(Y9(Z.codepoint)!==1){Q++;continue}let J=Q,q=Q+1;while(q<$.length){let U=$[q];if(!U)break;if(Y9(U.codepoint)===4&&q+1<$.length)q+=2;else break}if(q<$.length){let U=$[q];if(U){let W=U.codepoint;if(W>=6081&&W<=6083){let H=U;for(let _=q;_>J;_--){let N=$[_-1];if(N)$[_]=N}$[J]=H}}}Q=q+1}}function G9($){if($>=4096&&$<=4255){if($>=4096&&$<=4129)return 1;if($>=4131&&$<=4135)return 2;if($>=4137&&$<=4138)return 2;if($>=4139&&$<=4149)return 3;if($===4150)return 6;if($===4151)return 8;if($===4152)return 7;if($===4153)return 5;if($===4154)return 5;if($>=4155&&$<=4158)return 4;if($>=4159&&$<=4169){if($===4159)return 1;return 9}if($>=4170&&$<=4175)return 8;if($>=4176&&$<=4185)return 1;if($>=4186&&$<=4189)return 1;if($>=4192&&$<=4193)return 1;if($>=4194&&$<=4196)return 3;if($>=4197&&$<=4198)return 1;if($>=4199&&$<=4205)return 3;if($>=4206&&$<=4208)return 1;if($>=4209&&$<=4212)return 3;if($>=4213&&$<=4225)return 1;if($>=4226&&$<=4226)return 4;if($>=4227&&$<=4236)return 3;if($===4237)return 8;if($===4238)return 1;if($===4239)return 8;if($>=4240&&$<=4249)return 9}if($>=43616&&$<=43647){if($>=43616&&$<=43638)return 1;if($>=43639&&$<=43641)return 8;if($===43642)return 1;if($===43643)return 8;if($===43644)return 8;if($===43645)return 8;if($>=43646&&$<=43647)return 1}if($>=43488&&$<=43519){if($>=43488&&$<=43492)return 1;if($===43493)return 3;if($>=43494&&$<=43503)return 1;if($>=43504&&$<=43513)return 9;if($>=43514&&$<=43518)return 1}return 0}var i6={rphf:1,pref:2,blwf:4,pstf:8,pres:16,abvs:32,blws:64,psts:128};function tU($){return $>=4096&&$<=4255||$>=43616&&$<=43647||$>=43488&&$<=43519}function c$($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=G9(Z.codepoint);if(K===0){Q++;continue}let J=-1,q=!1;if(K===1)J=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=G9(W.codepoint);if(H===0)break;if(H===5){if(q=!0,W.mask|=i6.blwf,U+1<$.length){let _=$[U+1];if(_&&G9(_.codepoint)===1){_.mask|=i6.blwf,U+=2;continue}}}if(H===4){let _=W.codepoint;if(_===4155)W.mask|=i6.pref;else if(_===4156)W.mask|=i6.pref;else if(_===4157)W.mask|=i6.blwf;else if(_===4158)W.mask|=i6.blwf}if(H===3){let _=W.codepoint;if(_===4145)W.mask|=i6.pref;else if(_===4141||_===4142||_===4146)W.mask|=i6.abvs;else if(_===4143||_===4144)W.mask|=i6.blws;else W.mask|=i6.psts}if(H===6||H===8)W.mask|=i6.abvs;if(H===1&&!q){if(U>0){let _=$[U-1];if(_){if(G9(_.codepoint)!==5)break}}}q=!1,U++}Q=U}}function i$($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(G9(Z.codepoint)!==1){Q++;continue}let J=Q,q=[],U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=G9(W.codepoint);if(W.codepoint===4145){q.push(W),$.splice(U,1);continue}if(W.codepoint===4156){q.push(W),$.splice(U,1);continue}if(H===1||H===0)break;U++}if(q.length>0)$.splice(J,0,...q),Q+=q.length;Q++}}function a$($){return $>=3584&&$<=3711}function r$($){return $>=3712&&$<=3839}function s$($){if(a$($)){if($>=3585&&$<=3630)return 1;if($===3631)return 1;if($>=3648&&$<=3652)return 2;if($===3633)return 3;if($>=3636&&$<=3639)return 3;if($===3655)return 3;if($>=3640&&$<=3642)return 4;if($===3632)return 5;if($===3634||$===3635)return 5;if($===3653)return 5;if($===3635)return 8;if($>=3656&&$<=3659)return 6;if($===3660)return 6;if($===3661)return 7;if($===3662)return 7;if($>=3664&&$<=3675)return 9;return 0}if(r$($)){if($>=3713&&$<=3758)return 1;if($>=3776&&$<=3780)return 2;if($===3761)return 3;if($>=3764&&$<=3767)return 3;if($===3771)return 3;if($>=3768&&$<=3769)return 4;if($===3772)return 4;if($===3760)return 5;if($===3762||$===3763)return 5;if($>=3784&&$<=3789)return 6;if($>=3792&&$<=3801)return 9;return 0}return 0}function U1($){let Q=0,Z=-1;for(let K=0;K<$.length;K++){let J=$[K];if(!J)continue;let q=s$(J.codepoint);if(q===1)Q++,Z=K;if(J.mask=J.mask&4294967040|q&255,J.mask=J.mask&65535|(Q&65535)<<16,q===2)J.mask|=256}}function W1($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(s$(Z.codepoint)===2){let J=Q+1;while(J<$.length){let q=$[J];if(!q){J++;continue}let U=s$(q.codepoint??0);if(U===1){let W=Z;$[Q]=q,$[J]=W;break}if(U!==2)break;J++}}Q++}}function eU($){return["bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","khar","khmr","khoj","lana","lepc","limb","mahj","modi","mtei","mymr","newa","phlp","rjng","saur","shrd","sidd","sind","sinh","sund","sylo","tagb","takr","tale","talu","tavt","tibt","tirh"].includes($)}function N8($){if($===8204)return 21;if($===8205)return 20;if($===847)return 2;if($===8288)return 19;if($>=65024&&$<=65039)return 18;if($>=917760&&$<=917999)return 18;if($>=4096&&$<=4255){if($>=4096&&$<=4128)return 1;if($>=4129&&$<=4138)return 10;if($>=4139&&$<=4146)return 31;if($>=4150&&$<=4151)return 32;if($===4153)return 8;if($===4154)return 8;if($>=4155&&$<=4158)return 38;if($>=4160&&$<=4169)return 7;return 0}if($>=6016&&$<=6143){if($>=6016&&$<=6050)return 1;if($>=6051&&$<=6067)return 10;if($>=6070&&$<=6085)return 31;if($===6098)return 8;if($>=6086&&$<=6088)return 32;return 0}if($>=3840&&$<=4095){if($>=3840&&$<=3863)return 14;if($>=3953&&$<=3965)return 28;if($>=3984&&$<=4028)return 17;if($>=3904&&$<=3948)return 1;return 0}if($>=3584&&$<=3711){if($>=3585&&$<=3630)return 1;if($>=3632&&$<=3642)return 31;if($>=3648&&$<=3652)return 30;if($>=3656&&$<=3659)return 32;return 0}if($>=3712&&$<=3839){if($>=3713&&$<=3747)return 1;if($>=3760&&$<=3772)return 31;if($>=3776&&$<=3780)return 30;if($>=3784&&$<=3789)return 32;return 0}if($>=57344&&$<=57599){if($===57344)return 13;if($===57345)return 24;if($===57346)return 25;if($===57347)return 26;if($===57348)return 27;if($===57349)return 4;if($===57350)return 12;if($===57351)return 9;if($===57352)return 23;if($===57353)return 29;if($===57354)return 37;if($===57355)return 39;if($===57356)return 40;if($===57357)return 33;if($===57358)return 34;if($===57359)return 35;if($===57360)return 36;if($===57361)return 5;if($===57362)return 6}return 0}var N6={rphf:1,pref:2,blwf:4,abvf:8,pstf:16,half:32,cjct:64,vatu:128,pres:256,abvs:512,blws:1024,psts:2048,haln:4096};function $W($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=fj($,K);Q.push(J),K=J.end}return Q}function fj($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let U=$[K],W=$[K+1];if(U&&W){let H=N8(U.codepoint??0),_=N8(W.codepoint??0);if(H===13&&_===8)q=!0,K+=2}}while(K<Z){let U=$[K];if(!U){K++;continue}let W=N8(U.codepoint??0);if(W===1||W===10||W===7||W===22){J=K,K++;break}if(W===26||W===30||W===39){K++;continue}if(J===-1)K++;break}if(J===-1)J=Q;while(K<Z){let U=$[K];if(!U){K++;continue}let W=N8(U.codepoint??0);if(W===8){if(K++,K<Z){let H=$[K];if(H){let _=N8(H.codepoint??0);if(_===1||_===4||_===17){K++;continue}if(_===20||_===21)K++}}continue}if(W===17||W===4){K++;continue}if(W===12||W===9){K++;continue}break}while(K<Z){let U=$[K];if(!U){K++;continue}let W=N8(U.codepoint??0);if(W===28||W===29||W===30||W===31||W===23){K++;continue}if(W===37||W===38||W===39||W===40){K++;continue}if(W===24||W===25||W===26||W===27){K++;continue}if(W===32||W===33){K++;continue}if(W===34||W===35||W===36||W===5||W===6){K++;continue}if(W===2||W===18){K++;continue}break}if(K===Q)K=Q+1;return{start:Q,end:K,base:J,hasReph:q}}function QW($){let Q=$W($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(!q)continue;q.mask=q.mask&65535|(Z&65535)<<16;let U=N8(q.codepoint);if(K.hasReph&&J<K.start+2)q.mask|=N6.rphf;if(J<K.base){if(U===1||U===4||U===17)q.mask|=N6.half|N6.cjct}if(J>K.base){if(U===1||U===4||U===17)q.mask|=N6.blwf|N6.pstf|N6.vatu}if(U===8||U===9)if(J<K.base)q.mask|=N6.half;else q.mask|=N6.haln;if(U===30)q.mask|=N6.pref|N6.pres;else if(U===28)q.mask|=N6.abvf|N6.abvs;else if(U===29)q.mask|=N6.blwf|N6.blws;else if(U===31||U===23)q.mask|=N6.pstf|N6.psts;if(U===37)q.mask|=N6.abvs;else if(U===38)q.mask|=N6.blws;else if(U===39)q.mask|=N6.pres;else if(U===40)q.mask|=N6.psts;if(U===32)q.mask|=N6.abvs;else if(U===33)q.mask|=N6.blws;if(U===34)q.mask|=N6.abvs;else if(U===35)q.mask|=N6.blws;else if(U===36||U===5||U===6)q.mask|=N6.psts}}}function ZW($){let Q=$W($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];lj($,K)}}function lj($,Q){let{start:Z,end:K,base:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;let _=N8(H.codepoint);if(_===30||_===39)U.push({index:W,info:H})}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=N8(N.codepoint);if(V===32||V===33||V===34||V===35||V===36||V===5||V===6)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}var t$=new Uint16Array(16),e$=new Uint16Array(16);function dj($){return $ instanceof g8?$.font:$}var KW=new WeakMap;function nj($){if($ instanceof g8)return $;let Q=KW.get($);if(!Q)Q=new g8($),KW.set($,Q);return Q}function V8($,Q,Z){let K=new Uint8Array(Q.infos.length),J=$.gdef;if(!J||Z===0)return K;let q=Z&b6.IgnoreBaseGlyphs,U=Z&b6.IgnoreLigatures,W=Z&b6.IgnoreMarks,H=c0(Z);for(let _=0;_<Q.infos.length;_++){let N=Q.infos[_];if(!N)continue;let V=H8(J,N.glyphId);if(q&&V===1)K[_]=1;else if(U&&V===2)K[_]=1;else if(W&&V===3)K[_]=1;else if(H!==0&&V===3){if(J.markAttachClassDef.get(N.glyphId)!==H)K[_]=1}}return K}function JW($,Q){let Z=new Int16Array(Q),K=-1;for(let J=Q-1;J>=0;J--)if(Z[J]=K,!$[J])K=J;return Z}function pj($,Q){if(!Q.gdef)return!1;let{infos:Z,length:K}=$;for(let J=0;J<K;J++){let q=Z[J];if(!q)continue;if(H8(Q.gdef,q.glyphId)===3)return!0}return!1}function oj($,Q,Z){let K=new Int16Array($.infos.length);K.fill(-1);let J=-1;for(let q=0;q<$.infos.length;q++){let U=$.infos[q];if(!U)continue;let W=f8(Z,U.glyphId,Q);if(W===1||W===0||W===2)J=q;else if(W===3)K[q]=J}return K}var cj=[];function ij($,Q,Z={}){let K=cj.pop();if(!K)K=O8.withCapacity(64);return qW($,Q,K,Z),K}function qW($,Q,Z,K={}){let J=dj($),q=nj($),U=K.script??Q.script??"latn",W=K.language??Q.language??null,H=K.direction??"ltr",_=K.features??[],N=q.normalizedCoords.length>0?q.normalizedCoords:null,V=J1(J,U,W,H,_,N);if(Z.reset(),Z.direction=Q.direction,Z.script=U,Z.language=W,Z.initFromCodepointsWithFont(Q.codepoints,Q.clusters,J),sj(Z,U),rj(J,Z,V),Xz(q,Z),J.gpos!==null&&V.gposLookups.length>0)jz(J,Z,V);else S$(J,Z.infos,Z.positions),C$(J,Z.infos,Z.positions);if(!J.gsub&&J.morx)Iz(J,Z);if(H==="rtl")Z.reverse()}function sj($,Q){if(Q==="arab"||Q==="syrc"||Q==="mand"||Q==="nko "){m$($.infos);return}if(Q==="hebr"){l$($.infos);return}if(Q==="hang"||Q==="kore"){let Z=f$($.infos);if(Z.length!==$.infos.length)$.initFromInfos(Z);x$($.infos);return}if(Q==="deva"||Q==="beng"||Q==="guru"||Q==="gujr"||Q==="orya"||Q==="taml"||Q==="telu"||Q==="knda"||Q==="mlym"){d$($.infos),n$($.infos);return}if(Q==="thai"||Q==="lao "){U1($.infos),W1($.infos);return}if(Q==="khmr"){p$($.infos),o$($.infos);return}if(Q==="mymr"){c$($.infos),i$($.infos);return}if(eU(Q)){QW($.infos),ZW($.infos);return}if(Q==="Zyyy"||Q==="Zinh"||Q==="Zzzz")aj($.infos)}function aj($){if($.length===0)return;let Q=Math.min(10,$.length);for(let Z=0;Z<Q;Z++){let J=$[Z].codepoint;if(J>=1536&&J<=1791||J>=1872&&J<=1919||J>=2208&&J<=2303){m$($);return}if(J>=1424&&J<=1535){l$($);return}if(gU(J)){let q=f$($);if(q.length!==$.length)$.length=0,$.push(...q);x$($);return}if(iU(J)){d$($),n$($);return}if(a$(J)){U1($),W1($);return}if(r$(J)){U1($),W1($);return}if(rU(J)){p$($),o$($);return}if(tU(J)){c$($),i$($);return}}}function rj($,Q,Z){let K=Z.gsubLookups,J=new _6,q=Q.infos;for(let U=0;U<Q.length;U++)J.add(q[U].glyphId);for(let U=0;U<K.length;U++){let W=K[U];if(!J.mayIntersect(W.lookup.digest))continue;let H=Q.length;if(tj($,Q,W.lookup,Z),Q.length!==H){J=new _6;for(let _=0;_<Q.length;_++)J.add(q[_].glyphId)}}Q.compact()}function tj($,Q,Z,K){switch(Z.type){case 1:ej($,Q,Z);break;case 2:$z($,Q,Z);break;case 3:Qz($,Q,Z);break;case 4:Zz($,Q,Z);break;case 5:Kz($,Q,Z,K);break;case 6:Jz($,Q,Z,K);break;case 8:qz($,Q,Z);break}}function ej($,Q,Z){let K=Q.infos,J=K.length,q=Z.digest;if(Z.flag===0||!$.gdef){if(Z.subtables.length===1){let W=Z.subtables[0];if(W.format===1&&W.deltaGlyphId!==void 0){let H=W.deltaGlyphId;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;if(W.coverage.get(N.glyphId)!==null)N.glyphId=N.glyphId+H&65535}}else if(W.format===2&&W.substituteGlyphIds){let H=W.substituteGlyphIds;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;let V=W.coverage.get(N.glyphId);if(V!==null){let X=H[V];if(X!==void 0)N.glyphId=X}}}return}for(let W=0;W<J;W++){let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=$0(Z,H.glyphId);if(_!==null)H.glyphId=_}return}let U=V8($,Q,Z.flag);for(let W=0;W<J;W++){if(U[W])continue;let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=$0(Z,H.glyphId);if(_!==null)H.glyphId=_}}function $z($,Q,Z){let K=Z.digest,J=0;while(J<Q.infos.length){let q=Q.infos[J];if(!q){J++;continue}if(Y6($,q.glyphId,Z.flag)){J++;continue}if(!K.mayHave(q.glyphId)){J++;continue}let U=!1,W=Z.subtables;for(let H=0;H<W.length;H++){let _=W[H],N=_.coverage.get(q.glyphId);if(N===null)continue;let V=_.sequences[N];if(!V||V.length===0)continue;let X=V[0];if(X===void 0)continue;q.glyphId=X;for(let j=1;j<V.length;j++){let Y={glyphId:V[j],cluster:q.cluster,mask:q.mask,codepoint:q.codepoint},G={xAdvance:0,yAdvance:0,xOffset:0,yOffset:0};Q.insertGlyph(J+j,Y,G)}J+=V.length,U=!0;break}if(!U)J++}}function Qz($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=0;U<K.length;U++){let W=K[U];if(Y6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=_.alternateSets[N];if(!V||V.length===0)continue;let X=V[0];if(X===void 0)continue;W.glyphId=X;break}}}function Zz($,Q,Z){let K=Q.infos,J=K.length,q=Z.flag!==0&&$.gdef!==null,U=Z.digest,W=null;if(q)W=V8($,Q,Z.flag);let H=0;while(H<J){if(Q.isDeleted(H)){H++;continue}let _=K[H];if(!_){H++;continue}if(W?.[H]){H++;continue}if(!U.mayHave(_.glyphId)){H++;continue}let N=1;t$[0]=H,e$[0]=_.glyphId;for(let X=H+1;X<J&&N<16;X++){if(Q.isDeleted(X))continue;let j=K[X];if(!j)continue;if(W?.[X])continue;t$[N]=X,e$[N]=j.glyphId,N++}let V=hq(Z,e$,N,0);if(V){_.glyphId=V.ligatureGlyph;for(let X=1;X<V.consumed;X++){let j=t$[X];if(j!==void 0){let z=K[j];if(z)_.cluster=Math.min(_.cluster,z.cluster);Q.markDeleted(j)}}}H++}}function Kz($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=V8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let X=H[V],j=!1,z=[];if(X.format===1){let Y=Uz($,Q,_,X,Z.flag);if(Y)j=!0,z=Y}else if(X.format===2){let Y=Wz($,Q,_,X,Z.flag);if(Y)j=!0,z=Y}else if(X.format===3){if(Hz($,Q,_,X,Z.flag))j=!0,z=X.lookupRecords}if(j){UW($,Q,_,z,K);break}}}}function Jz($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=V8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let X=H[V],j=!1,z=[];if(X.format===1){let Y=_z($,Q,_,X,Z.flag);if(Y)j=!0,z=Y}else if(X.format===2){let Y=Nz($,Q,_,X,Z.flag);if(Y)j=!0,z=Y}else if(X.format===3){if(Vz($,Q,_,X,Z.flag))j=!0,z=X.lookupRecords}if(j){UW($,Q,_,z,K);break}}}}function qz($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=K.length-1;U>=0;U--){let W=K[U];if(!W)continue;if(Y6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=!0,X=U+1,j=_.backtrackCoverages;for(let w=0;w<j.length;w++){let F=j[w];while(X<K.length&&Y6($,K[X]?.glyphId,Z.flag))X++;if(X>=K.length||F.get(K[X]?.glyphId)===null){V=!1;break}X++}if(!V)continue;let z=!0,Y=U-1,G=_.lookaheadCoverages;for(let w=0;w<G.length;w++){let F=G[w];while(Y>=0&&Y6($,K[Y]?.glyphId,Z.flag))Y--;if(Y<0||F.get(K[Y]?.glyphId)===null){z=!1;break}Y--}if(!z)continue;let E=_.substituteGlyphIds[N];if(E!==void 0)W.glyphId=E;break}}}function Uz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(E9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function Wz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(w9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function Hz($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&Y6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function _z($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!HW($,Q,Z-1,_.backtrackSequence,J))continue;if(!E9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&Y6($,Q.infos[N]?.glyphId,J))N++;N++}if(!E9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function Nz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!_W($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!w9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,X=Z+1;for(let j=0;j<N.inputClasses.length;j++){while(X<V.length&&Y6($,V[X]?.glyphId,J))X++;X++}if(!w9($,Q,X,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function Vz($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let X=0;X<W.length;X++){let j=W[X];while(U>=0&&Y6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(j.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let X=0;X<_.length;X++){let j=_[X];while(H<q.length&&Y6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(j.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let X=0;X<V.length;X++){let j=V[X];while(N<q.length&&Y6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(j.get(q[N]?.glyphId)===null)return!1;N++}return!0}function UW($,Q,Z,K,J){let q=K.length;if(q===0)return;if(q===1){let W=K[0],H=J.gsubLookupMap.get(W.lookupListIndex);if(!H)return;let _=Z+W.sequenceIndex;if(_>=Q.infos.length)return;let N=Q.infos[_];if(!N)return;if(H.lookup.type===1){let V=$0(H.lookup,N.glyphId);if(V!==null)N.glyphId=V}return}let U=new Uint8Array(q);for(let W=0;W<q;W++){let H=-1,_=-1;for(let z=0;z<q;z++){if(U[z])continue;let Y=K[z]?.sequenceIndex;if(Y>_)_=Y,H=z}if(H<0)break;U[H]=1;let N=K[H],V=J.gsubLookupMap.get(N.lookupListIndex);if(!V)continue;let X=Z+N.sequenceIndex;if(X>=Q.infos.length)continue;let j=Q.infos[X];if(!j)continue;if(V.lookup.type===1){let z=$0(V.lookup,j.glyphId);if(z!==null)j.glyphId=z}}}function Xz($,Q){let{infos:Z,positions:K}=Q,J=Z.length,U=$.font.hmtx.hMetrics,W=U.length,H=U[W-1]?.advanceWidth??0;if(!($.normalizedCoords.length>0)){for(let N=0;N<J;N++){let V=Z[N].glyphId;K[N].xAdvance=V<W?U[V]?.advanceWidth??0:H}return}for(let N=0;N<J;N++){let V=Z[N];K[N].xAdvance=$.advanceWidth(V.glyphId)}}function f8($,Q,Z){let K=Z.get(Q);if(K===void 0)K=H8($.gdef,Q),Z.set(Q,K);return K}function jz($,Q,Z){let K=new _6,J=Q.infos,q=Q.length;for(let N=0;N<q;N++)K.add(J[N].glyphId);let U=pj(Q,$),W,H;if(U)H=new Map,W=oj(Q,H,$);else W=zz,H=Yz;let _=Z.gposLookups;for(let N=0;N<_.length;N++){let V=_[N];if(!K.mayIntersect(V.lookup.digest))continue;$Q($,Q,V.lookup,Z,H,W,U)}}var zz=new Int16Array(0),Yz=new Map;function $Q($,Q,Z,K,J,q,U){switch(Z.type){case 1:Gz($,Q,Z,U);break;case 2:Ez($,Q,Z,U);break;case 3:wz($,Q,Z,U);break;case 4:if(!U)break;Az($,Q,Z,J,q);break;case 5:if(!U)break;Fz($,Q,Z,J,q);break;case 6:if(!U)break;Lz($,Q,Z,J);break;case 7:Dz($,Q,Z,K,J,q,U);break;case 8:Mz($,Q,Z,K,J,q,U);break}}function Gz($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=K&&Z.flag!==0&&$.gdef!==null;if(H.length===1&&!_){let X=H[0];if(X.format===1&&X.value){let j=X.value,z=j.xPlacement!==void 0&&j.xPlacement!==0,Y=j.yPlacement!==void 0&&j.yPlacement!==0,G=j.xAdvance!==void 0&&j.xAdvance!==0,E=j.yAdvance!==void 0&&j.yAdvance!==0;if(!z&&!Y&&!G&&!E)return;for(let w=0;w<U;w++){let F=J[w];if(!W.mayHave(F.glyphId))continue;if(X.coverage.get(F.glyphId)===null)continue;let A=q[w];if(z)A.xOffset+=j.xPlacement;if(Y)A.yOffset+=j.yPlacement;if(G)A.xAdvance+=j.xAdvance;if(E)A.yAdvance+=j.yAdvance}return}}let N=(X)=>{let j=J[X];if(!W.mayHave(j.glyphId))return;let z=q[X];if(!z)return;for(let Y=0;Y<H.length;Y++){let G=H[Y],E=G.coverage.get(j.glyphId);if(E===null)continue;let w=G.format===1?G.value:G.values?.[E];if(w){if(w.xPlacement)z.xOffset+=w.xPlacement;if(w.yPlacement)z.yOffset+=w.yPlacement;if(w.xAdvance)z.xAdvance+=w.xAdvance;if(w.yAdvance)z.yAdvance+=w.yAdvance}break}};if(!_){for(let X=0;X<U;X++)N(X);return}let V=V8($,Q,Z.flag);for(let X=0;X<U;X++){if(V[X])continue;N(X)}}function Ez($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=H.length;if(!(K&&Z.flag!==0&&$.gdef!==null)){if(_===1){let j=H[0],z=j.coverage;if(j.format===1){let Y=j.pairSets;for(let G=0;G<U-1;G++){let E=J[G].glyphId;if(!W.mayHave(E))continue;let w=z.get(E);if(w===null)continue;let F=Y[w];if(!F)continue;let A=J[G+1].glyphId,M=F.pairValueRecords,L=0,T=M.length-1;while(L<=T){let B=L+T>>>1,I=M[B],O=I.secondGlyph;if(O<A)L=B+1;else if(O>A)T=B-1;else{let x=I.value1.xAdvance;if(x)q[G].xAdvance+=x;break}}}}else{let{classDef1:Y,classDef2:G,class1Records:E}=j,w=E.length;for(let F=0;F<U-1;F++){let A=J[F].glyphId;if(!W.mayHave(A))continue;if(z.get(A)===null)continue;let M=Y.get(A);if(M>=w)continue;let L=E[M],T=J[F+1].glyphId,B=G.get(T),I=L.class2Records;if(B>=I.length)continue;let O=I[B].value1.xAdvance;if(O)q[F].xAdvance+=O}}return}if(_===2){let j=H[0],z=H[1];if(j.format===1&&z.format===2){let{coverage:Y,pairSets:G}=j,E=z.coverage,w=z.classDef1,F=z.classDef2,A=z.class1Records,M=A.length;for(let L=0;L<U-1;L++){let T=J[L].glyphId;if(!W.mayHave(T))continue;let B=J[L+1].glyphId,I=Y.get(T);if(I!==null){let O=G[I];if(O){let x=O.pairValueRecords,v=0,f=x.length-1,l=!1;while(v<=f){let C=v+f>>>1,R=x[C],y=R.secondGlyph;if(y<B)v=C+1;else if(y>B)f=C-1;else{let u=R.value1.xAdvance;if(u)q[L].xAdvance+=u;l=!0;break}}if(l)continue}}if(E.get(T)!==null){let O=w.get(T);if(O<M){let x=A[O],v=F.get(B),f=x.class2Records;if(v<f.length){let l=f[v].value1.xAdvance;if(l)q[L].xAdvance+=l}}}}return}}for(let j=0;j<U-1;j++){let z=J[j];if(!W.mayHave(z.glyphId))continue;let Y=J[j+1],G=q[j],E=q[j+1];H$(Z,z.glyphId,Y.glyphId,G,E)}return}let V=V8($,Q,Z.flag),X=JW(V,U);for(let j=0;j<U-1;j++){if(V[j])continue;let z=X[j];if(z<0)break;let Y=J[j];if(!W.mayHave(Y.glyphId))continue;let G=J[z],E=q[j],w=q[z];H$(Z,Y.glyphId,G.glyphId,E,w)}}function wz($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=(j,z)=>{let Y=J[j],G=J[z];if(!W.mayHave(Y.glyphId)&&!W.mayHave(G.glyphId))return;for(let E=0;E<H.length;E++){let w=H[E],F=w.coverage.get(Y.glyphId),A=w.coverage.get(G.glyphId);if(F===null||A===null)continue;let M=w.entryExitRecords[F],L=w.entryExitRecords[A];if(!M?.exitAnchor||!L?.entryAnchor)continue;let T=M.exitAnchor,B=L.entryAnchor,I=q[z];if(I)I.yOffset=T.yCoordinate-B.yCoordinate;break}};if(!(K&&Z.flag!==0&&$.gdef!==null)){for(let j=0;j<U-1;j++)_(j,j+1);return}let V=V8($,Q,Z.flag),X=JW(V,U);for(let j=0;j<U-1;j++){if(V[j])continue;let z=X[j];if(z<0)break;_(j,z)}}function Az($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(f8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let X=U[V];if(!X)continue;for(let j=0;j<H.length;j++){let z=H[j],Y=z.markCoverage.get(N.glyphId),G=z.baseCoverage.get(X.glyphId);if(Y===null||G===null)continue;let E=z.markArray.markRecords[Y],w=z.baseArray[G];if(!E||!w)continue;let F=w.baseAnchors[E.markClass];if(!F)continue;let A=E.markAnchor,M=W[_],L=W[V];if(!M||!L)continue;M.xOffset=F.xCoordinate-A.xCoordinate+L.xOffset,M.yOffset=F.yCoordinate-A.yCoordinate+L.yOffset,M.xAdvance=0,M.yAdvance=0;break}}}function Fz($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(f8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let X=U[V];if(!X)continue;if(f8($,X.glyphId,K)!==2)continue;let j=0;for(let z=V+1;z<_;z++){let Y=U[z];if(Y&&f8($,Y.glyphId,K)===3)j++}for(let z=0;z<H.length;z++){let Y=H[z],G=Y.markCoverage.get(N.glyphId),E=Y.ligatureCoverage.get(X.glyphId);if(G===null||E===null)continue;let w=Y.markArray.markRecords[G],F=Y.ligatureArray[E];if(!w||!F)continue;let A=Math.min(j,F.componentRecords.length-1),M=F.componentRecords[A];if(!M)continue;let L=M.ligatureAnchors[w.markClass];if(!L)continue;let T=w.markAnchor,B=W[_],I=W[V];if(!B||!I)continue;B.xOffset=L.xCoordinate-T.xCoordinate+I.xOffset,B.yOffset=L.yCoordinate-T.yCoordinate+I.yOffset,B.xAdvance=0,B.yAdvance=0;break}}}function Lz($,Q,Z,K){let J=Z.digest,q=Q.infos,U=Q.positions,W=Z.subtables;for(let H=0;H<q.length;H++){let _=q[H];if(!_)continue;if(!J.mayHave(_.glyphId))continue;if(f8($,_.glyphId,K)!==3)continue;let N=-1;if(H>0){let X=q[H-1];if(X){if(f8($,X.glyphId,K)===3)N=H-1}}if(N<0)continue;let V=q[N];if(!V)continue;for(let X=0;X<W.length;X++){let j=W[X],z=j.mark1Coverage.get(_.glyphId),Y=j.mark2Coverage.get(V.glyphId);if(z===null||Y===null)continue;let G=j.mark1Array.markRecords[z],E=j.mark2Array[Y];if(!G||!E)continue;let w=E.mark2Anchors[G.markClass];if(!w)continue;let F=G.markAnchor,A=U[H],M=U[N];if(!A||!M)continue;A.xOffset=w.xCoordinate-F.xCoordinate+M.xOffset,A.yOffset=w.yCoordinate-F.yCoordinate+M.yOffset;break}}}function Dz($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=V8($,Q,Z.flag);for(let X=0;X<H;X++){let j=W[X];if(!j)continue;if(V?.[X])continue;if(!_.mayHave(j.glyphId))continue;for(let z=0;z<N.length;z++){let Y=N[z],G=!1,E=[];if(Y.format===1){let w=Bz($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===2){let w=Rz($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===3){if(Tz($,Q,X,Y,Z.flag))G=!0,E=Y.lookupRecords}if(G){WW($,Q,X,E,K,J,q,U);break}}}}function Mz($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=V8($,Q,Z.flag);for(let X=0;X<H;X++){let j=W[X];if(!j)continue;if(V?.[X])continue;if(!_.mayHave(j.glyphId))continue;for(let z=0;z<N.length;z++){let Y=N[z],G=!1,E=[];if(Y.format===1){let w=Oz($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===2){let w=Pz($,Q,X,Y,Z.flag);if(w)G=!0,E=w}else if(Y.format===3){if(vz($,Q,X,Y,Z.flag))G=!0,E=Y.lookupRecords}if(G){WW($,Q,X,E,K,J,q,U);break}}}}function Bz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(E9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function Rz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(w9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function Tz($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&Y6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function Oz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!HW($,Q,Z-1,_.backtrackSequence,J))continue;if(!E9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&Y6($,Q.infos[N]?.glyphId,J))N++;N++}if(!E9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function Pz($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!_W($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!w9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,X=Z+1;for(let j=0;j<N.inputClasses.length;j++){while(X<V.length&&Y6($,V[X]?.glyphId,J))X++;X++}if(!w9($,Q,X,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function vz($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let X=0;X<W.length;X++){let j=W[X];while(U>=0&&Y6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(j.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let X=0;X<_.length;X++){let j=_[X];while(H<q.length&&Y6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(j.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let X=0;X<V.length;X++){let j=V[X];while(N<q.length&&Y6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(j.get(q[N]?.glyphId)===null)return!1;N++}return!0}function WW($,Q,Z,K,J,q,U,W){let H=K.length;if(H===0)return;if(H===1){let N=K[0],V=J.gposLookupMap.get(N.lookupListIndex);if(!V)return;if(Z+N.sequenceIndex>=Q.infos.length)return;$Q($,Q,V.lookup,J,q,U,W);return}let _=new Uint8Array(H);for(let N=0;N<H;N++){let V=-1,X=-1;for(let G=0;G<H;G++){if(_[G])continue;let E=K[G].sequenceIndex;if(E>X)X=E,V=G}if(V<0)break;_[V]=1;let j=K[V],z=J.gposLookupMap.get(j.lookupListIndex);if(!z)continue;if(Z+j.sequenceIndex>=Q.infos.length)continue;$Q($,Q,z.lookup,J,q,U,W)}}function E9($,Q,Z,K,J){let q=Z;for(let U=0;U<K.length;U++){let W=K[U];while(q<Q.infos.length&&Y6($,Q.infos[q]?.glyphId,J))q++;if(q>=Q.infos.length)return!1;if(Q.infos[q]?.glyphId!==W)return!1;q++}return!0}function HW($,Q,Z,K,J){let q=Q.infos,U=Z;for(let W=0;W<K.length;W++){let H=K[W];while(U>=0&&Y6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(q[U]?.glyphId!==H)return!1;U--}return!0}function w9($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W<U.length&&Y6($,U[W]?.glyphId,q))W++;if(W>=U.length)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W++}return!0}function _W($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W>=0&&Y6($,U[W]?.glyphId,q))W--;if(W<0)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W--}return!0}function Y6($,Q,Z){if((Z&14)===0&&(Z&65280)===0)return!1;let K=$.gdef;if(!K)return!1;let J=H8(K,Q);if(Z&b6.IgnoreBaseGlyphs&&J===1)return!0;if(Z&b6.IgnoreLigatures&&J===2)return!0;if(Z&b6.IgnoreMarks&&J===3)return!0;let q=c0(Z);if(q!==0&&J===3){if(K.markAttachClassDef.get(Q)!==q)return!0}return!1}function Iz($,Q){let Z=$.morx;if(!Z)return;let K=Z.chains;for(let J=0;J<K.length;J++){let q=K[J],U=q.subtables;for(let W=0;W<U.length;W++){let H=U[W];if((q.defaultFlags&H.subFeatureFlags)===0)continue;switch(H.type){case 4:{let _=Q.infos;for(let N=0;N<_.length;N++){let V=_[N],X=D$(H,V.glyphId);if(X!==null)V.glyphId=X}break}case 0:B1(H,Q.infos);break;case 1:R1(H,Q.infos);break;case 2:{let _=T1(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}case 5:{let _=O1(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}}}}}var QQ={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function U0($,Q){let K=0,J=new Map,q=Q?new Map:null,U="";function W(H){if(H.indexOf("+")!==-1)for(let _=+H;_--;)W(U);else{U=H;let _=H.split(">"),N=_[0]??"",V=_[1]??"";K+=parseInt(N,36);let X=String.fromCodePoint(K);K+=parseInt(V,36);let j=String.fromCodePoint(K);if(J.set(X,j),q)q.set(j,X)}}return $.split(",").forEach(W),{map:J,reverseMap:q}}var ZQ=null,NW=null,VW=null;function KQ(){if(!ZQ){let{map:$,reverseMap:Q}=U0(QQ.pairs,!0);ZQ=$,NW=Q,VW=U0(QQ.canonical,!1).map}}function H1($){return KQ(),ZQ?.get($)||null}function _1($){return KQ(),NW?.get($)||null}function N1($){return KQ(),VW?.get($)||null}var W0={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"};var K6={},JQ={};K6.L=1;JQ[1]="L";Object.keys(W0).forEach(($,Q)=>{K6[$]=1<<Q+1;let Z=K6[$];if(Z!==void 0)JQ[Z]=$});Object.freeze(K6);function U6($){return K6[$]??0}var $8=U6("LRI")|U6("RLI")|U6("FSI"),X1=U6("L")|U6("R")|U6("AL"),C6=U6("B")|U6("S")|U6("WS")|U6("ON")|U6("FSI")|U6("LRI")|U6("RLI")|U6("PDI"),F6=U6("BN")|U6("RLE")|U6("LRE")|U6("RLO")|U6("LRO")|U6("PDF"),H0=U6("S")|U6("WS")|U6("B")|$8|U6("PDI")|F6,V1=null;function kz(){if(!V1){V1=new Map;let $=0;for(let Q in W0)if(Object.hasOwn(W0,Q)){let Z=W0[Q],K="",J=0,q=!1,U=0;for(let W=0;W<=Z.length+1;W+=1){let H=Z[W];if(H!==","&&W!==Z.length)if(H==="+")q=!0,U=$=U+parseInt(K,36),K="";else K+=H;else{if(!q)U=$=U+parseInt(K,36),J=$;else J=$+parseInt(K,36);q=!1,K="",U=J;let _=U6(Q);for(let N=$;N<J+1;N+=1)V1.set(N,_)}}}}}function m6($){kz();let Q=$.codePointAt(0);if(Q===void 0)return U6("L");return V1?.get(Q)??U6("L")}var x6=K6.L??1,n6=K6.R??2,S6=K6.EN??4,_0=K6.ES??8,j1=K6.ET??16,N0=K6.AN??32,z1=K6.CS??64,A9=K6.B??128,Cz=K6.S??256,Y1=K6.ON??512,Sz=K6.BN??1024,G1=K6.NSM??2048,E1=K6.AL??4096,XW=K6.LRO??8192,w1=K6.RLO??16384,jW=K6.LRE??32768,qQ=K6.RLE??65536,zW=K6.PDF??131072,hz=K6.LRI??262144,YW=K6.RLI??524288,yz=K6.FSI??1048576,F9=K6.PDI??2097152;function a($,Q){return $[Q]??0}function H6($,Q){return $[Q]??0}function L9($,Q){return $[Q]??""}function UQ($,Q){let K=new Uint32Array($.length);for(let Y=0;Y<$.length;Y++)K[Y]=m6(L9($,Y));let J=new Map;function q(Y,G){let E=a(K,Y);if(K[Y]=G,J.set(E,(J.get(E)??0)-1),E&C6)J.set(C6,(J.get(C6)??0)-1);if(J.set(G,(J.get(G)??0)+1),G&C6)J.set(C6,(J.get(C6)??0)+1)}let U=new Uint8Array($.length),W=new Map,H=[],_=null;function N(Y,G){for(let E=Y;E<$.length;E++){let w=a(K,E);if(w&(n6|E1))return 1;if(w&(A9|x6)||G&&w===F9)return 0;if(w&$8){let F=V(E);E=F===-1?$.length:F}}return 0}function V(Y){let G=1;for(let E=Y+1;E<$.length;E++){let w=a(K,E);if(w&A9)break;if(w&F9){if(--G===0)return E}else if(w&$8)G++}return-1}for(let Y=0;Y<$.length;Y++){if(!_)_={start:Y,end:$.length-1,level:Q==="rtl"?1:Q==="ltr"?0:N(Y,!1)},H.push(_);if(a(K,Y)&A9)_.end=Y,_=null}let X=qQ|jW|w1|XW|$8|F9|zW|A9,j=(Y)=>Y+(Y&1?1:2),z=(Y)=>Y+(Y&1?2:1);for(let Y=0;Y<H.length;Y++){let G=H[Y];if(!G)continue;_=G;let E=[{_level:_.level,_override:0,_isolate:0}],w=0,F=0,A=0;J.clear();for(let B=_.start;B<=_.end;B++){let I=a(K,B),O=E[E.length-1];if(!O)continue;if(J.set(I,(J.get(I)??0)+1),I&C6)J.set(C6,(J.get(C6)??0)+1);if(I&X){if(I&(qQ|jW)){U[B]=O._level;let x=(I===qQ?z:j)(O._level);if(x<=125&&!w&&!F)E.push({_level:x,_override:0,_isolate:0});else if(!w)F++}else if(I&(w1|XW)){U[B]=O._level;let x=(I===w1?z:j)(O._level);if(x<=125&&!w&&!F)E.push({_level:x,_override:I&w1?n6:x6,_isolate:0});else if(!w)F++}else if(I&$8){if(I&yz)I=N(B+1,!0)===1?YW:hz;if(U[B]=O._level,O._override)q(B,O._override);let x=(I===YW?z:j)(O._level);if(x<=125&&w===0&&F===0)A++,E.push({_level:x,_override:0,_isolate:1,_isolInitIndex:B});else w++}else if(I&F9){if(w>0)w--;else if(A>0){F=0;while(E.length>0){if(E[E.length-1]?._isolate)break;E.pop()}let v=E[E.length-1]?._isolInitIndex;if(v!=null)W.set(v,B),W.set(B,v);E.pop(),A--}if(O=E[E.length-1],!O)continue;if(U[B]=O._level,O._override)q(B,O._override)}else if(I&zW){if(w===0){if(F>0)F--;else if(!O._isolate&&E.length>1){if(E.pop(),O=E[E.length-1],!O)continue}}U[B]=O._level}else if(I&A9)U[B]=_.level}else if(U[B]=O._level,O._override&&I!==Sz)q(B,O._override)}let M=[],L=null;for(let B=_.start;B<=_.end;B++){let I=a(K,B);if(!(I&F6)){let O=U[B]??0,x=!!(I&$8),v=I===F9;if(L&&O===L._level)L._end=B,L._endsWithIsolInit=x;else L={_start:B,_end:B,_level:O,_startsWithPDI:v,_endsWithIsolInit:x},M.push(L)}}let T=[];for(let B=0;B<M.length;B++){let I=M[B];if(!I)continue;if(!I._startsWithPDI||I._startsWithPDI&&!W.has(I._start)){L=I;let O=[I];while(L?._endsWithIsolInit){let u=W.get(L._end);if(u==null)break;let d=!1;for(let c=B+1;c<M.length;c++){let n=M[c];if(n?._start===u){L=n,O.push(n),d=!0;break}}if(!d)break}let x=[];for(let u=0;u<O.length;u++){let d=O[u];for(let c=d._start;c<=d._end;c++)x.push(c)}let v=x[0]??0,f=U[v]??0,l=_.level;for(let u=v-1;u>=0;u--)if(!(a(K,u)&F6)){l=U[u]??0;break}let C=x[x.length-1]??0,R=U[C]??0,y=_.level;if(!(a(K,C)&$8)){for(let u=C+1;u<=_.end;u++)if(!(a(K,u)&F6)){y=U[u]??0;break}}T.push({_seqIndices:x,_sosType:Math.max(l,f)%2?n6:x6,_eosType:Math.max(y,R)%2?n6:x6})}}for(let B=0;B<T.length;B++){let I=T[B],{_seqIndices:O,_sosType:x,_eosType:v}=I,f=O[0]??0,l=(U[f]??0)&1?n6:x6;if(J.get(G1))for(let C=0;C<O.length;C++){let R=H6(O,C);if(a(K,R)&G1){let y=x;for(let u=C-1;u>=0;u--){let d=H6(O,u);if(!(a(K,d)&F6)){y=a(K,d);break}}q(R,y&($8|F9)?Y1:y)}}if(J.get(S6))for(let C=0;C<O.length;C++){let R=H6(O,C);if(a(K,R)&S6)for(let y=C-1;y>=-1;y--){let u=y===-1?x:a(K,H6(O,y));if(u&X1){if(u===E1)q(R,N0);break}}}if(J.get(E1))for(let C=0;C<O.length;C++){let R=H6(O,C);if(a(K,R)&E1)q(R,n6)}if(J.get(_0)||J.get(z1))for(let C=1;C<O.length-1;C++){let R=H6(O,C);if(a(K,R)&(_0|z1)){let y=0,u=0;for(let d=C-1;d>=0;d--)if(y=a(K,H6(O,d)),!(y&F6))break;for(let d=C+1;d<O.length;d++)if(u=a(K,H6(O,d)),!(u&F6))break;if(y===u&&(a(K,R)===_0?y===S6:y&(S6|N0)))q(R,y)}}if(J.get(S6))for(let C=0;C<O.length;C++){let R=H6(O,C);if(a(K,R)&S6){for(let y=C-1;y>=0;y--){let u=H6(O,y);if(!(a(K,u)&(j1|F6)))break;q(u,S6)}for(C++;C<O.length;C++){let y=H6(O,C);if(!(a(K,y)&(j1|F6|S6)))break;if(a(K,y)!==S6)q(y,S6)}}}if(J.get(j1)||J.get(_0)||J.get(z1))for(let C=0;C<O.length;C++){let R=H6(O,C);if(a(K,R)&(j1|_0|z1)){q(R,Y1);for(let y=C-1;y>=0;y--){let u=H6(O,y);if(!(a(K,u)&F6))break;q(u,Y1)}for(let y=C+1;y<O.length;y++){let u=H6(O,y);if(!(a(K,u)&F6))break;q(u,Y1)}}}if(J.get(S6)){let C=x;for(let R=0;R<O.length;R++){let y=H6(O,R),u=a(K,y);if(u&S6){if(C===x6)q(y,x6)}else if(u&X1)C=u}}if(J.get(C6)){let C=n6|S6|N0,R=C|x6,y=[],u=[];for(let d=0;d<O.length;d++){let c=H6(O,d);if(a(K,c)&C6){let n=L9($,c);if(H1(n)!==null)if(u.length<63)u.push({char:n,seqIndex:d});else break;else{let g=_1(n);if(g!==null)for(let X6=u.length-1;X6>=0;X6--){let S=u[X6];if(!S)continue;let q6=S.char,b=N1(n),L6=N1(q6);if(q6===g||b&&q6===_1(b)||L6&&H1(L6)===n){y.push([S.seqIndex,d]),u.length=X6;break}}}}}y.sort((d,c)=>d[0]-c[0]);for(let d=0;d<y.length;d++){let c=y[d],[n,e]=c,g=!1,X6=0;for(let S=n+1;S<e;S++){let q6=H6(O,S),b=a(K,q6);if(b&R){g=!0;let L6=b&C?n6:x6;if(L6===l){X6=L6;break}}}if(g&&!X6){X6=x;for(let S=n-1;S>=0;S--){let q6=H6(O,S),b=a(K,q6);if(b&R){let L6=b&C?n6:x6;X6=L6!==l?L6:l;break}}}if(X6){if(K[H6(O,n)]=X6,K[H6(O,e)]=X6,X6!==l){for(let S=n+1;S<O.length;S++){let q6=H6(O,S);if(!(a(K,q6)&F6)){if(m6(L9($,q6))&G1)K[q6]=X6;break}}for(let S=e+1;S<O.length;S++){let q6=H6(O,S);if(!(a(K,q6)&F6)){if(m6(L9($,q6))&G1)K[q6]=X6;break}}}}}for(let d=0;d<O.length;d++){let c=H6(O,d);if(a(K,c)&C6){let n=d,e=d,g=x;for(let S=d-1;S>=0;S--){let q6=H6(O,S);if(a(K,q6)&F6)n=S;else{g=a(K,q6)&C?n6:x6;break}}let X6=v;for(let S=d+1;S<O.length;S++){let q6=H6(O,S);if(a(K,q6)&(C6|F6))e=S;else{X6=a(K,q6)&C?n6:x6;break}}for(let S=n;S<=e;S++)K[H6(O,S)]=g===X6?g:l;d=e}}}}for(let B=_.start;B<=_.end;B++){let I=U[B]??0,O=a(K,B);if(I&1){if(O&(x6|S6|N0))U[B]++}else if(O&n6)U[B]++;else if(O&(N0|S6))U[B]+=2;if(O&F6)U[B]=B===0?_.level:U[B-1]??_.level;if(B===_.end||m6(L9($,B))&(Cz|A9))for(let x=B;x>=0&&m6(L9($,x))&H0;x--)U[x]=_.level}}return{levels:U,paragraphs:H}}var GW="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1";var WQ=null;function bz(){if(!WQ){let{map:$,reverseMap:Q}=U0(GW,!0);if(Q)Q.forEach((Z,K)=>{$.set(K,Z)});WQ=$}}function A1($){return bz(),WQ?.get($)||null}function EW($,Q,Z,K){let J=$.length,q=Math.max(0,Z==null?0:+Z),U=Math.min(J-1,K==null?J-1:+K),W=[];for(let H=0;H<Q.paragraphs.length;H++){let _=Q.paragraphs[H],N=Math.max(q,_.start),V=Math.min(U,_.end);if(N<V){let X=Q.levels.slice(N,V+1);for(let Y=V;Y>=N;Y--){let G=$[Y];if(G===void 0)break;if(!(m6(G)&H0))break;X[Y-N]=_.level}let j=_.level,z=1/0;for(let Y=0;Y<X.length;Y++){let G=X[Y]??0;if(G>j)j=G;if(G<z)z=G|1}for(let Y=j;Y>=z;Y--)for(let G=0;G<X.length;G++)if((X[G]??0)>=Y){let w=G;while(G+1<X.length){if((X[G+1]??0)<Y)break;G++}if(G>w)W.push([w+N,G+N])}}}return W}function F1($,Q,Z,K){let J=EW($,Q,Z,K),q=[];for(let U=0;U<$.length;U++)q[U]=U;for(let U=0;U<J.length;U++){let W=J[U],H=W[0],_=W[1],N=q.slice(H,_+1);for(let V=N.length;V--;){let X=N[V];if(X!==void 0)q[_-V]=X}}return q}function wW($,Q=4){let Z=Q===5?"rtl":Q===4?"ltr":"auto",K=UQ($,Z);return{levels:K.levels,paragraphs:K.paragraphs}}function mz($,Q,Z=0,K=$.length){return[...F1($,Q,Z,K)]}function AW($,Q){if($.length===0)return $;let Z="x".repeat($.length),K=F1(Z,Q,0,$.length),J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U<$.length){let W=$[U];if(W)J.push(W)}}return J}function FW($){let Q=String.fromCodePoint($),Z=A1(Q);return Z?Z.codePointAt(0)??$:$}function LW($,Q){for(let Z=0;Z<$.length;Z++){let K=$[Z],J=Q[Z];if(J===void 0)continue;if(J&1){let q=FW(K.codepoint);if(q!==K.codepoint)K.codepoint=q}}}var l8={L:1,R:2,EN:4,ES:8,ET:16,AN:32,CS:64,B:128,S:256,WS:512,ON:1024,BN:2048,NSM:4096,AL:8192,LRO:16384,RLO:32768,LRE:65536,RLE:131072,PDF:262144,LRI:524288,RLI:1048576,FSI:2097152,PDI:4194304};function gz($){return m6($)}function uz($){let Q=String.fromCodePoint($);return(m6(Q)&(l8.R|l8.AL))!==0}function xz($){let Q=String.fromCodePoint($);return(m6(Q)&l8.L)!==0}function fz($){let Q=[...$];for(let Z=0;Z<Q.length;Z++){let K=Q[Z],J=m6(K);if(J&l8.L)return 4;if(J&(l8.R|l8.AL))return 5}return 4}function lz($,Q=4){if($.length===0)return{infos:$,levels:new Uint8Array(0)};let Z=$.map((q)=>String.fromCodePoint(q.codepoint)).join(""),K=wW(Z,Q);return LW($,K.levels),{infos:AW($,K),levels:K.levels}}var DW;((b)=>{b[b.BK=0]="BK";b[b.CR=1]="CR";b[b.LF=2]="LF";b[b.CM=3]="CM";b[b.NL=4]="NL";b[b.SG=5]="SG";b[b.WJ=6]="WJ";b[b.ZW=7]="ZW";b[b.GL=8]="GL";b[b.SP=9]="SP";b[b.ZWJ=10]="ZWJ";b[b.B2=11]="B2";b[b.BA=12]="BA";b[b.BB=13]="BB";b[b.HY=14]="HY";b[b.CB=15]="CB";b[b.CL=16]="CL";b[b.CP=17]="CP";b[b.EX=18]="EX";b[b.IN=19]="IN";b[b.NS=20]="NS";b[b.OP=21]="OP";b[b.QU=22]="QU";b[b.IS=23]="IS";b[b.NU=24]="NU";b[b.PO=25]="PO";b[b.PR=26]="PR";b[b.SY=27]="SY";b[b.AI=28]="AI";b[b.AL=29]="AL";b[b.CJ=30]="CJ";b[b.EB=31]="EB";b[b.EM=32]="EM";b[b.H2=33]="H2";b[b.H3=34]="H3";b[b.HL=35]="HL";b[b.ID=36]="ID";b[b.JL=37]="JL";b[b.JV=38]="JV";b[b.JT=39]="JT";b[b.RI=40]="RI";b[b.SA=41]="SA";b[b.XX=42]="XX"})(DW||={});var MW;((U)=>{U[U.Direct=0]="Direct";U[U.Indirect=1]="Indirect";U[U.CombiningIndirect=2]="CombiningIndirect";U[U.CombiningProhibited=3]="CombiningProhibited";U[U.Prohibited=4]="Prohibited";U[U.Explicit=5]="Explicit"})(MW||={});var BW;((K)=>{K[K.NoBreak=0]="NoBreak";K[K.Optional=1]="Optional";K[K.Mandatory=2]="Mandatory"})(BW||={});function RW($){if($===10)return 2;if($===13)return 1;if($===133)return 4;if($===11||$===12)return 0;if($===8232)return 0;if($===8233)return 0;if($===8203)return 7;if($===8205)return 10;if($===8288)return 6;if($===65279)return 6;if($===32)return 9;if($===160)return 8;if($===8239)return 8;if($===8199)return 8;if($===8209)return 8;if($===9)return 12;if($>=8192&&$<=8202)return 12;if($>=768&&$<=879)return 3;if($>=1155&&$<=1161)return 3;if($>=1425&&$<=1469)return 3;if($>=1471&&$<=1479)return 3;if($>=1552&&$<=1562)return 3;if($>=1611&&$<=1631)return 3;if($>=1648&&$<=1648)return 3;if($>=1750&&$<=1773)return 3;if($>=1809&&$<=1809)return 3;if($>=1840&&$<=1866)return 3;if($>=1958&&$<=1968)return 3;if($>=2070&&$<=2083)return 3;if($>=2085&&$<=2093)return 3;if($>=2137&&$<=2139)return 3;if($>=2259&&$<=2273)return 3;if($>=2275&&$<=2307)return 3;if($>=2362&&$<=2364)return 3;if($>=2366&&$<=2383)return 3;if($>=2385&&$<=2391)return 3;if($>=2402&&$<=2403)return 3;if($>=2433&&$<=2435)return 3;if($===2492)return 3;if($>=2494&&$<=2509)return 3;if($>=2519&&$<=2519)return 3;if($>=2530&&$<=2531)return 3;if($>=2558&&$<=2558)return 3;if($>=2561&&$<=2563)return 3;if($>=2620&&$<=2641)return 3;if($>=2672&&$<=2673)return 3;if($>=2677&&$<=2677)return 3;if($>=2689&&$<=2691)return 3;if($>=2748&&$<=2765)return 3;if($>=2786&&$<=2787)return 3;if($>=2810&&$<=2815)return 3;if($>=2817&&$<=2819)return 3;if($>=2876&&$<=2903)return 3;if($>=2914&&$<=2915)return 3;if($>=2946&&$<=2946)return 3;if($>=3006&&$<=3021)return 3;if($>=3031&&$<=3031)return 3;if($>=3072&&$<=3076)return 3;if($>=3134&&$<=3158)return 3;if($>=3170&&$<=3171)return 3;if($>=3201&&$<=3203)return 3;if($>=3260&&$<=3286)return 3;if($>=3298&&$<=3299)return 3;if($>=3328&&$<=3331)return 3;if($>=3387&&$<=3405)return 3;if($>=3415&&$<=3415)return 3;if($>=3426&&$<=3427)return 3;if($>=3457&&$<=3459)return 3;if($>=3530&&$<=3571)return 3;if($>=3864&&$<=3865)return 3;if($>=3893&&$<=3897)return 3;if($>=3902&&$<=3903)return 3;if($>=3953&&$<=3972)return 3;if($>=3974&&$<=3975)return 3;if($>=3981&&$<=4028)return 3;if($===4038)return 3;if($>=5906&&$<=5908)return 3;if($>=5938&&$<=5940)return 3;if($>=5970&&$<=5971)return 3;if($>=6002&&$<=6003)return 3;if($>=6068&&$<=6099)return 3;if($===6109)return 3;if($>=6155&&$<=6157)return 3;if($===6159)return 3;if($>=6277&&$<=6278)return 3;if($===6313)return 3;if($>=6432&&$<=6459)return 3;if($>=6679&&$<=6683)return 3;if($>=6741&&$<=6783)return 3;if($>=6832&&$<=6862)return 3;if($>=6912&&$<=6916)return 3;if($>=6964&&$<=6980)return 3;if($>=7019&&$<=7027)return 3;if($>=7040&&$<=7042)return 3;if($>=7073&&$<=7085)return 3;if($>=7142&&$<=7155)return 3;if($>=7204&&$<=7223)return 3;if($>=7376&&$<=7417)return 3;if($>=7616&&$<=7679)return 3;if($>=8400&&$<=8432)return 3;if($>=11503&&$<=11505)return 3;if($===11647)return 3;if($>=11744&&$<=11775)return 3;if($>=12330&&$<=12335)return 3;if($>=12441&&$<=12442)return 3;if($>=42607&&$<=42610)return 3;if($>=42612&&$<=42621)return 3;if($>=42654&&$<=42655)return 3;if($>=42736&&$<=42737)return 3;if($>=43010&&$<=43047)return 3;if($>=43052&&$<=43052)return 3;if($>=43136&&$<=43137)return 3;if($>=43188&&$<=43205)return 3;if($>=43232&&$<=43249)return 3;if($===43263)return 3;if($>=43302&&$<=43309)return 3;if($>=43335&&$<=43347)return 3;if($>=43392&&$<=43395)return 3;if($>=43443&&$<=43469)return 3;if($===43493)return 3;if($>=43561&&$<=43574)return 3;if($>=43587&&$<=43587)return 3;if($>=43596&&$<=43597)return 3;if($>=43643&&$<=43645)return 3;if($>=43696&&$<=43714)return 3;if($>=43755&&$<=43759)return 3;if($>=43765&&$<=43766)return 3;if($>=44003&&$<=44010)return 3;if($>=44012&&$<=44013)return 3;if($===64286)return 3;if($>=65024&&$<=65039)return 3;if($>=65056&&$<=65071)return 3;if($>=66045&&$<=66045)return 3;if($>=66272&&$<=66272)return 3;if($>=66422&&$<=66426)return 3;if($>=68097&&$<=68111)return 3;if($>=68152&&$<=68159)return 3;if($>=68325&&$<=68326)return 3;if($>=68900&&$<=68903)return 3;if($>=69291&&$<=69292)return 3;if($>=69446&&$<=69456)return 3;if($>=69506&&$<=69509)return 3;if($>=69632&&$<=69634)return 3;if($>=69688&&$<=69702)return 3;if($>=69744&&$<=69744)return 3;if($>=69747&&$<=69748)return 3;if($>=69759&&$<=69762)return 3;if($>=69808&&$<=69826)return 3;if($>=69888&&$<=69890)return 3;if($>=69927&&$<=69940)return 3;if($===69957)return 3;if($===69958)return 3;if($>=70003&&$<=70003)return 3;if($>=70016&&$<=70018)return 3;if($>=70067&&$<=70080)return 3;if($>=70089&&$<=70092)return 3;if($===70094)return 3;if($===70095)return 3;if($>=70188&&$<=70199)return 3;if($===70206)return 3;if($>=70367&&$<=70378)return 3;if($>=70400&&$<=70403)return 3;if($>=70459&&$<=70460)return 3;if($>=70462&&$<=70477)return 3;if($>=70487&&$<=70487)return 3;if($>=70498&&$<=70516)return 3;if($>=70709&&$<=70726)return 3;if($===70750)return 3;if($>=70832&&$<=70851)return 3;if($>=71087&&$<=71104)return 3;if($>=71132&&$<=71133)return 3;if($>=71216&&$<=71232)return 3;if($>=71339&&$<=71351)return 3;if($>=71453&&$<=71467)return 3;if($>=71724&&$<=71738)return 3;if($>=71984&&$<=71989)return 3;if($>=71991&&$<=71992)return 3;if($>=71995&&$<=71998)return 3;if($===72000)return 3;if($>=72002&&$<=72003)return 3;if($>=72145&&$<=72151)return 3;if($>=72154&&$<=72160)return 3;if($===72164)return 3;if($>=72193&&$<=72202)return 3;if($>=72243&&$<=72249)return 3;if($>=72251&&$<=72254)return 3;if($===72263)return 3;if($>=72273&&$<=72283)return 3;if($>=72330&&$<=72345)return 3;if($>=72751&&$<=72758)return 3;if($>=72760&&$<=72767)return 3;if($>=72850&&$<=72871)return 3;if($>=72873&&$<=72886)return 3;if($>=73009&&$<=73029)return 3;if($===73031)return 3;if($>=73098&&$<=73111)return 3;if($>=73459&&$<=73462)return 3;if($>=92912&&$<=92916)return 3;if($>=92976&&$<=92982)return 3;if($===94031)return 3;if($>=94033&&$<=94087)return 3;if($>=94095&&$<=94098)return 3;if($>=94180&&$<=94180)return 3;if($>=94192&&$<=94193)return 3;if($>=113821&&$<=113822)return 3;if($>=118528&&$<=118598)return 3;if($>=119141&&$<=119145)return 3;if($>=119149&&$<=119154)return 3;if($>=119163&&$<=119170)return 3;if($>=119173&&$<=119179)return 3;if($>=119210&&$<=119213)return 3;if($>=119362&&$<=119364)return 3;if($>=121344&&$<=121398)return 3;if($>=121403&&$<=121452)return 3;if($===121461)return 3;if($===121476)return 3;if($>=121499&&$<=121519)return 3;if($>=122880&&$<=122922)return 3;if($>=123184&&$<=123190)return 3;if($>=123566&&$<=123566)return 3;if($>=123628&&$<=123631)return 3;if($>=125136&&$<=125142)return 3;if($>=125252&&$<=125258)return 3;if($>=917760&&$<=917999)return 3;if($===33)return 18;if($===63)return 18;if($===34)return 22;if($===39)return 22;if($===40)return 21;if($===41)return 17;if($===91)return 21;if($===93)return 17;if($===123)return 21;if($===125)return 16;if($===44)return 23;if($===46)return 23;if($===58)return 23;if($===59)return 23;if($===45)return 14;if($===8208)return 12;if($===8211)return 12;if($===8212)return 11;if($===8216||$===8217)return 22;if($===8220||$===8221)return 22;if($===8230)return 19;if($===12289||$===12290)return 16;if($===12296)return 21;if($===12297)return 16;if($===12298)return 21;if($===12299)return 16;if($===12300)return 21;if($===12301)return 16;if($===12302)return 21;if($===12303)return 16;if($===12304)return 21;if($===12305)return 16;if($===12308)return 21;if($===12309)return 16;if($===12310)return 21;if($===12311)return 16;if($>=12312&&$<=12315)return $%2===0?21:16;if($===65288)return 21;if($===65289)return 16;if($===65292)return 16;if($===65294)return 16;if($===65306)return 20;if($===65307)return 20;if($===65311)return 18;if($===65281)return 18;if($>=12353&&$<=12438){if($===12353||$===12355||$===12357||$===12359||$===12361||$===12387||$===12419||$===12421||$===12423||$===12430||$===12437||$===12438)return 30;return 36}if($>=12449&&$<=12538){if($===12449||$===12451||$===12453||$===12455||$===12457||$===12483||$===12515||$===12517||$===12519||$===12526||$===12533||$===12534)return 30;return 36}if($===12540)return 30;if($>=4352&&$<=4447)return 37;if($>=43360&&$<=43388)return 37;if($>=4448&&$<=4519)return 38;if($>=55216&&$<=55238)return 38;if($>=4520&&$<=4607)return 39;if($>=55243&&$<=55291)return 39;if($>=44032&&$<=55203){if(($-44032)%28===0)return 33;return 34}if($>=48&&$<=57)return 24;if($>=1632&&$<=1641)return 24;if($>=1776&&$<=1785)return 24;if($>=2406&&$<=2415)return 24;if($>=65296&&$<=65305)return 24;if($===36)return 26;if($===163)return 26;if($===165)return 26;if($===8364)return 26;if($===37)return 25;if($>=1488&&$<=1514)return 35;if($>=64285&&$<=64335)return 35;if($>=19968&&$<=40959)return 36;if($>=13312&&$<=19903)return 36;if($>=131072&&$<=173791)return 36;if($>=173824&&$<=177983)return 36;if($>=177984&&$<=178207)return 36;if($>=178208&&$<=183983)return 36;if($>=183984&&$<=191471)return 36;if($>=196608&&$<=201551)return 36;if($>=63744&&$<=64255)return 36;if($>=194560&&$<=195103)return 36;if($>=127744&&$<=129535)return 36;if($>=129536&&$<=129791)return 36;if($>=9728&&$<=9983)return 36;if($>=9984&&$<=10175)return 36;if($>=127456&&$<=127487)return 40;if($>=127995&&$<=127999)return 32;if($>=3584&&$<=3711)return 41;if($>=3712&&$<=3839)return 41;if($>=4096&&$<=4255)return 41;if($>=43488&&$<=43519)return 41;if($>=43616&&$<=43647)return 41;if($>=6016&&$<=6143)return 41;if($>=6624&&$<=6655)return 41;if($>=65&&$<=90)return 29;if($>=97&&$<=122)return 29;if($>=192&&$<=591)return 29;if($>=1536&&$<=1791)return 29;if($>=1872&&$<=1919)return 29;if($>=2208&&$<=2303)return 29;if($>=2304&&$<=2431)return 29;if($>=2432&&$<=2559)return 29;if($>=2560&&$<=2687)return 29;if($>=2688&&$<=2815)return 29;if($>=2816&&$<=2943)return 29;if($>=2944&&$<=3071)return 29;if($>=3072&&$<=3199)return 29;if($>=3200&&$<=3327)return 29;if($>=3328&&$<=3455)return 29;if($>=1024&&$<=1279)return 29;if($>=1280&&$<=1327)return 29;if($>=880&&$<=1023)return 29;return 42}function dz($,Q){if($===28)$=29;if($===41)$=29;if($===5)$=29;if($===42)$=29;if($===30)$=20;if(Q===28)Q=29;if(Q===41)Q=29;if(Q===5)Q=29;if(Q===42)Q=29;if(Q===30)Q=20;if($===0)return 5;if($===1&&Q===2)return 4;if($===1||$===2||$===4)return 5;if(Q===0||Q===1||Q===2||Q===4)return 4;if(Q===9||Q===7)return 4;if($===7)return 0;if($===10)return 4;if(Q===3||Q===10){if($!==9)return 4}let Z=$,K=Q;if($===3||$===10)Z=29;if(Q===3||Q===10)K=29;if($=Z,Q=K,$===6||Q===6)return 4;if($===8)return 4;if(Q===8){if($!==9&&$!==12&&$!==14)return 4}if(Q===16||Q===17||Q===18||Q===23||Q===27)return 4;if($===21)return 4;if($===22&&Q===21)return 4;if(($===16||$===17)&&Q===20)return 4;if($===11&&Q===11)return 4;if($===9)return 0;if($===22||Q===22)return 4;if($===15||Q===15)return 0;if(Q===12||Q===14||Q===20)return 4;if($===13)return 4;if($===27&&Q===35)return 4;if(Q===19)return 4;if(($===29||$===35)&&Q===24)return 4;if($===24&&(Q===29||Q===35))return 4;if($===26&&Q===36)return 4;if($===36&&Q===25)return 4;if(($===26||$===25)&&(Q===29||Q===35))return 4;if(($===29||$===35)&&(Q===26||Q===25))return 4;if(($===16||$===17)&&Q===24)return 4;if($===24&&(Q===25||Q===26))return 4;if(($===25||$===26||$===14||$===23||$===24||$===27)&&Q===24)return 4;if($===37){if(Q===37||Q===38||Q===33||Q===34)return 4}if($===38||$===33){if(Q===38||Q===39)return 4}if($===39||$===34){if(Q===39)return 4}if($===37||$===38||$===39||$===33||$===34){if(Q===25)return 4}if(Q===37||Q===38||Q===39||Q===33||Q===34){if($===26)return 4}if(($===29||$===35)&&(Q===29||Q===35))return 4;if($===23&&(Q===29||Q===35))return 4;if(($===29||$===35||$===24)&&Q===21)return 4;if($===17&&(Q===29||Q===35||Q===24))return 4;if($===40&&Q===40)return 4;if($===31&&Q===32)return 4;return 0}function nz($){let Q=[],Z=[...$];for(let K=0;K<Z.length;K++){let J=Z[K];Q.push(J.codePointAt(0)??0)}return HQ(Q)}function HQ($){let Q=$.length,Z=[],K=[];for(let J=0;J<$.length;J++){let q=$[J];Z.push(RW(q))}K.push(0);for(let J=1;J<Q;J++){let q=Z[J-1],U=Z[J];switch(dz(q,U)){case 5:K.push(2);break;case 0:K.push(1);break;default:K.push(0)}}return K.push(2),{breaks:K,classes:Z}}function pz($){let Q=$.map((Z)=>Z.codepoint);return HQ(Q)}function oz($,Q){for(let Z=Q+1;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)return Z;return $.breaks.length-1}function cz($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]!==0}function iz($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]===2}function sz($){let Q=[];for(let Z=0;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)Q.push(Z);return Q}var OW;((P)=>{P.Common="Zyyy";P.Inherited="Zinh";P.Unknown="Zzzz";P.Latin="Latn";P.Greek="Grek";P.Cyrillic="Cyrl";P.Armenian="Armn";P.Hebrew="Hebr";P.Arabic="Arab";P.Syriac="Syrc";P.Thaana="Thaa";P.Devanagari="Deva";P.Bengali="Beng";P.Gurmukhi="Guru";P.Gujarati="Gujr";P.Oriya="Orya";P.Tamil="Taml";P.Telugu="Telu";P.Kannada="Knda";P.Malayalam="Mlym";P.Sinhala="Sinh";P.Thai="Thai";P.Lao="Laoo";P.Tibetan="Tibt";P.Myanmar="Mymr";P.Georgian="Geor";P.Hangul="Hang";P.Ethiopic="Ethi";P.Cherokee="Cher";P.CanadianAboriginal="Cans";P.Ogham="Ogam";P.Runic="Runr";P.Khmer="Khmr";P.Mongolian="Mong";P.Hiragana="Hira";P.Katakana="Kana";P.Bopomofo="Bopo";P.Han="Hani";P.Yi="Yiii";P.OldItalic="Ital";P.Gothic="Goth";P.Deseret="Dsrt";P.Tagalog="Tglg";P.Hanunoo="Hano";P.Buhid="Buhd";P.Tagbanwa="Tagb";P.Limbu="Limb";P.TaiLe="Tale";P.LinearB="Linb";P.Ugaritic="Ugar";P.Shavian="Shaw";P.Osmanya="Osma";P.Cypriot="Cprt";P.Braille="Brai";P.Buginese="Bugi";P.Coptic="Copt";P.NewTaiLue="Talu";P.Glagolitic="Glag";P.Tifinagh="Tfng";P.SylotiNagri="Sylo";P.OldPersian="Xpeo";P.Kharoshthi="Khar";P.Balinese="Bali";P.Cuneiform="Xsux";P.Phoenician="Phnx";P.PhagsPa="Phag";P.Nko="Nkoo";P.Sundanese="Sund";P.Lepcha="Lepc";P.OlChiki="Olck";P.Vai="Vaii";P.Saurashtra="Saur";P.KayahLi="Kali";P.Rejang="Rjng";P.Lycian="Lyci";P.Carian="Cari";P.Lydian="Lydi";P.Cham="Cham";P.TaiTham="Lana";P.TaiViet="Tavt";P.Avestan="Avst";P.EgyptianHieroglyphs="Egyp";P.Samaritan="Samr";P.Lisu="Lisu";P.Bamum="Bamu";P.Javanese="Java";P.MeeteiMayek="Mtei";P.ImperialAramaic="Armi";P.OldSouthArabian="Sarb";P.InscriptionalParthian="Prti";P.InscriptionalPahlavi="Phli";P.OldTurkic="Orkh";P.Kaithi="Kthi";P.Batak="Batk";P.Brahmi="Brah";P.Mandaic="Mand";P.Chakma="Cakm";P.MeroiticCursive="Merc";P.MeroiticHieroglyphs="Mero";P.Miao="Plrd";P.Sharada="Shrd";P.SoraSompeng="Sora";P.Takri="Takr";P.CaucasianAlbanian="Aghb";P.BassaVah="Bass";P.Duployan="Dupl";P.Elbasan="Elba";P.Grantha="Gran";P.PahawhHmong="Hmng";P.Khojki="Khoj";P.LinearA="Lina";P.Mahajani="Mahj";P.Manichaean="Mani";P.MendeKikakui="Mend";P.Modi="Modi";P.Mro="Mroo";P.OldNorthArabian="Narb";P.Nabataean="Nbat";P.Palmyrene="Palm";P.PauCinHau="Pauc";P.OldPermic="Perm";P.PsalterPahlavi="Phlp";P.Siddham="Sidd";P.Khudawadi="Sind";P.Tirhuta="Tirh";P.WarangCiti="Wara";P.Ahom="Ahom";P.AnatolianHieroglyphs="Hluw";P.Hatran="Hatr";P.Multani="Mult";P.OldHungarian="Hung";P.SignWriting="Sgnw";P.Adlam="Adlm";P.Bhaiksuki="Bhks";P.Marchen="Marc";P.Newa="Newa";P.Osage="Osge";P.Tangut="Tang";P.MasaramGondi="Gonm";P.Nushu="Nshu";P.Soyombo="Soyo";P.ZanabazarSquare="Zanb";P.Dogra="Dogr";P.GunjalaGondi="Gong";P.Makasar="Maka";P.Medefaidrin="Medf";P.HanifiRohingya="Rohg";P.Sogdian="Sogd";P.OldSogdian="Sogo";P.Elymaic="Elym";P.Nandinagari="Nand";P.NyiakengPuachueHmong="Hmnp";P.Wancho="Wcho";P.Yezidi="Yezi";P.Chorasmian="Chrs";P.DivesAkuru="Diak";P.KhitanSmallScript="Kits";P.Vithkuqi="Vith";P.OldUyghur="Ougr";P.Cypro_Minoan="Cpmn";P.Tangsa="Tnsa";P.Toto="Toto";P.Kawi="Kawi";P.NagMundari="Nagm"})(OW||={});var TW=[{start:0,end:127,script:"Zyyy"},{start:128,end:255,script:"Latn"},{start:256,end:383,script:"Latn"},{start:384,end:591,script:"Latn"},{start:592,end:687,script:"Latn"},{start:688,end:767,script:"Zyyy"},{start:768,end:879,script:"Zinh"},{start:880,end:1023,script:"Grek"},{start:1024,end:1279,script:"Cyrl"},{start:1280,end:1327,script:"Cyrl"},{start:1328,end:1423,script:"Armn"},{start:1424,end:1535,script:"Hebr"},{start:1536,end:1791,script:"Arab"},{start:1792,end:1871,script:"Syrc"},{start:1872,end:1919,script:"Arab"},{start:1920,end:1983,script:"Thaa"},{start:1984,end:2047,script:"Nkoo"},{start:2048,end:2111,script:"Samr"},{start:2112,end:2143,script:"Mand"},{start:2144,end:2159,script:"Syrc"},{start:2160,end:2207,script:"Arab"},{start:2208,end:2303,script:"Arab"},{start:2304,end:2431,script:"Deva"},{start:2432,end:2559,script:"Beng"},{start:2560,end:2687,script:"Guru"},{start:2688,end:2815,script:"Gujr"},{start:2816,end:2943,script:"Orya"},{start:2944,end:3071,script:"Taml"},{start:3072,end:3199,script:"Telu"},{start:3200,end:3327,script:"Knda"},{start:3328,end:3455,script:"Mlym"},{start:3456,end:3583,script:"Sinh"},{start:3584,end:3711,script:"Thai"},{start:3712,end:3839,script:"Laoo"},{start:3840,end:4095,script:"Tibt"},{start:4096,end:4255,script:"Mymr"},{start:4256,end:4351,script:"Geor"},{start:4352,end:4607,script:"Hang"},{start:4608,end:4991,script:"Ethi"},{start:4992,end:5023,script:"Ethi"},{start:5024,end:5119,script:"Cher"},{start:5120,end:5759,script:"Cans"},{start:5760,end:5791,script:"Ogam"},{start:5792,end:5887,script:"Runr"},{start:5888,end:5919,script:"Tglg"},{start:5920,end:5951,script:"Hano"},{start:5952,end:5983,script:"Buhd"},{start:5984,end:6015,script:"Tagb"},{start:6016,end:6143,script:"Khmr"},{start:6144,end:6319,script:"Mong"},{start:6320,end:6399,script:"Cans"},{start:6400,end:6479,script:"Limb"},{start:6480,end:6527,script:"Tale"},{start:6528,end:6623,script:"Talu"},{start:6624,end:6655,script:"Khmr"},{start:6656,end:6687,script:"Bugi"},{start:6688,end:6831,script:"Lana"},{start:6832,end:6911,script:"Zinh"},{start:6912,end:7039,script:"Bali"},{start:7040,end:7103,script:"Sund"},{start:7104,end:7167,script:"Batk"},{start:7168,end:7247,script:"Lepc"},{start:7248,end:7295,script:"Olck"},{start:7296,end:7311,script:"Cyrl"},{start:7312,end:7359,script:"Geor"},{start:7360,end:7375,script:"Sund"},{start:7376,end:7423,script:"Zinh"},{start:7424,end:7551,script:"Latn"},{start:7552,end:7615,script:"Latn"},{start:7616,end:7679,script:"Zinh"},{start:7680,end:7935,script:"Latn"},{start:7936,end:8191,script:"Grek"},{start:8192,end:8303,script:"Zyyy"},{start:8304,end:8351,script:"Zyyy"},{start:8352,end:8399,script:"Zyyy"},{start:8400,end:8447,script:"Zinh"},{start:8448,end:8527,script:"Zyyy"},{start:8528,end:8591,script:"Zyyy"},{start:8592,end:8703,script:"Zyyy"},{start:8704,end:8959,script:"Zyyy"},{start:8960,end:9215,script:"Zyyy"},{start:9216,end:9279,script:"Zyyy"},{start:9280,end:9311,script:"Zyyy"},{start:9312,end:9471,script:"Zyyy"},{start:9472,end:9599,script:"Zyyy"},{start:9600,end:9631,script:"Zyyy"},{start:9632,end:9727,script:"Zyyy"},{start:9728,end:9983,script:"Zyyy"},{start:9984,end:10175,script:"Zyyy"},{start:10176,end:10223,script:"Zyyy"},{start:10224,end:10239,script:"Zyyy"},{start:10240,end:10495,script:"Brai"},{start:10496,end:10623,script:"Zyyy"},{start:10624,end:10751,script:"Zyyy"},{start:10752,end:11007,script:"Zyyy"},{start:11008,end:11263,script:"Zyyy"},{start:11264,end:11359,script:"Glag"},{start:11360,end:11391,script:"Latn"},{start:11392,end:11519,script:"Copt"},{start:11520,end:11567,script:"Geor"},{start:11568,end:11647,script:"Tfng"},{start:11648,end:11743,script:"Ethi"},{start:11744,end:11775,script:"Cyrl"},{start:11776,end:11903,script:"Zyyy"},{start:11904,end:12031,script:"Hani"},{start:12032,end:12255,script:"Hani"},{start:12272,end:12287,script:"Zyyy"},{start:12288,end:12351,script:"Zyyy"},{start:12352,end:12447,script:"Hira"},{start:12448,end:12543,script:"Kana"},{start:12544,end:12591,script:"Bopo"},{start:12592,end:12687,script:"Hang"},{start:12688,end:12703,script:"Zyyy"},{start:12704,end:12735,script:"Bopo"},{start:12736,end:12783,script:"Zyyy"},{start:12784,end:12799,script:"Kana"},{start:12800,end:13055,script:"Zyyy"},{start:13056,end:13311,script:"Zyyy"},{start:13312,end:19903,script:"Hani"},{start:19904,end:19967,script:"Zyyy"},{start:19968,end:40959,script:"Hani"},{start:40960,end:42127,script:"Yiii"},{start:42128,end:42191,script:"Yiii"},{start:42192,end:42239,script:"Lisu"},{start:42240,end:42559,script:"Vaii"},{start:42560,end:42655,script:"Cyrl"},{start:42656,end:42751,script:"Bamu"},{start:42752,end:42783,script:"Zyyy"},{start:42784,end:43007,script:"Latn"},{start:43008,end:43055,script:"Sylo"},{start:43056,end:43071,script:"Zyyy"},{start:43072,end:43135,script:"Phag"},{start:43136,end:43231,script:"Saur"},{start:43232,end:43263,script:"Deva"},{start:43264,end:43311,script:"Kali"},{start:43312,end:43359,script:"Rjng"},{start:43360,end:43391,script:"Hang"},{start:43392,end:43487,script:"Java"},{start:43488,end:43519,script:"Mymr"},{start:43520,end:43615,script:"Cham"},{start:43616,end:43647,script:"Mymr"},{start:43648,end:43743,script:"Tavt"},{start:43744,end:43775,script:"Mtei"},{start:43776,end:43823,script:"Ethi"},{start:43824,end:43887,script:"Latn"},{start:43888,end:43967,script:"Cher"},{start:43968,end:44031,script:"Mtei"},{start:44032,end:55215,script:"Hang"},{start:55216,end:55295,script:"Hang"},{start:55296,end:57343,script:"Zzzz"},{start:57344,end:63743,script:"Zzzz"},{start:63744,end:64255,script:"Hani"},{start:64256,end:64335,script:"Latn"},{start:64336,end:65023,script:"Arab"},{start:65024,end:65039,script:"Zinh"},{start:65040,end:65055,script:"Zyyy"},{start:65056,end:65071,script:"Zinh"},{start:65072,end:65103,script:"Zyyy"},{start:65104,end:65135,script:"Zyyy"},{start:65136,end:65279,script:"Arab"},{start:65280,end:65519,script:"Zyyy"},{start:65520,end:65535,script:"Zyyy"},{start:65536,end:65663,script:"Linb"},{start:65664,end:65791,script:"Linb"},{start:65792,end:65855,script:"Zyyy"},{start:65856,end:65935,script:"Grek"},{start:65936,end:65999,script:"Zyyy"},{start:66000,end:66047,script:"Zyyy"},{start:66176,end:66207,script:"Lyci"},{start:66208,end:66271,script:"Cari"},{start:66272,end:66303,script:"Zinh"},{start:66304,end:66351,script:"Ital"},{start:66352,end:66383,script:"Goth"},{start:66384,end:66431,script:"Perm"},{start:66432,end:66463,script:"Ugar"},{start:66464,end:66527,script:"Xpeo"},{start:66560,end:66639,script:"Dsrt"},{start:66640,end:66687,script:"Shaw"},{start:66688,end:66735,script:"Osma"},{start:66736,end:66815,script:"Osge"},{start:66816,end:66863,script:"Elba"},{start:66864,end:66927,script:"Aghb"},{start:66928,end:67007,script:"Vith"},{start:67072,end:67455,script:"Lina"},{start:67456,end:67519,script:"Latn"},{start:67584,end:67647,script:"Cprt"},{start:67648,end:67679,script:"Armi"},{start:67680,end:67711,script:"Palm"},{start:67712,end:67759,script:"Nbat"},{start:67808,end:67839,script:"Hatr"},{start:67840,end:67871,script:"Phnx"},{start:67872,end:67903,script:"Lydi"},{start:67968,end:67999,script:"Mero"},{start:68000,end:68095,script:"Merc"},{start:68096,end:68191,script:"Khar"},{start:68192,end:68223,script:"Sarb"},{start:68224,end:68255,script:"Narb"},{start:68288,end:68351,script:"Mani"},{start:68352,end:68415,script:"Avst"},{start:68416,end:68447,script:"Prti"},{start:68448,end:68479,script:"Phli"},{start:68480,end:68527,script:"Phlp"},{start:68608,end:68687,script:"Orkh"},{start:68736,end:68863,script:"Hung"},{start:68864,end:68927,script:"Rohg"},{start:69248,end:69311,script:"Yezi"},{start:69376,end:69423,script:"Sogo"},{start:69424,end:69487,script:"Sogd"},{start:69488,end:69551,script:"Ougr"},{start:69552,end:69599,script:"Chrs"},{start:69600,end:69631,script:"Elym"},{start:69632,end:69759,script:"Brah"},{start:69760,end:69839,script:"Kthi"},{start:69840,end:69887,script:"Sora"},{start:69888,end:69967,script:"Cakm"},{start:69968,end:70015,script:"Mahj"},{start:70016,end:70111,script:"Shrd"},{start:70112,end:70143,script:"Sinh"},{start:70144,end:70223,script:"Khoj"},{start:70272,end:70319,script:"Mult"},{start:70320,end:70399,script:"Sind"},{start:70400,end:70527,script:"Gran"},{start:70656,end:70783,script:"Newa"},{start:70784,end:70879,script:"Tirh"},{start:71040,end:71167,script:"Sidd"},{start:71168,end:71263,script:"Modi"},{start:71264,end:71295,script:"Mong"},{start:71296,end:71375,script:"Takr"},{start:71424,end:71503,script:"Ahom"},{start:71680,end:71759,script:"Dogr"},{start:71840,end:71935,script:"Wara"},{start:71936,end:72031,script:"Diak"},{start:72096,end:72191,script:"Nand"},{start:72192,end:72271,script:"Zanb"},{start:72272,end:72367,script:"Soyo"},{start:72368,end:72383,script:"Cans"},{start:72384,end:72447,script:"Pauc"},{start:72704,end:72815,script:"Bhks"},{start:72816,end:72895,script:"Marc"},{start:72960,end:73055,script:"Gonm"},{start:73056,end:73135,script:"Gong"},{start:73440,end:73471,script:"Maka"},{start:73472,end:73567,script:"Kawi"},{start:73728,end:74751,script:"Xsux"},{start:74752,end:74879,script:"Xsux"},{start:74880,end:75087,script:"Xsux"},{start:77712,end:77823,script:"Cpmn"},{start:77824,end:78895,script:"Egyp"},{start:78896,end:78943,script:"Egyp"},{start:82944,end:83583,script:"Hluw"},{start:92160,end:92735,script:"Bamu"},{start:92736,end:92783,script:"Mroo"},{start:92784,end:92879,script:"Tnsa"},{start:92880,end:92927,script:"Bass"},{start:92928,end:93071,script:"Hmng"},{start:93760,end:93855,script:"Medf"},{start:93952,end:94111,script:"Plrd"},{start:94176,end:94207,script:"Zyyy"},{start:94208,end:100351,script:"Tang"},{start:100352,end:101119,script:"Tang"},{start:101120,end:101631,script:"Kits"},{start:101632,end:101759,script:"Tang"},{start:110576,end:110591,script:"Kana"},{start:110592,end:110847,script:"Hira"},{start:110848,end:110895,script:"Hira"},{start:110896,end:110959,script:"Kana"},{start:110960,end:111359,script:"Nshu"},{start:113664,end:113823,script:"Dupl"},{start:113824,end:113839,script:"Zyyy"},{start:118528,end:118735,script:"Zyyy"},{start:118784,end:119039,script:"Zyyy"},{start:119040,end:119295,script:"Zyyy"},{start:119296,end:119375,script:"Grek"},{start:119488,end:119519,script:"Zyyy"},{start:119520,end:119551,script:"Zyyy"},{start:119552,end:119647,script:"Zyyy"},{start:119648,end:119679,script:"Zyyy"},{start:119808,end:120831,script:"Zyyy"},{start:120832,end:121519,script:"Sgnw"},{start:122624,end:122879,script:"Latn"},{start:122880,end:122927,script:"Glag"},{start:122928,end:123023,script:"Cyrl"},{start:123136,end:123215,script:"Hmnp"},{start:123536,end:123583,script:"Toto"},{start:123584,end:123647,script:"Wcho"},{start:124112,end:124159,script:"Nagm"},{start:124896,end:124927,script:"Ethi"},{start:124928,end:125151,script:"Mend"},{start:125184,end:125279,script:"Adlm"},{start:126064,end:126143,script:"Zyyy"},{start:126208,end:126287,script:"Zyyy"},{start:126464,end:126719,script:"Arab"},{start:126976,end:127023,script:"Zyyy"},{start:127024,end:127135,script:"Zyyy"},{start:127136,end:127231,script:"Zyyy"},{start:127232,end:127487,script:"Zyyy"},{start:127488,end:127743,script:"Zyyy"},{start:127744,end:128511,script:"Zyyy"},{start:128512,end:128591,script:"Zyyy"},{start:128592,end:128639,script:"Zyyy"},{start:128640,end:128767,script:"Zyyy"},{start:128768,end:128895,script:"Zyyy"},{start:128896,end:129023,script:"Zyyy"},{start:129024,end:129279,script:"Zyyy"},{start:129280,end:129535,script:"Zyyy"},{start:129536,end:129647,script:"Zyyy"},{start:129648,end:129791,script:"Zyyy"},{start:129792,end:130047,script:"Zyyy"},{start:131072,end:173791,script:"Hani"},{start:173824,end:177983,script:"Hani"},{start:177984,end:178207,script:"Hani"},{start:178208,end:183983,script:"Hani"},{start:183984,end:191471,script:"Hani"},{start:194560,end:195103,script:"Hani"},{start:196608,end:201551,script:"Hani"},{start:201552,end:205743,script:"Hani"},{start:917504,end:917631,script:"Zyyy"},{start:917760,end:917999,script:"Zinh"},{start:983040,end:1048575,script:"Zzzz"},{start:1048576,end:1114111,script:"Zzzz"}];function V0($){let Q=0,Z=TW.length-1;while(Q<=Z){let K=Q+Z>>>1,J=TW[K];if($<J.start)Z=K-1;else if($>J.end)Q=K+1;else return J.script}return"Zzzz"}function az($){let Q=new Map,Z=[...$];for(let U=0;U<Z.length;U++){let H=Z[U].codePointAt(0)??0,_=V0(H);if(_==="Zyyy"||_==="Zinh")continue;Q.set(_,(Q.get(_)??0)+1)}if(Q.size===0)return"Zyyy";let K="Zyyy",J=0,q=[...Q];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(H>J)J=H,K=W}return K}function rz($){let Q=new Set,Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=V0(q);Q.add(U)}return[...Q]}function tz($,Q){let Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=V0(q);if(U!==Q&&U!=="Zyyy"&&U!=="Zinh")return!1}return!0}function ez($){let Q=[];if($.length===0)return Q;let Z=null,K=0,J=0,q=[...$];for(let U=0;U<q.length;U++){let H=q[U].codePointAt(0)??0,_=V0(H);if(_==="Zyyy"||_==="Zinh"){if(Z!==null)_=Z}if(Z===null)Z=_,K=U;else if(_!==Z&&_!=="Zyyy"&&_!=="Zinh")Q.push({script:Z,start:K,end:U,text:q.slice(K,U).join("")}),Z=_,K=U}if(Z!==null)Q.push({script:Z,start:K,end:q.length,text:q.slice(K).join("")});return Q}function $Y($){return{["Zyyy"]:"DFLT",["Zinh"]:"DFLT",["Zzzz"]:"DFLT",["Latn"]:"latn",["Grek"]:"grek",["Cyrl"]:"cyrl",["Armn"]:"armn",["Hebr"]:"hebr",["Arab"]:"arab",["Syrc"]:"syrc",["Thaa"]:"thaa",["Deva"]:"deva",["Beng"]:"beng",["Guru"]:"guru",["Gujr"]:"gujr",["Orya"]:"orya",["Taml"]:"taml",["Telu"]:"telu",["Knda"]:"knda",["Mlym"]:"mlym",["Sinh"]:"sinh",["Thai"]:"thai",["Laoo"]:"lao ",["Tibt"]:"tibt",["Mymr"]:"mymr",["Geor"]:"geor",["Hang"]:"hang",["Ethi"]:"ethi",["Cher"]:"cher",["Cans"]:"cans",["Ogam"]:"ogam",["Runr"]:"runr",["Khmr"]:"khmr",["Mong"]:"mong",["Hira"]:"kana",["Kana"]:"kana",["Bopo"]:"bopo",["Hani"]:"hani",["Yiii"]:"yi ",["Ital"]:"ital",["Goth"]:"goth",["Dsrt"]:"dsrt",["Tglg"]:"tglg",["Hano"]:"hano",["Buhd"]:"buhd",["Tagb"]:"tagb",["Limb"]:"limb",["Tale"]:"tale",["Linb"]:"linb",["Ugar"]:"ugar",["Shaw"]:"shaw",["Osma"]:"osma",["Cprt"]:"cprt",["Brai"]:"brai",["Bugi"]:"bugi",["Copt"]:"copt",["Talu"]:"talu",["Glag"]:"glag",["Tfng"]:"tfng",["Sylo"]:"sylo",["Xpeo"]:"xpeo",["Khar"]:"khar",["Bali"]:"bali",["Xsux"]:"xsux",["Phnx"]:"phnx",["Phag"]:"phag",["Nkoo"]:"nko ",["Sund"]:"sund",["Lepc"]:"lepc",["Olck"]:"olck",["Vaii"]:"vai ",["Saur"]:"saur",["Kali"]:"kali",["Rjng"]:"rjng",["Lyci"]:"lyci",["Cari"]:"cari",["Lydi"]:"lydi",["Cham"]:"cham",["Lana"]:"lana",["Tavt"]:"tavt",["Avst"]:"avst",["Egyp"]:"egyp",["Samr"]:"samr",["Lisu"]:"lisu",["Bamu"]:"bamu",["Java"]:"java",["Mtei"]:"mtei",["Armi"]:"armi",["Sarb"]:"sarb",["Prti"]:"prti",["Phli"]:"phli",["Orkh"]:"orkh",["Kthi"]:"kthi",["Batk"]:"batk",["Brah"]:"brah",["Mand"]:"mand",["Cakm"]:"cakm",["Merc"]:"merc",["Mero"]:"mero",["Plrd"]:"plrd",["Shrd"]:"shrd",["Sora"]:"sora",["Takr"]:"takr",["Aghb"]:"aghb",["Bass"]:"bass",["Dupl"]:"dupl",["Elba"]:"elba",["Gran"]:"gran",["Hmng"]:"hmng",["Khoj"]:"khoj",["Lina"]:"lina",["Mahj"]:"mahj",["Mani"]:"mani",["Mend"]:"mend",["Modi"]:"modi",["Mroo"]:"mroo",["Narb"]:"narb",["Nbat"]:"nbat",["Palm"]:"palm",["Pauc"]:"pauc",["Perm"]:"perm",["Phlp"]:"phlp",["Sidd"]:"sidd",["Sind"]:"sind",["Tirh"]:"tirh",["Wara"]:"wara",["Ahom"]:"ahom",["Hluw"]:"hluw",["Hatr"]:"hatr",["Mult"]:"mult",["Hung"]:"hung",["Sgnw"]:"sgnw",["Adlm"]:"adlm",["Bhks"]:"bhks",["Marc"]:"marc",["Newa"]:"newa",["Osge"]:"osge",["Tang"]:"tang",["Gonm"]:"gonm",["Nshu"]:"nshu",["Soyo"]:"soyo",["Zanb"]:"zanb",["Dogr"]:"dogr",["Gong"]:"gong",["Maka"]:"maka",["Medf"]:"medf",["Rohg"]:"rohg",["Sogd"]:"sogd",["Sogo"]:"sogo",["Elym"]:"elym",["Nand"]:"nand",["Hmnp"]:"hmnp",["Wcho"]:"wcho",["Yezi"]:"yezi",["Chrs"]:"chrs",["Diak"]:"diak",["Kits"]:"kits",["Vith"]:"vith",["Ougr"]:"ougr",["Cpmn"]:"cpmn",["Tnsa"]:"tnsa",["Toto"]:"toto",["Kawi"]:"kawi",["Nagm"]:"nagm"}[$]??"DFLT"}var QY=new Set(["Arab","Syrc","Hebr","Thaa","Nkoo","Deva","Beng","Guru","Gujr","Orya","Taml","Telu","Knda","Mlym","Sinh","Thai","Laoo","Tibt","Mymr","Khmr","Mong","Hang"]),ZY=new Set(["Arab","Hebr","Syrc","Thaa","Nkoo","Samr","Mand","Armi","Phnx","Sarb","Narb","Avst","Prti","Phli","Phlp","Hatr","Lydi","Nbat","Palm","Mani","Mend","Rohg","Yezi","Sogo","Sogd","Elym","Chrs","Ougr","Adlm"]);function KY($){return QY.has($)}function JY($){return ZY.has($)?"rtl":"ltr"}var PW;((Y)=>{Y[Y.Other=0]="Other";Y[Y.CR=1]="CR";Y[Y.LF=2]="LF";Y[Y.Control=3]="Control";Y[Y.Extend=4]="Extend";Y[Y.ZWJ=5]="ZWJ";Y[Y.Regional_Indicator=6]="Regional_Indicator";Y[Y.Prepend=7]="Prepend";Y[Y.SpacingMark=8]="SpacingMark";Y[Y.L=9]="L";Y[Y.V=10]="V";Y[Y.T=11]="T";Y[Y.LV=12]="LV";Y[Y.LVT=13]="LVT";Y[Y.Extended_Pictographic=14]="Extended_Pictographic"})(PW||={});var vW;((A)=>{A[A.Other=0]="Other";A[A.CR=1]="CR";A[A.LF=2]="LF";A[A.Newline=3]="Newline";A[A.Extend=4]="Extend";A[A.ZWJ=5]="ZWJ";A[A.Regional_Indicator=6]="Regional_Indicator";A[A.Format=7]="Format";A[A.Katakana=8]="Katakana";A[A.Hebrew_Letter=9]="Hebrew_Letter";A[A.ALetter=10]="ALetter";A[A.Single_Quote=11]="Single_Quote";A[A.Double_Quote=12]="Double_Quote";A[A.MidNumLet=13]="MidNumLet";A[A.MidLetter=14]="MidLetter";A[A.MidNum=15]="MidNum";A[A.Numeric=16]="Numeric";A[A.ExtendNumLet=17]="ExtendNumLet";A[A.WSegSpace=18]="WSegSpace";A[A.Extended_Pictographic=19]="Extended_Pictographic"})(vW||={});function _Q($){if($===13)return 1;if($===10)return 2;if($>=0&&$<=31&&$!==10&&$!==13)return 3;if($>=127&&$<=159)return 3;if($===173)return 3;if($===1564)return 3;if($===6158)return 3;if($===8203)return 3;if($>=8206&&$<=8207)return 3;if($>=8232&&$<=8238)return 3;if($>=8288&&$<=8303)return 3;if($===65279)return 3;if($>=65520&&$<=65531)return 3;if($===8205)return 5;if($>=127456&&$<=127487)return 6;if($===1536||$===1537||$===1538||$===1539||$===1540||$===1541||$===1757||$===1807||$===2192||$===2193||$===2274||$===69821||$===69837)return 7;if($>=4352&&$<=4447)return 9;if($>=43360&&$<=43388)return 9;if($>=4448&&$<=4519)return 10;if($>=55216&&$<=55238)return 10;if($>=4520&&$<=4607)return 11;if($>=55243&&$<=55291)return 11;if($>=44032&&$<=55203){if(($-44032)%28===0)return 12;return 13}if($>=127744&&$<=129535)return 14;if($>=129536&&$<=129791)return 14;if($>=9728&&$<=9983)return 14;if($>=9984&&$<=10175)return 14;if($===169||$===174)return 14;if($>=8960&&$<=9215)return 14;if($>=126976&&$<=127023)return 14;if($>=127136&&$<=127231)return 14;if($>=127232&&$<=127487)return 14;if($>=127488&&$<=127743)return 14;if($>=2307&&$<=2307)return 8;if($>=2363&&$<=2363)return 8;if($>=2366&&$<=2368)return 8;if($>=2377&&$<=2380)return 8;if($>=2382&&$<=2383)return 8;if($>=2434&&$<=2435)return 8;if($>=2494&&$<=2496)return 8;if($>=2503&&$<=2508)return 8;if($===2519)return 8;if($>=2563&&$<=2563)return 8;if($>=2622&&$<=2624)return 8;if($>=2691&&$<=2691)return 8;if($>=2750&&$<=2752)return 8;if($===2761)return 8;if($>=2763&&$<=2764)return 8;if($>=2818&&$<=2819)return 8;if($===2878)return 8;if($===2880)return 8;if($>=2887&&$<=2892)return 8;if($===2903)return 8;if($>=3006&&$<=3007)return 8;if($>=3009&&$<=3020)return 8;if($===3031)return 8;if($>=3073&&$<=3075)return 8;if($>=3137&&$<=3140)return 8;if($>=3202&&$<=3203)return 8;if($===3262)return 8;if($>=3264&&$<=3268)return 8;if($>=3271&&$<=3275)return 8;if($>=3285&&$<=3286)return 8;if($>=3330&&$<=3331)return 8;if($>=3390&&$<=3392)return 8;if($>=3398&&$<=3404)return 8;if($===3415)return 8;if($>=3458&&$<=3459)return 8;if($>=3535&&$<=3537)return 8;if($>=3544&&$<=3551)return 8;if($>=3570&&$<=3571)return 8;if($===3902||$===3903)return 8;if($===3967)return 8;if($>=4139&&$<=4140)return 8;if($===4145)return 8;if($===4152)return 8;if($>=4155&&$<=4156)return 8;if($>=4182&&$<=4183)return 8;if($===4194)return 8;if($>=4199&&$<=4200)return 8;if($>=4227&&$<=4228)return 8;if($>=4231&&$<=4236)return 8;if($===4239)return 8;if($>=4250&&$<=4252)return 8;if($>=6070&&$<=6070)return 8;if($>=6078&&$<=6085)return 8;if($>=6087&&$<=6088)return 8;if($>=6435&&$<=6438)return 8;if($>=6441&&$<=6443)return 8;if($>=6448&&$<=6449)return 8;if($>=6451&&$<=6456)return 8;if($>=768&&$<=879)return 4;if($>=1155&&$<=1161)return 4;if($>=1425&&$<=1469)return 4;if($===1471)return 4;if($>=1473&&$<=1474)return 4;if($>=1476&&$<=1477)return 4;if($===1479)return 4;if($>=1552&&$<=1562)return 4;if($>=1611&&$<=1631)return 4;if($===1648)return 4;if($>=1750&&$<=1756)return 4;if($>=1759&&$<=1764)return 4;if($>=1767&&$<=1768)return 4;if($>=1770&&$<=1773)return 4;if($===1809)return 4;if($>=1840&&$<=1866)return 4;if($>=1958&&$<=1968)return 4;if($>=2027&&$<=2035)return 4;if($===2045)return 4;if($>=2070&&$<=2073)return 4;if($>=2075&&$<=2083)return 4;if($>=2085&&$<=2087)return 4;if($>=2089&&$<=2093)return 4;if($>=2137&&$<=2139)return 4;if($>=2259&&$<=2273)return 4;if($>=2275&&$<=2306)return 4;if($===2362)return 4;if($===2364)return 4;if($>=2369&&$<=2376)return 4;if($===2381)return 4;if($>=2385&&$<=2391)return 4;if($>=2402&&$<=2403)return 4;if($===2433)return 4;if($===2492)return 4;if($>=2497&&$<=2500)return 4;if($===2509)return 4;if($>=2530&&$<=2531)return 4;if($===2558)return 4;if($>=2561&&$<=2562)return 4;if($===2620)return 4;if($>=2625&&$<=2626)return 4;if($>=2631&&$<=2632)return 4;if($>=2635&&$<=2637)return 4;if($===2641)return 4;if($>=2672&&$<=2673)return 4;if($===2677)return 4;if($>=2689&&$<=2690)return 4;if($===2748)return 4;if($>=2753&&$<=2757)return 4;if($>=2759&&$<=2760)return 4;if($===2765)return 4;if($>=2786&&$<=2787)return 4;if($>=2810&&$<=2815)return 4;if($===2817)return 4;if($===2876)return 4;if($===2879)return 4;if($>=2881&&$<=2884)return 4;if($===2893)return 4;if($>=2901&&$<=2902)return 4;if($>=2914&&$<=2915)return 4;if($===2946)return 4;if($===3008)return 4;if($===3021)return 4;if($===3072)return 4;if($===3076)return 4;if($>=3134&&$<=3136)return 4;if($>=3142&&$<=3144)return 4;if($>=3146&&$<=3149)return 4;if($>=3157&&$<=3158)return 4;if($>=3170&&$<=3171)return 4;if($===3201)return 4;if($===3260)return 4;if($===3263)return 4;if($===3270)return 4;if($>=3276&&$<=3277)return 4;if($>=3298&&$<=3299)return 4;if($>=3328&&$<=3329)return 4;if($>=3387&&$<=3388)return 4;if($>=3393&&$<=3396)return 4;if($===3405)return 4;if($>=3426&&$<=3427)return 4;if($===3457)return 4;if($===3530)return 4;if($>=3538&&$<=3540)return 4;if($===3542)return 4;if($===3633)return 4;if($>=3636&&$<=3642)return 4;if($>=3655&&$<=3662)return 4;if($===3761)return 4;if($>=3764&&$<=3772)return 4;if($>=3784&&$<=3789)return 4;if($>=3864&&$<=3865)return 4;if($===3893)return 4;if($===3895)return 4;if($===3897)return 4;if($>=3953&&$<=3966)return 4;if($>=3968&&$<=3972)return 4;if($>=3974&&$<=3975)return 4;if($>=3981&&$<=3991)return 4;if($>=3993&&$<=4028)return 4;if($===4038)return 4;if($>=4141&&$<=4144)return 4;if($>=4146&&$<=4151)return 4;if($>=4153&&$<=4154)return 4;if($>=4157&&$<=4158)return 4;if($>=4184&&$<=4185)return 4;if($>=4190&&$<=4192)return 4;if($>=4209&&$<=4212)return 4;if($===4226)return 4;if($>=4229&&$<=4230)return 4;if($===4237)return 4;if($===4253)return 4;if($>=4957&&$<=4959)return 4;if($>=5906&&$<=5908)return 4;if($>=5938&&$<=5940)return 4;if($>=5970&&$<=5971)return 4;if($>=6002&&$<=6003)return 4;if($>=6068&&$<=6069)return 4;if($>=6071&&$<=6077)return 4;if($===6086)return 4;if($>=6089&&$<=6099)return 4;if($===6109)return 4;if($>=6155&&$<=6157)return 4;if($===6159)return 4;if($>=6277&&$<=6278)return 4;if($===6313)return 4;if($>=6432&&$<=6434)return 4;if($>=6439&&$<=6440)return 4;if($===6450)return 4;if($>=6457&&$<=6459)return 4;if($>=6679&&$<=6680)return 4;if($===6683)return 4;if($===6742)return 4;if($>=6744&&$<=6750)return 4;if($===6752)return 4;if($===6754)return 4;if($>=6757&&$<=6764)return 4;if($>=6771&&$<=6780)return 4;if($===6783)return 4;if($>=6832&&$<=6862)return 4;if($>=6912&&$<=6915)return 4;if($===6964)return 4;if($>=6966&&$<=6970)return 4;if($===6972)return 4;if($===6978)return 4;if($>=7019&&$<=7027)return 4;if($>=7040&&$<=7041)return 4;if($>=7074&&$<=7077)return 4;if($>=7080&&$<=7081)return 4;if($>=7083&&$<=7085)return 4;if($===7142)return 4;if($>=7144&&$<=7145)return 4;if($===7149)return 4;if($>=7151&&$<=7153)return 4;if($>=7212&&$<=7219)return 4;if($>=7222&&$<=7223)return 4;if($>=7376&&$<=7378)return 4;if($>=7380&&$<=7392)return 4;if($>=7394&&$<=7400)return 4;if($===7405)return 4;if($===7412)return 4;if($>=7416&&$<=7417)return 4;if($>=7616&&$<=7679)return 4;if($>=8400&&$<=8432)return 4;if($>=11503&&$<=11505)return 4;if($===11647)return 4;if($>=11744&&$<=11775)return 4;if($>=12330&&$<=12335)return 4;if($>=12441&&$<=12442)return 4;if($>=42607&&$<=42610)return 4;if($>=42612&&$<=42621)return 4;if($>=42654&&$<=42655)return 4;if($>=42736&&$<=42737)return 4;if($===43010)return 4;if($===43014)return 4;if($===43019)return 4;if($>=43045&&$<=43046)return 4;if($===43052)return 4;if($>=43204&&$<=43205)return 4;if($>=43232&&$<=43249)return 4;if($===43263)return 4;if($>=43302&&$<=43309)return 4;if($>=43335&&$<=43345)return 4;if($>=43392&&$<=43394)return 4;if($===43443)return 4;if($>=43446&&$<=43449)return 4;if($>=43452&&$<=43453)return 4;if($===43493)return 4;if($>=43561&&$<=43566)return 4;if($>=43569&&$<=43570)return 4;if($>=43573&&$<=43574)return 4;if($===43587)return 4;if($===43596)return 4;if($===43644)return 4;if($===43696)return 4;if($>=43698&&$<=43700)return 4;if($>=43703&&$<=43704)return 4;if($>=43710&&$<=43711)return 4;if($===43713)return 4;if($>=43756&&$<=43757)return 4;if($===43766)return 4;if($===44005)return 4;if($===44008)return 4;if($===44013)return 4;if($===64286)return 4;if($>=65024&&$<=65039)return 4;if($>=65056&&$<=65071)return 4;if($>=127995&&$<=127999)return 4;if($>=917760&&$<=917999)return 4;return 0}function IW($){if($===13)return 1;if($===10)return 2;if($===11||$===12||$===133||$===8232||$===8233)return 3;if($===8205)return 5;if($===173)return 7;if($===1564)return 7;if($===8203)return 7;if($>=8206&&$<=8207)return 7;if($>=8288&&$<=8303)return 7;if($===65279)return 7;if($>=127456&&$<=127487)return 6;if($>=127744&&$<=129535)return 19;if($>=129536&&$<=129791)return 19;if($>=9728&&$<=9983)return 19;if($>=9984&&$<=10175)return 19;if($>=1488&&$<=1514)return 9;if($>=64285&&$<=64335)return 9;if($>=12448&&$<=12543)return 8;if($===12337||$===12338||$===12339||$===12340||$===12341)return 8;if($===12443||$===12444)return 8;if($>=12784&&$<=12799)return 8;if($>=13008&&$<=13054)return 8;if($>=13056&&$<=13143)return 8;if($>=65382&&$<=65437)return 8;if($===39)return 11;if($===34)return 12;if($===46)return 13;if($===8216||$===8217)return 13;if($===8228)return 13;if($===65106)return 13;if($===65287)return 13;if($===65294)return 13;if($===58)return 14;if($===183)return 14;if($===903)return 14;if($===1524)return 14;if($===8231)return 14;if($===65043)return 14;if($===65109)return 14;if($===65306)return 14;if($===44)return 15;if($===59)return 15;if($===894)return 15;if($===1417)return 15;if($===1548||$===1549)return 15;if($===1644)return 15;if($===2040)return 15;if($===8260)return 15;if($===65040)return 15;if($===65044)return 15;if($===65104)return 15;if($===65108)return 15;if($===65292)return 15;if($===65307)return 15;if($>=48&&$<=57)return 16;if($>=1632&&$<=1641)return 16;if($>=1776&&$<=1785)return 16;if($>=1984&&$<=1993)return 16;if($>=2406&&$<=2415)return 16;if($>=2534&&$<=2543)return 16;if($>=2662&&$<=2671)return 16;if($>=2790&&$<=2799)return 16;if($>=2918&&$<=2927)return 16;if($>=3046&&$<=3055)return 16;if($>=3174&&$<=3183)return 16;if($>=3302&&$<=3311)return 16;if($>=3430&&$<=3439)return 16;if($>=3558&&$<=3567)return 16;if($>=3664&&$<=3673)return 16;if($>=3792&&$<=3801)return 16;if($>=3872&&$<=3881)return 16;if($>=4160&&$<=4169)return 16;if($>=4240&&$<=4249)return 16;if($>=6112&&$<=6121)return 16;if($>=6160&&$<=6169)return 16;if($>=6470&&$<=6479)return 16;if($>=6608&&$<=6617)return 16;if($>=6784&&$<=6793)return 16;if($>=6800&&$<=6809)return 16;if($>=6992&&$<=7001)return 16;if($>=7088&&$<=7097)return 16;if($>=7232&&$<=7241)return 16;if($>=7248&&$<=7257)return 16;if($>=42528&&$<=42537)return 16;if($>=43216&&$<=43225)return 16;if($>=43264&&$<=43273)return 16;if($>=43472&&$<=43481)return 16;if($>=43504&&$<=43513)return 16;if($>=43600&&$<=43609)return 16;if($>=44016&&$<=44025)return 16;if($>=65296&&$<=65305)return 16;if($===95)return 17;if($===8239)return 17;if($===8256)return 17;if($===8276)return 17;if($===65075||$===65076)return 17;if($>=65101&&$<=65103)return 17;if($===65343)return 17;if($===32)return 18;if($===5760)return 18;if($>=8192&&$<=8202&&$!==8199)return 18;if($===8287)return 18;if($===12288)return 18;if(_Q($)===4)return 4;if($>=65&&$<=90)return 10;if($>=97&&$<=122)return 10;if($>=192&&$<=214)return 10;if($>=216&&$<=246)return 10;if($>=248&&$<=591)return 10;if($>=592&&$<=687)return 10;if($>=880&&$<=1023)return 10;if($>=1024&&$<=1279)return 10;if($>=1280&&$<=1327)return 10;if($>=1329&&$<=1366)return 10;if($>=1376&&$<=1416)return 10;if($>=1536&&$<=1791)return 10;if($>=2304&&$<=2431)return 10;if($>=2432&&$<=2559)return 10;if($>=2560&&$<=2687)return 10;if($>=2688&&$<=2815)return 10;if($>=2816&&$<=2943)return 10;if($>=2944&&$<=3071)return 10;if($>=3072&&$<=3199)return 10;if($>=3200&&$<=3327)return 10;if($>=3328&&$<=3455)return 10;if($>=3584&&$<=3711)return 10;if($>=3712&&$<=3839)return 10;if($>=4096&&$<=4255)return 10;if($>=4256&&$<=4351)return 10;if($>=4352&&$<=4607)return 10;if($>=6016&&$<=6143)return 10;if($>=12352&&$<=12447)return 10;if($>=7936&&$<=8191)return 10;if($>=11264&&$<=11359)return 10;if($>=40960&&$<=42127)return 10;if($>=42192&&$<=42239)return 10;if($>=42240&&$<=42559)return 10;if($>=42560&&$<=42655)return 10;if($>=42784&&$<=43007)return 10;if($>=43776&&$<=43887)return 10;if($>=44032&&$<=55215)return 10;if($>=64256&&$<=64262)return 10;if($>=65313&&$<=65338)return 10;if($>=65345&&$<=65370)return 10;return 0}function NQ($){let Q=$.length,Z=[],K=[];for(let U=0;U<$.length;U++){let W=$[U];Z.push(_Q(W))}if(Q===0)return{boundaries:K,properties:Z};let J=0,q=!1;for(let U=1;U<Q;U++){let W=Z[U-1],H=Z[U],_=!0;if(W===1&&H===2)_=!1;else if(W===3||W===1||W===2)_=!0;else if(H===3||H===1||H===2)_=!0;else if(W===9&&(H===9||H===10||H===12||H===13))_=!1;else if((W===12||W===10)&&(H===10||H===11))_=!1;else if((W===13||W===11)&&H===11)_=!1;else if(H===4||H===5)_=!1;else if(H===8)_=!1;else if(W===7)_=!1;else if(q&&W===5&&H===14)_=!1;else if(W===6&&H===6){if(J%2===1)_=!1}if(H===14)q=!0;else if(H!==4&&H!==5)q=!1;if(H===6)J++;else J=0;if(_)K.push(U)}return K.push(Q),{boundaries:K,properties:Z}}function kW($){let Q=$.length,Z=[],K=[];for(let q=0;q<$.length;q++){let U=$[q];Z.push(IW(U))}if(Q===0)return{boundaries:K,properties:Z};K.push(0);let J=0;for(let q=1;q<Q;q++){let U=Z[q-1],W=Z[q],H=!0;if(U===1&&W===2)H=!1;else if(U===3||U===1||U===2)H=!0;else if(W===3||W===1||W===2)H=!0;else if(U===5&&W===19)H=!1;else if(U===18&&W===18)H=!1;else if(W===7||W===4||W===5)H=!1;else if((U===10||U===9)&&(W===10||W===9))H=!1;else if((U===10||U===9)&&(W===14||W===13||W===11)){if(q+1<Q){let _=Z[q+1];if(_===10||_===9)H=!1}}else if(U===16&&W===16)H=!1;else if((U===10||U===9)&&W===16)H=!1;else if(U===16&&(W===10||W===9))H=!1;else if(U===16&&(W===15||W===13||W===11)){if(q+1<Q&&Z[q+1]===16)H=!1}else if(U===8&&W===8)H=!1;else if((U===10||U===9||U===16||U===8||U===17)&&W===17)H=!1;else if(U===17&&(W===10||W===9||W===16||W===8))H=!1;else if(U===6&&W===6){if(J%2===1)H=!1}if(W===6)J++;else J=0;if(H)K.push(q)}return K.push(Q),{boundaries:K,properties:Z}}function qY($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K}=NQ(Q),J=[],q=0;for(let U=0;U<K.length;U++){let W=K[U];if(W>q)J.push(Z.slice(q,W).join(""));q=W}return J}function UY($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K,properties:J}=kW(Q),q=[];for(let U=0;U<K.length-1;U++){let W=K[U],H=K[U+1],_=!1;for(let N=W;N<H;N++){let V=J[N];if(V!==18&&V!==1&&V!==2&&V!==3){_=!0;break}}if(_)q.push(Z.slice(W,H).join(""))}return q}function WY($){let Q=[],Z=[...$];for(let J=0;J<Z.length;J++){let q=Z[J];Q.push(q.codePointAt(0)??0)}let{boundaries:K}=NQ(Q);return K.length}export{Xj as verticalLayoutFeatures,vU as verticalKanaAlternates,OU as verticalForms,PU as verticalAlternatesRotation,BH as vectorLength,IH as validateOutline,mV as useTypoMetrics,FH as upscale,eW as updateMinTransformedX,a6 as truncPixel,$H as translateOutline,o8 as translate2D,t as transformPoint3x3,$6 as transformPoint2D,k9 as transformOutline3D,O6 as transformOutline2D,Bj as traditionalForms,wj as thirdWidthForms,v9 as tagToString,k as tag,Zj as tabularFigures,aX as swash,Uj as superscript,Wj as subscript,A5 as subBitmaps,dX as stylisticSets,MU as stylisticSet,sX as stylisticAlternates,y4 as strokeUniform,$9 as strokePath,n9 as strokeAsymmetricCombined,m8 as strokeAsymmetric,pX as standardLigatures,UY as splitWords,qY as splitGraphemes,RU as smallCaps,qj as slashedZero,Mj as simplifiedForms,N4 as signedDistanceToQuadratic,H4 as signedDistanceToLine,X4 as signedDistanceToCubic,OH as sign,VN as shouldGridFit,XN as shouldDoGray,m9 as shiftBitmap,I8 as shear2D,l7 as shapedTextToSVGWithVariation,x7 as shapedTextToSVG,qW as shapeInto,ij as shape,M0 as setSize,p8 as setCodeRange,Hj as scientificInferiors,tW as scaleOutlinePow2,QH as scaleOutline,P8 as scale2D,P9 as runProgram,A0 as runGlyphProgram,E0 as runFontProgram,w0 as runCVTProgram,jj as ruby,C1 as roundUpToGrid,v1 as roundToHalfGrid,Z8 as roundToGrid,I1 as roundToDoubleGrid,y1 as roundSuper45,h1 as roundSuper,EH as roundPixel,S1 as roundOff,k1 as roundDownToGrid,X8 as round,rW as rotateOutline90,ZH as rotateOutline,v8 as rotate2D,$U as resolveDupeGlyph,t8 as resizeBitmapBilinear,S8 as resizeBitmap,Z1 as reorderMarks,AW as reorderGlyphs,f7 as renderShapedTextWithVariation,u7 as renderShapedText,h8 as renderSdf,y8 as renderMsdf,WK as rasterizeText,e8 as rasterizePathWithGradient,r6 as rasterizePath,RX as rasterizeLcd,m0 as rasterizeGlyph,Ej as quarterWidthForms,Gj as proportionalWidthForms,Qj as proportionalFigures,B1 as processRearrangement,T1 as processLigature,O1 as processInsertion,R1 as processContextual,lz as processBidi,vK as pipe,rX as petiteCaps,H5 as perspectiveMatrix,n7 as pathToSVGWithMatrix3D,d7 as pathToSVGWithMatrix,Y8 as pathToSVG,k0 as pathToCanvasWithMatrix3D,I0 as pathToCanvasWithMatrix,i8 as pathToCanvas,u4 as path,B9 as parseSuperRound,a9 as parseScriptList,X$ as parsePrep,R$ as parsePost,B$ as parseOs2,M$ as parseName,F$ as parseMath,FN as parseLookupHeaders,z$ as parseJstf,t5 as parseGasp,V$ as parseFpgm,O$ as parseFontDirectory,r9 as parseFeatureList,r5 as parseFeat,j$ as parseCvt,a5 as parseCpal,i as parseCoverageAt,Fq as parseCoverage,s5 as parseColr,B6 as parseClassDefAt,wq as parseClassDef,o5 as parseCff2,n5 as parseCff,d5 as parseBase,g9 as padBitmap,Jj as ordinals,NN as openTypeTagToAat,eX as oldstyleFigures,Q9 as obliquePath,RH as normalizeVector,k5 as normalizeAxisValue,uX as normalize,iz as mustBreakAt,I9 as multiply3x3,k8 as multiply2D,DH as mulFix,X5 as mulDiv,w5 as mulBitmaps,MK as msdfAtlasToRGBA,DK as msdfAtlasToRGB,W4 as median,L5 as maxBitmaps,p7 as matrixToSVGTransform,$X as matchAxisValue,L0 as loadFontProgram,D0 as loadCVTProgram,$j as liningFigures,vX as lcdToRGBA,Vj as kerning,FX as justifyParagraph,YU as justify,Lj as jis90Forms,Fj as jis83Forms,Aj as jis78Forms,Dj as jis2004Forms,KH as italicizeOutline,Lq as isVariationIndexTable,P$ as isTrueType,tz as isScript,uz as isRTL,tV as isOlderSiblingFont,xV as isMonospaced,xz as isLTR,yV as isItalic,HV as isExtendedShape,qN as isExclusiveFeature,rV as isElidableAxisValue,KY as isComplexScript,t_ as isColrV1,pV as isCFF,bV as isBold,S0 as interpolateGradient,U5 as identity3x3,v6 as identity2D,c7 as hypot,cX as historicalLigatures,j7 as hintedToPixels,B0 as hintGlyph,WX as hasVertOriginY,QX as hasSvgGlyph,HN as hasSettingValue,nW as hasGlyphOutline,nV as hasGlyphBitmap,o_ as hasColorGlyph,D_ as hasColorBitmap,zj as halfWidthForms,g4 as glyphVar,qH as glyphToSVG,UH as glyphBufferToShapedGlyphs,b4 as glyph,BV as getXHeightDelta,IW as getWordBreakProperty,XX as getVorgDelta,mz as getVisualOrder,_V as getVerticalVariants,qX as getVerticalMetrics,VV as getVerticalAssembly,UX as getVertOriginY,CV as getVersion,NX as getTsbDelta,UU as getTrackingValue,WV as getTopAccentAttachment,WH as getTextWidth,ZX as getSvgGlyphIds,KU as getSvgDocument,LX as getSubstitutedLookups,eq as getStrikeForPpem,E$ as getShrinkageMods,WN as getSettingByValue,rz as getScripts,$Y as getScriptTag,ez as getScriptRuns,JY as getScriptDirection,V0 as getScript,lV as getSbixGlyphBitmap,kV as getPostScriptName,q8 as getPathBounds,J1 as getOrCreateShapePlan,R8 as getNameById,FW as getMirror,E_ as getMinMaxExtent,Z0 as getMetricDelta,c0 as getMarkAttachmentType,RW as getLineBreakClass,e_ as getLayerPaint,tN as getKerxValue,A$ as getKernValue,G$ as getJstfPriorities,UV as getItalicsCorrection,NV as getHorizontalVariants,XV as getHorizontalAssembly,MV as getHDescenderDelta,DV as getHAscenderDelta,_Q as getGraphemeBreakProperty,jK as getGlyphUV,S9 as getGlyphPathWithVariation,y6 as getGlyphPath,uV as getGlyphName,P0 as getGlyphLocation,dW as getGlyphDelta,e5 as getGaspBehavior,IV as getFullName,vV as getFontSubfamily,PV as getFontFamily,kH as getFillRuleFromFlags,i0 as getFeature,w$ as getExtensionMods,Y$ as getExtenderGlyphs,t7 as getExactBounds,wW as getEmbeddings,gV as getEmbeddingPermission,Dq as getDeviceDelta,UN as getDefaultSetting,G_ as getDefaultBaseline,_8 as getCombiningClass,a_ as getColorVariationDelta,$q as getColorPaint,eJ as getColorLayers,M_ as getColorBitmapSizes,$N as getColor,s_ as getClipBox,gz as getCharType,O_ as getCffString,v_ as getCffGlyphWidth,RV as getCapHeightDelta,VX as getBsbDelta,F_ as getBitmapGlyph,Y_ as getBaselineForScript,sV as getAxisValuesForAxis,eV as getAxisValueNumber,cV as getAxisRecord,iV as getAxisIndex,dV as getAvailablePpemSizes,JN as getAllFeatures,sz as getAllBreakOpportunities,S5 as getAdvanceWidthDelta,_X as getAdvanceHeightDelta,KN as getAatFeature,o6 as gaussianBlur,Yj as fullWidthForms,Kj as fractions,C8 as fracPixel,wH as floorPixel,GH as floatToPixel,zH as floatToF26Dot6,CH as fixOutline,kW as findWordBoundaries,t9 as findScript,oz as findNextBreak,K0 as findMatchingFeatureVariation,$$ as findLangSys,NQ as findGraphemeBoundaries,aV as findAxisValueByNameId,Rj as features,IU as feature,l9 as fastGaussianBlur,YH as f26Dot6ToFloat,SH as expandToFit,J5 as executeFontProgram,p5 as executeCffCharString,p0 as executeCff2CharString,K5 as execute,GU as evaluateConditionSet,K9 as emboldenPath,r8 as emboldenBitmap,LH as downscale,MH as divFix,oX as discretionaryLigatures,az as detectScript,fz as detectDirection,G8 as decomposePath,K1 as decompose,vj as createShapePlan,V5 as createPath2D,DN as createLookupDigest,F0 as createHintingEngine,h0 as createGradientBitmap,Q8 as createGlyphZone,D5 as createGaussianKernel,d4 as createFace,G0 as createExecContext,P1 as createDefaultGraphicsState,r as createBitmap,WY as countGraphemes,J6 as copyBitmap,U8 as convertBitmap,N5 as contourToPath,iX as contextualAlternates,Z9 as condensePath,v0 as computeTightBounds,W5 as computeControlBox,F5 as compositeBitmaps,K8 as compensate,C9 as combinePaths,Tj as combineFeatures,f4 as combine,QN as colorToRgba,ZN as colorToHex,c8 as clonePath,z5 as clearBitmap,TH as clamp,nX as characterVariants,BU as characterVariant,m4 as char,AH as ceilPixel,_j as caseSensitiveForms,b8 as cascadeBlur,TU as capsToSmallCaps,Nj as capitalSpacing,cz as canBreakAt,u_ as calculateVariationDelta,O0 as calculateTupleScalar,Q1 as calculateLineWidth,NK as buildStringAtlas,LK as buildMsdfStringAtlas,u0 as buildMsdfAtlas,FK as buildMsdfAsciiAtlas,g0 as buildAtlas,_K as buildAsciiAtlas,AX as breakIntoLines,E8 as boxBlur,e7 as blurBitmap,C0 as blendBitmap,x9 as bitmapToRGBA,f9 as bitmapToGray,x4 as bitmap,VK as atlasToRGBA,XK as atlasToAlpha,AK as assignEdgeColors,JX as applyTracking,D$ as applyNonContextual,LW as applyMirroring,HH as applyMatrixToContext,DX as applyFeatureVariations,C$ as applyFallbackMarkPositioning,S$ as applyFallbackKerning,EN as applyDeviceAdjustment,zJ as applyAvarMapping,I5 as applyAvar,HQ as analyzeLineBreaksFromCodepoints,pz as analyzeLineBreaksForGlyphs,nz as analyzeLineBreaks,tX as allSmallCaps,E5 as addBitmaps,d9 as adaptiveBlur,I6 as abs,_N as aatToOpenTypeTag,vW as WordBreakProperty,TV as WindowsEncodingId,hV as WidthClass,SV as WeightClass,Jq as VerticalPositionSetting,Xq as UpperCaseSetting,G7 as UnicodeBuffer,n8 as TouchFlag,p as Tags,_q as StylisticAlternativesSetting,jq as SmartSwashSetting,_6 as SetDigest,OW as Script,T$ as SbixGraphicType,d8 as RoundMode,c6 as Reader,j9 as PlatformId,D6 as PixelMode,Z6 as PathBuilder,Qq as PaletteType,aJ as PaintFormat,_H as PIXEL_MASK,A6 as PIXEL_BITS,r7 as OutlineError,D as Opcode,W6 as ONE_PIXEL,Uq as NumberSpacingSetting,qq as NumberCaseSetting,DU as NormalizationMode,B8 as NameId,Q0 as MvarTags,L$ as MorxSubtableType,Vq as LowerCaseSetting,b6 as LookupFlag,DW as LineBreakClass,Kq as LigatureSetting,wU as LcdMode,MX as LCD_FILTER_LIGHT,BX as LCD_FILTER_LEGACY,EU as LCD_FILTER_DEFAULT,zU as JustifyMode,lN as JstfPriority,PW as GraphemeBreakProperty,T0 as GlyphClass,O8 as GlyphBuffer,s9 as GaspFlag,r0 as FsType,t0 as FsSelection,Wq as FractionsSetting,z9 as Font,J8 as FillRule,Zq as FeatureType,K2 as FeatureTags,Gq as FeatureFlags,g8 as Face,NH as F26DOT6_SHIFT,VH as F26DOT6_ONE,XH as F16DOT16_SHIFT,jH as F16DOT16_ONE,rJ as Extend,Eq as EMPTY_CLASS_DEF,R0 as Direction,zq as DiacriticsSetting,_9 as Coverage,Nq as ContextualAlternativesSetting,tJ as CompositeMode,M9 as CodeRange,z7 as ClusterLevel,L8 as ClassDef,Yq as CharacterShapeSetting,w_ as CbdtImageFormat,Hq as CaseSensitiveLayoutSetting,Y7 as BufferFlags,BW as BreakOpportunity,MW as BreakAction,s as BitmapBuilder,l8 as BidiType,X_ as BaselineTag,v$ as AxisValueFlags,CK as $translate,VJ as $toSVG,_J as $toRGBA,NJ as $toGray,lK as $strokePath,oK as $strokeAsymmetricCombined,pK as $strokeAsymmetric,JJ as $shift,yK as $shear,kK as $scale,hK as $rotateDeg,SK as $rotate,UJ as $resizeBilinear,qJ as $resize,aK as $renderSdf,rK as $renderMsdf,sK as $rasterizeWithGradient,iK as $rasterizeAuto,cK as $rasterize,gK as $perspective,WJ as $pad,fK as $obliquePath,mK as $matrix,bK as $italic,IK as $fromGlyph,ZJ as $fastBlur,uK as $emboldenPath,KJ as $embolden,XJ as $copy,HJ as $convert,xK as $condensePath,nK as $combinePaths,dK as $clone,$J as $cascadeBlur,eK as $boxBlur,tK as $blur,QJ as $adaptiveBlur};
|