@fabricmc/cli 0.1.492 → 0.1.493
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/bundled.mjs +2 -2
- package/package.json +1 -1
package/bundled.mjs
CHANGED
|
@@ -127,7 +127,7 @@ Filtered results for: ${this.inputValue?this.inputValue:Hr.gray("Enter something
|
|
|
127
127
|
`}renderOption(e,i,o){let A;return i.disabled?A=e===o?Hr.gray().underline(i.title):Hr.strikethrough().gray(i.title):A=e===o?Hr.cyan().underline(i.title):i.title,(i.selected?Hr.green(ji.radioOn):ji.radioOff)+" "+A}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[Hr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(Hr.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(mv.hide),super.render();let e=[Vd.symbol(this.done,this.aborted),Hr.bold(this.msg),Vd.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(e+=Hr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=Jd(e,this.out.columns)}};jd.exports=RA});var Kd=oe((KM,qd)=>{var Zd=ft(),Ev=Lr(),{style:Xd,clear:wv}=lr(),{erase:yv,cursor:zd}=pt(),GA=class extends Ev{constructor(e={}){super(e),this.msg=e.message,this.value=e.initial,this.initialValue=!!e.initial,this.yesMsg=e.yes||"yes",this.yesOption=e.yesOption||"(Y/n)",this.noMsg=e.no||"no",this.noOption=e.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
128
128
|
`),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
129
129
|
`),this.close()}_(e,i){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(zd.hide):this.out.write(wv(this.outputText,this.out.columns)),super.render(),this.outputText=[Xd.symbol(this.done,this.aborted),Zd.bold(this.msg),Xd.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Zd.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(yv.line+zd.to(0)+this.outputText))}};qd.exports=GA});var eg=oe(($M,$d)=>{"use strict";$d.exports={TextPrompt:qp(),SelectPrompt:td(),TogglePrompt:sd(),DatePrompt:Dd(),NumberPrompt:Yd(),MultiselectPrompt:kA(),AutocompletePrompt:Wd(),AutocompleteMultiselectPrompt:_d(),ConfirmPrompt:Kd()}});var rg=oe(tg=>{"use strict";var Gt=tg,Cv=eg(),Ao=r=>r;function xr(r,e,i={}){return new Promise((o,A)=>{let l=new Cv[r](e),u=i.onAbort||Ao,f=i.onSubmit||Ao,p=i.onExit||Ao;l.on("state",e.onState||Ao),l.on("submit",g=>o(f(g))),l.on("exit",g=>o(p(g))),l.on("abort",g=>A(u(g)))})}Gt.text=r=>xr("TextPrompt",r);Gt.password=r=>(r.style="password",Gt.text(r));Gt.invisible=r=>(r.style="invisible",Gt.text(r));Gt.number=r=>xr("NumberPrompt",r);Gt.date=r=>xr("DatePrompt",r);Gt.confirm=r=>xr("ConfirmPrompt",r);Gt.list=r=>{let e=r.separator||",";return xr("TextPrompt",r,{onSubmit:i=>i.split(e).map(o=>o.trim())})};Gt.toggle=r=>xr("TogglePrompt",r);Gt.select=r=>xr("SelectPrompt",r);Gt.multiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(o=>o.selected).map(o=>o.value);return xr("MultiselectPrompt",r,{onAbort:e,onSubmit:e})};Gt.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(o=>o.selected).map(o=>o.value);return xr("AutocompleteMultiselectPrompt",r,{onAbort:e,onSubmit:e})};var bv=(r,e)=>Promise.resolve(e.filter(i=>i.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));Gt.autocomplete=r=>(r.suggest=r.suggest||bv,r.choices=[].concat(r.choices||[]),xr("AutocompletePrompt",r))});var sg=oe((tU,ng)=>{"use strict";var LA=rg(),xv=["suggest","format","onState","validate","onRender","type"],ig=()=>{};async function ni(r=[],{onSubmit:e=ig,onCancel:i=ig}={}){let o={},A=ni._override||{};r=[].concat(r);let l,u,f,p,g,m,E=async(b,y,Q=!1)=>{if(!(!Q&&b.validate&&b.validate(y)!==!0))return b.format?await b.format(y,o):y};for(u of r)if({name:p,type:g}=u,typeof g=="function"&&(g=await g(l,{...o},u),u.type=g),!!g){for(let b in u){if(xv.includes(b))continue;let y=u[b];u[b]=typeof y=="function"?await y(l,{...o},m):y}if(m=u,typeof u.message!="string")throw new Error("prompt message is required");if({name:p,type:g}=u,LA[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(A[u.name]!==void 0&&(l=await E(u,A[u.name]),l!==void 0)){o[p]=l;continue}try{l=ni._injected?Qv(ni._injected,u.initial):await LA[g](u),o[p]=l=await E(u,l,!0),f=await e(u,l,o)}catch{f=!await i(u,o)}if(f)return o}return o}function Qv(r,e){let i=r.shift();if(i instanceof Error)throw i;return i===void 0?e:i}function vv(r){ni._injected=(ni._injected||[]).concat(r)}function Iv(r){ni._override=Object.assign({},r)}ng.exports=Object.assign(ni,{prompt:ni,prompts:LA,inject:vv,override:Iv})});var ag=oe((rU,og)=>{function Fv(r){r=(Array.isArray(r)?r:r.split(".")).map(Number);let e=0,i=process.versions.node.split(".").map(Number);for(;e<r.length;e++){if(i[e]>r[e])return!1;if(r[e]>i[e])return!0}return!1}og.exports=Fv("8.6.0")?Dp():sg()});var fl=oe((Xk,Vg)=>{"use strict";var lI=We("util"),Jg=We("stream"),cr=Vg.exports=function(){Jg.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};lI.inherits(cr,Jg);cr.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};cr.prototype.write=function(r,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let i;return Buffer.isBuffer(r)?i=r:i=Buffer.from(r,e||this._encoding),this._buffers.push(i),this._buffered+=i.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};cr.prototype.end=function(r,e){r&&this.write(r,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};cr.prototype.destroySoon=cr.prototype.end;cr.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};cr.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};cr.prototype._processReadAllowingLess=function(r){this._reads.shift();let e=this._buffers[0];e.length>r.length?(this._buffered-=r.length,this._buffers[0]=e.slice(r.length),r.func.call(this,e.slice(0,r.length))):(this._buffered-=e.length,this._buffers.shift(),r.func.call(this,e))};cr.prototype._processRead=function(r){this._reads.shift();let e=0,i=0,o=Buffer.alloc(r.length);for(;e<r.length;){let A=this._buffers[i++],l=Math.min(A.length,r.length-e);A.copy(o,e,0,l),e+=l,l!==A.length&&(this._buffers[--i]=A.slice(l))}i>0&&this._buffers.splice(0,i),this._buffered-=r.length,r.func.call(this,o)};cr.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let r=this._reads[0];if(r.allowLess)this._processReadAllowingLess(r);else if(this._buffered>=r.length)this._processRead(r);else break}this._buffers&&!this.writable&&this._end()}catch(r){this.emit("error",r)}}});var dl=oe(pl=>{"use strict";var si=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];pl.getImagePasses=function(r,e){let i=[],o=r%8,A=e%8,l=(r-o)/8,u=(e-A)/8;for(let f=0;f<si.length;f++){let p=si[f],g=l*p.x.length,m=u*p.y.length;for(let E=0;E<p.x.length&&p.x[E]<o;E++)g++;for(let E=0;E<p.y.length&&p.y[E]<A;E++)m++;g>0&&m>0&&i.push({width:g,height:m,index:f})}return i};pl.getInterlaceIterator=function(r){return function(e,i,o){let A=e%si[o].x.length,l=(e-A)/si[o].x.length*8+si[o].x[A],u=i%si[o].y.length,f=(i-u)/si[o].y.length*8+si[o].y[u];return l*4+f*r*4}}});var gl=oe((qk,jg)=>{"use strict";jg.exports=function(e,i,o){let A=e+i-o,l=Math.abs(A-e),u=Math.abs(A-i),f=Math.abs(A-o);return l<=u&&l<=f?e:u<=f?i:o}});var ml=oe((Kk,Zg)=>{"use strict";var cI=dl(),uI=gl();function _g(r,e,i){let o=r*e;return i!==8&&(o=Math.ceil(o/(8/i))),o}var nn=Zg.exports=function(r,e){let i=r.width,o=r.height,A=r.interlace,l=r.bpp,u=r.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],A){let f=cI.getImagePasses(i,o);for(let p=0;p<f.length;p++)this._images.push({byteWidth:_g(f[p].width,l,u),height:f[p].height,lineIndex:0})}else this._images.push({byteWidth:_g(i,l,u),height:o,lineIndex:0});u===8?this._xComparison=l:u===16?this._xComparison=l*2:this._xComparison=1};nn.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};nn.prototype._unFilterType1=function(r,e,i){let o=this._xComparison,A=o-1;for(let l=0;l<i;l++){let u=r[1+l],f=l>A?e[l-o]:0;e[l]=u+f}};nn.prototype._unFilterType2=function(r,e,i){let o=this._lastLine;for(let A=0;A<i;A++){let l=r[1+A],u=o?o[A]:0;e[A]=l+u}};nn.prototype._unFilterType3=function(r,e,i){let o=this._xComparison,A=o-1,l=this._lastLine;for(let u=0;u<i;u++){let f=r[1+u],p=l?l[u]:0,g=u>A?e[u-o]:0,m=Math.floor((g+p)/2);e[u]=f+m}};nn.prototype._unFilterType4=function(r,e,i){let o=this._xComparison,A=o-1,l=this._lastLine;for(let u=0;u<i;u++){let f=r[1+u],p=l?l[u]:0,g=u>A?e[u-o]:0,m=u>A&&l?l[u-o]:0,E=uI(g,p,m);e[u]=f+E}};nn.prototype._reverseFilterLine=function(r){let e=r[0],i,o=this._images[this._imageIndex],A=o.byteWidth;if(e===0)i=r.slice(1,A+1);else switch(i=Buffer.alloc(A),e){case 1:this._unFilterType1(r,i,A);break;case 2:this._unFilterType2(r,i,A);break;case 3:this._unFilterType3(r,i,A);break;case 4:this._unFilterType4(r,i,A);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(i),o.lineIndex++,o.lineIndex>=o.height?(this._lastLine=null,this._imageIndex++,o=this._images[this._imageIndex]):this._lastLine=i,o?this.read(o.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var qg=oe(($k,zg)=>{"use strict";var hI=We("util"),Xg=fl(),fI=ml(),pI=zg.exports=function(r){Xg.call(this);let e=[],i=this;this._filter=new fI(r,{read:this.read.bind(this),write:function(o){e.push(o)},complete:function(){i.emit("complete",Buffer.concat(e))}}),this._filter.start()};hI.inherits(pI,Xg)});var sn=oe((eY,Kg)=>{"use strict";Kg.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var wl=oe((tY,$g)=>{"use strict";var Bl=[];(function(){for(let r=0;r<256;r++){let e=r;for(let i=0;i<8;i++)e&1?e=3988292384^e>>>1:e=e>>>1;Bl[r]=e}})();var El=$g.exports=function(){this._crc=-1};El.prototype.write=function(r){for(let e=0;e<r.length;e++)this._crc=Bl[(this._crc^r[e])&255]^this._crc>>>8;return!0};El.prototype.crc32=function(){return this._crc^-1};El.crc32=function(r){let e=-1;for(let i=0;i<r.length;i++)e=Bl[(e^r[i])&255]^e>>>8;return e^-1}});var yl=oe((rY,em)=>{"use strict";var yt=sn(),dI=wl(),Ct=em.exports=function(r,e){this._options=r,r.checkCRC=r.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[yt.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[yt.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[yt.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[yt.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[yt.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[yt.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};Ct.prototype.start=function(){this.read(yt.PNG_SIGNATURE.length,this._parseSignature.bind(this))};Ct.prototype._parseSignature=function(r){let e=yt.PNG_SIGNATURE;for(let i=0;i<e.length;i++)if(r[i]!==e[i]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._parseChunkBegin=function(r){let e=r.readUInt32BE(0),i=r.readUInt32BE(4),o="";for(let l=4;l<8;l++)o+=String.fromCharCode(r[l]);let A=!!(r[4]&32);if(!this._hasIHDR&&i!==yt.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new dI,this._crc.write(Buffer.from(o)),this._chunks[i])return this._chunks[i](e);if(!A){this.error(new Error("Unsupported critical chunk type "+o));return}this.read(e+4,this._skipChunk.bind(this))};Ct.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};Ct.prototype._parseChunkEnd=function(r){let e=r.readInt32BE(0),i=this._crc.crc32();if(this._options.checkCRC&&i!==e){this.error(new Error("Crc error - "+e+" - "+i));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleIHDR=function(r){this.read(r,this._parseIHDR.bind(this))};Ct.prototype._parseIHDR=function(r){this._crc.write(r);let e=r.readUInt32BE(0),i=r.readUInt32BE(4),o=r[8],A=r[9],l=r[10],u=r[11],f=r[12];if(o!==8&&o!==4&&o!==2&&o!==1&&o!==16){this.error(new Error("Unsupported bit depth "+o));return}if(!(A in yt.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(l!==0){this.error(new Error("Unsupported compression method"));return}if(u!==0){this.error(new Error("Unsupported filter method"));return}if(f!==0&&f!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=A;let p=yt.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:i,depth:o,interlace:!!f,palette:!!(A&yt.COLORTYPE_PALETTE),color:!!(A&yt.COLORTYPE_COLOR),alpha:!!(A&yt.COLORTYPE_ALPHA),bpp:p,colorType:A}),this._handleChunkEnd()};Ct.prototype._handlePLTE=function(r){this.read(r,this._parsePLTE.bind(this))};Ct.prototype._parsePLTE=function(r){this._crc.write(r);let e=Math.floor(r.length/3);for(let i=0;i<e;i++)this._palette.push([r[i*3],r[i*3+1],r[i*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};Ct.prototype._handleTRNS=function(r){this.simpleTransparency(),this.read(r,this._parseTRNS.bind(this))};Ct.prototype._parseTRNS=function(r){if(this._crc.write(r),this._colorType===yt.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(r.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<r.length;e++)this._palette[e][3]=r[e];this.palette(this._palette)}this._colorType===yt.COLORTYPE_GRAYSCALE&&this.transColor([r.readUInt16BE(0)]),this._colorType===yt.COLORTYPE_COLOR&&this.transColor([r.readUInt16BE(0),r.readUInt16BE(2),r.readUInt16BE(4)]),this._handleChunkEnd()};Ct.prototype._handleGAMA=function(r){this.read(r,this._parseGAMA.bind(this))};Ct.prototype._parseGAMA=function(r){this._crc.write(r),this.gamma(r.readUInt32BE(0)/yt.GAMMA_DIVISION),this._handleChunkEnd()};Ct.prototype._handleIDAT=function(r){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-r,this._parseIDAT.bind(this,r))};Ct.prototype._parseIDAT=function(r,e){if(this._crc.write(e),this._colorType===yt.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let i=r-e.length;i>0?this._handleIDAT(i):this._handleChunkEnd()};Ct.prototype._handleIEND=function(r){this.read(r,this._parseIEND.bind(this))};Ct.prototype._parseIEND=function(r){this._crc.write(r),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var Cl=oe(rm=>{"use strict";var tm=dl(),gI=[function(){},function(r,e,i,o){if(o===e.length)throw new Error("Ran out of data");let A=e[o];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=255},function(r,e,i,o){if(o+1>=e.length)throw new Error("Ran out of data");let A=e[o];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=e[o+1]},function(r,e,i,o){if(o+2>=e.length)throw new Error("Ran out of data");r[i]=e[o],r[i+1]=e[o+1],r[i+2]=e[o+2],r[i+3]=255},function(r,e,i,o){if(o+3>=e.length)throw new Error("Ran out of data");r[i]=e[o],r[i+1]=e[o+1],r[i+2]=e[o+2],r[i+3]=e[o+3]}],mI=[function(){},function(r,e,i,o){let A=e[0];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=o},function(r,e,i){let o=e[0];r[i]=o,r[i+1]=o,r[i+2]=o,r[i+3]=e[1]},function(r,e,i,o){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=o},function(r,e,i){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=e[3]}];function BI(r,e){let i=[],o=0;function A(){if(o===r.length)throw new Error("Ran out of data");let l=r[o];o++;let u,f,p,g,m,E,b,y;switch(e){default:throw new Error("unrecognised depth");case 16:b=r[o],o++,i.push((l<<8)+b);break;case 4:b=l&15,y=l>>4,i.push(y,b);break;case 2:m=l&3,E=l>>2&3,b=l>>4&3,y=l>>6&3,i.push(y,b,E,m);break;case 1:u=l&1,f=l>>1&1,p=l>>2&1,g=l>>3&1,m=l>>4&1,E=l>>5&1,b=l>>6&1,y=l>>7&1,i.push(y,b,E,m,g,p,f,u);break}}return{get:function(l){for(;i.length<l;)A();let u=i.slice(0,l);return i=i.slice(l),u},resetAfterLine:function(){i.length=0},end:function(){if(o!==r.length)throw new Error("extra data found")}}}function EI(r,e,i,o,A,l){let u=r.width,f=r.height,p=r.index;for(let g=0;g<f;g++)for(let m=0;m<u;m++){let E=i(m,g,p);gI[o](e,A,E,l),l+=o}return l}function wI(r,e,i,o,A,l){let u=r.width,f=r.height,p=r.index;for(let g=0;g<f;g++){for(let m=0;m<u;m++){let E=A.get(o),b=i(m,g,p);mI[o](e,E,b,l)}A.resetAfterLine()}}rm.dataToBitMap=function(r,e){let i=e.width,o=e.height,A=e.depth,l=e.bpp,u=e.interlace,f;A!==8&&(f=BI(r,A));let p;A<=8?p=Buffer.alloc(i*o*4):p=new Uint16Array(i*o*4);let g=Math.pow(2,A)-1,m=0,E,b;if(u)E=tm.getImagePasses(i,o),b=tm.getInterlaceIterator(i,o);else{let y=0;b=function(){let Q=y;return y+=4,Q},E=[{width:i,height:o}]}for(let y=0;y<E.length;y++)A===8?m=EI(E[y],p,b,l,r,m):wI(E[y],p,b,l,f,g);if(A===8){if(m!==r.length)throw new Error("extra data found")}else f.end();return p}});var bl=oe((nY,im)=>{"use strict";function yI(r,e,i,o,A){let l=0;for(let u=0;u<o;u++)for(let f=0;f<i;f++){let p=A[r[l]];if(!p)throw new Error("index "+r[l]+" not in palette");for(let g=0;g<4;g++)e[l+g]=p[g];l+=4}}function CI(r,e,i,o,A){let l=0;for(let u=0;u<o;u++)for(let f=0;f<i;f++){let p=!1;if(A.length===1?A[0]===r[l]&&(p=!0):A[0]===r[l]&&A[1]===r[l+1]&&A[2]===r[l+2]&&(p=!0),p)for(let g=0;g<4;g++)e[l+g]=0;l+=4}}function bI(r,e,i,o,A){let l=255,u=Math.pow(2,A)-1,f=0;for(let p=0;p<o;p++)for(let g=0;g<i;g++){for(let m=0;m<4;m++)e[f+m]=Math.floor(r[f+m]*l/u+.5);f+=4}}im.exports=function(r,e,i=!1){let o=e.depth,A=e.width,l=e.height,u=e.colorType,f=e.transColor,p=e.palette,g=r;return u===3?yI(r,g,A,l,p):(f&&CI(r,g,A,l,f),o!==8&&!i&&(o===16&&(g=Buffer.alloc(A*l*4)),bI(r,g,A,l,o))),g}});var om=oe((sY,sm)=>{"use strict";var xI=We("util"),xl=We("zlib"),nm=fl(),QI=qg(),vI=yl(),II=Cl(),FI=bl(),vr=sm.exports=function(r){nm.call(this),this._parser=new vI(r,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=r,this.writable=!0,this._parser.start()};xI.inherits(vr,nm);vr.prototype._handleError=function(r){this.emit("error",r),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};vr.prototype._inflateData=function(r){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=xl.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let i=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,o=Math.max(i,xl.Z_MIN_CHUNK);this._inflate=xl.createInflate({chunkSize:o});let A=i,l=this.emit.bind(this,"error");this._inflate.on("error",function(f){A&&l(f)}),this._filter.on("complete",this._complete.bind(this));let u=this._filter.write.bind(this._filter);this._inflate.on("data",function(f){A&&(f.length>A&&(f=f.slice(0,A)),A-=f.length,u(f))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(r)};vr.prototype._handleMetaData=function(r){this._metaData=r,this._bitmapInfo=Object.create(r),this._filter=new QI(this._bitmapInfo)};vr.prototype._handleTransColor=function(r){this._bitmapInfo.transColor=r};vr.prototype._handlePalette=function(r){this._bitmapInfo.palette=r};vr.prototype._simpleTransparency=function(){this._metaData.alpha=!0};vr.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};vr.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};vr.prototype._complete=function(r){if(this.errord)return;let e;try{let i=II.dataToBitMap(r,this._bitmapInfo);e=FI(i,this._bitmapInfo,this._options.skipRescale),i=null}catch(i){this._handleError(i);return}this.emit("parsed",e)}});var Am=oe((oY,am)=>{"use strict";var er=sn();am.exports=function(r,e,i,o){let A=[er.COLORTYPE_COLOR_ALPHA,er.COLORTYPE_ALPHA].indexOf(o.colorType)!==-1;if(o.colorType===o.inputColorType){let Q=(function(){let v=new ArrayBuffer(2);return new DataView(v).setInt16(0,256,!0),new Int16Array(v)[0]!==256})();if(o.bitDepth===8||o.bitDepth===16&&Q)return r}let l=o.bitDepth!==16?r:new Uint16Array(r.buffer),u=255,f=er.COLORTYPE_TO_BPP_MAP[o.inputColorType];f===4&&!o.inputHasAlpha&&(f=3);let p=er.COLORTYPE_TO_BPP_MAP[o.colorType];o.bitDepth===16&&(u=65535,p*=2);let g=Buffer.alloc(e*i*p),m=0,E=0,b=o.bgColor||{};b.red===void 0&&(b.red=u),b.green===void 0&&(b.green=u),b.blue===void 0&&(b.blue=u);function y(){let Q,v,I,F=u;switch(o.inputColorType){case er.COLORTYPE_COLOR_ALPHA:F=l[m+3],Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_COLOR:Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_ALPHA:F=l[m+1],Q=l[m],v=Q,I=Q;break;case er.COLORTYPE_GRAYSCALE:Q=l[m],v=Q,I=Q;break;default:throw new Error("input color type:"+o.inputColorType+" is not supported at present")}return o.inputHasAlpha&&(A||(F/=u,Q=Math.min(Math.max(Math.round((1-F)*b.red+F*Q),0),u),v=Math.min(Math.max(Math.round((1-F)*b.green+F*v),0),u),I=Math.min(Math.max(Math.round((1-F)*b.blue+F*I),0),u))),{red:Q,green:v,blue:I,alpha:F}}for(let Q=0;Q<i;Q++)for(let v=0;v<e;v++){let I=y(l,m);switch(o.colorType){case er.COLORTYPE_COLOR_ALPHA:case er.COLORTYPE_COLOR:o.bitDepth===8?(g[E]=I.red,g[E+1]=I.green,g[E+2]=I.blue,A&&(g[E+3]=I.alpha)):(g.writeUInt16BE(I.red,E),g.writeUInt16BE(I.green,E+2),g.writeUInt16BE(I.blue,E+4),A&&g.writeUInt16BE(I.alpha,E+6));break;case er.COLORTYPE_ALPHA:case er.COLORTYPE_GRAYSCALE:{let F=(I.red+I.green+I.blue)/3;o.bitDepth===8?(g[E]=F,A&&(g[E+1]=I.alpha)):(g.writeUInt16BE(F,E),A&&g.writeUInt16BE(I.alpha,E+2));break}default:throw new Error("unrecognised color Type "+o.colorType)}m+=f,E+=p}return g}});var um=oe((aY,cm)=>{"use strict";var lm=gl();function TI(r,e,i,o,A){for(let l=0;l<i;l++)o[A+l]=r[e+l]}function SI(r,e,i){let o=0,A=e+i;for(let l=e;l<A;l++)o+=Math.abs(r[l]);return o}function DI(r,e,i,o,A,l){for(let u=0;u<i;u++){let f=u>=l?r[e+u-l]:0,p=r[e+u]-f;o[A+u]=p}}function MI(r,e,i,o){let A=0;for(let l=0;l<i;l++){let u=l>=o?r[e+l-o]:0,f=r[e+l]-u;A+=Math.abs(f)}return A}function UI(r,e,i,o,A){for(let l=0;l<i;l++){let u=e>0?r[e+l-i]:0,f=r[e+l]-u;o[A+l]=f}}function kI(r,e,i){let o=0,A=e+i;for(let l=e;l<A;l++){let u=e>0?r[l-i]:0,f=r[l]-u;o+=Math.abs(f)}return o}function YI(r,e,i,o,A,l){for(let u=0;u<i;u++){let f=u>=l?r[e+u-l]:0,p=e>0?r[e+u-i]:0,g=r[e+u]-(f+p>>1);o[A+u]=g}}function OI(r,e,i,o){let A=0;for(let l=0;l<i;l++){let u=l>=o?r[e+l-o]:0,f=e>0?r[e+l-i]:0,p=r[e+l]-(u+f>>1);A+=Math.abs(p)}return A}function NI(r,e,i,o,A,l){for(let u=0;u<i;u++){let f=u>=l?r[e+u-l]:0,p=e>0?r[e+u-i]:0,g=e>0&&u>=l?r[e+u-(i+l)]:0,m=r[e+u]-lm(f,p,g);o[A+u]=m}}function RI(r,e,i,o){let A=0;for(let l=0;l<i;l++){let u=l>=o?r[e+l-o]:0,f=e>0?r[e+l-i]:0,p=e>0&&l>=o?r[e+l-(i+o)]:0,g=r[e+l]-lm(u,f,p);A+=Math.abs(g)}return A}var GI={0:TI,1:DI,2:UI,3:YI,4:NI},LI={0:SI,1:MI,2:kI,3:OI,4:RI};cm.exports=function(r,e,i,o,A){let l;if(!("filterType"in o)||o.filterType===-1)l=[0,1,2,3,4];else if(typeof o.filterType=="number")l=[o.filterType];else throw new Error("unrecognised filter types");o.bitDepth===16&&(A*=2);let u=e*A,f=0,p=0,g=Buffer.alloc((u+1)*i),m=l[0];for(let E=0;E<i;E++){if(l.length>1){let b=1/0;for(let y=0;y<l.length;y++){let Q=LI[l[y]](r,p,u,A);Q<b&&(m=l[y],b=Q)}}g[f]=m,f++,GI[m](r,p,u,g,f,A),f+=u,p+=u}return g}});var Ql=oe((AY,hm)=>{"use strict";var Ft=sn(),PI=wl(),HI=Am(),WI=um(),JI=We("zlib"),oi=hm.exports=function(r){if(this._options=r,r.deflateChunkSize=r.deflateChunkSize||32*1024,r.deflateLevel=r.deflateLevel!=null?r.deflateLevel:9,r.deflateStrategy=r.deflateStrategy!=null?r.deflateStrategy:3,r.inputHasAlpha=r.inputHasAlpha!=null?r.inputHasAlpha:!0,r.deflateFactory=r.deflateFactory||JI.createDeflate,r.bitDepth=r.bitDepth||8,r.colorType=typeof r.colorType=="number"?r.colorType:Ft.COLORTYPE_COLOR_ALPHA,r.inputColorType=typeof r.inputColorType=="number"?r.inputColorType:Ft.COLORTYPE_COLOR_ALPHA,[Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.colorType)===-1)throw new Error("option color type:"+r.colorType+" is not supported at present");if([Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.inputColorType)===-1)throw new Error("option input color type:"+r.inputColorType+" is not supported at present");if(r.bitDepth!==8&&r.bitDepth!==16)throw new Error("option bit depth:"+r.bitDepth+" is not supported at present")};oi.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};oi.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};oi.prototype.filterData=function(r,e,i){let o=HI(r,e,i,this._options),A=Ft.COLORTYPE_TO_BPP_MAP[this._options.colorType];return WI(o,e,i,this._options,A)};oi.prototype._packChunk=function(r,e){let i=e?e.length:0,o=Buffer.alloc(i+12);return o.writeUInt32BE(i,0),o.writeUInt32BE(r,4),e&&e.copy(o,8),o.writeInt32BE(PI.crc32(o.slice(4,o.length-4)),o.length-4),o};oi.prototype.packGAMA=function(r){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(r*Ft.GAMMA_DIVISION),0),this._packChunk(Ft.TYPE_gAMA,e)};oi.prototype.packIHDR=function(r,e){let i=Buffer.alloc(13);return i.writeUInt32BE(r,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(Ft.TYPE_IHDR,i)};oi.prototype.packIDAT=function(r){return this._packChunk(Ft.TYPE_IDAT,r)};oi.prototype.packIEND=function(){return this._packChunk(Ft.TYPE_IEND,null)}});var gm=oe((lY,dm)=>{"use strict";var VI=We("util"),fm=We("stream"),jI=sn(),_I=Ql(),pm=dm.exports=function(r){fm.call(this);let e=r||{};this._packer=new _I(e),this._deflate=this._packer.createDeflate(),this.readable=!0};VI.inherits(pm,fm);pm.prototype.pack=function(r,e,i,o){this.emit("data",Buffer.from(jI.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,i)),o&&this.emit("data",this._packer.packGAMA(o));let A=this._packer.filterData(r,e,i);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(l){this.emit("data",this._packer.packIDAT(l))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(A)}});var Cm=oe((Kn,ym)=>{"use strict";var mm=We("assert").ok,on=We("zlib"),ZI=We("util"),Bm=We("buffer").kMaxLength;function vi(r){if(!(this instanceof vi))return new vi(r);r&&r.chunkSize<on.Z_MIN_CHUNK&&(r.chunkSize=on.Z_MIN_CHUNK),on.Inflate.call(this,r),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,r&&r.maxLength!=null&&(this._maxLength=r.maxLength)}function XI(r){return new vi(r)}function Em(r,e){e&&process.nextTick(e),r._handle&&(r._handle.close(),r._handle=null)}vi.prototype._processChunk=function(r,e,i){if(typeof i=="function")return on.Inflate._processChunk.call(this,r,e,i);let o=this,A=r&&r.length,l=this._chunkSize-this._offset,u=this._maxLength,f=0,p=[],g=0,m;this.on("error",function(Q){m=Q});function E(Q,v){if(o._hadError)return;let I=l-v;if(mm(I>=0,"have should not go down"),I>0){let F=o._buffer.slice(o._offset,o._offset+I);if(o._offset+=I,F.length>u&&(F=F.slice(0,u)),p.push(F),g+=F.length,u-=F.length,u===0)return!1}return(v===0||o._offset>=o._chunkSize)&&(l=o._chunkSize,o._offset=0,o._buffer=Buffer.allocUnsafe(o._chunkSize)),v===0?(f+=A-Q,A=Q,!0):!1}mm(this._handle,"zlib binding closed");let b;do b=this._handle.writeSync(e,r,f,A,this._buffer,this._offset,l),b=b||this._writeState;while(!this._hadError&&E(b[0],b[1]));if(this._hadError)throw m;if(g>=Bm)throw Em(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+Bm.toString(16)+" bytes");let y=Buffer.concat(p,g);return Em(this),y};ZI.inherits(vi,on.Inflate);function zI(r,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let i=r._finishFlushFlag;return i==null&&(i=on.Z_FINISH),r._processChunk(e,i)}function wm(r,e){return zI(new vi(e),r)}ym.exports=Kn=wm;Kn.Inflate=vi;Kn.createInflate=XI;Kn.inflateSync=wm});var vl=oe((cY,xm)=>{"use strict";var bm=xm.exports=function(r){this._buffer=r,this._reads=[]};bm.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e})};bm.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let r=this._reads[0];if(this._buffer.length&&(this._buffer.length>=r.length||r.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(r.length),r.func.call(this,e.slice(0,r.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}});var vm=oe(Qm=>{"use strict";var qI=vl(),KI=ml();Qm.process=function(r,e){let i=[],o=new qI(r);return new KI(e,{read:o.read.bind(o),write:function(l){i.push(l)},complete:function(){}}).start(),o.process(),Buffer.concat(i)}});var Sm=oe((hY,Tm)=>{"use strict";var Im=!0,Fm=We("zlib"),$I=Cm();Fm.deflateSync||(Im=!1);var eF=vl(),tF=vm(),rF=yl(),iF=Cl(),nF=bl();Tm.exports=function(r,e){if(!Im)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i;function o(M){i=M}let A;function l(M){A=M}function u(M){A.transColor=M}function f(M){A.palette=M}function p(){A.alpha=!0}let g;function m(M){g=M}let E=[];function b(M){E.push(M)}let y=new eF(r);if(new rF(e,{read:y.read.bind(y),error:o,metadata:l,gamma:m,palette:f,transColor:u,inflateData:b,simpleTransparency:p}).start(),y.process(),i)throw i;let v=Buffer.concat(E);E.length=0;let I;if(A.interlace)I=Fm.inflateSync(v);else{let O=((A.width*A.bpp*A.depth+7>>3)+1)*A.height;I=$I(v,{chunkSize:O,maxLength:O})}if(v=null,!I||!I.length)throw new Error("bad png - invalid inflate data response");let F=tF.process(I,A);v=null;let k=iF.dataToBitMap(F,A);F=null;let _=nF(k,A,e.skipRescale);return A.data=_,A.gamma=g||0,A}});var km=oe((fY,Um)=>{"use strict";var Dm=!0,Mm=We("zlib");Mm.deflateSync||(Dm=!1);var sF=sn(),oF=Ql();Um.exports=function(r,e){if(!Dm)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i=e||{},o=new oF(i),A=[];A.push(Buffer.from(sF.PNG_SIGNATURE)),A.push(o.packIHDR(r.width,r.height)),r.gamma&&A.push(o.packGAMA(r.gamma));let l=o.filterData(r.data,r.width,r.height),u=Mm.deflateSync(l,o.getDeflateOptions());if(l=null,!u||!u.length)throw new Error("bad png - invalid compressed data response");return A.push(o.packIDAT(u)),A.push(o.packIEND()),Buffer.concat(A)}});var Ym=oe(Il=>{"use strict";var aF=Sm(),AF=km();Il.read=function(r,e){return aF(r,e||{})};Il.write=function(r,e){return AF(r,e)}});var Rm=oe(Nm=>{"use strict";var lF=We("util"),Om=We("stream"),cF=om(),uF=gm(),hF=Ym(),Ot=Nm.PNG=function(r){Om.call(this),r=r||{},this.width=r.width|0,this.height=r.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,r.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new cF(r),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new uF(r),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};lF.inherits(Ot,Om);Ot.sync=hF;Ot.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};Ot.prototype.parse=function(r,e){if(e){let i,o;i=function(A){this.removeListener("error",o),this.data=A,e(null,this)}.bind(this),o=function(A){this.removeListener("parsed",i),e(A,null)}.bind(this),this.once("parsed",i),this.once("error",o)}return this.end(r),this};Ot.prototype.write=function(r){return this._parser.write(r),!0};Ot.prototype.end=function(r){this._parser.end(r)};Ot.prototype._metadata=function(r){this.width=r.width,this.height=r.height,this.emit("metadata",r)};Ot.prototype._gamma=function(r){this.gamma=r};Ot.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};Ot.bitblt=function(r,e,i,o,A,l,u,f){if(i|=0,o|=0,A|=0,l|=0,u|=0,f|=0,i>r.width||o>r.height||i+A>r.width||o+l>r.height)throw new Error("bitblt reading outside image");if(u>e.width||f>e.height||u+A>e.width||f+l>e.height)throw new Error("bitblt writing outside image");for(let p=0;p<l;p++)r.data.copy(e.data,(f+p)*e.width+u<<2,(o+p)*r.width+i<<2,(o+p)*r.width+i+A<<2)};Ot.prototype.bitblt=function(r,e,i,o,A,l,u){return Ot.bitblt(this,r,e,i,o,A,l,u),this};Ot.adjustGamma=function(r){if(r.gamma){for(let e=0;e<r.height;e++)for(let i=0;i<r.width;i++){let o=r.width*e+i<<2;for(let A=0;A<3;A++){let l=r.data[o+A]/255;l=Math.pow(l,1/2.2/r.gamma),r.data[o+A]=Math.round(l*255)}}r.gamma=0}};Ot.prototype.adjustGamma=function(){Ot.adjustGamma(this)}});var b0=oe((gY,C0)=>{var fF=Object.create,bo=Object.defineProperty,pF=Object.getOwnPropertyDescriptor,dF=Object.getOwnPropertyNames,gF=Object.getPrototypeOf,mF=Object.prototype.hasOwnProperty,Ge=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),BF=(r,e)=>{for(var i in e)bo(r,i,{get:e[i],enumerable:!0})},Jm=(r,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let A of dF(e))!mF.call(r,A)&&A!==i&&bo(r,A,{get:()=>e[A],enumerable:!(o=pF(e,A))||o.enumerable});return r},Ol=(r,e,i)=>(i=r!=null?fF(gF(r)):{},Jm(e||!r||!r.__esModule?bo(i,"default",{value:r,enumerable:!0}):i,r)),EF=r=>Jm(bo({},"__esModule",{value:!0}),r),xo=Ge(r=>{"use strict";var e=[".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","266 ff","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"],i=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],o=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","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","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","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"],A=[".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 l(m){this.font=m}l.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.font.glyphs;if(b){for(var y=0;y<b.length;y+=1)for(var Q=b.get(y),v=0;v<Q.unicodes.length;v+=1)if(Q.unicodes[v]===E)return y}else return null};function u(m){this.cmap=m}u.prototype.charToGlyphIndex=function(m){return this.cmap.glyphIndexMap[m.charCodeAt(0)]||0};function f(m,E){this.encoding=m,this.charset=E}f.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.encoding[E];return this.charset.indexOf(b)};function p(m){var E;switch(m.version){case 1:this.names=r.standardNames.slice();break;case 2:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)m.glyphNameIndex[E]<r.standardNames.length?this.names[E]=r.standardNames[m.glyphNameIndex[E]]:this.names[E]=m.names[m.glyphNameIndex[E]-r.standardNames.length];break;case 2.5:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)this.names[E]=r.standardNames[E+m.glyphNameIndex[E]];break;case 3:this.names=[];break}}p.prototype.nameToGlyphIndex=function(m){return this.names.indexOf(m)},p.prototype.glyphIndexToName=function(m){return this.names[m]};function g(m){for(var E,b=m.tables.cmap.glyphIndexMap,y=Object.keys(b),Q=0;Q<y.length;Q+=1){var v=y[Q],I=b[v];E=m.glyphs.get(I),E.addUnicode(parseInt(v))}for(Q=0;Q<m.glyphs.length;Q+=1)E=m.glyphs.get(Q),m.cffEncoding?E.name=m.cffEncoding.charset[Q]:E.name=m.glyphNames.glyphIndexToName(Q)}r.cffStandardStrings=e,r.cffStandardEncoding=i,r.cffExpertEncoding=o,r.standardNames=A,r.DefaultEncoding=l,r.CmapEncoding=u,r.CffEncoding=f,r.GlyphNames=p,r.addGlyphNames=g}),es=Ge(r=>{"use strict";function e(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}e.prototype.moveTo=function(i,o){this.commands.push({type:"M",x:i,y:o})},e.prototype.lineTo=function(i,o){this.commands.push({type:"L",x:i,y:o})},e.prototype.curveTo=e.prototype.bezierCurveTo=function(i,o,A,l,u,f){this.commands.push({type:"C",x1:i,y1:o,x2:A,y2:l,x:u,y:f})},e.prototype.quadTo=e.prototype.quadraticCurveTo=function(i,o,A,l){this.commands.push({type:"Q",x1:i,y1:o,x:A,y:l})},e.prototype.close=e.prototype.closePath=function(){this.commands.push({type:"Z"})},e.prototype.extend=function(i){i.commands&&(i=i.commands),Array.prototype.push.apply(this.commands,i)},e.prototype.draw=function(i){i.beginPath();for(var o=0;o<this.commands.length;o+=1){var A=this.commands[o];A.type==="M"?i.moveTo(A.x,A.y):A.type==="L"?i.lineTo(A.x,A.y):A.type==="C"?i.bezierCurveTo(A.x1,A.y1,A.x2,A.y2,A.x,A.y):A.type==="Q"?i.quadraticCurveTo(A.x1,A.y1,A.x,A.y):A.type==="Z"&&i.closePath()}this.fill&&(i.fillStyle=this.fill,i.fill()),this.stroke&&(i.strokeStyle=this.stroke,i.lineWidth=this.strokeWidth,i.stroke())},e.prototype.toPathData=function(i){i=i!==void 0?i:2;function o(p){return Math.round(p)===p?""+Math.round(p):p.toFixed(i)}function A(){for(var p="",g=0;g<arguments.length;g+=1){var m=arguments[g];m>=0&&g>0&&(p+=" "),p+=o(m)}return p}for(var l="",u=0;u<this.commands.length;u+=1){var f=this.commands[u];f.type==="M"?l+="M"+A(f.x,f.y):f.type==="L"?l+="L"+A(f.x,f.y):f.type==="C"?l+="C"+A(f.x1,f.y1,f.x2,f.y2,f.x,f.y):f.type==="Q"?l+="Q"+A(f.x1,f.y1,f.x,f.y):f.type==="Z"&&(l+="Z")}return l},e.prototype.toSVG=function(i){var o='<path d="';return o+=this.toPathData(i),o+='"',this.fill&this.fill!=="black"&&(this.fill===null?o+=' fill="none"':o+=' fill="'+this.fill+'"'),this.stroke&&(o+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),o+="/>",o},r.Path=e}),ur=Ge(r=>{"use strict";r.argument=function(e,i){if(!e)throw new Error(i)},r.assert=r.argument}),Dl=Ge(r=>{"use strict";var e=ur(),i=32768,o=2147483648,A={},l={},u={};function f(y){return function(){return y}}l.BYTE=function(y){return e.argument(y>=0&&y<=255,"Byte value should be between 0 and 255."),[y]},u.BYTE=f(1),l.CHAR=function(y){return[y.charCodeAt(0)]},u.CHAR=f(1),l.CHARARRAY=function(y){for(var Q=[],v=0;v<y.length;v+=1)Q.push(y.charCodeAt(v));return Q},u.CHARARRAY=function(y){return y.length},l.USHORT=function(y){return[y>>8&255,y&255]},u.USHORT=f(2),l.SHORT=function(y){return y>=i&&(y=-(2*i-y)),[y>>8&255,y&255]},u.SHORT=f(2),l.UINT24=function(y){return[y>>16&255,y>>8&255,y&255]},u.UINT24=f(3),l.ULONG=function(y){return[y>>24&255,y>>16&255,y>>8&255,y&255]},u.ULONG=f(4),l.LONG=function(y){return y>=o&&(y=-(2*o-y)),[y>>24&255,y>>16&255,y>>8&255,y&255]},u.LONG=f(4),l.FIXED=l.ULONG,u.FIXED=u.ULONG,l.FWORD=l.SHORT,u.FWORD=u.SHORT,l.UFWORD=l.USHORT,u.UFWORD=u.USHORT,l.LONGDATETIME=function(){return[0,0,0,0,0,0,0,0]},u.LONGDATETIME=f(8),l.TAG=function(y){return e.argument(y.length===4,"Tag should be exactly 4 ASCII characters."),[y.charCodeAt(0),y.charCodeAt(1),y.charCodeAt(2),y.charCodeAt(3)]},u.TAG=f(4),l.Card8=l.BYTE,u.Card8=u.BYTE,l.Card16=l.USHORT,u.Card16=u.USHORT,l.OffSize=l.BYTE,u.OffSize=u.BYTE,l.SID=l.USHORT,u.SID=u.USHORT,l.NUMBER=function(y){return y>=-107&&y<=107?[y+139]:y>=108&&y<=1131?(y=y-108,[(y>>8)+247,y&255]):y>=-1131&&y<=-108?(y=-y-108,[(y>>8)+251,y&255]):y>=-32768&&y<=32767?l.NUMBER16(y):l.NUMBER32(y)},u.NUMBER=function(y){return l.NUMBER(y).length},l.NUMBER16=function(y){return[28,y>>8&255,y&255]},u.NUMBER16=f(3),l.NUMBER32=function(y){return[29,y>>24&255,y>>16&255,y>>8&255,y&255]},u.NUMBER32=f(5),l.REAL=function(y){var Q=y.toString(),v=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(Q);if(v){var I=parseFloat("1e"+((v[2]?+v[2]:0)+v[1].length));Q=(Math.round(y*I)/I).toString()}var F="",k,_;for(k=0,_=Q.length;k<_;k+=1){var M=Q[k];M==="e"?F+=Q[++k]==="-"?"c":"b":M==="."?F+="a":M==="-"?F+="e":F+=M}F+=F.length&1?"f":"ff";var O=[30];for(k=0,_=F.length;k<_;k+=2)O.push(parseInt(F.substr(k,2),16));return O},u.REAL=function(y){return l.REAL(y).length},l.NAME=l.CHARARRAY,u.NAME=u.CHARARRAY,l.STRING=l.CHARARRAY,u.STRING=u.CHARARRAY,A.UTF16=function(y,Q,v){for(var I=[],F=v/2,k=0;k<F;k++,Q+=2)I[k]=y.getUint16(Q);return String.fromCharCode.apply(null,I)},l.UTF16=function(y){for(var Q=[],v=0;v<y.length;v+=1){var I=y.charCodeAt(v);Q.push(I>>8&255),Q.push(I&255)}return Q},u.UTF16=function(y){return y.length*2};var p={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};A.MACSTRING=function(y,Q,v,I){var F=p[I];if(F!==void 0){for(var k="",_=0;_<v;_++){var M=y.getUint8(Q+_);M<=127?k+=String.fromCharCode(M):k+=F[M&127]}return k}};var g=typeof WeakMap=="function"&&new WeakMap,m,E=function(y){if(!m){m={};for(var Q in p)m[Q]=new String(Q)}var v=m[y];if(v!==void 0){if(g){var I=g.get(v);if(I!==void 0)return I}var F=p[y];if(F!==void 0){for(var k={},_=0;_<F.length;_++)k[F.charCodeAt(_)]=_+128;return g&&g.set(v,k),k}}};l.MACSTRING=function(y,Q){var v=E(Q);if(v!==void 0){for(var I=[],F=0;F<y.length;F++){var k=y.charCodeAt(F);if(k>=128&&(k=v[k],k===void 0))return;I.push(k)}return I}},u.MACSTRING=function(y,Q){var v=l.MACSTRING(y,Q);return v!==void 0?v.length:0},l.INDEX=function(y){var Q,v=1,I=[v],F=[],k=0;for(Q=0;Q<y.length;Q+=1){var _=l.OBJECT(y[Q]);Array.prototype.push.apply(F,_),k+=_.length,v+=_.length,I.push(v)}if(F.length===0)return[0,0];var M=[],O=1+Math.floor(Math.log(k)/Math.log(2))/8|0,P=[void 0,l.BYTE,l.USHORT,l.UINT24,l.ULONG][O];for(Q=0;Q<I.length;Q+=1){var R=P(I[Q]);Array.prototype.push.apply(M,R)}return Array.prototype.concat(l.Card16(y.length),l.OffSize(O),M,F)},u.INDEX=function(y){return l.INDEX(y).length},l.DICT=function(y){for(var Q=[],v=Object.keys(y),I=v.length,F=0;F<I;F+=1){var k=parseInt(v[F],0),_=y[k];Q=Q.concat(l.OPERAND(_.value,_.type)),Q=Q.concat(l.OPERATOR(k))}return Q},u.DICT=function(y){return l.DICT(y).length},l.OPERATOR=function(y){return y<1200?[y]:[12,y-1200]},l.OPERAND=function(y,Q){var v=[];if(Array.isArray(Q))for(var I=0;I<Q.length;I+=1)e.argument(y.length===Q.length,"Not enough arguments given for type"+Q),v=v.concat(l.OPERAND(y[I],Q[I]));else if(Q==="SID")v=v.concat(l.NUMBER(y));else if(Q==="offset")v=v.concat(l.NUMBER32(y));else if(Q==="number")v=v.concat(l.NUMBER(y));else if(Q==="real")v=v.concat(l.REAL(y));else throw new Error("Unknown operand type "+Q);return v},l.OP=l.BYTE,u.OP=u.BYTE;var b=typeof WeakMap=="function"&&new WeakMap;l.CHARSTRING=function(y){if(b){var Q=b.get(y);if(Q!==void 0)return Q}for(var v=[],I=y.length,F=0;F<I;F+=1){var k=y[F];v=v.concat(l[k.type](k.value))}return b&&b.set(y,v),v},u.CHARSTRING=function(y){return l.CHARSTRING(y).length},l.OBJECT=function(y){var Q=l[y.type];return e.argument(Q!==void 0,"No encoding function for type "+y.type),Q(y.value)},u.OBJECT=function(y){var Q=u[y.type];return e.argument(Q!==void 0,"No sizeOf function for type "+y.type),Q(y.value)},l.TABLE=function(y){for(var Q=[],v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],k=l[F.type];e.argument(k!==void 0,"No encoding function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value);var M=k(_);Q=Q.concat(M)}return Q},u.TABLE=function(y){for(var Q=0,v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],k=u[F.type];e.argument(k!==void 0,"No sizeOf function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value),Q+=k(_)}return Q},l.LITERAL=function(y){return y},u.LITERAL=function(y){return y.length},r.decode=A,r.encode=l,r.sizeOf=u}),tr=Ge(r=>{"use strict";var e=ur(),i=Dl().encode,o=Dl().sizeOf;function A(l,u,f){var p;for(p=0;p<u.length;p+=1){var g=u[p];this[g.name]=g.value}if(this.tableName=l,this.fields=u,f){var m=Object.keys(f);for(p=0;p<m.length;p+=1){var E=m[p],b=f[E];this[E]!==void 0&&(this[E]=b)}}}A.prototype.sizeOf=function(){for(var l=0,u=0;u<this.fields.length;u+=1){var f=this.fields[u],p=this[f.name];if(p===void 0&&(p=f.value),typeof p.sizeOf=="function")l+=p.sizeOf();else{var g=o[f.type];e.assert(typeof g=="function","Could not find sizeOf function for field"+f.name),l+=g(p)}}return l},A.prototype.encode=function(){return i.TABLE(this)},r.Table=A}),Tt=Ge(r=>{"use strict";r.getByte=function(o,A){return o.getUint8(A)},r.getCard8=r.getByte,r.getUShort=function(o,A){return o.getUint16(A,!1)},r.getCard16=r.getUShort,r.getShort=function(o,A){return o.getInt16(A,!1)},r.getULong=function(o,A){return o.getUint32(A,!1)},r.getFixed=function(o,A){var l=o.getInt16(A,!1),u=o.getUint16(A+2,!1);return l+u/65535},r.getTag=function(o,A){for(var l="",u=A;u<A+4;u+=1)l+=String.fromCharCode(o.getInt8(u));return l},r.getOffset=function(o,A,l){for(var u=0,f=0;f<l;f+=1)u<<=8,u+=o.getUint8(A+f);return u},r.getBytes=function(o,A,l){for(var u=[],f=A;f<l;f+=1)u.push(o.getUint8(f));return u},r.bytesToString=function(o){for(var A="",l=0;l<o.length;l+=1)A+=String.fromCharCode(o[l]);return A};var e={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function i(o,A){this.data=o,this.offset=A,this.relativeOffset=0}i.prototype.parseByte=function(){var o=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,o},i.prototype.parseChar=function(){var o=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,o},i.prototype.parseCard8=i.prototype.parseByte,i.prototype.parseUShort=function(){var o=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,o},i.prototype.parseCard16=i.prototype.parseUShort,i.prototype.parseSID=i.prototype.parseUShort,i.prototype.parseOffset16=i.prototype.parseUShort,i.prototype.parseShort=function(){var o=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,o},i.prototype.parseF2Dot14=function(){var o=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,o},i.prototype.parseULong=function(){var o=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,o},i.prototype.parseFixed=function(){var o=r.getFixed(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,o},i.prototype.parseOffset16List=i.prototype.parseUShortList=function(o){for(var A=new Array(o),l=this.data,u=this.offset+this.relativeOffset,f=0;f<o;f++)A[f]=r.getUShort(l,u),u+=2;return this.relativeOffset+=o*2,A},i.prototype.parseString=function(o){var A=this.data,l=this.offset+this.relativeOffset,u="";this.relativeOffset+=o;for(var f=0;f<o;f++)u+=String.fromCharCode(A.getUint8(l+f));return u},i.prototype.parseTag=function(){return this.parseString(4)},i.prototype.parseLongDateTime=function(){var o=r.getULong(this.data,this.offset+this.relativeOffset+4);return this.relativeOffset+=8,o},i.prototype.parseFixed=function(){var o=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,o/65536},i.prototype.parseVersion=function(){var o=r.getUShort(this.data,this.offset+this.relativeOffset),A=r.getUShort(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,o+A/4096/10},i.prototype.skip=function(o,A){A===void 0&&(A=1),this.relativeOffset+=e[o]*A},r.Parser=i}),Vm=Ge(r=>{"use strict";var e=ur(),i=Tt(),o=tr();function A(p,g){var m,E={};E.version=i.getUShort(p,g),e.argument(E.version===0,"cmap table version should be 0."),E.numTables=i.getUShort(p,g+2);var b=-1;for(m=0;m<E.numTables;m+=1){var y=i.getUShort(p,g+4+m*8),Q=i.getUShort(p,g+4+m*8+2);if(y===3&&(Q===1||Q===0)){b=i.getULong(p,g+4+m*8+4);break}}if(b===-1)return null;var v=new i.Parser(p,g+b);E.format=v.parseUShort(),e.argument(E.format===4,"Only format 4 cmap tables are supported."),E.length=v.parseUShort(),E.language=v.parseUShort();var I;E.segCount=I=v.parseUShort()>>1,v.skip("uShort",3),E.glyphIndexMap={};var F=new i.Parser(p,g+b+14),k=new i.Parser(p,g+b+16+I*2),_=new i.Parser(p,g+b+16+I*4),M=new i.Parser(p,g+b+16+I*6),O=g+b+16+I*8;for(m=0;m<I-1;m+=1)for(var P,R=F.parseUShort(),re=k.parseUShort(),q=_.parseShort(),le=M.parseUShort(),Ae=re;Ae<=R;Ae+=1)le!==0?(O=M.offset+M.relativeOffset-2,O+=le,O+=(Ae-re)*2,P=i.getUShort(p,O),P!==0&&(P=P+q&65535)):P=Ae+q&65535,E.glyphIndexMap[Ae]=P;return E}function l(p,g,m){p.segments.push({end:g,start:g,delta:-(g-m),offset:0})}function u(p){p.segments.push({end:65535,start:65535,delta:1,offset:0})}function f(p){var g,m=new o.Table("cmap",[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:1},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:12},{name:"format",type:"USHORT",value:4},{name:"length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);for(m.segments=[],g=0;g<p.length;g+=1){for(var E=p.get(g),b=0;b<E.unicodes.length;b+=1)l(m,E.unicodes[b],g);m.segments=m.segments.sort(function(M,O){return M.start-O.start})}u(m);var y;y=m.segments.length,m.segCountX2=y*2,m.searchRange=Math.pow(2,Math.floor(Math.log(y)/Math.log(2)))*2,m.entrySelector=Math.log(m.searchRange/2)/Math.log(2),m.rangeShift=m.segCountX2-m.searchRange;var Q=[],v=[],I=[],F=[],k=[];for(g=0;g<y;g+=1){var _=m.segments[g];Q=Q.concat({name:"end_"+g,type:"USHORT",value:_.end}),v=v.concat({name:"start_"+g,type:"USHORT",value:_.start}),I=I.concat({name:"idDelta_"+g,type:"SHORT",value:_.delta}),F=F.concat({name:"idRangeOffset_"+g,type:"USHORT",value:_.offset}),_.glyphId!==void 0&&(k=k.concat({name:"glyph_"+g,type:"USHORT",value:_.glyphId}))}return m.fields=m.fields.concat(Q),m.fields.push({name:"reservedPad",type:"USHORT",value:0}),m.fields=m.fields.concat(v),m.fields=m.fields.concat(I),m.fields=m.fields.concat(F),m.fields=m.fields.concat(k),m.length=14+Q.length*2+2+v.length*2+I.length*2+F.length*2+k.length*2,m}r.parse=A,r.make=f}),wF=Ge(r=>{"use strict";function e(i,o,A,l,u){i.beginPath(),i.moveTo(o,A),i.lineTo(l,u),i.stroke()}r.line=e}),jm=Ge(r=>{"use strict";var e=ur(),i=wF(),o=es();function A(u,f){var p=f||{commands:[]};return{configurable:!0,get:function(){return typeof p=="function"&&(p=p()),p},set:function(g){p=g}}}function l(u){this.bindConstructorValues(u)}l.prototype.bindConstructorValues=function(u){this.index=u.index||0,this.name=u.name||null,this.unicode=u.unicode||void 0,this.unicodes=u.unicodes||u.unicode!==void 0?[u.unicode]:[],u.xMin&&(this.xMin=u.xMin),u.yMin&&(this.yMin=u.yMin),u.xMax&&(this.xMax=u.xMax),u.yMax&&(this.yMax=u.yMax),u.advanceWidth&&(this.advanceWidth=u.advanceWidth),Object.defineProperty(this,"path",A(this,u.path))},l.prototype.addUnicode=function(u){this.unicodes.length===0&&(this.unicode=u),this.unicodes.push(u)},l.prototype.getPath=function(u,f,p){u=u!==void 0?u:0,f=f!==void 0?f:0,p=p!==void 0?p:72;for(var g=1/this.path.unitsPerEm*p,m=new o.Path,E=this.path.commands,b=0;b<E.length;b+=1){var y=E[b];y.type==="M"?m.moveTo(u+y.x*g,f+-y.y*g):y.type==="L"?m.lineTo(u+y.x*g,f+-y.y*g):y.type==="Q"?m.quadraticCurveTo(u+y.x1*g,f+-y.y1*g,u+y.x*g,f+-y.y*g):y.type==="C"?m.curveTo(u+y.x1*g,f+-y.y1*g,u+y.x2*g,f+-y.y2*g,u+y.x*g,f+-y.y*g):y.type==="Z"&&m.closePath()}return m},l.prototype.getContours=function(){if(this.points===void 0)return[];for(var u=[],f=[],p=0;p<this.points.length;p+=1){var g=this.points[p];f.push(g),g.lastPointOfContour&&(u.push(f),f=[])}return e.argument(f.length===0,"There are still points left in the current contour."),u},l.prototype.getMetrics=function(){for(var u=this.path.commands,f=[],p=[],g=0;g<u.length;g+=1){var m=u[g];m.type!=="Z"&&(f.push(m.x),p.push(m.y)),(m.type==="Q"||m.type==="C")&&(f.push(m.x1),p.push(m.y1)),m.type==="C"&&(f.push(m.x2),p.push(m.y2))}var E={xMin:Math.min.apply(null,f),yMin:Math.min.apply(null,p),xMax:Math.max.apply(null,f),yMax:Math.max.apply(null,p),leftSideBearing:0};return isFinite(E.xMin)||(E.xMin=0),isFinite(E.xMax)||(E.xMax=this.advanceWidth),isFinite(E.yMin)||(E.yMin=0),isFinite(E.yMax)||(E.yMax=0),E.rightSideBearing=this.advanceWidth-E.leftSideBearing-(E.xMax-E.xMin),E},l.prototype.draw=function(u,f,p,g){this.getPath(f,p,g).draw(u)},l.prototype.drawPoints=function(u,f,p,g){function m(F,k,_,M){var O=Math.PI*2;u.beginPath();for(var P=0;P<F.length;P+=1)u.moveTo(k+F[P].x*M,_+F[P].y*M),u.arc(k+F[P].x*M,_+F[P].y*M,2,0,O,!1);u.closePath(),u.fill()}f=f!==void 0?f:0,p=p!==void 0?p:0,g=g!==void 0?g:24;for(var E=1/this.path.unitsPerEm*g,b=[],y=[],Q=this.path,v=0;v<Q.commands.length;v+=1){var I=Q.commands[v];I.x!==void 0&&b.push({x:I.x,y:-I.y}),I.x1!==void 0&&y.push({x:I.x1,y:-I.y1}),I.x2!==void 0&&y.push({x:I.x2,y:-I.y2})}u.fillStyle="blue",m(b,f,p,E),u.fillStyle="red",m(y,f,p,E)},l.prototype.drawMetrics=function(u,f,p,g){var m;f=f!==void 0?f:0,p=p!==void 0?p:0,g=g!==void 0?g:24,m=1/this.path.unitsPerEm*g,u.lineWidth=1,u.strokeStyle="black",i.line(u,f,-1e4,f,1e4),i.line(u,-1e4,p,1e4,p);var E=this.xMin||0,b=this.yMin||0,y=this.xMax||0,Q=this.yMax||0,v=this.advanceWidth||0;u.strokeStyle="blue",i.line(u,f+E*m,-1e4,f+E*m,1e4),i.line(u,f+y*m,-1e4,f+y*m,1e4),i.line(u,-1e4,p+-b*m,1e4,p+-b*m),i.line(u,-1e4,p+-Q*m,1e4,p+-Q*m),u.strokeStyle="green",i.line(u,f+v*m,-1e4,f+v*m,1e4)},r.Glyph=l}),Nl=Ge(r=>{"use strict";var e=jm();function i(u,f){if(this.font=u,this.glyphs={},Array.isArray(f))for(var p=0;p<f.length;p++)this.glyphs[p]=f[p];this.length=f&&f.length||0}i.prototype.get=function(u){return typeof this.glyphs[u]=="function"&&(this.glyphs[u]=this.glyphs[u]()),this.glyphs[u]},i.prototype.push=function(u,f){this.glyphs[u]=f,this.length++};function o(u,f){return new e.Glyph({index:f,font:u})}function A(u,f,p,g,m,E){return function(){var b=new e.Glyph({index:f,font:u});return b.path=function(){p(b,g,m);var y=E(u.glyphs,b);return y.unitsPerEm=u.unitsPerEm,y},b}}function l(u,f,p,g){return function(){var m=new e.Glyph({index:f,font:u});return m.path=function(){var E=p(u,m,g);return E.unitsPerEm=u.unitsPerEm,E},m}}r.GlyphSet=i,r.glyphLoader=o,r.ttfGlyphLoader=A,r.cffGlyphLoader=l}),_m=Ge(r=>{"use strict";var e=xo(),i=Nl(),o=Tt(),A=es(),l=tr();function u(W,N){if(W===N)return!0;if(Array.isArray(W)&&Array.isArray(N)){if(W.length!==N.length)return!1;for(var J=0;J<W.length;J+=1)if(!u(W[J],N[J]))return!1;return!0}else return!1}function f(W,N,J){var z=[],j=[],K=o.getCard16(W,N),G,X,D;if(K!==0){var pe=o.getByte(W,N+2);X=N+(K+1)*pe+2;var ce=N+3;for(G=0;G<K+1;G+=1)z.push(o.getOffset(W,ce,pe)),ce+=pe;D=X+z[K]}else D=N+2;for(G=0;G<z.length-1;G+=1){var Qe=o.getBytes(W,X+z[G],X+z[G+1]);J&&(Qe=J(Qe)),j.push(Qe)}return{objects:j,startOffset:N,endOffset:D}}function p(W){for(var N="",J=15,z=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var j=W.parseByte(),K=j>>4,G=j&15;if(K===J||(N+=z[K],G===J))break;N+=z[G]}return parseFloat(N)}function g(W,N){var J,z,j,K;if(N===28)return J=W.parseByte(),z=W.parseByte(),J<<8|z;if(N===29)return J=W.parseByte(),z=W.parseByte(),j=W.parseByte(),K=W.parseByte(),J<<24|z<<16|j<<8|K;if(N===30)return p(W);if(N>=32&&N<=246)return N-139;if(N>=247&&N<=250)return J=W.parseByte(),(N-247)*256+J+108;if(N>=251&&N<=254)return J=W.parseByte(),-(N-251)*256-J-108;throw new Error("Invalid b0 "+N)}function m(W){for(var N={},J=0;J<W.length;J+=1){var z=W[J][0],j=W[J][1],K;if(j.length===1?K=j[0]:K=j,N.hasOwnProperty(z))throw new Error("Object "+N+" already has key "+z);N[z]=K}return N}function E(W,N,J){N=N!==void 0?N:0;var z=new o.Parser(W,N),j=[],K=[];for(J=J!==void 0?J:W.length;z.relativeOffset<J;){var G=z.parseByte();G<=21?(G===12&&(G=1200+z.parseByte()),j.push([G,K]),K=[]):K.push(g(z,G))}return m(j)}function b(W,N){return N<=390?N=e.cffStandardStrings[N]:N=W[N-391],N}function y(W,N,J){for(var z={},j=0;j<N.length;j+=1){var K=N[j],G=W[K.op];G===void 0&&(G=K.value!==void 0?K.value:null),K.type==="SID"&&(G=b(J,G)),z[K.name]=G}return z}function Q(W,N){var J={};return J.formatMajor=o.getCard8(W,N),J.formatMinor=o.getCard8(W,N+1),J.size=o.getCard8(W,N+2),J.offsetSize=o.getCard8(W,N+3),J.startOffset=N,J.endOffset=N+4,J}var v=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]}],I=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function F(W,N){var J=E(W,0,W.byteLength);return y(J,v,N)}function k(W,N,J,z){var j=E(W,N,J);return y(j,I,z)}function _(W,N,J,z){var j,K,G,X=new o.Parser(W,N);J-=1;var D=[".notdef"],pe=X.parseCard8();if(pe===0)for(j=0;j<J;j+=1)K=X.parseSID(),D.push(b(z,K));else if(pe===1)for(;D.length<=J;)for(K=X.parseSID(),G=X.parseCard8(),j=0;j<=G;j+=1)D.push(b(z,K)),K+=1;else if(pe===2)for(;D.length<=J;)for(K=X.parseSID(),G=X.parseCard16(),j=0;j<=G;j+=1)D.push(b(z,K)),K+=1;else throw new Error("Unknown charset format "+pe);return D}function M(W,N,J){var z,j,K={},G=new o.Parser(W,N),X=G.parseCard8();if(X===0){var D=G.parseCard8();for(z=0;z<D;z+=1)j=G.parseCard8(),K[j]=z}else if(X===1){var pe=G.parseCard8();for(j=1,z=0;z<pe;z+=1)for(var ce=G.parseCard8(),Qe=G.parseCard8(),Z=ce;Z<=ce+Qe;Z+=1)K[Z]=j,j+=1}else throw new Error("Unknown encoding format "+X);return new e.CffEncoding(K,J)}function O(W,N,J){var z,j,K,G,X=new A.Path,D=[],pe=0,ce=!1,Qe=W.defaultWidthX,Z=!1,H=0,ne=0;function Oe(Ze,Xe){Z&&X.closePath(),X.moveTo(Ze,Xe),Z=!0}function De(){var Ze;Ze=D.length%2!==0,Ze&&!ce&&(Qe=D.shift()+W.nominalWidthX),pe+=D.length>>1,D.length=0,ce=!0}function it(Ze){for(var Xe,wt,te,ve,be,ue,Me,He,Le,Ne,de,ge,ae=0;ae<Ze.length;){var Ye=Ze[ae];switch(ae+=1,Ye){case 1:De();break;case 3:De();break;case 4:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),Oe(H,ne);break;case 5:for(;D.length>0;)H+=D.shift(),ne+=D.shift(),X.lineTo(H,ne);break;case 6:for(;D.length>0&&(H+=D.shift(),X.lineTo(H,ne),D.length!==0);)ne+=D.shift(),X.lineTo(H,ne);break;case 7:for(;D.length>0&&(ne+=D.shift(),X.lineTo(H,ne),D.length!==0);)H+=D.shift(),X.lineTo(H,ne);break;case 8:for(;D.length>0;)z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),X.curveTo(z,j,K,G,H,ne);break;case 10:be=D.pop()+W.subrsBias,ue=W.subrs[be],ue&&it(ue);break;case 11:return;case 12:switch(Ye=Ze[ae],ae+=1,Ye){case 35:z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Ne=He+D.shift(),de=Le+D.shift(),ge=Ne+D.shift(),H=de+D.shift(),ne=ge+D.shift(),D.shift(),X.curveTo(z,j,K,G,Me,He),X.curveTo(Le,Ne,de,ge,H,ne);break;case 34:z=H+D.shift(),j=ne,K=z+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Ne=G,de=Le+D.shift(),ge=ne,H=de+D.shift(),X.curveTo(z,j,K,G,Me,He),X.curveTo(Le,Ne,de,ge,H,ne);break;case 36:z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Ne=G,de=Le+D.shift(),ge=Ne+D.shift(),H=de+D.shift(),X.curveTo(z,j,K,G,Me,He),X.curveTo(Le,Ne,de,ge,H,ne);break;case 37:z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Ne=He+D.shift(),de=Le+D.shift(),ge=Ne+D.shift(),Math.abs(de-H)>Math.abs(ge-ne)?H=de+D.shift():ne=ge+D.shift(),X.curveTo(z,j,K,G,Me,He),X.curveTo(Le,Ne,de,ge,H,ne);break;default:console.log("Glyph "+N.index+": unknown operator 1200"+Ye),D.length=0}break;case 14:D.length>0&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),Z&&(X.closePath(),Z=!1);break;case 18:De();break;case 19:case 20:De(),ae+=pe+7>>3;break;case 21:D.length>2&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),H+=D.pop(),Oe(H,ne);break;case 22:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),H+=D.pop(),Oe(H,ne);break;case 23:De();break;case 24:for(;D.length>2;)z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),X.curveTo(z,j,K,G,H,ne);H+=D.shift(),ne+=D.shift(),X.lineTo(H,ne);break;case 25:for(;D.length>6;)H+=D.shift(),ne+=D.shift(),X.lineTo(H,ne);z=H+D.shift(),j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),X.curveTo(z,j,K,G,H,ne);break;case 26:for(D.length%2&&(H+=D.shift());D.length>0;)z=H,j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K,ne=G+D.shift(),X.curveTo(z,j,K,G,H,ne);break;case 27:for(D.length%2&&(ne+=D.shift());D.length>0;)z=H+D.shift(),j=ne,K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G,X.curveTo(z,j,K,G,H,ne);break;case 28:Xe=Ze[ae],wt=Ze[ae+1],D.push((Xe<<24|wt<<16)>>16),ae+=2;break;case 29:be=D.pop()+W.gsubrsBias,ue=W.gsubrs[be],ue&&it(ue);break;case 30:for(;D.length>0&&(z=H,j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),X.curveTo(z,j,K,G,H,ne),D.length!==0);)z=H+D.shift(),j=ne,K=z+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),X.curveTo(z,j,K,G,H,ne);break;case 31:for(;D.length>0&&(z=H+D.shift(),j=ne,K=z+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),X.curveTo(z,j,K,G,H,ne),D.length!==0);)z=H,j=ne+D.shift(),K=z+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),X.curveTo(z,j,K,G,H,ne);break;default:Ye<32?console.log("Glyph "+N.index+": unknown operator "+Ye):Ye<247?D.push(Ye-139):Ye<251?(Xe=Ze[ae],ae+=1,D.push((Ye-247)*256+Xe+108)):Ye<255?(Xe=Ze[ae],ae+=1,D.push(-(Ye-251)*256-Xe-108)):(Xe=Ze[ae],wt=Ze[ae+1],te=Ze[ae+2],ve=Ze[ae+3],ae+=4,D.push((Xe<<24|wt<<16|te<<8|ve)/65536))}}}return it(J),N.advanceWidth=Qe,X}function P(W){var N;return W.length<1240?N=107:W.length<33900?N=1131:N=32768,N}function R(W,N,J){J.tables.cff={};var z=Q(W,N),j=f(W,z.endOffset,o.bytesToString),K=f(W,j.endOffset),G=f(W,K.endOffset,o.bytesToString),X=f(W,G.endOffset);J.gsubrs=X.objects,J.gsubrsBias=P(J.gsubrs);var D=new DataView(new Uint8Array(K.objects[0]).buffer),pe=F(D,G.objects);J.tables.cff.topDict=pe;var ce=N+pe.private[1],Qe=k(W,ce,pe.private[0],G.objects);if(J.defaultWidthX=Qe.defaultWidthX,J.nominalWidthX=Qe.nominalWidthX,Qe.subrs!==0){var Z=ce+Qe.subrs,H=f(W,Z);J.subrs=H.objects,J.subrsBias=P(J.subrs)}else J.subrs=[],J.subrsBias=0;var ne=f(W,N+pe.charStrings);J.nGlyphs=ne.objects.length;var Oe=_(W,N+pe.charset,J.nGlyphs,G.objects);pe.encoding===0?J.cffEncoding=new e.CffEncoding(e.cffStandardEncoding,Oe):pe.encoding===1?J.cffEncoding=new e.CffEncoding(e.cffExpertEncoding,Oe):J.cffEncoding=M(W,N+pe.encoding,Oe),J.encoding=J.encoding||J.cffEncoding,J.glyphs=new i.GlyphSet(J);for(var De=0;De<J.nGlyphs;De+=1){var it=ne.objects[De];J.glyphs.push(De,i.cffGlyphLoader(J,De,O,it))}}function re(W,N){var J,z=e.cffStandardStrings.indexOf(W);return z>=0&&(J=z),z=N.indexOf(W),z>=0?J=z+e.cffStandardStrings.length:(J=e.cffStandardStrings.length+N.length,N.push(W)),J}function q(){return new l.Table("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function le(W){var N=new l.Table("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);N.names=[];for(var J=0;J<W.length;J+=1)N.names.push({name:"name_"+J,type:"NAME",value:W[J]});return N}function Ae(W,N,J){for(var z={},j=0;j<W.length;j+=1){var K=W[j],G=N[K.name];G!==void 0&&!u(G,K.value)&&(K.type==="SID"&&(G=re(G,J)),z[K.op]={name:K.name,type:K.type,value:G})}return z}function ie(W,N){var J=new l.Table("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(v,W,N),J}function se(W){var N=new l.Table("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return N.topDicts=[{name:"topDict_0",type:"TABLE",value:W}],N}function ye(W){var N=new l.Table("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);N.strings=[];for(var J=0;J<W.length;J+=1)N.strings.push({name:"string_"+J,type:"STRING",value:W[J]});return N}function fe(){return new l.Table("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function Pe(W,N){for(var J=new l.Table("Charsets",[{name:"format",type:"Card8",value:0}]),z=0;z<W.length;z+=1){var j=W[z],K=re(j,N);J.fields.push({name:"glyph_"+z,type:"SID",value:K})}return J}function Be(W){var N=[],J=W.path;N.push({name:"width",type:"NUMBER",value:W.advanceWidth});for(var z=0,j=0,K=0;K<J.commands.length;K+=1){var G,X,D=J.commands[K];if(D.type==="Q"){var pe=.3333333333333333,ce=2/3;D={type:"C",x:D.x,y:D.y,x1:pe*z+ce*D.x1,y1:pe*j+ce*D.y1,x2:pe*D.x+ce*D.x1,y2:pe*D.y+ce*D.y1}}if(D.type==="M")G=Math.round(D.x-z),X=Math.round(D.y-j),N.push({name:"dx",type:"NUMBER",value:G}),N.push({name:"dy",type:"NUMBER",value:X}),N.push({name:"rmoveto",type:"OP",value:21}),z=Math.round(D.x),j=Math.round(D.y);else if(D.type==="L")G=Math.round(D.x-z),X=Math.round(D.y-j),N.push({name:"dx",type:"NUMBER",value:G}),N.push({name:"dy",type:"NUMBER",value:X}),N.push({name:"rlineto",type:"OP",value:5}),z=Math.round(D.x),j=Math.round(D.y);else if(D.type==="C"){var Qe=Math.round(D.x1-z),Z=Math.round(D.y1-j),H=Math.round(D.x2-D.x1),ne=Math.round(D.y2-D.y1);G=Math.round(D.x-D.x2),X=Math.round(D.y-D.y2),N.push({name:"dx1",type:"NUMBER",value:Qe}),N.push({name:"dy1",type:"NUMBER",value:Z}),N.push({name:"dx2",type:"NUMBER",value:H}),N.push({name:"dy2",type:"NUMBER",value:ne}),N.push({name:"dx",type:"NUMBER",value:G}),N.push({name:"dy",type:"NUMBER",value:X}),N.push({name:"rrcurveto",type:"OP",value:8}),z=Math.round(D.x),j=Math.round(D.y)}}return N.push({name:"endchar",type:"OP",value:14}),N}function Ee(W){for(var N=new l.Table("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),J=0;J<W.length;J+=1){var z=W.get(J),j=Be(z);N.charStrings.push({name:z.name,type:"CHARSTRING",value:j})}return N}function me(W,N){var J=new l.Table("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(I,W,N),J}function ke(W){var N=new l.Table("Private DICT INDEX",[{name:"privateDicts",type:"INDEX",value:[]}]);return N.privateDicts=[{name:"privateDict_0",type:"TABLE",value:W}],N}function Fe(W,N){for(var J=new l.Table("CFF ",[{name:"header",type:"TABLE"},{name:"nameIndex",type:"TABLE"},{name:"topDictIndex",type:"TABLE"},{name:"stringIndex",type:"TABLE"},{name:"globalSubrIndex",type:"TABLE"},{name:"charsets",type:"TABLE"},{name:"charStringsIndex",type:"TABLE"},{name:"privateDictIndex",type:"TABLE"}]),z=1/N.unitsPerEm,j={version:N.version,fullName:N.fullName,familyName:N.familyName,weight:N.weightName,fontMatrix:[z,0,0,z,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},K={},G=[],X,D=1;D<W.length;D+=1)X=W.get(D),G.push(X.name);var pe=[];J.header=q(),J.nameIndex=le([N.postScriptName]);var ce=ie(j,pe);J.topDictIndex=se(ce),J.globalSubrIndex=fe(),J.charsets=Pe(G,pe),J.charStringsIndex=Ee(W);var Qe=me(K,pe);J.privateDictIndex=ke(Qe),J.stringIndex=ye(pe);var Z=J.header.sizeOf()+J.nameIndex.sizeOf()+J.topDictIndex.sizeOf()+J.stringIndex.sizeOf()+J.globalSubrIndex.sizeOf();return j.charset=Z,j.encoding=0,j.charStrings=j.charset+J.charsets.sizeOf(),j.private[1]=j.charStrings+J.charStringsIndex.sizeOf(),ce=ie(j,pe),J.topDictIndex=se(ce),J}r.parse=R,r.make=Fe}),Zm=Ge(r=>{"use strict";var e=ur(),i=Tt(),o=tr();function A(u,f){var p={},g=new i.Parser(u,f);return p.version=g.parseVersion(),p.fontRevision=Math.round(g.parseFixed()*1e3)/1e3,p.checkSumAdjustment=g.parseULong(),p.magicNumber=g.parseULong(),e.argument(p.magicNumber===1594834165,"Font header has wrong magic number."),p.flags=g.parseUShort(),p.unitsPerEm=g.parseUShort(),p.created=g.parseLongDateTime(),p.modified=g.parseLongDateTime(),p.xMin=g.parseShort(),p.yMin=g.parseShort(),p.xMax=g.parseShort(),p.yMax=g.parseShort(),p.macStyle=g.parseUShort(),p.lowestRecPPEM=g.parseUShort(),p.fontDirectionHint=g.parseShort(),p.indexToLocFormat=g.parseShort(),p.glyphDataFormat=g.parseShort(),p}function l(u){return new o.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:0},{name:"modified",type:"LONGDATETIME",value:0},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],u)}r.parse=A,r.make=l}),Xm=Ge(r=>{"use strict";var e=Tt(),i=tr();function o(l,u){var f={},p=new e.Parser(l,u);return f.version=p.parseVersion(),f.ascender=p.parseShort(),f.descender=p.parseShort(),f.lineGap=p.parseShort(),f.advanceWidthMax=p.parseUShort(),f.minLeftSideBearing=p.parseShort(),f.minRightSideBearing=p.parseShort(),f.xMaxExtent=p.parseShort(),f.caretSlopeRise=p.parseShort(),f.caretSlopeRun=p.parseShort(),f.caretOffset=p.parseShort(),p.relativeOffset+=8,f.metricDataFormat=p.parseShort(),f.numberOfHMetrics=p.parseUShort(),f}function A(l){return new i.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],l)}r.parse=o,r.make=A}),zm=Ge(r=>{"use strict";var e=Tt(),i=tr();function o(l,u,f,p,g){for(var m,E,b=new e.Parser(l,u),y=0;y<p;y+=1){y<f&&(m=b.parseUShort(),E=b.parseShort());var Q=g.get(y);Q.advanceWidth=m,Q.leftSideBearing=E}}function A(l){for(var u=new i.Table("hmtx",[]),f=0;f<l.length;f+=1){var p=l.get(f),g=p.advanceWidth||0,m=p.leftSideBearing||0;u.fields.push({name:"advanceWidth_"+f,type:"USHORT",value:g}),u.fields.push({name:"leftSideBearing_"+f,type:"SHORT",value:m})}return u}r.parse=o,r.make=A}),qm=Ge(r=>{"use strict";var e=ur(),i=Tt(),o=tr();function A(u){for(var f=new o.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:u.length}]),p="",g=12+u.length*4,m=0;m<u.length;++m){var E=p.indexOf(u[m]);E<0&&(E=p.length,p+=u[m]),f.fields.push({name:"offset "+m,type:"USHORT",value:g+E}),f.fields.push({name:"length "+m,type:"USHORT",value:u[m].length})}return f.fields.push({name:"stringPool",type:"CHARARRAY",value:p}),f}function l(u,f){var p=new i.Parser(u,f),g=p.parseULong();e.argument(g===1,"Unsupported ltag table version."),p.skip("uLong",1);for(var m=p.parseULong(),E=[],b=0;b<m;b++){for(var y="",Q=f+p.parseUShort(),v=p.parseUShort(),I=Q;I<Q+v;++I)y+=String.fromCharCode(u.getInt8(I));E.push(y)}return E}r.make=A,r.parse=l}),Km=Ge(r=>{"use strict";var e=Tt(),i=tr();function o(l,u){var f={},p=new e.Parser(l,u);return f.version=p.parseVersion(),f.numGlyphs=p.parseUShort(),f.version===1&&(f.maxPoints=p.parseUShort(),f.maxContours=p.parseUShort(),f.maxCompositePoints=p.parseUShort(),f.maxCompositeContours=p.parseUShort(),f.maxZones=p.parseUShort(),f.maxTwilightPoints=p.parseUShort(),f.maxStorage=p.parseUShort(),f.maxFunctionDefs=p.parseUShort(),f.maxInstructionDefs=p.parseUShort(),f.maxStackElements=p.parseUShort(),f.maxSizeOfInstructions=p.parseUShort(),f.maxComponentElements=p.parseUShort(),f.maxComponentDepth=p.parseUShort()),f}function A(l){return new i.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:l}])}r.parse=o,r.make=A}),$m=Ge(r=>{"use strict";var e=Dl(),i=e.decode,o=e.encode,A=Tt(),l=tr(),u=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","licence","licenceURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],f={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},p={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},g={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function m(O,P,R){switch(O){case 0:if(P===65535)return"und";if(R)return R[P];break;case 1:return f[P];case 3:return g[P]}}var E="utf-16",b={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},y={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Q(O,P,R){switch(O){case 0:return E;case 1:return y[R]||b[P];case 3:if(P===1||P===10)return E;break}}function v(O,P,R){for(var re={},q=new A.Parser(O,P),le=q.parseUShort(),Ae=q.parseUShort(),ie=q.offset+q.parseUShort(),se=0;se<Ae;se++){var ye=q.parseUShort(),fe=q.parseUShort(),Pe=q.parseUShort(),Be=q.parseUShort(),Ee=u[Be]||Be,me=q.parseUShort(),ke=q.parseUShort(),Fe=m(ye,Pe,R),W=Q(ye,fe,Pe);if(W!==void 0&&Fe!==void 0){var N;if(W===E?N=i.UTF16(O,ie+ke,me):N=i.MACSTRING(O,ie+ke,me,W),N){var J=re[Ee];J===void 0&&(J=re[Ee]={}),J[Fe]=N}}}var z=0;return le===1&&(z=q.parseUShort()),re}function I(O){var P={};for(var R in O)P[O[R]]=parseInt(R);return P}function F(O,P,R,re,q,le){return new l.Table("NameRecord",[{name:"platformID",type:"USHORT",value:O},{name:"encodingID",type:"USHORT",value:P},{name:"languageID",type:"USHORT",value:R},{name:"nameID",type:"USHORT",value:re},{name:"length",type:"USHORT",value:q},{name:"offset",type:"USHORT",value:le}])}function k(O,P){var R=O.length,re=P.length-R+1;e:for(var q=0;q<re;q++)for(;q<re;q++){for(var le=0;le<R;le++)if(P[q+le]!==O[le])continue e;return q}return-1}function _(O,P){var R=k(O,P);if(R<0){R=P.length;for(var re=0,q=O.length;re<q;++re)P.push(O[re])}return R}function M(O,P){var R,re=[],q={},le=I(u);for(var Ae in O){var ie=le[Ae];ie===void 0&&(ie=Ae),R=parseInt(ie),q[R]=O[Ae],re.push(R)}for(var se=I(f),ye=I(g),fe=[],Pe=[],Be=0;Be<re.length;Be++){R=re[Be];var Ee=q[R];for(var me in Ee){var ke=Ee[me],Fe=1,W=se[me],N=p[W],J=Q(Fe,N,W),z=o.MACSTRING(ke,J);z===void 0&&(Fe=0,W=P.indexOf(me),W<0&&(W=P.length,P.push(me)),N=4,z=o.UTF16(ke));var j=_(z,Pe);fe.push(F(Fe,N,W,R,z.length,j));var K=ye[me];if(K!==void 0){var G=o.UTF16(ke),X=_(G,Pe);fe.push(F(3,1,K,R,G.length,X))}}}fe.sort(function(ce,Qe){return ce.platformID-Qe.platformID||ce.encodingID-Qe.encodingID||ce.languageID-Qe.languageID||ce.nameID-Qe.nameID});for(var D=new l.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:fe.length},{name:"stringOffset",type:"USHORT",value:6+fe.length*12}]),pe=0;pe<fe.length;pe++)D.fields.push({name:"record_"+pe,type:"TABLE",value:fe[pe]});return D.fields.push({name:"strings",type:"LITERAL",value:Pe}),D}r.parse=v,r.make=M}),e0=Ge(r=>{"use strict";var e=Tt(),i=tr(),o=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function A(f){for(var p=0;p<o.length;p+=1){var g=o[p];if(f>=g.begin&&f<g.end)return p}return-1}function l(f,p){var g={},m=new e.Parser(f,p);g.version=m.parseUShort(),g.xAvgCharWidth=m.parseShort(),g.usWeightClass=m.parseUShort(),g.usWidthClass=m.parseUShort(),g.fsType=m.parseUShort(),g.ySubscriptXSize=m.parseShort(),g.ySubscriptYSize=m.parseShort(),g.ySubscriptXOffset=m.parseShort(),g.ySubscriptYOffset=m.parseShort(),g.ySuperscriptXSize=m.parseShort(),g.ySuperscriptYSize=m.parseShort(),g.ySuperscriptXOffset=m.parseShort(),g.ySuperscriptYOffset=m.parseShort(),g.yStrikeoutSize=m.parseShort(),g.yStrikeoutPosition=m.parseShort(),g.sFamilyClass=m.parseShort(),g.panose=[];for(var E=0;E<10;E++)g.panose[E]=m.parseByte();return g.ulUnicodeRange1=m.parseULong(),g.ulUnicodeRange2=m.parseULong(),g.ulUnicodeRange3=m.parseULong(),g.ulUnicodeRange4=m.parseULong(),g.achVendID=String.fromCharCode(m.parseByte(),m.parseByte(),m.parseByte(),m.parseByte()),g.fsSelection=m.parseUShort(),g.usFirstCharIndex=m.parseUShort(),g.usLastCharIndex=m.parseUShort(),g.sTypoAscender=m.parseShort(),g.sTypoDescender=m.parseShort(),g.sTypoLineGap=m.parseShort(),g.usWinAscent=m.parseUShort(),g.usWinDescent=m.parseUShort(),g.version>=1&&(g.ulCodePageRange1=m.parseULong(),g.ulCodePageRange2=m.parseULong()),g.version>=2&&(g.sxHeight=m.parseShort(),g.sCapHeight=m.parseShort(),g.usDefaultChar=m.parseUShort(),g.usBreakChar=m.parseUShort(),g.usMaxContent=m.parseUShort()),g}function u(f){return new i.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],f)}r.unicodeRanges=o,r.getUnicodeRange=A,r.parse=l,r.make=u}),t0=Ge(r=>{"use strict";var e=xo(),i=Tt(),o=tr();function A(u,f){var p={},g=new i.Parser(u,f),m;switch(p.version=g.parseVersion(),p.italicAngle=g.parseFixed(),p.underlinePosition=g.parseShort(),p.underlineThickness=g.parseShort(),p.isFixedPitch=g.parseULong(),p.minMemType42=g.parseULong(),p.maxMemType42=g.parseULong(),p.minMemType1=g.parseULong(),p.maxMemType1=g.parseULong(),p.version){case 1:p.names=e.standardNames.slice();break;case 2:for(p.numberOfGlyphs=g.parseUShort(),p.glyphNameIndex=new Array(p.numberOfGlyphs),m=0;m<p.numberOfGlyphs;m++)p.glyphNameIndex[m]=g.parseUShort();for(p.names=[],m=0;m<p.numberOfGlyphs;m++)if(p.glyphNameIndex[m]>=e.standardNames.length){var E=g.parseChar();p.names.push(g.parseString(E))}break;case 2.5:for(p.numberOfGlyphs=g.parseUShort(),p.offset=new Array(p.numberOfGlyphs),m=0;m<p.numberOfGlyphs;m++)p.offset[m]=g.parseChar();break}return p}function l(){return new o.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}r.parse=A,r.make=l}),yF=Ge(r=>{"use strict";var e=ur(),i=tr(),o=Vm(),A=_m(),l=Zm(),u=Xm(),f=zm(),p=qm(),g=Km(),m=$m(),E=e0(),b=t0();function y(M){return Math.log(M)/Math.log(2)|0}function Q(M){for(;M.length%4!==0;)M.push(0);for(var O=0,P=0;P<M.length;P+=4)O+=(M[P]<<24)+(M[P+1]<<16)+(M[P+2]<<8)+M[P+3];return O%=Math.pow(2,32),O}function v(M,O,P,R){return new i.Table("Table Record",[{name:"tag",type:"TAG",value:M!==void 0?M:""},{name:"checkSum",type:"ULONG",value:O!==void 0?O:0},{name:"offset",type:"ULONG",value:P!==void 0?P:0},{name:"length",type:"ULONG",value:R!==void 0?R:0}])}function I(M){var O=new i.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);O.tables=M,O.numTables=M.length;var P=Math.pow(2,y(O.numTables));O.searchRange=16*P,O.entrySelector=y(P),O.rangeShift=O.numTables*16-O.searchRange;for(var R=[],re=[],q=O.sizeOf()+v().sizeOf()*O.numTables;q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0});for(var le=0;le<M.length;le+=1){var Ae=M[le];e.argument(Ae.tableName.length===4,"Table name"+Ae.tableName+" is invalid.");var ie=Ae.sizeOf(),se=v(Ae.tableName,Q(Ae.encode()),q,ie);for(R.push({name:se.tag+" Table Record",type:"TABLE",value:se}),re.push({name:Ae.tableName+" table",type:"TABLE",value:Ae}),q+=ie,e.argument(!isNaN(q),"Something went wrong calculating the offset.");q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0})}return R.sort(function(ye,fe){return ye.value.tag>fe.value.tag?1:-1}),O.fields=O.fields.concat(R),O.fields=O.fields.concat(re),O}function F(M,O,P){for(var R=0;R<O.length;R+=1){var re=M.charToGlyphIndex(O[R]);if(re>0){var q=M.glyphs.get(re);return q.getMetrics()}}return P}function k(M){for(var O=0,P=0;P<M.length;P+=1)O+=M[P];return O/M.length}function _(M){for(var O=[],P=[],R=[],re=[],q=[],le=[],Ae=[],ie,se=0,ye=0,fe=0,Pe=0,Be=0,Ee=0;Ee<M.glyphs.length;Ee+=1){var me=M.glyphs.get(Ee),ke=me.unicode|0;(ie>ke||ie===null)&&(ie=ke),se<ke&&(se=ke);var Fe=E.getUnicodeRange(ke);if(Fe<32)ye|=1<<Fe;else if(Fe<64)fe|=1<<Fe-32;else if(Fe<96)Pe|=1<<Fe-64;else if(Fe<123)Be|=1<<Fe-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(me.name!==".notdef"){var W=me.getMetrics();O.push(W.xMin),P.push(W.yMin),R.push(W.xMax),re.push(W.yMax),le.push(W.leftSideBearing),Ae.push(W.rightSideBearing),q.push(me.advanceWidth)}}var N={xMin:Math.min.apply(null,O),yMin:Math.min.apply(null,P),xMax:Math.max.apply(null,R),yMax:Math.max.apply(null,re),advanceWidthMax:Math.max.apply(null,q),advanceWidthAvg:k(q),minLeftSideBearing:Math.min.apply(null,le),maxLeftSideBearing:Math.max.apply(null,le),minRightSideBearing:Math.min.apply(null,Ae)};N.ascender=M.ascender!==void 0?M.ascender:N.yMax,N.descender=M.descender!==void 0?M.descender:N.yMin;var J=l.make({unitsPerEm:M.unitsPerEm,xMin:N.xMin,yMin:N.yMin,xMax:N.xMax,yMax:N.yMax}),z=u.make({ascender:N.ascender,descender:N.descender,advanceWidthMax:N.advanceWidthMax,minLeftSideBearing:N.minLeftSideBearing,minRightSideBearing:N.minRightSideBearing,xMaxExtent:N.maxLeftSideBearing+(N.xMax-N.xMin),numberOfHMetrics:M.glyphs.length}),j=g.make(M.glyphs.length),K=E.make({xAvgCharWidth:Math.round(N.advanceWidthAvg),usWeightClass:500,usWidthClass:5,usFirstCharIndex:ie,usLastCharIndex:se,ulUnicodeRange1:ye,ulUnicodeRange2:fe,ulUnicodeRange3:Pe,ulUnicodeRange4:Be,sTypoAscender:N.ascender,sTypoDescender:N.descender,sTypoLineGap:0,usWinAscent:N.ascender,usWinDescent:-N.descender,sxHeight:F(M,"xyvw",{yMax:0}).yMax,sCapHeight:F(M,"HIKLEFJMNTZBDPRAGOQSUVWXY",N).yMax,usBreakChar:M.hasChar(" ")?32:0}),G=f.make(M.glyphs),X=o.make(M.glyphs),D=M.getEnglishName("fontFamily"),pe=M.getEnglishName("fontSubfamily"),ce=D+" "+pe,Qe=M.getEnglishName("postScriptName");Qe||(Qe=D.replace(/\s/g,"")+"-"+pe);var Z={};for(var H in M.names)Z[H]=M.names[H];Z.uniqueID||(Z.uniqueID={en:M.getEnglishName("manufacturer")+":"+ce}),Z.postScriptName||(Z.postScriptName={en:Qe}),Z.preferredFamily||(Z.preferredFamily=M.names.fontFamily),Z.preferredSubfamily||(Z.preferredSubfamily=M.names.fontSubfamily);var ne=[],Oe=m.make(Z,ne),De=ne.length>0?p.make(ne):void 0,it=b.make(),Ze=A.make(M.glyphs,{version:M.getEnglishName("version"),fullName:ce,familyName:D,weightName:pe,postScriptName:Qe,unitsPerEm:M.unitsPerEm}),Xe=[J,z,j,K,Oe,X,it,Ze,G];De&&Xe.push(De);var wt=I(Xe),te=wt.encode(),ve=Q(te),be=wt.fields,ue=!1;for(Ee=0;Ee<be.length;Ee+=1)if(be[Ee].name==="head table"){be[Ee].value.checkSumAdjustment=2981146554-ve,ue=!0;break}if(!ue)throw new Error("Could not find head table with checkSum to adjust.");return wt}r.computeCheckSum=Q,r.make=I,r.fontToTable=_}),CF=Ge(r=>{"use strict";var e=es(),i=yF(),o=xo(),A=Nl();function l(u){u=u||{},this.names={fontFamily:{en:u.familyName||" "},fontSubfamily:{en:u.styleName||" "},designer:{en:u.designer||" "},designerURL:{en:u.designerURL||" "},manufacturer:{en:u.manufacturer||" "},manufacturerURL:{en:u.manufacturerURL||" "},license:{en:u.license||" "},licenseURL:{en:u.licenseURL||" "},version:{en:u.version||"Version 0.1"},description:{en:u.description||" "},copyright:{en:u.copyright||" "},trademark:{en:u.trademark||" "}},this.unitsPerEm=u.unitsPerEm||1e3,this.ascender=u.ascender,this.descender=u.descender,this.supported=!0,this.glyphs=new A.GlyphSet(this,u.glyphs||[]),this.encoding=new o.DefaultEncoding(this),this.tables={}}l.prototype.hasChar=function(u){return this.encoding.charToGlyphIndex(u)!==null},l.prototype.charToGlyphIndex=function(u){return this.encoding.charToGlyphIndex(u)},l.prototype.charToGlyph=function(u){var f=this.charToGlyphIndex(u),p=this.glyphs.get(f);return p||(p=this.glyphs.get(0)),p},l.prototype.stringToGlyphs=function(u){for(var f=[],p=0;p<u.length;p+=1){var g=u[p];f.push(this.charToGlyph(g))}return f},l.prototype.nameToGlyphIndex=function(u){return this.glyphNames.nameToGlyphIndex(u)},l.prototype.nameToGlyph=function(u){var f=this.nametoGlyphIndex(u),p=this.glyphs.get(f);return p||(p=this.glyphs.get(0)),p},l.prototype.glyphIndexToName=function(u){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(u):""},l.prototype.getKerningValue=function(u,f){u=u.index||u,f=f.index||f;var p=this.getGposKerningValue;return p?p(u,f):this.kerningPairs[u+","+f]||0},l.prototype.forEachGlyph=function(u,f,p,g,m,E){f=f!==void 0?f:0,p=p!==void 0?p:0,g=g!==void 0?g:72,m=m||{};for(var b=m.kerning===void 0?!0:m.kerning,y=1/this.unitsPerEm*g,Q=this.stringToGlyphs(u),v=0;v<Q.length;v+=1){var I=Q[v];if(E(I,f,p,g,m),I.advanceWidth&&(f+=I.advanceWidth*y),b&&v<Q.length-1){var F=this.getKerningValue(I,Q[v+1]);f+=F*y}}},l.prototype.getPath=function(u,f,p,g,m){var E=new e.Path;return this.forEachGlyph(u,f,p,g,m,function(b,y,Q,v){var I=b.getPath(y,Q,v);E.extend(I)}),E},l.prototype.draw=function(u,f,p,g,m,E){this.getPath(f,p,g,m,E).draw(u)},l.prototype.drawPoints=function(u,f,p,g,m,E){this.forEachGlyph(f,p,g,m,E,function(b,y,Q,v){b.drawPoints(u,y,Q,v)})},l.prototype.drawMetrics=function(u,f,p,g,m,E){this.forEachGlyph(f,p,g,m,E,function(b,y,Q,v){b.drawMetrics(u,y,Q,v)})},l.prototype.getEnglishName=function(u){var f=this.names[u];if(f)return f.en},l.prototype.validate=function(){var u=[],f=this;function p(m,E){m||u.push(E)}function g(m){var E=f.getEnglishName(m);p(E&&E.trim().length>0,"No English "+m+" specified.")}g("fontFamily"),g("weightName"),g("manufacturer"),g("copyright"),g("version"),p(this.unitsPerEm>0,"No unitsPerEm specified.")},l.prototype.toTables=function(){return i.fontToTable(this)},l.prototype.toBuffer=function(){for(var u=this.toTables(),f=u.encode(),p=new ArrayBuffer(f.length),g=new Uint8Array(p),m=0;m<f.length;m++)g[m]=f[m];return p},l.prototype.download=function(){var u=this.getEnglishName("fontFamily"),f=this.getEnglishName("fontSubfamily"),p=u.replace(/\s/g,"")+"-"+f+".otf",g=this.toBuffer();window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,window.requestFileSystem(window.TEMPORARY,g.byteLength,function(m){m.root.getFile(p,{create:!0},function(E){E.createWriter(function(b){var y=new DataView(g),Q=new Blob([y],{type:"font/opentype"});b.write(Q),b.addEventListener("writeend",function(){location.href=E.toURL()},!1)})})},function(m){throw m})},r.Font=l}),bF=Ge(r=>{"use strict";var e=ur(),i=Tt(),o=tr();function A(E,b){var y=JSON.stringify(E),Q=256;for(var v in b){var I=parseInt(v);if(!(!I||I<256)){if(JSON.stringify(b[v])===y)return I;Q<=I&&(Q=I+1)}}return b[Q]=E,Q}function l(E,b){var y=A(E.name,b);return new o.Table("fvarAxis",[{name:"tag",type:"TAG",value:E.tag},{name:"minValue",type:"FIXED",value:E.minValue<<16},{name:"defaultValue",type:"FIXED",value:E.defaultValue<<16},{name:"maxValue",type:"FIXED",value:E.maxValue<<16},{name:"flags",type:"USHORT",value:0},{name:"nameID",type:"USHORT",value:y}])}function u(E,b,y){var Q={},v=new i.Parser(E,b);return Q.tag=v.parseTag(),Q.minValue=v.parseFixed(),Q.defaultValue=v.parseFixed(),Q.maxValue=v.parseFixed(),v.skip("uShort",1),Q.name=y[v.parseUShort()]||{},Q}function f(E,b,y){for(var Q=A(E.name,y),v=[{name:"nameID",type:"USHORT",value:Q},{name:"flags",type:"USHORT",value:0}],I=0;I<b.length;++I){var F=b[I].tag;v.push({name:"axis "+F,type:"FIXED",value:E.coordinates[F]<<16})}return new o.Table("fvarInstance",v)}function p(E,b,y,Q){var v={},I=new i.Parser(E,b);v.name=Q[I.parseUShort()]||{},I.skip("uShort",1),v.coordinates={};for(var F=0;F<y.length;++F)v.coordinates[y[F].tag]=I.parseFixed();return v}function g(E,b){var y=new o.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:E.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:E.instances.length},{name:"instanceSize",type:"USHORT",value:4+E.axes.length*4}]);y.offsetToData=y.sizeOf();for(var Q=0;Q<E.axes.length;Q++)y.fields.push({name:"axis "+Q,type:"TABLE",value:l(E.axes[Q],b)});for(var v=0;v<E.instances.length;v++)y.fields.push({name:"instance "+v,type:"TABLE",value:f(E.instances[v],E.axes,b)});return y}function m(E,b,y){var Q=new i.Parser(E,b),v=Q.parseULong();e.argument(v===65536,"Unsupported fvar table version.");var I=Q.parseOffset16();Q.skip("uShort",1);for(var F=Q.parseUShort(),k=Q.parseUShort(),_=Q.parseUShort(),M=Q.parseUShort(),O=[],P=0;P<F;P++)O.push(u(E,b+I+P*k,y));for(var R=[],re=b+I+F*k,q=0;q<_;q++)R.push(p(E,re+q*M,O,y));return{axes:O,instances:R}}r.make=g,r.parse=m}),xF=Ge(r=>{"use strict";var e=ur(),i=Nl(),o=Tt(),A=es();function l(b,y,Q,v,I){var F;return(y&v)>0?(F=b.parseByte(),y&I||(F=-F),F=Q+F):(y&I)>0?F=Q:F=Q+b.parseShort(),F}function u(b,y,Q){var v=new o.Parser(y,Q);b.numberOfContours=v.parseShort(),b.xMin=v.parseShort(),b.yMin=v.parseShort(),b.xMax=v.parseShort(),b.yMax=v.parseShort();var I,F;if(b.numberOfContours>0){var k,_=b.endPointIndices=[];for(k=0;k<b.numberOfContours;k+=1)_.push(v.parseUShort());for(b.instructionLength=v.parseUShort(),b.instructions=[],k=0;k<b.instructionLength;k+=1)b.instructions.push(v.parseByte());var M=_[_.length-1]+1;for(I=[],k=0;k<M;k+=1)if(F=v.parseByte(),I.push(F),(F&8)>0)for(var O=v.parseByte(),P=0;P<O;P+=1)I.push(F),k+=1;if(e.argument(I.length===M,"Bad flags."),_.length>0){var R=[],re;if(M>0){for(k=0;k<M;k+=1)F=I[k],re={},re.onCurve=!!(F&1),re.lastPointOfContour=_.indexOf(k)>=0,R.push(re);var q=0;for(k=0;k<M;k+=1)F=I[k],re=R[k],re.x=l(v,F,q,2,16),q=re.x;var le=0;for(k=0;k<M;k+=1)F=I[k],re=R[k],re.y=l(v,F,le,4,32),le=re.y}b.points=R}else b.points=[]}else if(b.numberOfContours===0)b.points=[];else{b.isComposite=!0,b.points=[],b.components=[];for(var Ae=!0;Ae;){I=v.parseUShort();var ie={glyphIndex:v.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(I&1)>0?(ie.dx=v.parseShort(),ie.dy=v.parseShort()):(ie.dx=v.parseChar(),ie.dy=v.parseChar()),(I&8)>0?ie.xScale=ie.yScale=v.parseF2Dot14():(I&64)>0?(ie.xScale=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()):(I&128)>0&&(ie.xScale=v.parseF2Dot14(),ie.scale01=v.parseF2Dot14(),ie.scale10=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()),b.components.push(ie),Ae=!!(I&32)}}}function f(b,y){for(var Q=[],v=0;v<b.length;v+=1){var I=b[v],F={x:y.xScale*I.x+y.scale01*I.y+y.dx,y:y.scale10*I.x+y.yScale*I.y+y.dy,onCurve:I.onCurve,lastPointOfContour:I.lastPointOfContour};Q.push(F)}return Q}function p(b){for(var y=[],Q=[],v=0;v<b.length;v+=1){var I=b[v];Q.push(I),I.lastPointOfContour&&(y.push(Q),Q=[])}return e.argument(Q.length===0,"There are still points left in the current contour."),y}function g(b){var y=new A.Path;if(!b)return y;for(var Q=p(b),v=0;v<Q.length;v+=1){var I=Q[v],F=I[0],k=I[I.length-1],_,M;F.onCurve?(_=null,M=!0):(k.onCurve?F=k:F={x:(F.x+k.x)/2,y:(F.y+k.y)/2},_=F,M=!1),y.moveTo(F.x,F.y);for(var O=M?1:0;O<I.length;O+=1){var P=I[O],R=O===0?F:I[O-1];if(R.onCurve&&P.onCurve)y.lineTo(P.x,P.y);else if(R.onCurve&&!P.onCurve)_=P;else if(!R.onCurve&&!P.onCurve){var re={x:(R.x+P.x)/2,y:(R.y+P.y)/2};y.quadraticCurveTo(R.x,R.y,re.x,re.y),_=P}else if(!R.onCurve&&P.onCurve)y.quadraticCurveTo(_.x,_.y,P.x,P.y),_=null;else throw new Error("Invalid state.")}F!==k&&(_?y.quadraticCurveTo(_.x,_.y,F.x,F.y):y.lineTo(F.x,F.y))}return y.closePath(),y}function m(b,y){if(y.isComposite)for(var Q=0;Q<y.components.length;Q+=1){var v=y.components[Q],I=b.get(v.glyphIndex);if(I.getPath(),I.points){var F=f(I.points,v);y.points=y.points.concat(F)}}return g(y.points)}function E(b,y,Q,v){var I=new i.GlyphSet(v),F;for(F=0;F<Q.length-1;F+=1){var k=Q[F],_=Q[F+1];k!==_?I.push(F,i.ttfGlyphLoader(v,F,u,b,y+k,m)):I.push(F,i.glyphLoader(v,F))}return I}r.parse=E}),QF=Ge(r=>{"use strict";var e=ur(),i=Tt();function o(g,m){for(var E=new i.Parser(g,m),b=E.parseUShort(),y=[],Q=0;Q<b;Q++)y[E.parseTag()]={offset:E.parseUShort()};return y}function A(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort();if(b===1)return E.parseUShortList(y);if(b===2){for(var Q=[];y--;)for(var v=E.parseUShort(),I=E.parseUShort(),F=E.parseUShort(),k=v;k<=I;k++)Q[F++]=k;return Q}}function l(g,m){var E=new i.Parser(g,m),b=E.parseUShort();if(b===1){var y=E.parseUShort(),Q=E.parseUShort(),v=E.parseUShortList(Q);return function(O){return v[O-y]||0}}else if(b===2){for(var I=E.parseUShort(),F=[],k=[],_=[],M=0;M<I;M++)F[M]=E.parseUShort(),k[M]=E.parseUShort(),_[M]=E.parseUShort();return function(O){for(var P=0,R=F.length-1;P<R;){var re=P+R+1>>1;O<F[re]?R=re-1:P=re}return F[P]<=O&&O<=k[P]&&_[P]||0}}}function u(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=A(g,m+y),v=E.parseUShort(),I=E.parseUShort(),F,k;if(!(v!==4||I!==0)){var _={};if(b===1){for(var M=E.parseUShort(),O=[],P=E.parseOffset16List(M),R=0;R<M;R++){var re=P[R],q=_[re];if(!q){q={},E.relativeOffset=re;for(var le=E.parseUShort();le--;){var Ae=E.parseUShort();v&&(F=E.parseShort()),I&&(k=E.parseShort()),q[Ae]=F}}O[Q[R]]=q}return function(N,J){var z=O[N];if(z)return z[J]}}else if(b===2){for(var ie=E.parseUShort(),se=E.parseUShort(),ye=E.parseUShort(),fe=E.parseUShort(),Pe=l(g,m+ie),Be=l(g,m+se),Ee=[],me=0;me<ye;me++)for(var ke=Ee[me]=[],Fe=0;Fe<fe;Fe++)v&&(F=E.parseShort()),I&&(k=E.parseShort()),ke[Fe]=F;var W={};for(me=0;me<Q.length;me++)W[Q[me]]=1;return function(N,J){if(W[N]){var z=Pe(N),j=Be(J),K=Ee[z];if(K)return K[j]}}}}}function f(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=y&16,v=E.parseUShort(),I=E.parseOffset16List(v),F={lookupType:b,lookupFlag:y,markFilteringSet:Q?E.parseUShort():-1};if(b===2){for(var k=[],_=0;_<v;_++)k.push(u(g,m+I[_]));F.getKerningValue=function(M,O){for(var P=k.length;P--;){var R=k[P](M,O);if(R!==void 0)return R}return 0}}return F}function p(g,m,E){var b=new i.Parser(g,m),y=b.parseFixed();e.argument(y===1,"Unsupported GPOS table version."),o(g,m+b.parseUShort()),o(g,m+b.parseUShort());var Q=b.parseUShort();b.relativeOffset=Q;for(var v=b.parseUShort(),I=b.parseOffset16List(v),F=m+Q,k=0;k<v;k++){var _=f(g,F+I[k]);_.lookupType===2&&!E.getGposKerningValue&&(E.getGposKerningValue=_.getKerningValue)}}r.parse=p}),vF=Ge(r=>{"use strict";var e=ur(),i=Tt();function o(A,l){var u={},f=new i.Parser(A,l),p=f.parseUShort();e.argument(p===0,"Unsupported kern table version."),f.skip("uShort",1);var g=f.parseUShort();e.argument(g===0,"Unsupported kern sub-table version."),f.skip("uShort",2);var m=f.parseUShort();f.skip("uShort",3);for(var E=0;E<m;E+=1){var b=f.parseUShort(),y=f.parseUShort(),Q=f.parseShort();u[b+","+y]=Q}return u}r.parse=o}),IF=Ge(r=>{"use strict";var e=Tt();function i(o,A,l,u){for(var f=new e.Parser(o,A),p=u?f.parseUShort:f.parseULong,g=[],m=0;m<l+1;m+=1){var E=p.call(f);u&&(E*=2),g.push(E)}return g}r.parse=i}),FF=Ge(r=>{"use strict";var e=xo(),i=CF(),o=jm(),A=Tt(),l=es(),u=Vm(),f=_m(),p=bF(),g=xF(),m=QF(),E=Zm(),b=Xm(),y=zm(),Q=vF(),v=qm(),I=IF(),F=Km(),k=$m(),_=e0(),M=t0();function O(Ae){for(var ie=new ArrayBuffer(Ae.length),se=new Uint8Array(ie),ye=0;ye<Ae.length;ye+=1)se[ye]=Ae[ye];return ie}function P(Ae,ie){var se=We("fs");se.readFile(Ae,function(ye,fe){if(ye)return ie(ye.message);ie(null,O(fe))})}function R(Ae,ie){var se=new XMLHttpRequest;se.open("get",Ae,!0),se.responseType="arraybuffer",se.onload=function(){return se.status!==200?ie("Font could not be loaded: "+se.statusText):ie(null,se.response)},se.send()}function re(Ae){var ie,se,ye,fe,Pe,Be,Ee,me,ke,Fe,W=new i.Font,N=new DataView(Ae,0),J=A.getFixed(N,0);if(J===1)W.outlinesFormat="truetype";else if(J=A.getTag(N,0),J==="OTTO")W.outlinesFormat="cff";else throw new Error("Unsupported OpenType version "+J);for(var z=A.getUShort(N,4),j=12,K=0;K<z;K+=1){var G=A.getTag(N,j),X=A.getULong(N,j+8);switch(G){case"cmap":W.tables.cmap=u.parse(N,X),W.encoding=new e.CmapEncoding(W.tables.cmap);break;case"fvar":fe=X;break;case"head":W.tables.head=E.parse(N,X),W.unitsPerEm=W.tables.head.unitsPerEm,ie=W.tables.head.indexToLocFormat;break;case"hhea":W.tables.hhea=b.parse(N,X),W.ascender=W.tables.hhea.ascender,W.descender=W.tables.hhea.descender,W.numberOfHMetrics=W.tables.hhea.numberOfHMetrics;break;case"hmtx":Ee=X;break;case"ltag":se=v.parse(N,X);break;case"maxp":W.tables.maxp=F.parse(N,X),W.numGlyphs=W.tables.maxp.numGlyphs;break;case"name":Fe=X;break;case"OS/2":W.tables.os2=_.parse(N,X);break;case"post":W.tables.post=M.parse(N,X),W.glyphNames=new e.GlyphNames(W.tables.post);break;case"glyf":Pe=X;break;case"loca":ke=X;break;case"CFF ":ye=X;break;case"kern":me=X;break;case"GPOS":Be=X;break}j+=16}if(W.tables.name=k.parse(N,Fe,se),W.names=W.tables.name,Pe&&ke){var D=ie===0,pe=I.parse(N,ke,W.numGlyphs,D);W.glyphs=g.parse(N,Pe,pe,W)}else if(ye)f.parse(N,ye,W);else throw new Error("Font doesn't contain TrueType or CFF outlines.");return y.parse(N,Ee,W.numberOfHMetrics,W.numGlyphs,W.glyphs),e.addGlyphNames(W),me?W.kerningPairs=Q.parse(N,me):W.kerningPairs={},Be&&m.parse(N,Be,W),fe&&(W.tables.fvar=p.parse(N,fe,W.names)),W}function q(Ae,ie){var se=typeof window>"u",ye=se?P:R;ye(Ae,function(fe,Pe){if(fe)return ie(fe);var Be=re(Pe);return ie(null,Be)})}function le(Ae){var ie=We("fs"),se=ie.readFileSync(Ae);return re(O(se))}r._parse=A,r.Font=i.Font,r.Glyph=o.Glyph,r.Path=l.Path,r.parse=re,r.load=q,r.loadSync=le}),r0=Ge((r,e)=>{"use strict";var i=We("util"),o=We("stream"),A=e.exports=function(){o.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(A,o),A.prototype.read=function(l,u){this._reads.push({length:Math.abs(l),allowLess:l<0,func:u}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},A.prototype.write=function(l,u){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let f;return Buffer.isBuffer(l)?f=l:f=Buffer.from(l,u||this._encoding),this._buffers.push(f),this._buffered+=f.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused},A.prototype.end=function(l,u){l&&this.write(l,u),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))},A.prototype.destroySoon=A.prototype.end,A.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()},A.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},A.prototype._processReadAllowingLess=function(l){this._reads.shift();let u=this._buffers[0];u.length>l.length?(this._buffered-=l.length,this._buffers[0]=u.slice(l.length),l.func.call(this,u.slice(0,l.length))):(this._buffered-=u.length,this._buffers.shift(),l.func.call(this,u))},A.prototype._processRead=function(l){this._reads.shift();let u=0,f=0,p=Buffer.alloc(l.length);for(;u<l.length;){let g=this._buffers[f++],m=Math.min(g.length,l.length-u);g.copy(p,u,0,m),u+=m,m!==g.length&&(this._buffers[--f]=g.slice(m))}f>0&&this._buffers.splice(0,f),this._buffered-=l.length,l.func.call(this,p)},A.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let l=this._reads[0];if(l.allowLess)this._processReadAllowingLess(l);else if(this._buffered>=l.length)this._processRead(l);else break}this._buffers&&!this.writable&&this._end()}catch(l){this.emit("error",l)}}}),i0=Ge(r=>{"use strict";var e=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];r.getImagePasses=function(i,o){let A=[],l=i%8,u=o%8,f=(i-l)/8,p=(o-u)/8;for(let g=0;g<e.length;g++){let m=e[g],E=f*m.x.length,b=p*m.y.length;for(let y=0;y<m.x.length&&m.x[y]<l;y++)E++;for(let y=0;y<m.y.length&&m.y[y]<u;y++)b++;E>0&&b>0&&A.push({width:E,height:b,index:g})}return A},r.getInterlaceIterator=function(i){return function(o,A,l){let u=o%e[l].x.length,f=(o-u)/e[l].x.length*8+e[l].x[u],p=A%e[l].y.length,g=(A-p)/e[l].y.length*8+e[l].y[p];return f*4+g*i*4}}}),n0=Ge((r,e)=>{"use strict";e.exports=function(i,o,A){let l=i+o-A,u=Math.abs(l-i),f=Math.abs(l-o),p=Math.abs(l-A);return u<=f&&u<=p?i:f<=p?o:A}}),s0=Ge((r,e)=>{"use strict";var i=i0(),o=n0();function A(u,f,p){let g=u*f;return p!==8&&(g=Math.ceil(g/(8/p))),g}var l=e.exports=function(u,f){let p=u.width,g=u.height,m=u.interlace,E=u.bpp,b=u.depth;if(this.read=f.read,this.write=f.write,this.complete=f.complete,this._imageIndex=0,this._images=[],m){let y=i.getImagePasses(p,g);for(let Q=0;Q<y.length;Q++)this._images.push({byteWidth:A(y[Q].width,E,b),height:y[Q].height,lineIndex:0})}else this._images.push({byteWidth:A(p,E,b),height:g,lineIndex:0});b===8?this._xComparison=E:b===16?this._xComparison=E*2:this._xComparison=1};l.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},l.prototype._unFilterType1=function(u,f,p){let g=this._xComparison,m=g-1;for(let E=0;E<p;E++){let b=u[1+E],y=E>m?f[E-g]:0;f[E]=b+y}},l.prototype._unFilterType2=function(u,f,p){let g=this._lastLine;for(let m=0;m<p;m++){let E=u[1+m],b=g?g[m]:0;f[m]=E+b}},l.prototype._unFilterType3=function(u,f,p){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<p;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?f[b-g]:0,I=Math.floor((v+Q)/2);f[b]=y+I}},l.prototype._unFilterType4=function(u,f,p){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<p;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?f[b-g]:0,I=b>m&&E?E[b-g]:0,F=o(v,Q,I);f[b]=y+F}},l.prototype._reverseFilterLine=function(u){let f=u[0],p,g=this._images[this._imageIndex],m=g.byteWidth;if(f===0)p=u.slice(1,m+1);else switch(p=Buffer.alloc(m),f){case 1:this._unFilterType1(u,p,m);break;case 2:this._unFilterType2(u,p,m);break;case 3:this._unFilterType3(u,p,m);break;case 4:this._unFilterType4(u,p,m);break;default:throw new Error("Unrecognised filter type - "+f)}this.write(p),g.lineIndex++,g.lineIndex>=g.height?(this._lastLine=null,this._imageIndex++,g=this._images[this._imageIndex]):this._lastLine=p,g?this.read(g.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}),TF=Ge((r,e)=>{"use strict";var i=We("util"),o=r0(),A=s0(),l=e.exports=function(u){o.call(this);let f=[],p=this;this._filter=new A(u,{read:this.read.bind(this),write:function(g){f.push(g)},complete:function(){p.emit("complete",Buffer.concat(f))}}),this._filter.start()};i.inherits(l,o)}),ts=Ge((r,e)=>{"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}}),o0=Ge((r,e)=>{"use strict";var i=[];(function(){for(let A=0;A<256;A++){let l=A;for(let u=0;u<8;u++)l&1?l=3988292384^l>>>1:l=l>>>1;i[A]=l}})();var o=e.exports=function(){this._crc=-1};o.prototype.write=function(A){for(let l=0;l<A.length;l++)this._crc=i[(this._crc^A[l])&255]^this._crc>>>8;return!0},o.prototype.crc32=function(){return this._crc^-1},o.crc32=function(A){let l=-1;for(let u=0;u<A.length;u++)l=i[(l^A[u])&255]^l>>>8;return l^-1}}),a0=Ge((r,e)=>{"use strict";var i=ts(),o=o0(),A=e.exports=function(l,u){this._options=l,l.checkCRC=l.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[i.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[i.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[i.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[i.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[i.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[i.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=u.read,this.error=u.error,this.metadata=u.metadata,this.gamma=u.gamma,this.transColor=u.transColor,this.palette=u.palette,this.parsed=u.parsed,this.inflateData=u.inflateData,this.finished=u.finished,this.simpleTransparency=u.simpleTransparency,this.headersFinished=u.headersFinished||function(){}};A.prototype.start=function(){this.read(i.PNG_SIGNATURE.length,this._parseSignature.bind(this))},A.prototype._parseSignature=function(l){let u=i.PNG_SIGNATURE;for(let f=0;f<u.length;f++)if(l[f]!==u[f]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))},A.prototype._parseChunkBegin=function(l){let u=l.readUInt32BE(0),f=l.readUInt32BE(4),p="";for(let m=4;m<8;m++)p+=String.fromCharCode(l[m]);let g=!!(l[4]&32);if(!this._hasIHDR&&f!==i.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new o,this._crc.write(Buffer.from(p)),this._chunks[f])return this._chunks[f](u);if(!g){this.error(new Error("Unsupported critical chunk type "+p));return}this.read(u+4,this._skipChunk.bind(this))},A.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},A.prototype._parseChunkEnd=function(l){let u=l.readInt32BE(0),f=this._crc.crc32();if(this._options.checkCRC&&f!==u){this.error(new Error("Crc error - "+u+" - "+f));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleIHDR=function(l){this.read(l,this._parseIHDR.bind(this))},A.prototype._parseIHDR=function(l){this._crc.write(l);let u=l.readUInt32BE(0),f=l.readUInt32BE(4),p=l[8],g=l[9],m=l[10],E=l[11],b=l[12];if(p!==8&&p!==4&&p!==2&&p!==1&&p!==16){this.error(new Error("Unsupported bit depth "+p));return}if(!(g in i.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(m!==0){this.error(new Error("Unsupported compression method"));return}if(E!==0){this.error(new Error("Unsupported filter method"));return}if(b!==0&&b!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=g;let y=i.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:u,height:f,depth:p,interlace:!!b,palette:!!(g&i.COLORTYPE_PALETTE),color:!!(g&i.COLORTYPE_COLOR),alpha:!!(g&i.COLORTYPE_ALPHA),bpp:y,colorType:g}),this._handleChunkEnd()},A.prototype._handlePLTE=function(l){this.read(l,this._parsePLTE.bind(this))},A.prototype._parsePLTE=function(l){this._crc.write(l);let u=Math.floor(l.length/3);for(let f=0;f<u;f++)this._palette.push([l[f*3],l[f*3+1],l[f*3+2],255]);this.palette(this._palette),this._handleChunkEnd()},A.prototype._handleTRNS=function(l){this.simpleTransparency(),this.read(l,this._parseTRNS.bind(this))},A.prototype._parseTRNS=function(l){if(this._crc.write(l),this._colorType===i.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(l.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let u=0;u<l.length;u++)this._palette[u][3]=l[u];this.palette(this._palette)}this._colorType===i.COLORTYPE_GRAYSCALE&&this.transColor([l.readUInt16BE(0)]),this._colorType===i.COLORTYPE_COLOR&&this.transColor([l.readUInt16BE(0),l.readUInt16BE(2),l.readUInt16BE(4)]),this._handleChunkEnd()},A.prototype._handleGAMA=function(l){this.read(l,this._parseGAMA.bind(this))},A.prototype._parseGAMA=function(l){this._crc.write(l),this.gamma(l.readUInt32BE(0)/i.GAMMA_DIVISION),this._handleChunkEnd()},A.prototype._handleIDAT=function(l){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-l,this._parseIDAT.bind(this,l))},A.prototype._parseIDAT=function(l,u){if(this._crc.write(u),this._colorType===i.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(u);let f=l-u.length;f>0?this._handleIDAT(f):this._handleChunkEnd()},A.prototype._handleIEND=function(l){this.read(l,this._parseIEND.bind(this))},A.prototype._parseIEND=function(l){this._crc.write(l),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}),A0=Ge(r=>{"use strict";var e=i0(),i=[function(){},function(f,p,g,m){if(m===p.length)throw new Error("Ran out of data");let E=p[m];f[g]=E,f[g+1]=E,f[g+2]=E,f[g+3]=255},function(f,p,g,m){if(m+1>=p.length)throw new Error("Ran out of data");let E=p[m];f[g]=E,f[g+1]=E,f[g+2]=E,f[g+3]=p[m+1]},function(f,p,g,m){if(m+2>=p.length)throw new Error("Ran out of data");f[g]=p[m],f[g+1]=p[m+1],f[g+2]=p[m+2],f[g+3]=255},function(f,p,g,m){if(m+3>=p.length)throw new Error("Ran out of data");f[g]=p[m],f[g+1]=p[m+1],f[g+2]=p[m+2],f[g+3]=p[m+3]}],o=[function(){},function(f,p,g,m){let E=p[0];f[g]=E,f[g+1]=E,f[g+2]=E,f[g+3]=m},function(f,p,g){let m=p[0];f[g]=m,f[g+1]=m,f[g+2]=m,f[g+3]=p[1]},function(f,p,g,m){f[g]=p[0],f[g+1]=p[1],f[g+2]=p[2],f[g+3]=m},function(f,p,g){f[g]=p[0],f[g+1]=p[1],f[g+2]=p[2],f[g+3]=p[3]}];function A(f,p){let g=[],m=0;function E(){if(m===f.length)throw new Error("Ran out of data");let b=f[m];m++;let y,Q,v,I,F,k,_,M;switch(p){default:throw new Error("unrecognised depth");case 16:_=f[m],m++,g.push((b<<8)+_);break;case 4:_=b&15,M=b>>4,g.push(M,_);break;case 2:F=b&3,k=b>>2&3,_=b>>4&3,M=b>>6&3,g.push(M,_,k,F);break;case 1:y=b&1,Q=b>>1&1,v=b>>2&1,I=b>>3&1,F=b>>4&1,k=b>>5&1,_=b>>6&1,M=b>>7&1,g.push(M,_,k,F,I,v,Q,y);break}}return{get:function(b){for(;g.length<b;)E();let y=g.slice(0,b);return g=g.slice(b),y},resetAfterLine:function(){g.length=0},end:function(){if(m!==f.length)throw new Error("extra data found")}}}function l(f,p,g,m,E,b){let y=f.width,Q=f.height,v=f.index;for(let I=0;I<Q;I++)for(let F=0;F<y;F++){let k=g(F,I,v);i[m](p,E,k,b),b+=m}return b}function u(f,p,g,m,E,b){let y=f.width,Q=f.height,v=f.index;for(let I=0;I<Q;I++){for(let F=0;F<y;F++){let k=E.get(m),_=g(F,I,v);o[m](p,k,_,b)}E.resetAfterLine()}}r.dataToBitMap=function(f,p){let g=p.width,m=p.height,E=p.depth,b=p.bpp,y=p.interlace,Q;E!==8&&(Q=A(f,E));let v;E<=8?v=Buffer.alloc(g*m*4):v=new Uint16Array(g*m*4);let I=Math.pow(2,E)-1,F=0,k,_;if(y)k=e.getImagePasses(g,m),_=e.getInterlaceIterator(g,m);else{let M=0;_=function(){let O=M;return M+=4,O},k=[{width:g,height:m}]}for(let M=0;M<k.length;M++)E===8?F=l(k[M],v,_,b,f,F):u(k[M],v,_,b,Q,I);if(E===8){if(F!==f.length)throw new Error("extra data found")}else Q.end();return v}}),l0=Ge((r,e)=>{"use strict";function i(l,u,f,p,g){let m=0;for(let E=0;E<p;E++)for(let b=0;b<f;b++){let y=g[l[m]];if(!y)throw new Error("index "+l[m]+" not in palette");for(let Q=0;Q<4;Q++)u[m+Q]=y[Q];m+=4}}function o(l,u,f,p,g){let m=0;for(let E=0;E<p;E++)for(let b=0;b<f;b++){let y=!1;if(g.length===1?g[0]===l[m]&&(y=!0):g[0]===l[m]&&g[1]===l[m+1]&&g[2]===l[m+2]&&(y=!0),y)for(let Q=0;Q<4;Q++)u[m+Q]=0;m+=4}}function A(l,u,f,p,g){let m=255,E=Math.pow(2,g)-1,b=0;for(let y=0;y<p;y++)for(let Q=0;Q<f;Q++){for(let v=0;v<4;v++)u[b+v]=Math.floor(l[b+v]*m/E+.5);b+=4}}e.exports=function(l,u,f=!1){let p=u.depth,g=u.width,m=u.height,E=u.colorType,b=u.transColor,y=u.palette,Q=l;return E===3?i(l,Q,g,m,y):(b&&o(l,Q,g,m,b),p!==8&&!f&&(p===16&&(Q=Buffer.alloc(g*m*4)),A(l,Q,g,m,p))),Q}}),SF=Ge((r,e)=>{"use strict";var i=We("util"),o=We("zlib"),A=r0(),l=TF(),u=a0(),f=A0(),p=l0(),g=e.exports=function(m){A.call(this),this._parser=new u(m,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=m,this.writable=!0,this._parser.start()};i.inherits(g,A),g.prototype._handleError=function(m){this.emit("error",m),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0},g.prototype._inflateData=function(m){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=o.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let E=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,b=Math.max(E,o.Z_MIN_CHUNK);this._inflate=o.createInflate({chunkSize:b});let y=E,Q=this.emit.bind(this,"error");this._inflate.on("error",function(I){y&&Q(I)}),this._filter.on("complete",this._complete.bind(this));let v=this._filter.write.bind(this._filter);this._inflate.on("data",function(I){y&&(I.length>y&&(I=I.slice(0,y)),y-=I.length,v(I))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(m)},g.prototype._handleMetaData=function(m){this._metaData=m,this._bitmapInfo=Object.create(m),this._filter=new l(this._bitmapInfo)},g.prototype._handleTransColor=function(m){this._bitmapInfo.transColor=m},g.prototype._handlePalette=function(m){this._bitmapInfo.palette=m},g.prototype._simpleTransparency=function(){this._metaData.alpha=!0},g.prototype._headersFinished=function(){this.emit("metadata",this._metaData)},g.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))},g.prototype._complete=function(m){if(this.errord)return;let E;try{let b=f.dataToBitMap(m,this._bitmapInfo);E=p(b,this._bitmapInfo,this._options.skipRescale),b=null}catch(b){this._handleError(b);return}this.emit("parsed",E)}}),DF=Ge((r,e)=>{"use strict";var i=ts();e.exports=function(o,A,l,u){let f=[i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(u.colorType)!==-1;if(u.colorType===u.inputColorType){let F=(function(){let k=new ArrayBuffer(2);return new DataView(k).setInt16(0,256,!0),new Int16Array(k)[0]!==256})();if(u.bitDepth===8||u.bitDepth===16&&F)return o}let p=u.bitDepth!==16?o:new Uint16Array(o.buffer),g=255,m=i.COLORTYPE_TO_BPP_MAP[u.inputColorType];m===4&&!u.inputHasAlpha&&(m=3);let E=i.COLORTYPE_TO_BPP_MAP[u.colorType];u.bitDepth===16&&(g=65535,E*=2);let b=Buffer.alloc(A*l*E),y=0,Q=0,v=u.bgColor||{};v.red===void 0&&(v.red=g),v.green===void 0&&(v.green=g),v.blue===void 0&&(v.blue=g);function I(){let F,k,_,M=g;switch(u.inputColorType){case i.COLORTYPE_COLOR_ALPHA:M=p[y+3],F=p[y],k=p[y+1],_=p[y+2];break;case i.COLORTYPE_COLOR:F=p[y],k=p[y+1],_=p[y+2];break;case i.COLORTYPE_ALPHA:M=p[y+1],F=p[y],k=F,_=F;break;case i.COLORTYPE_GRAYSCALE:F=p[y],k=F,_=F;break;default:throw new Error("input color type:"+u.inputColorType+" is not supported at present")}return u.inputHasAlpha&&(f||(M/=g,F=Math.min(Math.max(Math.round((1-M)*v.red+M*F),0),g),k=Math.min(Math.max(Math.round((1-M)*v.green+M*k),0),g),_=Math.min(Math.max(Math.round((1-M)*v.blue+M*_),0),g))),{red:F,green:k,blue:_,alpha:M}}for(let F=0;F<l;F++)for(let k=0;k<A;k++){let _=I(p,y);switch(u.colorType){case i.COLORTYPE_COLOR_ALPHA:case i.COLORTYPE_COLOR:u.bitDepth===8?(b[Q]=_.red,b[Q+1]=_.green,b[Q+2]=_.blue,f&&(b[Q+3]=_.alpha)):(b.writeUInt16BE(_.red,Q),b.writeUInt16BE(_.green,Q+2),b.writeUInt16BE(_.blue,Q+4),f&&b.writeUInt16BE(_.alpha,Q+6));break;case i.COLORTYPE_ALPHA:case i.COLORTYPE_GRAYSCALE:{let M=(_.red+_.green+_.blue)/3;u.bitDepth===8?(b[Q]=M,f&&(b[Q+1]=_.alpha)):(b.writeUInt16BE(M,Q),f&&b.writeUInt16BE(_.alpha,Q+2));break}default:throw new Error("unrecognised color Type "+u.colorType)}y+=m,Q+=E}return b}}),MF=Ge((r,e)=>{"use strict";var i=n0();function o(v,I,F,k,_){for(let M=0;M<F;M++)k[_+M]=v[I+M]}function A(v,I,F){let k=0,_=I+F;for(let M=I;M<_;M++)k+=Math.abs(v[M]);return k}function l(v,I,F,k,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=v[I+O]-P;k[_+O]=R}}function u(v,I,F,k){let _=0;for(let M=0;M<F;M++){let O=M>=k?v[I+M-k]:0,P=v[I+M]-O;_+=Math.abs(P)}return _}function f(v,I,F,k,_){for(let M=0;M<F;M++){let O=I>0?v[I+M-F]:0,P=v[I+M]-O;k[_+M]=P}}function p(v,I,F){let k=0,_=I+F;for(let M=I;M<_;M++){let O=I>0?v[M-F]:0,P=v[M]-O;k+=Math.abs(P)}return k}function g(v,I,F,k,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=I>0?v[I+O-F]:0,re=v[I+O]-(P+R>>1);k[_+O]=re}}function m(v,I,F,k){let _=0;for(let M=0;M<F;M++){let O=M>=k?v[I+M-k]:0,P=I>0?v[I+M-F]:0,R=v[I+M]-(O+P>>1);_+=Math.abs(R)}return _}function E(v,I,F,k,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=I>0?v[I+O-F]:0,re=I>0&&O>=M?v[I+O-(F+M)]:0,q=v[I+O]-i(P,R,re);k[_+O]=q}}function b(v,I,F,k){let _=0;for(let M=0;M<F;M++){let O=M>=k?v[I+M-k]:0,P=I>0?v[I+M-F]:0,R=I>0&&M>=k?v[I+M-(F+k)]:0,re=v[I+M]-i(O,P,R);_+=Math.abs(re)}return _}var y={0:o,1:l,2:f,3:g,4:E},Q={0:A,1:u,2:p,3:m,4:b};e.exports=function(v,I,F,k,_){let M;if(!("filterType"in k)||k.filterType===-1)M=[0,1,2,3,4];else if(typeof k.filterType=="number")M=[k.filterType];else throw new Error("unrecognised filter types");k.bitDepth===16&&(_*=2);let O=I*_,P=0,R=0,re=Buffer.alloc((O+1)*F),q=M[0];for(let le=0;le<F;le++){if(M.length>1){let Ae=1/0;for(let ie=0;ie<M.length;ie++){let se=Q[M[ie]](v,R,O,_);se<Ae&&(q=M[ie],Ae=se)}}re[P]=q,P++,y[q](v,R,O,re,P,_),P+=O,R+=O}return re}}),c0=Ge((r,e)=>{"use strict";var i=ts(),o=o0(),A=DF(),l=MF(),u=We("zlib"),f=e.exports=function(p){if(this._options=p,p.deflateChunkSize=p.deflateChunkSize||32*1024,p.deflateLevel=p.deflateLevel!=null?p.deflateLevel:9,p.deflateStrategy=p.deflateStrategy!=null?p.deflateStrategy:3,p.inputHasAlpha=p.inputHasAlpha!=null?p.inputHasAlpha:!0,p.deflateFactory=p.deflateFactory||u.createDeflate,p.bitDepth=p.bitDepth||8,p.colorType=typeof p.colorType=="number"?p.colorType:i.COLORTYPE_COLOR_ALPHA,p.inputColorType=typeof p.inputColorType=="number"?p.inputColorType:i.COLORTYPE_COLOR_ALPHA,[i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(p.colorType)===-1)throw new Error("option color type:"+p.colorType+" is not supported at present");if([i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(p.inputColorType)===-1)throw new Error("option input color type:"+p.inputColorType+" is not supported at present");if(p.bitDepth!==8&&p.bitDepth!==16)throw new Error("option bit depth:"+p.bitDepth+" is not supported at present")};f.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},f.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},f.prototype.filterData=function(p,g,m){let E=A(p,g,m,this._options),b=i.COLORTYPE_TO_BPP_MAP[this._options.colorType];return l(E,g,m,this._options,b)},f.prototype._packChunk=function(p,g){let m=g?g.length:0,E=Buffer.alloc(m+12);return E.writeUInt32BE(m,0),E.writeUInt32BE(p,4),g&&g.copy(E,8),E.writeInt32BE(o.crc32(E.slice(4,E.length-4)),E.length-4),E},f.prototype.packGAMA=function(p){let g=Buffer.alloc(4);return g.writeUInt32BE(Math.floor(p*i.GAMMA_DIVISION),0),this._packChunk(i.TYPE_gAMA,g)},f.prototype.packIHDR=function(p,g){let m=Buffer.alloc(13);return m.writeUInt32BE(p,0),m.writeUInt32BE(g,4),m[8]=this._options.bitDepth,m[9]=this._options.colorType,m[10]=0,m[11]=0,m[12]=0,this._packChunk(i.TYPE_IHDR,m)},f.prototype.packIDAT=function(p){return this._packChunk(i.TYPE_IDAT,p)},f.prototype.packIEND=function(){return this._packChunk(i.TYPE_IEND,null)}}),UF=Ge((r,e)=>{"use strict";var i=We("util"),o=We("stream"),A=ts(),l=c0(),u=e.exports=function(f){o.call(this);let p=f||{};this._packer=new l(p),this._deflate=this._packer.createDeflate(),this.readable=!0};i.inherits(u,o),u.prototype.pack=function(f,p,g,m){this.emit("data",Buffer.from(A.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(p,g)),m&&this.emit("data",this._packer.packGAMA(m));let E=this._packer.filterData(f,p,g);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(b){this.emit("data",this._packer.packIDAT(b))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(E)}}),kF=Ge((r,e)=>{"use strict";var i=We("assert").ok,o=We("zlib"),A=We("util"),l=We("buffer").kMaxLength;function u(E){if(!(this instanceof u))return new u(E);E&&E.chunkSize<o.Z_MIN_CHUNK&&(E.chunkSize=o.Z_MIN_CHUNK),o.Inflate.call(this,E),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,E&&E.maxLength!=null&&(this._maxLength=E.maxLength)}function f(E){return new u(E)}function p(E,b){b&&process.nextTick(b),E._handle&&(E._handle.close(),E._handle=null)}u.prototype._processChunk=function(E,b,y){if(typeof y=="function")return o.Inflate._processChunk.call(this,E,b,y);let Q=this,v=E&&E.length,I=this._chunkSize-this._offset,F=this._maxLength,k=0,_=[],M=0,O;this.on("error",function(q){O=q});function P(q,le){if(Q._hadError)return;let Ae=I-le;if(i(Ae>=0,"have should not go down"),Ae>0){let ie=Q._buffer.slice(Q._offset,Q._offset+Ae);if(Q._offset+=Ae,ie.length>F&&(ie=ie.slice(0,F)),_.push(ie),M+=ie.length,F-=ie.length,F===0)return!1}return(le===0||Q._offset>=Q._chunkSize)&&(I=Q._chunkSize,Q._offset=0,Q._buffer=Buffer.allocUnsafe(Q._chunkSize)),le===0?(k+=v-q,v=q,!0):!1}i(this._handle,"zlib binding closed");let R;do R=this._handle.writeSync(b,E,k,v,this._buffer,this._offset,I),R=R||this._writeState;while(!this._hadError&&P(R[0],R[1]));if(this._hadError)throw O;if(M>=l)throw p(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes");let re=Buffer.concat(_,M);return p(this),re},A.inherits(u,o.Inflate);function g(E,b){if(typeof b=="string"&&(b=Buffer.from(b)),!(b instanceof Buffer))throw new TypeError("Not a string or buffer");let y=E._finishFlushFlag;return y==null&&(y=o.Z_FINISH),E._processChunk(b,y)}function m(E,b){return g(new u(b),E)}e.exports=r=m,r.Inflate=u,r.createInflate=f,r.inflateSync=m}),u0=Ge((r,e)=>{"use strict";var i=e.exports=function(o){this._buffer=o,this._reads=[]};i.prototype.read=function(o,A){this._reads.push({length:Math.abs(o),allowLess:o<0,func:A})},i.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let o=this._reads[0];if(this._buffer.length&&(this._buffer.length>=o.length||o.allowLess)){this._reads.shift();let A=this._buffer;this._buffer=A.slice(o.length),o.func.call(this,A.slice(0,o.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}}),YF=Ge(r=>{"use strict";var e=u0(),i=s0();r.process=function(o,A){let l=[],u=new e(o);return new i(A,{read:u.read.bind(u),write:function(f){l.push(f)},complete:function(){}}).start(),u.process(),Buffer.concat(l)}}),OF=Ge((r,e)=>{"use strict";var i=!0,o=We("zlib"),A=kF();o.deflateSync||(i=!1);var l=u0(),u=YF(),f=a0(),p=A0(),g=l0();e.exports=function(m,E){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let b;function y(se){b=se}let Q;function v(se){Q=se}function I(se){Q.transColor=se}function F(se){Q.palette=se}function k(){Q.alpha=!0}let _;function M(se){_=se}let O=[];function P(se){O.push(se)}let R=new l(m);if(new f(E,{read:R.read.bind(R),error:y,metadata:v,gamma:M,palette:F,transColor:I,inflateData:P,simpleTransparency:k}).start(),R.process(),b)throw b;let re=Buffer.concat(O);O.length=0;let q;if(Q.interlace)q=o.inflateSync(re);else{let se=((Q.width*Q.bpp*Q.depth+7>>3)+1)*Q.height;q=A(re,{chunkSize:se,maxLength:se})}if(re=null,!q||!q.length)throw new Error("bad png - invalid inflate data response");let le=u.process(q,Q);re=null;let Ae=p.dataToBitMap(le,Q);le=null;let ie=g(Ae,Q,E.skipRescale);return Q.data=ie,Q.gamma=_||0,Q}}),NF=Ge((r,e)=>{"use strict";var i=!0,o=We("zlib");o.deflateSync||(i=!1);var A=ts(),l=c0();e.exports=function(u,f){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let p=f||{},g=new l(p),m=[];m.push(Buffer.from(A.PNG_SIGNATURE)),m.push(g.packIHDR(u.width,u.height)),u.gamma&&m.push(g.packGAMA(u.gamma));let E=g.filterData(u.data,u.width,u.height),b=o.deflateSync(E,g.getDeflateOptions());if(E=null,!b||!b.length)throw new Error("bad png - invalid compressed data response");return m.push(g.packIDAT(b)),m.push(g.packIEND()),Buffer.concat(m)}}),RF=Ge(r=>{"use strict";var e=OF(),i=NF();r.read=function(o,A){return e(o,A||{})},r.write=function(o,A){return i(o,A)}}),GF=Ge(r=>{"use strict";var e=We("util"),i=We("stream"),o=SF(),A=UF(),l=RF(),u=r.PNG=function(f){i.call(this),f=f||{},this.width=f.width|0,this.height=f.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,f.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new o(f),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(p){this.data=p,this.emit("parsed",p)}.bind(this)),this._packer=new A(f),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};e.inherits(u,i),u.sync=l,u.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)},u.prototype.parse=function(f,p){if(p){let g,m;g=function(E){this.removeListener("error",m),this.data=E,p(null,this)}.bind(this),m=function(E){this.removeListener("parsed",g),p(E,null)}.bind(this),this.once("parsed",g),this.once("error",m)}return this.end(f),this},u.prototype.write=function(f){return this._parser.write(f),!0},u.prototype.end=function(f){this._parser.end(f)},u.prototype._metadata=function(f){this.width=f.width,this.height=f.height,this.emit("metadata",f)},u.prototype._gamma=function(f){this.gamma=f},u.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")},u.bitblt=function(f,p,g,m,E,b,y,Q){if(g|=0,m|=0,E|=0,b|=0,y|=0,Q|=0,g>f.width||m>f.height||g+E>f.width||m+b>f.height)throw new Error("bitblt reading outside image");if(y>p.width||Q>p.height||y+E>p.width||Q+b>p.height)throw new Error("bitblt writing outside image");for(let v=0;v<b;v++)f.data.copy(p.data,(Q+v)*p.width+y<<2,(m+v)*f.width+g<<2,(m+v)*f.width+g+E<<2)},u.prototype.bitblt=function(f,p,g,m,E,b,y){return u.bitblt(this,f,p,g,m,E,b,y),this},u.adjustGamma=function(f){if(f.gamma){for(let p=0;p<f.height;p++)for(let g=0;g<f.width;g++){let m=f.width*p+g<<2;for(let E=0;E<3;E++){let b=f.data[m+E]/255;b=Math.pow(b,1/2.2/f.gamma),f.data[m+E]=Math.round(b*255)}}f.gamma=0}},u.prototype.adjustGamma=function(){u.adjustGamma(this)}}),LF=Ge((r,e)=>{var i=i||function(l){return Buffer.from(l).toString("base64")};function o(l){var u=this,f=Math.round,p=Math.floor,g=new Array(64),m=new Array(64),E=new Array(64),b=new Array(64),y,Q,v,I,F=new Array(65535),k=new Array(65535),_=new Array(64),M=new Array(64),O=[],P=0,R=7,re=new Array(64),q=new Array(64),le=new Array(64),Ae=new Array(256),ie=new Array(2048),se,ye=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],fe=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],Pe=[0,1,2,3,4,5,6,7,8,9,10,11],Be=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],Ee=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],me=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],ke=[0,1,2,3,4,5,6,7,8,9,10,11],Fe=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],W=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function N(te){for(var ve=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],be=0;be<64;be++){var ue=p((ve[be]*te+50)/100);ue<1?ue=1:ue>255&&(ue=255),g[ye[be]]=ue}for(var Me=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],He=0;He<64;He++){var Le=p((Me[He]*te+50)/100);Le<1?Le=1:Le>255&&(Le=255),m[ye[He]]=Le}for(var Ne=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],de=0,ge=0;ge<8;ge++)for(var ae=0;ae<8;ae++)E[de]=1/(g[ye[de]]*Ne[ge]*Ne[ae]*8),b[de]=1/(m[ye[de]]*Ne[ge]*Ne[ae]*8),de++}function J(te,ve){for(var be=0,ue=0,Me=new Array,He=1;He<=16;He++){for(var Le=1;Le<=te[He];Le++)Me[ve[ue]]=[],Me[ve[ue]][0]=be,Me[ve[ue]][1]=He,ue++,be++;be*=2}return Me}function z(){y=J(fe,Pe),Q=J(me,ke),v=J(Be,Ee),I=J(Fe,W)}function j(){for(var te=1,ve=2,be=1;be<=15;be++){for(var ue=te;ue<ve;ue++)k[32767+ue]=be,F[32767+ue]=[],F[32767+ue][1]=be,F[32767+ue][0]=ue;for(var Me=-(ve-1);Me<=-te;Me++)k[32767+Me]=be,F[32767+Me]=[],F[32767+Me][1]=be,F[32767+Me][0]=ve-1+Me;te<<=1,ve<<=1}}function K(){for(var te=0;te<256;te++)ie[te]=19595*te,ie[te+256>>0]=38470*te,ie[te+512>>0]=7471*te+32768,ie[te+768>>0]=-11059*te,ie[te+1024>>0]=-21709*te,ie[te+1280>>0]=32768*te+8421375,ie[te+1536>>0]=-27439*te,ie[te+1792>>0]=-5329*te}function G(te){for(var ve=te[0],be=te[1]-1;be>=0;)ve&1<<be&&(P|=1<<R),be--,R--,R<0&&(P==255?(X(255),X(0)):X(P),R=7,P=0)}function X(te){O.push(te)}function D(te){X(te>>8&255),X(te&255)}function pe(te,ve){var be,ue,Me,He,Le,Ne,de,ge,ae=0,Ye,$=8,_e=64;for(Ye=0;Ye<$;++Ye){be=te[ae],ue=te[ae+1],Me=te[ae+2],He=te[ae+3],Le=te[ae+4],Ne=te[ae+5],de=te[ae+6],ge=te[ae+7];var Ue=be+ge,je=be-ge,at=ue+de,Ke=ue-de,ut=Me+Ne,bt=Me-Ne,xt=He+Le,Ir=He-Le,hr=Ue+xt,Fr=Ue-xt,Tr=at+ut,ht=at-ut;te[ae]=hr+Tr,te[ae+4]=hr-Tr;var V=(ht+Fr)*.707106781;te[ae+2]=Fr+V,te[ae+6]=Fr-V,hr=Ir+bt,Tr=bt+Ke,ht=Ke+je;var Vr=(hr-ht)*.382683433,he=.5411961*hr+Vr,fr=1.306562965*ht+Vr,hn=Tr*.707106781,is=je+hn,fn=je-hn;te[ae+5]=fn+he,te[ae+3]=fn-he,te[ae+1]=is+fr,te[ae+7]=is-fr,ae+=8}for(ae=0,Ye=0;Ye<$;++Ye){be=te[ae],ue=te[ae+8],Me=te[ae+16],He=te[ae+24],Le=te[ae+32],Ne=te[ae+40],de=te[ae+48],ge=te[ae+56];var ns=be+ge,li=be-ge,ss=ue+de,os=ue-de,Fi=Me+Ne,pn=Me-Ne,as=He+Le,Yo=He-Le,pr=ns+as,Ti=ns-as,Si=ss+Fi,ci=ss-Fi;te[ae]=pr+Si,te[ae+32]=pr-Si;var As=(ci+Ti)*.707106781;te[ae+16]=Ti+As,te[ae+48]=Ti-As,pr=Yo+pn,Si=pn+os,ci=os+li;var ui=(pr-ci)*.382683433,dn=.5411961*pr+ui,ls=1.306562965*ci+ui,cs=Si*.707106781,us=li+cs,hs=li-cs;te[ae+40]=hs+dn,te[ae+24]=hs-dn,te[ae+8]=us+ls,te[ae+56]=us-ls,ae++}var Di;for(Ye=0;Ye<_e;++Ye)Di=te[Ye]*ve[Ye],_[Ye]=Di>0?Di+.5|0:Di-.5|0;return _}function ce(){D(65504),D(16),X(74),X(70),X(73),X(70),X(0),X(1),X(1),X(0),D(1),D(1),X(0),X(0)}function Qe(te){if(te){D(65505),te[0]===69&&te[1]===120&&te[2]===105&&te[3]===102?D(te.length+2):(D(te.length+5+2),X(69),X(120),X(105),X(102),X(0));for(var ve=0;ve<te.length;ve++)X(te[ve])}}function Z(te,ve){D(65472),D(17),X(8),D(ve),D(te),X(3),X(1),X(17),X(0),X(2),X(17),X(1),X(3),X(17),X(1)}function H(){D(65499),D(132),X(0);for(var te=0;te<64;te++)X(g[te]);X(1);for(var ve=0;ve<64;ve++)X(m[ve])}function ne(){D(65476),D(418),X(0);for(var te=0;te<16;te++)X(fe[te+1]);for(var ve=0;ve<=11;ve++)X(Pe[ve]);X(16);for(var be=0;be<16;be++)X(Be[be+1]);for(var ue=0;ue<=161;ue++)X(Ee[ue]);X(1);for(var Me=0;Me<16;Me++)X(me[Me+1]);for(var He=0;He<=11;He++)X(ke[He]);X(17);for(var Le=0;Le<16;Le++)X(Fe[Le+1]);for(var Ne=0;Ne<=161;Ne++)X(W[Ne])}function Oe(te){typeof te>"u"||te.constructor!==Array||te.forEach(ve=>{if(typeof ve=="string"){D(65534);var be=ve.length;D(be+2);var ue;for(ue=0;ue<be;ue++)X(ve.charCodeAt(ue))}})}function De(){D(65498),D(12),X(3),X(1),X(0),X(2),X(17),X(3),X(17),X(0),X(63),X(0)}function it(te,ve,be,ue,Me){for(var He=Me[0],Le=Me[240],Ne,de=16,ge=63,ae=64,Ye=pe(te,ve),$=0;$<ae;++$)M[ye[$]]=Ye[$];var _e=M[0]-be;be=M[0],_e==0?G(ue[0]):(Ne=32767+_e,G(ue[k[Ne]]),G(F[Ne]));for(var Ue=63;Ue>0&&M[Ue]==0;Ue--);if(Ue==0)return G(He),be;for(var je=1,at;je<=Ue;){for(var Ke=je;M[je]==0&&je<=Ue;++je);var ut=je-Ke;if(ut>=de){at=ut>>4;for(var bt=1;bt<=at;++bt)G(Le);ut=ut&15}Ne=32767+M[je],G(Me[(ut<<4)+k[Ne]]),G(F[Ne]),je++}return Ue!=ge&&G(He),be}function Ze(){for(var te=String.fromCharCode,ve=0;ve<256;ve++)Ae[ve]=te(ve)}this.encode=function(te,ve){var be=new Date().getTime();ve&&Xe(ve),O=new Array,P=0,R=7,D(65496),ce(),Oe(te.comments),Qe(te.exifBuffer),H(),Z(te.width,te.height),ne(),De();var ue=0,Me=0,He=0;P=0,R=7,this.encode.displayName="_encode_";for(var Le=te.data,Ne=te.width,de=te.height,ge=Ne*4,ae=Ne*3,Ye,$=0,_e,Ue,je,at,Ke,ut,bt,xt;$<de;){for(Ye=0;Ye<ge;){for(at=ge*$+Ye,Ke=at,ut=-1,bt=0,xt=0;xt<64;xt++)bt=xt>>3,ut=(xt&7)*4,Ke=at+bt*ge+ut,$+bt>=de&&(Ke-=ge*($+1+bt-de)),Ye+ut>=ge&&(Ke-=Ye+ut-ge+4),_e=Le[Ke++],Ue=Le[Ke++],je=Le[Ke++],re[xt]=(ie[_e]+ie[Ue+256>>0]+ie[je+512>>0]>>16)-128,q[xt]=(ie[_e+768>>0]+ie[Ue+1024>>0]+ie[je+1280>>0]>>16)-128,le[xt]=(ie[_e+1280>>0]+ie[Ue+1536>>0]+ie[je+1792>>0]>>16)-128;ue=it(re,E,ue,y,v),Me=it(q,b,Me,Q,I),He=it(le,b,He,Q,I),Ye+=32}$+=8}if(R>=0){var Ir=[];Ir[1]=R+1,Ir[0]=(1<<R+1)-1,G(Ir)}if(D(65497),typeof e>"u")return new Uint8Array(O);return Buffer.from(O);var hr,Fr};function Xe(te){if(te<=0&&(te=1),te>100&&(te=100),se!=te){var ve=0;te<50?ve=Math.floor(5e3/te):ve=Math.floor(200-te*2),N(ve),se=te}}function wt(){var te=new Date().getTime();l||(l=50),Ze(),z(),j(),K(),Xe(l);var ve=new Date().getTime()-te}wt()}typeof e<"u"?e.exports=A:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=A);function A(l,u){typeof u>"u"&&(u=50);var f=new o(u),p=f.encode(l,u);return{data:p,width:l.width,height:l.height}}}),PF=Ge((r,e)=>{var i=(function(){"use strict";var A=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,u=799,f=3406,p=2276,g=1567,m=3784,E=5793,b=2896;function y(){}function Q(O,P){for(var R=0,re=[],q,le,Ae=16;Ae>0&&!O[Ae-1];)Ae--;re.push({children:[],index:0});var ie=re[0],se;for(q=0;q<Ae;q++){for(le=0;le<O[q];le++){for(ie=re.pop(),ie.children[ie.index]=P[R];ie.index>0;){if(re.length===0)throw new Error("Could not recreate Huffman Table");ie=re.pop()}for(ie.index++,re.push(ie);re.length<=q;)re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se;R++}q+1<Ae&&(re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se)}return re[0].children}function v(O,P,R,re,q,le,Ae,ie,se,ye){var fe=R.precision,Pe=R.samplesPerLine,Be=R.scanLines,Ee=R.mcusPerLine,me=R.progressive,ke=R.maxH,Fe=R.maxV,W=P,N=0,J=0;function z(){if(J>0)return J--,N>>J&1;if(N=O[P++],N==255){var de=O[P++];if(de)throw new Error("unexpected marker: "+(N<<8|de).toString(16))}return J=7,N>>>7}function j(de){for(var ge=de,ae;(ae=z())!==null;){if(ge=ge[ae],typeof ge=="number")return ge;if(typeof ge!="object")throw new Error("invalid huffman sequence")}return null}function K(de){for(var ge=0;de>0;){var ae=z();if(ae===null)return;ge=ge<<1|ae,de--}return ge}function G(de){var ge=K(de);return ge>=1<<de-1?ge:ge+(-1<<de)+1}function X(de,ge){var ae=j(de.huffmanTableDC),Ye=ae===0?0:G(ae);ge[0]=de.pred+=Ye;for(var $=1;$<64;){var _e=j(de.huffmanTableAC),Ue=_e&15,je=_e>>4;if(Ue===0){if(je<15)break;$+=16;continue}$+=je;var at=A[$];ge[at]=G(Ue),$++}}function D(de,ge){var ae=j(de.huffmanTableDC),Ye=ae===0?0:G(ae)<<se;ge[0]=de.pred+=Ye}function pe(de,ge){ge[0]|=z()<<se}var ce=0;function Qe(de,ge){if(ce>0){ce--;return}for(var ae=le,Ye=Ae;ae<=Ye;){var $=j(de.huffmanTableAC),_e=$&15,Ue=$>>4;if(_e===0){if(Ue<15){ce=K(Ue)+(1<<Ue)-1;break}ae+=16;continue}ae+=Ue;var je=A[ae];ge[je]=G(_e)*(1<<se),ae++}}var Z=0,H;function ne(de,ge){for(var ae=le,Ye=Ae,$=0;ae<=Ye;){var _e=A[ae],Ue=ge[_e]<0?-1:1;switch(Z){case 0:var je=j(de.huffmanTableAC),at=je&15,$=je>>4;if(at===0)$<15?(ce=K($)+(1<<$),Z=4):($=16,Z=1);else{if(at!==1)throw new Error("invalid ACn encoding");H=G(at),Z=$?2:3}continue;case 1:case 2:ge[_e]?ge[_e]+=(z()<<se)*Ue:($--,$===0&&(Z=Z==2?3:0));break;case 3:ge[_e]?ge[_e]+=(z()<<se)*Ue:(ge[_e]=H<<se,Z=0);break;case 4:ge[_e]&&(ge[_e]+=(z()<<se)*Ue);break}ae++}Z===4&&(ce--,ce===0&&(Z=0))}function Oe(de,ge,ae,Ye,$){var _e=ae/Ee|0,Ue=ae%Ee,je=_e*de.v+Ye,at=Ue*de.h+$;de.blocks[je]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[je][at])}function De(de,ge,ae){var Ye=ae/de.blocksPerLine|0,$=ae%de.blocksPerLine;de.blocks[Ye]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[Ye][$])}var it=re.length,Ze,Xe,wt,te,ve,be;me?le===0?be=ie===0?D:pe:be=ie===0?Qe:ne:be=X;var ue=0,Me,He;it==1?He=re[0].blocksPerLine*re[0].blocksPerColumn:He=Ee*R.mcusPerColumn,q||(q=He);for(var Le,Ne;ue<He;){for(Xe=0;Xe<it;Xe++)re[Xe].pred=0;if(ce=0,it==1)for(Ze=re[0],ve=0;ve<q;ve++)De(Ze,be,ue),ue++;else for(ve=0;ve<q;ve++){for(Xe=0;Xe<it;Xe++)for(Ze=re[Xe],Le=Ze.h,Ne=Ze.v,wt=0;wt<Ne;wt++)for(te=0;te<Le;te++)Oe(Ze,be,ue,wt,te);if(ue++,ue===He)break}if(ue===He)do{if(O[P]===255&&O[P+1]!==0)break;P+=1}while(P<O.length-2);if(J=0,Me=O[P]<<8|O[P+1],Me<65280)throw new Error("marker was not found");if(Me>=65488&&Me<=65495)P+=2;else break}return P-W}function I(O,P){var R=[],re=P.blocksPerLine,q=P.blocksPerColumn,le=re<<3,Ae=new Int32Array(64),ie=new Uint8Array(64);function se(W,N,J){var z=P.quantizationTable,j,K,G,X,D,pe,ce,Qe,Z,H=J,ne;for(ne=0;ne<64;ne++)H[ne]=W[ne]*z[ne];for(ne=0;ne<8;++ne){var Oe=8*ne;if(H[1+Oe]==0&&H[2+Oe]==0&&H[3+Oe]==0&&H[4+Oe]==0&&H[5+Oe]==0&&H[6+Oe]==0&&H[7+Oe]==0){Z=E*H[0+Oe]+512>>10,H[0+Oe]=Z,H[1+Oe]=Z,H[2+Oe]=Z,H[3+Oe]=Z,H[4+Oe]=Z,H[5+Oe]=Z,H[6+Oe]=Z,H[7+Oe]=Z;continue}j=E*H[0+Oe]+128>>8,K=E*H[4+Oe]+128>>8,G=H[2+Oe],X=H[6+Oe],D=b*(H[1+Oe]-H[7+Oe])+128>>8,Qe=b*(H[1+Oe]+H[7+Oe])+128>>8,pe=H[3+Oe]<<4,ce=H[5+Oe]<<4,Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+X*g+128>>8,G=G*g-X*m+128>>8,X=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+pe+1>>1,pe=Qe-pe+1>>1,Qe=Z,Z=j-X+1>>1,j=j+X+1>>1,X=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*p+Qe*f+2048>>12,D=D*f-Qe*p+2048>>12,Qe=Z,Z=pe*u+ce*l+2048>>12,pe=pe*l-ce*u+2048>>12,ce=Z,H[0+Oe]=j+Qe,H[7+Oe]=j-Qe,H[1+Oe]=K+ce,H[6+Oe]=K-ce,H[2+Oe]=G+pe,H[5+Oe]=G-pe,H[3+Oe]=X+D,H[4+Oe]=X-D}for(ne=0;ne<8;++ne){var De=ne;if(H[8+De]==0&&H[16+De]==0&&H[24+De]==0&&H[32+De]==0&&H[40+De]==0&&H[48+De]==0&&H[56+De]==0){Z=E*J[ne+0]+8192>>14,H[0+De]=Z,H[8+De]=Z,H[16+De]=Z,H[24+De]=Z,H[32+De]=Z,H[40+De]=Z,H[48+De]=Z,H[56+De]=Z;continue}j=E*H[0+De]+2048>>12,K=E*H[32+De]+2048>>12,G=H[16+De],X=H[48+De],D=b*(H[8+De]-H[56+De])+2048>>12,Qe=b*(H[8+De]+H[56+De])+2048>>12,pe=H[24+De],ce=H[40+De],Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+X*g+2048>>12,G=G*g-X*m+2048>>12,X=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+pe+1>>1,pe=Qe-pe+1>>1,Qe=Z,Z=j-X+1>>1,j=j+X+1>>1,X=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*p+Qe*f+2048>>12,D=D*f-Qe*p+2048>>12,Qe=Z,Z=pe*u+ce*l+2048>>12,pe=pe*l-ce*u+2048>>12,ce=Z,H[0+De]=j+Qe,H[56+De]=j-Qe,H[8+De]=K+ce,H[48+De]=K-ce,H[16+De]=G+pe,H[40+De]=G-pe,H[24+De]=X+D,H[32+De]=X-D}for(ne=0;ne<64;++ne){var it=128+(H[ne]+8>>4);N[ne]=it<0?0:it>255?255:it}}M(le*q*8);for(var ye,fe,Pe=0;Pe<q;Pe++){var Be=Pe<<3;for(ye=0;ye<8;ye++)R.push(new Uint8Array(le));for(var Ee=0;Ee<re;Ee++){se(P.blocks[Pe][Ee],ie,Ae);var me=0,ke=Ee<<3;for(fe=0;fe<8;fe++){var Fe=R[Be+fe];for(ye=0;ye<8;ye++)Fe[ke+ye]=ie[me++]}}}return R}function F(O){return O<0?0:O>255?255:O}y.prototype={load:function(O){var P=new XMLHttpRequest;P.open("GET",O,!0),P.responseType="arraybuffer",P.onload=function(){var R=new Uint8Array(P.response||P.mozResponseArrayBuffer);this.parse(R),this.onload&&this.onload()}.bind(this),P.send(null)},parse:function(O){var P=this.opts.maxResolutionInMP*1e3*1e3,R=0,re=O.length;function q(){var Ue=O[R]<<8|O[R+1];return R+=2,Ue}function le(){var Ue=q(),je=O.subarray(R,R+Ue-2);return R+=je.length,je}function Ae(Ue){var je=1,at=1,Ke,ut;for(ut in Ue.components)Ue.components.hasOwnProperty(ut)&&(Ke=Ue.components[ut],je<Ke.h&&(je=Ke.h),at<Ke.v&&(at=Ke.v));var bt=Math.ceil(Ue.samplesPerLine/8/je),xt=Math.ceil(Ue.scanLines/8/at);for(ut in Ue.components)if(Ue.components.hasOwnProperty(ut)){Ke=Ue.components[ut];var Ir=Math.ceil(Math.ceil(Ue.samplesPerLine/8)*Ke.h/je),hr=Math.ceil(Math.ceil(Ue.scanLines/8)*Ke.v/at),Fr=bt*Ke.h,Tr=xt*Ke.v,ht=Tr*Fr,V=[];M(ht*256);for(var Vr=0;Vr<Tr;Vr++){for(var he=[],fr=0;fr<Fr;fr++)he.push(new Int32Array(64));V.push(he)}Ke.blocksPerLine=Ir,Ke.blocksPerColumn=hr,Ke.blocks=V}Ue.maxH=je,Ue.maxV=at,Ue.mcusPerLine=bt,Ue.mcusPerColumn=xt}var ie=null,se=null,ye=null,fe,Pe,Be=[],Ee=[],me=[],ke=[],Fe=q(),W=-1;if(this.comments=[],Fe!=65496)throw new Error("SOI not found");for(Fe=q();Fe!=65497;){var N,J,z;switch(Fe){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var j=le();if(Fe===65534){var K=String.fromCharCode.apply(null,j);this.comments.push(K)}Fe===65504&&j[0]===74&&j[1]===70&&j[2]===73&&j[3]===70&&j[4]===0&&(ie={version:{major:j[5],minor:j[6]},densityUnits:j[7],xDensity:j[8]<<8|j[9],yDensity:j[10]<<8|j[11],thumbWidth:j[12],thumbHeight:j[13],thumbData:j.subarray(14,14+3*j[12]*j[13])}),Fe===65505&&j[0]===69&&j[1]===120&&j[2]===105&&j[3]===102&&j[4]===0&&(this.exifBuffer=j.subarray(5,j.length)),Fe===65518&&j[0]===65&&j[1]===100&&j[2]===111&&j[3]===98&&j[4]===101&&j[5]===0&&(se={version:j[6],flags0:j[7]<<8|j[8],flags1:j[9]<<8|j[10],transformCode:j[11]});break;case 65499:for(var G=q(),X=G+R-2;R<X;){var D=O[R++];M(256);var pe=new Int32Array(64);if(D>>4)if(D>>4===1)for(J=0;J<64;J++){var ce=A[J];pe[ce]=q()}else throw new Error("DQT: invalid table spec");else for(J=0;J<64;J++){var ce=A[J];pe[ce]=O[R++]}Be[D&15]=pe}break;case 65472:case 65473:case 65474:q(),fe={},fe.extended=Fe===65473,fe.progressive=Fe===65474,fe.precision=O[R++],fe.scanLines=q(),fe.samplesPerLine=q(),fe.components={},fe.componentsOrder=[];var Qe=fe.scanLines*fe.samplesPerLine;if(Qe>P){var Z=Math.ceil((Qe-P)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${Z}MP`)}var H=O[R++],ne,Oe=0,De=0;for(N=0;N<H;N++){ne=O[R];var it=O[R+1]>>4,Ze=O[R+1]&15,Xe=O[R+2];if(it<=0||Ze<=0)throw new Error("Invalid sampling factor, expected values above 0");fe.componentsOrder.push(ne),fe.components[ne]={h:it,v:Ze,quantizationIdx:Xe},R+=3}Ae(fe),Ee.push(fe);break;case 65476:var wt=q();for(N=2;N<wt;){var te=O[R++],ve=new Uint8Array(16),be=0;for(J=0;J<16;J++,R++)be+=ve[J]=O[R];M(16+be);var ue=new Uint8Array(be);for(J=0;J<be;J++,R++)ue[J]=O[R];N+=17+be,(te>>4?me:ke)[te&15]=Q(ve,ue)}break;case 65501:q(),Pe=q();break;case 65500:q(),q();break;case 65498:var Me=q(),He=O[R++],Le=[],Ne;for(N=0;N<He;N++){Ne=fe.components[O[R++]];var de=O[R++];Ne.huffmanTableDC=ke[de>>4],Ne.huffmanTableAC=me[de&15],Le.push(Ne)}var ge=O[R++],ae=O[R++],Ye=O[R++],$=v(O,R,fe,Le,Pe,ge,ae,Ye>>4,Ye&15,this.opts);R+=$;break;case 65535:O[R]!==255&&R--;break;default:if(O[R-3]==255&&O[R-2]>=192&&O[R-2]<=254){R-=3;break}else if(Fe===224||Fe==225){if(W!==-1)throw new Error(`first unknown JPEG marker at offset ${W.toString(16)}, second unknown JPEG marker ${Fe.toString(16)} at offset ${(R-1).toString(16)}`);W=R-1;let Ue=q();if(O[R+Ue-2]===255){R+=Ue-2;break}}throw new Error("unknown JPEG marker "+Fe.toString(16))}Fe=q()}if(Ee.length!=1)throw new Error("only single frame JPEGs supported");for(var N=0;N<Ee.length;N++){var _e=Ee[N].components;for(var J in _e)_e[J].quantizationTable=Be[_e[J].quantizationIdx],delete _e[J].quantizationIdx}this.width=fe.samplesPerLine,this.height=fe.scanLines,this.jfif=ie,this.adobe=se,this.components=[];for(var N=0;N<fe.componentsOrder.length;N++){var Ne=fe.components[fe.componentsOrder[N]];this.components.push({lines:I(fe,Ne),scaleX:Ne.h/fe.maxH,scaleY:Ne.v/fe.maxV})}},getData:function(O,P){var R=this.width/O,re=this.height/P,q,le,Ae,ie,se,ye,fe,Pe,Be,Ee,me=0,ke,Fe,W,N,J,z,j,K,G,X,D,pe=O*P*this.components.length;M(pe);var ce=new Uint8Array(pe);switch(this.components.length){case 1:for(q=this.components[0],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],Be=0;Be<O;Be++)ke=se[0|Be*q.scaleX*R],ce[me++]=ke;break;case 2:for(q=this.components[0],le=this.components[1],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],Be=0;Be<O;Be++)ke=se[0|Be*q.scaleX*R],ce[me++]=ke,ke=ye[0|Be*le.scaleX*R],ce[me++]=ke;break;case 3:for(D=!0,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],fe=Ae.lines[0|Ee*Ae.scaleY*re],Be=0;Be<O;Be++)D?(ke=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=fe[0|Be*Ae.scaleX*R],K=F(ke+1.402*(W-128)),G=F(ke-.3441363*(Fe-128)-.71413636*(W-128)),X=F(ke+1.772*(Fe-128))):(K=se[0|Be*q.scaleX*R],G=ye[0|Be*le.scaleX*R],X=fe[0|Be*Ae.scaleX*R]),ce[me++]=K,ce[me++]=G,ce[me++]=X;break;case 4:if(!this.adobe)throw new Error("Unsupported color mode (4 components)");for(D=!1,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],ie=this.components[3],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],fe=Ae.lines[0|Ee*Ae.scaleY*re],Pe=ie.lines[0|Ee*ie.scaleY*re],Be=0;Be<O;Be++)D?(ke=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=fe[0|Be*Ae.scaleX*R],N=Pe[0|Be*ie.scaleX*R],J=255-F(ke+1.402*(W-128)),z=255-F(ke-.3441363*(Fe-128)-.71413636*(W-128)),j=255-F(ke+1.772*(Fe-128))):(J=se[0|Be*q.scaleX*R],z=ye[0|Be*le.scaleX*R],j=fe[0|Be*Ae.scaleX*R],N=Pe[0|Be*ie.scaleX*R]),ce[me++]=255-J,ce[me++]=255-z,ce[me++]=255-j,ce[me++]=255-N;break;default:throw new Error("Unsupported color mode")}return ce},copyToImageData:function(O,P){var R=O.width,re=O.height,q=O.data,le=this.getData(R,re),Ae=0,ie=0,se,ye,fe,Pe,Be,Ee,me,ke,Fe;switch(this.components.length){case 1:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)fe=le[Ae++],q[ie++]=fe,q[ie++]=fe,q[ie++]=fe,P&&(q[ie++]=255);break;case 3:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)me=le[Ae++],ke=le[Ae++],Fe=le[Ae++],q[ie++]=me,q[ie++]=ke,q[ie++]=Fe,P&&(q[ie++]=255);break;case 4:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)Be=le[Ae++],Ee=le[Ae++],fe=le[Ae++],Pe=le[Ae++],me=255-F(Be*(1-Pe/255)+Pe),ke=255-F(Ee*(1-Pe/255)+Pe),Fe=255-F(fe*(1-Pe/255)+Pe),q[ie++]=me,q[ie++]=ke,q[ie++]=Fe,P&&(q[ie++]=255);break;default:throw new Error("Unsupported color mode")}}};var k=0,_=0;function M(O=0){var P=k+O;if(P>_){var R=Math.ceil((P-_)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${R}MB`)}k=P}return y.resetMaxMemoryUsage=function(O){k=0,_=O},y.getBytesAllocated=function(){return k},y.requestMemoryAllocation=M,y})();typeof e<"u"?e.exports=o:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=o);function o(A,l={}){var u={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},f={...u,...l},p=new Uint8Array(A),g=new i;g.opts=f,i.resetMaxMemoryUsage(f.maxMemoryUsageInMB*1024*1024),g.parse(p);var m=f.formatAsRGBA?4:3,E=g.width*g.height*m;try{i.requestMemoryAllocation(E);var b={width:g.width,height:g.height,exifBuffer:g.exifBuffer,data:f.useTArray?new Uint8Array(E):Buffer.alloc(E)};g.comments.length>0&&(b.comments=g.comments)}catch(y){throw y instanceof RangeError?new Error("Could not allocate enough memory for the image. Required: "+E):y instanceof ReferenceError&&y.message==="Buffer is not defined"?new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true"):y}return g.copyToImageData(b,f.formatAsRGBA),b}}),HF=Ge((r,e)=>{var i=LF(),o=PF();e.exports={encode:i,decode:o}}),h0={};BF(h0,{Bitmap:()=>Qo,Context:()=>m0,debug_list_of_fonts:()=>ZF,decodeJPEGFromStream:()=>cT,decodePNGFromStream:()=>AT,encodeJPEGToStream:()=>lT,encodePNGToStream:()=>aT,make:()=>oT,measureText:()=>Gl,processTextPath:()=>Yl,registerFont:()=>_F});C0.exports=EF(h0);var Ml=(r=>(r[r.transparent=0]="transparent",r[r.aliceblue=4042850303]="aliceblue",r[r.antiquewhite=4209760255]="antiquewhite",r[r.aqua=16777215]="aqua",r[r.aquamarine=2147472639]="aquamarine",r[r.azure=4043309055]="azure",r[r.beige=4126530815]="beige",r[r.bisque=4293182719]="bisque",r[r.black=255]="black",r[r.blanchedalmond=4293643775]="blanchedalmond",r[r.blue=65535]="blue",r[r.blueviolet=2318131967]="blueviolet",r[r.brown=2771004159]="brown",r[r.burlywood=3736635391]="burlywood",r[r.cadetblue=1604231423]="cadetblue",r[r.chartreuse=2147418367]="chartreuse",r[r.chocolate=3530104575]="chocolate",r[r.coral=4286533887]="coral",r[r.cornflowerblue=1687547391]="cornflowerblue",r[r.cornsilk=4294499583]="cornsilk",r[r.crimson=3692313855]="crimson",r[r.cyan=16777215]="cyan",r[r.darkblue=35839]="darkblue",r[r.darkcyan=9145343]="darkcyan",r[r.darkgoldenrod=3095792639]="darkgoldenrod",r[r.darkgray=2846468607]="darkgray",r[r.darkgreen=6553855]="darkgreen",r[r.darkgrey=2846468607]="darkgrey",r[r.darkkhaki=3182914559]="darkkhaki",r[r.darkmagenta=2332068863]="darkmagenta",r[r.darkolivegreen=1433087999]="darkolivegreen",r[r.darkorange=4287365375]="darkorange",r[r.darkorchid=2570243327]="darkorchid",r[r.darkred=2332033279]="darkred",r[r.darksalmon=3918953215]="darksalmon",r[r.darkseagreen=2411499519]="darkseagreen",r[r.darkslateblue=1211993087]="darkslateblue",r[r.darkslategray=793726975]="darkslategray",r[r.darkslategrey=793726975]="darkslategrey",r[r.darkturquoise=13554175]="darkturquoise",r[r.darkviolet=2483082239]="darkviolet",r[r.deeppink=4279538687]="deeppink",r[r.deepskyblue=12582911]="deepskyblue",r[r.dimgray=1768516095]="dimgray",r[r.dimgrey=1768516095]="dimgrey",r[r.dodgerblue=512819199]="dodgerblue",r[r.firebrick=2988581631]="firebrick",r[r.floralwhite=4294635775]="floralwhite",r[r.forestgreen=579543807]="forestgreen",r[r.fuchsia=4278255615]="fuchsia",r[r.gainsboro=3705462015]="gainsboro",r[r.ghostwhite=4177068031]="ghostwhite",r[r.gold=4292280575]="gold",r[r.goldenrod=3668254975]="goldenrod",r[r.gray=2155905279]="gray",r[r.green=8388863]="green",r[r.greenyellow=2919182335]="greenyellow",r[r.grey=2155905279]="grey",r[r.honeydew=4043305215]="honeydew",r[r.hotpink=4285117695]="hotpink",r[r.indianred=3445382399]="indianred",r[r.indigo=1258324735]="indigo",r[r.ivory=4294963455]="ivory",r[r.khaki=4041641215]="khaki",r[r.lavender=3873897215]="lavender",r[r.lavenderblush=4293981695]="lavenderblush",r[r.lawngreen=2096890111]="lawngreen",r[r.lemonchiffon=4294626815]="lemonchiffon",r[r.lightblue=2916673279]="lightblue",r[r.lightcoral=4034953471]="lightcoral",r[r.lightcyan=3774873599]="lightcyan",r[r.lightgoldenrodyellow=4210742015]="lightgoldenrodyellow",r[r.lightgray=3553874943]="lightgray",r[r.lightgreen=2431553791]="lightgreen",r[r.lightgrey=3553874943]="lightgrey",r[r.lightpink=4290167295]="lightpink",r[r.lightsalmon=4288707327]="lightsalmon",r[r.lightseagreen=548580095]="lightseagreen",r[r.lightskyblue=2278488831]="lightskyblue",r[r.lightslategray=2005441023]="lightslategray",r[r.lightslategrey=2005441023]="lightslategrey",r[r.lightsteelblue=2965692159]="lightsteelblue",r[r.lightyellow=4294959359]="lightyellow",r[r.lime=16711935]="lime",r[r.limegreen=852308735]="limegreen",r[r.linen=4210091775]="linen",r[r.magenta=4278255615]="magenta",r[r.maroon=2147483903]="maroon",r[r.mediumaquamarine=1724754687]="mediumaquamarine",r[r.mediumblue=52735]="mediumblue",r[r.mediumorchid=3126187007]="mediumorchid",r[r.mediumpurple=2473647103]="mediumpurple",r[r.mediumseagreen=1018393087]="mediumseagreen",r[r.mediumslateblue=2070474495]="mediumslateblue",r[r.mediumspringgreen=16423679]="mediumspringgreen",r[r.mediumturquoise=1221709055]="mediumturquoise",r[r.mediumvioletred=3340076543]="mediumvioletred",r[r.midnightblue=421097727]="midnightblue",r[r.mintcream=4127193855]="mintcream",r[r.mistyrose=4293190143]="mistyrose",r[r.moccasin=4293178879]="moccasin",r[r.navajowhite=4292783615]="navajowhite",r[r.navy=33023]="navy",r[r.oldlace=4260751103]="oldlace",r[r.olive=2155872511]="olive",r[r.olivedrab=1804477439]="olivedrab",r[r.orange=4289003775]="orange",r[r.orangered=4282712319]="orangered",r[r.orchid=3664828159]="orchid",r[r.palegoldenrod=4008225535]="palegoldenrod",r[r.palegreen=2566625535]="palegreen",r[r.paleturquoise=2951671551]="paleturquoise",r[r.palevioletred=3681588223]="palevioletred",r[r.papayawhip=4293907967]="papayawhip",r[r.peachpuff=4292524543]="peachpuff",r[r.peru=3448061951]="peru",r[r.pink=4290825215]="pink",r[r.plum=3718307327]="plum",r[r.powderblue=2967529215]="powderblue",r[r.purple=2147516671]="purple",r[r.rebeccapurple=1714657791]="rebeccapurple",r[r.red=4278190335]="red",r[r.rosybrown=3163525119]="rosybrown",r[r.royalblue=1097458175]="royalblue",r[r.saddlebrown=2336560127]="saddlebrown",r[r.salmon=4202722047]="salmon",r[r.sandybrown=4104413439]="sandybrown",r[r.seagreen=780883967]="seagreen",r[r.seashell=4294307583]="seashell",r[r.sienna=2689740287]="sienna",r[r.silver=3233857791]="silver",r[r.skyblue=2278484991]="skyblue",r[r.slateblue=1784335871]="slateblue",r[r.slategray=1887473919]="slategray",r[r.slategrey=1887473919]="slategrey",r[r.snow=4294638335]="snow",r[r.springgreen=16744447]="springgreen",r[r.steelblue=1182971135]="steelblue",r[r.tan=3535047935]="tan",r[r.teal=8421631]="teal",r[r.thistle=3636451583]="thistle",r[r.tomato=4284696575]="tomato",r[r.turquoise=1088475391]="turquoise",r[r.violet=4001558271]="violet",r[r.wheat=4125012991]="wheat",r[r.white=4294967295]="white",r[r.whitesmoke=4126537215]="whitesmoke",r[r.yellow=4294902015]="yellow",r[r.yellowgreen=2597139199]="yellowgreen",r))(Ml||{}),cn=function(r,e,i,o){return(r<<24|e<<16|i<<8|o)>>>0},wo=function(r,e){return r>>>8*(3-e)&255},An=function(r){return[wo(r,0),wo(r,1),wo(r,2),wo(r,3)]},yo=function(r){return r>>>0},ai=function(r,...e){let i=r;for(let o=0;o<e.length;o+=1)i=i|e[o];return i>>>0},Co=function(r,...e){let i=r;for(let o=0;o<e.length;o+=1)i=i&e[o];return i>>>0},Fl=function(r,e){return r<<e>>>0};function Rl(r,e,i){return r<e?e:r>i?i:r}var WF=function(r,e,i){return r+(e-r)*i};function Ul(r){if(!r)return 0;if(r.indexOf("#")===0){if(r.length===4){let e=parseInt(r[1],16),i=e<<4|e,o=parseInt(r[2],16),A=o<<4|o,l=parseInt(r[3],16),u=l<<4|l,f=yo(i<<16|A<<8|u);return f=Fl(f,8),ai(f,255)}else if(r.length===5){let e=parseInt(r[1],16),i=e<<4|e,o=parseInt(r[2],16),A=o<<4|o,l=parseInt(r[3],16),u=l<<4|l,f=parseInt(r[4],16),p=f<<4|f,g=yo(i<<16|A<<8|u);return g=Fl(g,8),ai(g,p)}else if(r.length===7){let e=yo(parseInt(r.substring(1),16));return e=Fl(e,8),ai(e,255)}else if(r.length===9)return yo(parseInt(r.substring(1),16))}if(r.indexOf("rgba")===0){let e=r.trim().substring(4).replace("(","").replace(")","").split(",");return cn(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),Math.floor(parseFloat(e[3])*255))}if(r.indexOf("rgb")===0){let e=r.trim().substring(3).replace("(","").replace(")","").split(",");return cn(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),255)}if(Ai.call(Ml,r))return Ml[r];throw new Error("unknown style format: "+r)}var Ai=Object.hasOwnProperty;function JF(r,e=Uint8Array){let i=r.reduce((l,u)=>l+u.length,0);if(!r.length)return null;let o=new e(i),A=0;for(let l of r)o.set(l,A),A+=l.length;return o}var Tl=class{constructor(...r){if(r.length===4){this.start={},this.end={},[this.start.x,this.start.y,this.end.x,this.end.y]=r;for(let e in r)if(Ai.call(r,e)&&typeof r[e]!="number")throw TypeError("When passing 4 arguments, only numbers may be passed")}else if(r.length===2)[this.start,this.end]=r;else throw Error("Please pass either two Point objects, or 4 integers to the constructor")}getLength(){return Math.sqrt(Math.pow(this.start.x-this.end.x,2)+Math.pow(this.start.y-this.end.y,2))}is_invalid(){return!!(Number.isNaN(this.start.x)||Number.isNaN(this.end.x)||Number.isNaN(this.start.y)||Number.isNaN(this.end.y)||this.start.x>Number.MAX_SAFE_INTEGER||this.start.y>Number.MAX_SAFE_INTEGER||this.end.x>Number.MAX_SAFE_INTEGER||this.end.y>Number.MAX_SAFE_INTEGER)}},lt=class Wr{constructor(e,i){this.x=e,this.y=i}clone(){return new Wr(this.x,this.y)}distance(e){return Math.sqrt(Math.pow(e.x-this.x,2)+Math.pow(e.y-this.y,2))}add(e){return new Wr(this.x+e.x,this.y+e.y)}subtract(e){return new Wr(this.x-e.x,this.y-e.y)}magnitude(){return Math.sqrt(this.dotProduct(this))}dotProduct(e){return this.x*e.x+this.y*e.y}divide(e){return new Wr(this.x/e,this.y/e)}floor(){return new Wr(Math.floor(this.x),Math.floor(this.y))}round(){return new Wr(Math.round(this.x),Math.round(this.y))}unit(){return this.divide(this.magnitude())}rotate(e){return new Wr(Math.cos(e)*this.x-Math.sin(e)*this.y,Math.sin(e)*this.x+Math.cos(e)*this.y)}scale(e){return new Wr(this.x*e,this.y*e)}equals(e){return this.x===e.x&&this.y===e.y}},Gm=r=>Math.PI/180*r;function VF(r){let e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,A=Number.NEGATIVE_INFINITY;return r.forEach(l=>{e=Math.min(e,l.x),i=Math.min(i,l.y),o=Math.max(o,l.x),A=Math.max(A,l.y)}),new kl(e,i,o,A)}var kl=class f0{constructor(e,i,o,A){this.x1=e,this.y1=i,this.x2=o,this.y2=A}contains(e){return!(e.x<this.x1||e.x>=this.x2||e.y<this.y1||e.y>=this.y2)}intersect(e){let i=Math.max(this.x1,e.x1),o=Math.max(this.y1,e.y1),A=Math.min(this.x2,e.x2),l=Math.min(this.y2,e.y2);return new f0(i,o,A,l)}},Lm=Ol(FF(),1),ln={},jF=class{constructor(r,e,i,o,A){this.binary=r,this.family=e,this.weight=i,this.style=o,this.variant=A,this.loaded=!1,this.font=null}_load(r){if(this.loaded){r&&r();return}let e=function(i,o){if(i)throw new Error("Could not load font: "+i);this.loaded=!0,this.font=o,r&&r()}.bind(this);Lm.load(this.binary,e)}loadSync(){if(this.loaded)return this;try{return this.font=Lm.loadSync(this.binary),this.loaded=!0,this}catch(r){throw new Error("Could not load font: "+r)}}load(){return this.loadPromise()}loadPromise(){return new Promise((r,e)=>{this._load(()=>r())})}};function _F(r,e,i,o,A){return ln[e]=new jF(r,e,i,o,A),ln[e]}var ZF=ln;function p0(r){return ln[r]||(r=Object.keys(ln)[0]),ln[r]}function Yl(r,e,i,o,A,l,u){let f=p0(r._font.family);if(!f){console.warn("Font missing",r._font);return}let p=Gl(r,e);(l==="end"||l==="right")&&(i=i-p.width),l==="center"&&(i=i-p.width/2),u==="top"&&(o=o+p.emHeightAscent),u==="middle"&&(o=o+p.emHeightAscent/2+p.emHeightDescent/2),u==="bottom"&&(o=o+p.emHeightDescent);let g=r._font.size;if(!f.loaded){console.warn("font not loaded yet",r._font);return}let m=f.font.getPath(e,i,o,g);r.beginPath(),m.commands.forEach(function(E){switch(E.type){case"M":r.moveTo(E.x,E.y);break;case"Q":r.quadraticCurveTo(E.x1,E.y1,E.x,E.y);break;case"L":r.lineTo(E.x,E.y);break;case"C":r.bezierCurveTo(E.x1,E.y1,E.x2,E.y2,E.x,E.y);break;case"Z":{r.closePath(),A?r.fill():r.stroke(),r.beginPath();break}}})}function Gl(r,e){let i=p0(r._font.family);if(!i)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};if(!i.font)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};let o=r._font.size,A=i.font.stringToGlyphs(e),l=0;return A.forEach(function(u){l+=u.advanceWidth}),{width:l/i.font.unitsPerEm*o,emHeightAscent:i.font.ascender/i.font.unitsPerEm*o,emHeightDescent:i.font.descender/i.font.unitsPerEm*o}}var Ii=class{constructor(){this.stops=[]}addColorStop(r,e){let i=Ul(""+e);this.stops.push({t:r,color:i})}_lerpStops(r){r<0&&(r+=1),r>1&&(r-=1);let e=this.stops.slice().reverse().find(p=>p.t<=r),i=this.stops.find(p=>p.t>r);i||(i=this.stops.at(-1));let o=d0(r,e.t,i.t,0,1),A=p=>An(p).map(g=>g/255),l=A(e.color),u=A(i.color),f=l.map((p,g)=>WF(p,u[g],o));return(p=>{let g=p.map(m=>m*255);return cn(g[0],g[1],g[2],255)})(f)}},XF=class extends Ii{constructor(r,e,i,o){super(),this.start=new lt(r,e),this.end=new lt(i,o)}colorAt(r,e){let i=new lt(r,e),o=this.end.subtract(this.start),A=o.magnitude();o=o.divide(A);let l=i.subtract(this.start).dotProduct(o);return l=Rl(l/A,0,1),this._lerpStops(l)}},zF=class extends Ii{constructor(r,e,i,o){super(),this.start=new lt(r,e)}colorAt(r,e){let i=new lt(r,e).distance(this.start),o=Rl(i/10,0,1);return this._lerpStops(o)}};function d0(r,e,i,o,A){return(r-e)/(i-e)*(A-o)+o}var qF=class extends Ii{constructor(r,e,i){super(),this.angle=r,this.start=new lt(e,i)}colorAt(r,e){let i=this.start.subtract(new lt(r,e)),o=Math.atan2(i.y,i.x)-this.angle,A=d0(o,-Math.PI,Math.PI,0,1);return this._lerpStops(A)}},Pm=[1,0,0,1,0,0],KF=class g0{constructor(e){this.context=e,this.matrix=[1,0,0,1,0,0],this.stack=[]}getMatrix(){return this.matrix}setMatrix(e){this.matrix=[e[0],e[1],e[2],e[3],e[4],e[5]],this.setTransform()}cloneMatrix(e){return[e[0],e[1],e[2],e[3],e[4],e[5]]}cloneTransform(){let e=new g0;return e.setMatrix(this.getMatrix()),e}identity(){this.matrix=Pm,this.setTransform()}isIdentity(){for(let e=0;e<this.matrix.length;e++)if(this.matrix[e]!==Pm[e])return!1;return!0}fromDomMatrix(e){return[e.a,e.b,e.c,e.d,e.e,e.f]}asDomMatrix(){return{is2D:!0,isIdentity:!1,a:this.matrix[0],b:this.matrix[1],c:this.matrix[2],d:this.matrix[3],e:this.matrix[4]}}multiply(e){let i=this.matrix[0]*e[0]+this.matrix[2]*e[1],o=this.matrix[1]*e[0]+this.matrix[3]*e[1],A=this.matrix[0]*e[2]+this.matrix[2]*e[3],l=this.matrix[1]*e[2]+this.matrix[3]*e[3],u=this.matrix[0]*e[4]+this.matrix[2]*e[5]+this.matrix[4],f=this.matrix[1]*e[4]+this.matrix[3]*e[5]+this.matrix[5];this.matrix[0]=i,this.matrix[1]=o,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=f,this.setTransform()}invert(){let e=1/(this.matrix[0]*this.matrix[3]-this.matrix[1]*this.matrix[2]),i=this.matrix[3]*e,o=-this.matrix[1]*e,A=-this.matrix[2]*e,l=this.matrix[0]*e,u=e*(this.matrix[2]*this.matrix[5]-this.matrix[3]*this.matrix[4]),f=e*(this.matrix[1]*this.matrix[4]-this.matrix[0]*this.matrix[5]);this.matrix[0]=i,this.matrix[1]=o,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=f,this.setTransform()}save(){let e=this.cloneMatrix(this.getMatrix());this.stack.push(e),this.context&&this.context.save()}restore(){if(this.stack.length>0){let e=this.stack.pop();this.setMatrix(e)}this.context&&this.context.restore()}setTransform(){this.context}translate(e,i){this.matrix[4]+=this.matrix[0]*e+this.matrix[2]*i,this.matrix[5]+=this.matrix[1]*e+this.matrix[3]*i,this.setTransform()}rotate(e){let i=Math.cos(e),o=Math.sin(e),A=this.matrix[0]*i+this.matrix[2]*o,l=this.matrix[1]*i+this.matrix[3]*o,u=this.matrix[0]*-o+this.matrix[2]*i,f=this.matrix[1]*-o+this.matrix[3]*i;this.matrix[0]=A,this.matrix[1]=l,this.matrix[2]=u,this.matrix[3]=f,this.setTransform()}scale(e,i){this.matrix[0]*=e,this.matrix[1]*=e,this.matrix[2]*=i,this.matrix[3]*=i,this.setTransform()}transformPoint(e){let i=e.x,o=e.y;return new lt(i*this.matrix[0]+o*this.matrix[2]+this.matrix[4],i*this.matrix[1]+o*this.matrix[3]+this.matrix[5])}},m0=class{constructor(r){this._bitmap=r,this._fillColor=255,this._strokeColor=255,this._lineWidth=1,this._globalAlpha=1,this._transform=new KF,this._font={family:"invalid",size:12},this.textAlign="start",this.textBaseline="alphabetic",this.imageSmoothingEnabled=!0,this._clip=null,this._fillStyle_text="",this._strokeStyle_text="",this.states=[]}get canvas(){return this._bitmap}get lineWidth(){return this._lineWidth}set lineWidth(r){this._lineWidth=r}get globalAlpha(){return this._globalAlpha}set globalAlpha(r){this._globalAlpha=Rl(r,0,1)}get font(){return`${this._font.size} ${this._font.family}`}set font(r){let e=r.trim().indexOf(" ");this._font.size=parseInt(r.slice(0,e)),this._font.family=r.slice(e).trim()}get fillStyle(){return this._fillStyle_text}set fillStyle(r){r instanceof Ii?this._fillColor=r:(this._fillColor=Ul(r),this._fillStyle_text=r)}get strokeStyle(){return this._strokeStyle_text}set strokeStyle(r){r instanceof Ii?this._strokeStyle_text=r.toString():(this._strokeColor=Ul(r),this._strokeStyle_text=r)}createLinearGradient(r,e,i,o){return new XF(r,e,i,o)}createRadialGradient(r,e){return new zF(r,e)}createConicGradient(r,e,i){return new qF(r,e,i)}save(){this.states.push({_clip:this._clip}),this._transform.save()}translate(r,e){this._transform.translate(r,e)}rotate(r){this._transform.rotate(r)}scale(r,e){this._transform.scale(r,e)}transform(...r){let e=[...r];this._transform.multiply(e)}setTransform(...r){if(this._transform.identity(),r[0].is2D){let e=this._transform.fromDomMatrix(r[0]);this._transform.multiply(e)}else this._transform.multiply([...r])}getTransform(){return this._transform.asDomMatrix()}restore(){this._transform.restore();let r=this.states.pop();r&&(this._clip=r._clip)}fillRect(r,e,i,o){if(this._transform.isIdentity()){if(typeof this._fillColor=="number"&&An(this._fillColor)[3]===255){for(let A=r;A<r+i;A++)for(let l=e;l<e+o;l++)this.pixelInsideClip(A,l)&&this._bitmap._isValidCoords(A,l)&&this._bitmap.setPixelRGBA(A,l,this._fillColor);return}for(let A=r;A<r+i;A++)for(let l=e;l<e+o;l++)this.fillPixelWithColor(A,l,this.calculateRGBA(A,l))}else{let A=this.path,l=this._closed;this.beginPath(),this.rect(r-1e-4,e-1e-4,i,o),this.closePath(),this.fill(),this.path=A,this._closed=l}}clearRect(r,e,i,o){for(let A=r;A<r+i;A++)for(let l=e;l<e+o;l++)this._bitmap._isValidCoords(r,e)&&this._bitmap.setPixelRGBA(A,l,0)}strokeRect(r,e,i,o){for(let A=r;A<r+i;A++)this.fillPixelWithColor(A,e,this.calculateRGBA_stroke(A,e)),this.fillPixelWithColor(A,e+o,this.calculateRGBA_stroke(A,e+o));for(let A=e;A<e+o;A++)this.fillPixelWithColor(r,A,this.calculateRGBA_stroke(r,A)),this.fillPixelWithColor(r+i,A,this.calculateRGBA_stroke(r+i,A))}strokePixel(r,e){if(!this.pixelInsideClip(r,e))return;let i=this.calculateRGBA_stroke(r,e),o=this._bitmap.getPixelRGBA(r,e),A=this.composite(o,i);this._bitmap.setPixelRGBA(r,e,A)}fillPixelWithColor(r,e,i){if(!this.pixelInsideClip(r,e)||!this._bitmap._isValidCoords(r,e))return;let o=i,A=this._bitmap.getPixelRGBA(r,e),l=this.composite(A,o);this._bitmap.setPixelRGBA(r,e,l)}composite(r,e){let i=An(r),o=An(e),A=o.map(p=>p/255),l=i.map(p=>p/255);A[3]=A[3]*this._globalAlpha;function u(p,g,m,E){return(p*m+g*E*(1-m))/(m+E*(1-m))}let f=A.slice(0,3).map((p,g)=>u(A[g],l[g],A[3],l[3])).map(p=>p*255);return cn(f[0],f[1],f[2],Math.max(i[3],o[3]))}calculateRGBA(r,e){return this._fillColor instanceof Ii?this._fillColor.colorAt(r,e):this._fillColor}calculateRGBA_stroke(r,e){return this._strokeColor instanceof Ii?this._strokeColor.colorAt(r,e):this._strokeColor}getImageData(r,e,i,o){return this._bitmap._copySubBitmap(r,e,i,o)}putImageData(r,e,i){this._bitmap._pasteSubBitmap(r,e,i)}drawImage(r,e,i,o,A,l,u,f,p){if(typeof o>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,r.width,r.height);if(typeof l>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,o,A);let g=new kl(e,i,e+o,i+A),m=[new lt(l,u),new lt(l+f,u),new lt(l+f,u+p),new lt(l,u+p)];m=m.map(v=>this._transform.transformPoint(v));let E=VF(m),b=new kl(0,0,this._bitmap.width,this._bitmap.height);E=E.intersect(b);let y=this._transform.cloneTransform();y.invert();function Q(v,I,F,k,_){return(v-I)/(F-I)*(_-k)+k}for(let v=E.x1;v<E.x2;v++)for(let I=E.y1;I<E.y2;I++){let F=new lt(v,I),k=y.transformPoint(F).round();if(k=new lt(Q(k.x,l,l+f,e,e+o),Q(k.y,u,u+p,i,i+A)),g.contains(k)&&this.pixelInsideClip(F.x,F.y)&&this._bitmap._isValidCoords(F.x,F.y)){let _=r.getPixelRGBA(k.x,k.y),M=this._bitmap.getPixelRGBA(F.x,F.y),O=this.composite(M,_);this._bitmap.setPixelRGBA(F.x,F.y,O)}}}beginPath(){this.path=[],this._closed=!1}moveTo(r,e){return this._moveTo(new lt(r,e))}_moveTo(r){r=this._transform.transformPoint(r),this.pathstart=r,this.path.push(["m",r])}lineTo(r,e){return this._lineTo(new lt(r,e))}_lineTo(r){this.path.push(["l",this._transform.transformPoint(r)])}quadraticCurveTo(r,e,i,o){let A=this._transform.transformPoint(new lt(r,e)),l=this._transform.transformPoint(new lt(i,o));this.path.push(["q",A,l])}bezierCurveTo(r,e,i,o,A,l){this._bezierCurveTo(new lt(r,e),new lt(i,o),new lt(A,l))}_bezierCurveTo(r,e,i){r=this._transform.transformPoint(r),e=this._transform.transformPoint(e),i=this._transform.transformPoint(i),this.path.push(["b",r,e,i])}arc(r,e,i,o,A,l){function u(p){let g=r+Math.cos(p)*i,m=e+Math.sin(p)*i;return new lt(g,m)}o>A&&(A+=Math.PI*2);let f=Math.PI/16;if(l){let p=A;A=o+Math.PI*2,o=p}this._moveTo(u(o));for(let p=o;p<=A;p+=f)this._lineTo(u(p));this._lineTo(u(A))}arcTo(){throw new Error("arcTo not yet supported")}rect(r,e,i,o){this.moveTo(r,e),this.lineTo(r+i,e),this.lineTo(r+i,e+o),this.lineTo(r,e+o),this.lineTo(r,e)}roundRect(r,e,i,o,A){let l={bl:0,br:0,tr:0,tl:0};typeof A>"u"&&(l={bl:0,br:0,tr:0,tl:0}),typeof A=="number"&&(l={tl:A,tr:A,br:A,bl:A}),Array.isArray(A)&&(A.length===0&&(l={bl:0,br:0,tr:0,tl:0}),A.length===1&&(l={tl:A[0],tr:A[0],br:A[0],bl:A[0]}),A.length===2&&(l={tl:A[0],tr:A[1],br:A[0],bl:A[1]}),A.length===3&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[1]}),A.length===4&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[3]})),this.moveTo(r+l.tl,e),this.lineTo(r+i-l.tr,e),this.quadraticCurveTo(r+i,e,r+i,e+l.tr),this.lineTo(r+i,e+o-l.br),this.quadraticCurveTo(r+i,e+o,r+i-l.br,e+o),this.lineTo(r+l.bl,e+o),this.quadraticCurveTo(r,e+o,r,e+o-l.bl),this.lineTo(r,e+l.tl),this.quadraticCurveTo(r,e,r+l.tl,e),this.lineTo(r+l.tl,e)}ellipse(){throw new Error("ellipse not yet supported")}clip(){this._clip=an(this.path)}measureText(r){return Gl(this,r)}closePath(){if(!this._closed){if(!this.pathstart){console.warn("missing path start");let r=this.path[0];r[0]==="l"&&(this.pathstart=r[1])}this.path.push(["l",this.pathstart]),this._closed=!0}}stroke(){let r=$F(this.path),e=eT(r,this.lineWidth/2),i=an(e),o=this.fillStyle;if(this.fillStyle=this.strokeStyle,this.imageSmoothingEnabled?this.fill_aa(i):this.fill_noaa(i),this.fillStyle=o,this.debug){this.save();let A=this.strokeStyle,l=this.lineWidth;this.strokeStyle="red",this.lineWidth=1,console.log("path is",this.path),an(this.path).forEach(u=>this.drawLine(u)),console.log("flat path is",r),an(r).forEach(u=>this.drawLine(u)),console.log("stroke path is",e),an(e).forEach(u=>this.drawLine(u)),console.log("final lines are",i),this.strokeStyle=A,this.lineWidth=l,this.restore()}}drawLine(r){if(r.is_invalid())return console.error("cannot draw line",r);this.imageSmoothingEnabled?this.drawLine_aa(r):this.drawLine_noaa(r)}drawLine_noaa(r){let e=Math.floor(r.start.x),i=Math.floor(r.start.y),o=Math.floor(r.end.x),A=Math.floor(r.end.y),l=Math.abs(o-e),u=e<o?1:-1,f=Math.abs(A-i),p=i<A?1:-1,g=(l>f?l:-f)/2;for(;this.strokePixel(e,i),!(e===o&&i===A);){let m=g;m>-l&&(g-=f,e+=u),m<f&&(g+=l,i+=p)}}drawLine_aa(r){let e=this._lineWidth,i=Math.floor(r.start.x),o=Math.floor(r.start.y),A=Math.floor(r.end.x),l=Math.floor(r.end.y),u=Math.abs(A-i),f=i<A?1:-1,p=Math.abs(l-o),g=o<l?1:-1,m=u-p,E,b,y,Q=u+p===0?1:Math.sqrt(u*u+p*p),v=Co(this.calculateRGBA_stroke(i,o),4294967040),I=Co(this.calculateRGBA_stroke(i,o),255);for(e=(e+1)/2;;){let F=255-~~Math.max(0,255*(Math.abs(m-u+p)/Q-e+1)),k=ai(v,I*F/255);if(this.fillPixelWithColor(i,o,k),E=m,b=i,2*E>=-u){for(E+=p,y=o;E<Q*e&&(l!==y||u>p);E+=u){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=ai(v,I*_/255);this.fillPixelWithColor(i,y+=g,M)}if(i===A)break;E=m,m-=p,i+=f}if(2*E<=p){for(E=u-E;E<Q*e&&(A!==b||u<p);E+=p){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=ai(v,I*_/255);this.fillPixelWithColor(b+=f,o,M)}if(o===l)break;m+=u,o+=g}}}fill(){this._closed||this.closePath();let r=an(this.path);this.imageSmoothingEnabled?this.fill_aa(r):this.fill_noaa(r)}fill_aa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),o=Math.max(e.y-1,0);for(let A=i;A>=o;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let f=Hm(l[u]),p=Hm(l[u+1]),g=Math.floor(l[u]),m=Math.floor(l[u+1]);for(let E=g;E<=m;E++){let b=Co(this.calculateRGBA(E,A),4294967040),y=Co(this.calculateRGBA(E,A),255),Q=this.calculateRGBA(E,A);if(E===g){let v=ai(b,(1-f)*y);this.fillPixelWithColor(E,A,v);continue}if(E===m){let v=ai(b,p*y);this.fillPixelWithColor(E,A,v);continue}this.fillPixelWithColor(E,A,Q)}}}}fill_noaa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),o=Math.max(e.y-1,0);for(let A=i;A>=o;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let f=Math.floor(l[u]),p=Math.floor(l[u+1]);for(let g=f;g<=p;g++){let m=this.calculateRGBA(g,A);if(g===f){this.fillPixelWithColor(g,A,m);continue}if(g===p){this.fillPixelWithColor(g,A,m);continue}this.fillPixelWithColor(g,A,m)}}}}pixelInsideClip(r,e){return this._clip?Sl(this._clip,e).filter(i=>i<r).length%2!==0:!0}fillText(r,e,i){Yl(this,r,e,i,!0,this.textAlign,this.textBaseline)}strokeText(r,e,i){Yl(this,r,e,i,!1,this.textAlign,this.textBaseline)}};function Hm(r){return r-Math.floor(r)}function an(r){let e=[],i=null;return r.forEach(function(o){if(o[0]==="m"&&(i=o[1]),o[0]==="l"){let A=o[1];e.push(new Tl(i,A)),i=A}if(o[0]==="q"){let A=[i,o[1],o[2]];for(let l=0;l<1;l+=.1){let u=rT(A,l);e.push(new Tl(i,u)),i=u}}if(o[0]==="b"){let A=[i,o[1],o[2],o[3]];B0(A,10).forEach(l=>{e.push(new Tl(i,l)),i=l})}}),e}function $F(r){let e=[],i=null;return r.forEach(o=>{if(o[0]==="m"){i=o[1],e.push(["m",new lt(i.x,i.y)]);return}if(o[0]==="l"){i=o[1],e.push(["l",new lt(i.x,i.y)]);return}if(o[0]==="b"){let A=[i,o[1],o[2],o[3]],l=B0(A,10);for(let u=1;u<l.length;u+=2)e.push(["l",new lt(l[u].x,l[u].y)]);i=o[3]}}),e}function eT(r,e){let i=[],o=[];r.forEach(u=>{u[0]==="m"&&(o.length>0&&i.push(o),o=[]),o.push(u)}),o.length>0&&i.push(o),i.forEach(u=>{u[0][0]!=="m"&&console.warn("missing a starting move command!")});let A=i.map(u=>tT(u,e)),l=[];return A.forEach(u=>u.forEach(f=>l.push(f))),l}function tT(r,e){let i=null,o=[],A=[],l=null;function u(m,E,b){m.equals(E)&&console.log("same points!",m,E);let y=m.subtract(E).unit(),Q=y.rotate(Gm(90)),v=y.rotate(Gm(-90));return[Q.scale(b).add(E),v.scale(b).add(E)]}let f=null;function p(m){return m<-Math.PI?m+Math.PI*2:m>+Math.PI?m-Math.PI*2:m}r.forEach(function(m,E){if(m[0]==="m"&&(i=m[1],f=m,l=i.clone(),o.push(["m",l.clone()])),m[0]==="l"){let b=i,y=m[1];if(b.equals(y))return console.warn("can't project the same paths",E,m,b,y);let Q=r[E+1];if(f[0]==="m"){let R=u(y,b,e);o.push(["l",R[1]]),A.push(["l",R[0]])}if(f=m,!Q){let R=u(b,y,e);o.push(["l",R[0]]),A.push(["l",R[1]]);return}let v=Q[1];if(v.equals(y))return console.warn("can't project the same paths",E,m,b,y);let I=b.subtract(y),F=v.subtract(y),k=Math.atan2(I.y,I.x),_=Math.atan2(F.y,F.x),M=p(_-k),O=u(b,y,e),P=u(v,y,e);if(M<0){o.push(["l",O[0]]),o.push(["l",P[1]]);let R=e/Math.cos((Math.PI+M)/2),re=b.subtract(y).unit().rotate(M/2).scale(R).add(y);A.push(["l",re])}else{let R=e/Math.cos(-(Math.PI-M)/2);R>10&&(R=10);let re=v.subtract(y).unit().rotate(-M/2).scale(R).add(y);o.push(["l",re]),A.push(["l",O[1]]),A.push(["l",P[0]])}i=y}}),A.reverse();let g=[].concat(o).concat(A);return g.push(["l",l]),g}function rT(r,e){let i=(1-e)*(1-e)*r[0].x+2*(1-e)*e*r[1].x+e*e*r[2].x,o=(1-e)*(1-e)*r[0].y+2*(1-e)*e*r[1].y+e*e*r[2].y;return new lt(i,o)}function B0(r,e){function i(o){if(nT(o)<e)return[o[0],o[3]];let A=iT(o,.5);return i(A[0]).concat(i(A[1]))}return i(r)}function iT(r,e){let i=r[0],o=r[1],A=r[2],l=r[3],u=$n(i,o,e),f=$n(o,A,e),p=$n(l,A,e),g=$n(u,f,e),m=$n(f,p,e),E={x:(m.x-g.x)*e+g.x,y:(m.y-g.y)*e+g.y};return[[i,u,g,E],[E,m,p,l]]}function nT(r){let e=r[0],i=r[1],o=r[2],A=r[3],l=Math.pow(3*i.x-2*e.x-A.x,2),u=Math.pow(3*i.y-2*e.y-A.y,2),f=Math.pow(3*o.x-2*A.x-e.x,2),p=Math.pow(3*o.y-2*A.y-e.y,2);return l<f&&(l=f),u<p&&(u=p),l+u}function $n(r,e,i){return{x:(e.x-r.x)*i+r.x,y:(e.y-r.y)*i+r.y}}function Wm(r){let e={x:Number.MAX_VALUE,y:Number.MAX_VALUE,x2:Number.MIN_VALUE,y2:Number.MIN_VALUE};function i(o){e.x=Math.min(e.x,o.x),e.y=Math.min(e.y,o.y),e.x2=Math.max(e.x2,o.x),e.y2=Math.max(e.y2,o.y)}return r.forEach(function(o){i(o.start),i(o.end)}),e}function Sl(r,e){let i=[];for(let o=0;o<r.length;o++){let A=r[o].start,l=r[o].end;if(A.y<e&&l.y>=e||l.y<e&&A.y>=e){let u=A.x+(e-A.y)/(l.y-A.y)*(l.x-A.x);i.push(u)}}return i.sort(function(o,A){return o-A})}var Qo=class E0{constructor(e,i){this.width=Math.floor(e),this.height=Math.floor(i),this.data=new Uint8Array(this.width*this.height*4);let o=255;for(let A=0;A<this.height;A++)for(let l=0;l<this.width;l++)this.setPixelRGBA(l,A,o);this._context=new m0(this)}calculateIndex(e,i){return e=Math.floor(e),i=Math.floor(i),e<0||i<0||e>=this.width||i>=this.height?0:(this.width*i+e)*4}setPixelRGBA(e,i,o){this.validate_coords(e,i);let A=this.calculateIndex(e,i),l=An(o);this.data[A+0]=l[0],this.data[A+1]=l[1],this.data[A+2]=l[2],this.data[A+3]=l[3]}setPixelRGBA_i(e,i,o,A,l,u){let f=this.calculateIndex(e,i);this.data[f+0]=o,this.data[f+1]=A,this.data[f+2]=l,this.data[f+3]=u}getPixelRGBA(e,i){this.validate_coords(e,i);let o=this.calculateIndex(e,i);return cn(this.data[o+0],this.data[o+1],this.data[o+2],this.data[o+3])}getDebugPixelRGBA(e,i){let o=this.calculateIndex(e,i),A=this.width,l=this.height,u=this.data;return console.dir({i:o,width:A,height:l,data:u}),cn(this.data[o+0],this.data[o+1],this.data[o+2],this.data[o+3])}getPixelRGBA_separate(e,i){let o=this.calculateIndex(e,i);return this.data.slice(o,o+4)}getContext(e){return e==="2d"?this._context:null}_copySubBitmap(e,i,o,A){let l=new E0(o,A);for(let u=0;u<o;u++)for(let f=0;f<A;f++){let p=this.calculateIndex(e+u,i+f),g=l.calculateIndex(u,f);for(let m=0;m<4;m++)l.data[g+m]=this.data[p+m]}return l}_pasteSubBitmap(e,i,o){for(let A=0;A<e.width;A++)for(let l=0;l<e.height;l++){let u=this.calculateIndex(i+A,o+l),f=e.calculateIndex(A,l);for(let p=0;p<4;p++)this.data[u+p]=e.data[f+p]}}_isValidCoords(e,i){return!(e<0||i<0||e>=this.width||i>=this.height)}validate_coords(e,i){if(e<0)throw new Error(`Invalid Index: x ${e} <0`);if(i<0)throw new Error(`Invalid Index: y ${i} <0`);if(e>=this.width)throw new Error(`Invalid Index: x ${e} >= width ${this.width}`);if(i>=this.height)throw new Error(`Invalid Index: y ${i} >= height ${this.height}`)}},sT=Ol(GF(),1),w0=Ol(HF(),1),{PNG:y0}=sT;function oT(r,e){return new Qo(r,e)}function aT(r,e,i={}){return new Promise((o,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l=new y0({width:r.width,height:r.height,deflateLevel:i.deflateLevel||9,deflateStrategy:i.deflateStrategy||3});for(let u=0;u<r.width;u++)for(let f=0;f<r.height;f++){let p=r.getPixelRGBA(u,f),g=(f*r.width+u)*4,m=An(p);for(let E=0;E<4;E++)l.data[g+E]=m[E]}l.on("error",u=>{A(u)}).pack().pipe(e).on("finish",()=>{o()}).on("error",u=>{A(u)})})}function AT(r){return new Promise((e,i)=>{r.pipe(new y0).on("parsed",function(){let o=new Qo(this.width,this.height);for(let A=0;A<o.data.length;A++)o.data[A]=this.data[A];e(o)}).on("error",function(o){i(o)})})}function lT(r,e,i=90){return new Promise((o,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l={data:r.data,width:r.width,height:r.height};e.on("error",u=>A(u)),e.write(w0.encode(l,i).data,()=>{e.end(),o()})})}function cT(r,e){return new Promise((i,o)=>{try{let A=[];r.on("data",l=>A.push(l)),r.on("end",()=>{let l=JF(A),u=null;try{u=w0.decode(l,e)}catch(p){o(p);return}let f=new Qo(u.width,u.height);for(let p=0;p<u.width;p++)for(let g=0;g<u.height;g++){let m=(g*u.width+p)*4;f.setPixelRGBA_i(p,g,u.data[m+0],u.data[m+1],u.data[m+2],u.data[m+3])}i(f)}),r.on("error",l=>{o(l)})}catch(A){console.log(A),o(A)}})}});var v0=oe((Q0,vo)=>{var x0=(()=>{var r=Object.defineProperty,e=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,A=(t,n)=>{for(var s in n)r(t,s,{get:n[s],enumerable:!0})},l=(t,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of i(n))!o.call(t,c)&&c!==s&&r(t,c,{get:()=>n[c],enumerable:!(a=e(n,c))||a.enumerable});return t},u=t=>l(r({},"__esModule",{value:!0}),t),f={};A(f,{BoundingBox:()=>Ee,Font:()=>pu,Glyph:()=>Ui,Path:()=>z,_parse:()=>he,load:()=>_y,loadSync:()=>Zy,parse:()=>jy});var p=0,g=-3;function m(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function E(t,n){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=n,this.destLen=0,this.ltree=new m,this.dtree=new m}var b=new m,y=new m,Q=new Uint8Array(30),v=new Uint16Array(30),I=new Uint8Array(30),F=new Uint16Array(30),k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_=new m,M=new Uint8Array(320);function O(t,n,s,a){var c,h;for(c=0;c<s;++c)t[c]=0;for(c=0;c<30-s;++c)t[c+s]=c/s|0;for(h=a,c=0;c<30;++c)n[c]=h,h+=1<<t[c]}function P(t,n){var s;for(s=0;s<7;++s)t.table[s]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,s=0;s<24;++s)t.trans[s]=256+s;for(s=0;s<144;++s)t.trans[24+s]=s;for(s=0;s<8;++s)t.trans[168+s]=280+s;for(s=0;s<112;++s)t.trans[176+s]=144+s;for(s=0;s<5;++s)n.table[s]=0;for(n.table[5]=32,s=0;s<32;++s)n.trans[s]=s}var R=new Uint16Array(16);function re(t,n,s,a){var c,h;for(c=0;c<16;++c)t.table[c]=0;for(c=0;c<a;++c)t.table[n[s+c]]++;for(t.table[0]=0,h=0,c=0;c<16;++c)R[c]=h,h+=t.table[c];for(c=0;c<a;++c)n[s+c]&&(t.trans[R[n[s+c]]++]=c)}function q(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var n=t.tag&1;return t.tag>>>=1,n}function le(t,n,s){if(!n)return s;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var a=t.tag&65535>>>16-n;return t.tag>>>=n,t.bitcount-=n,a+s}function Ae(t,n){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var s=0,a=0,c=0,h=t.tag;do a=2*a+(h&1),h>>>=1,++c,s+=n.table[c],a-=n.table[c];while(a>=0);return t.tag=h,t.bitcount-=c,n.trans[s+a]}function ie(t,n,s){var a,c,h,d,B,w;for(a=le(t,5,257),c=le(t,5,1),h=le(t,4,4),d=0;d<19;++d)M[d]=0;for(d=0;d<h;++d){var x=le(t,3,0);M[k[d]]=x}for(re(_,M,0,19),B=0;B<a+c;){var C=Ae(t,_);switch(C){case 16:var S=M[B-1];for(w=le(t,2,3);w;--w)M[B++]=S;break;case 17:for(w=le(t,3,3);w;--w)M[B++]=0;break;case 18:for(w=le(t,7,11);w;--w)M[B++]=0;break;default:M[B++]=C;break}}re(n,M,0,a),re(s,M,a,c)}function se(t,n,s){for(;;){var a=Ae(t,n);if(a===256)return p;if(a<256)t.dest[t.destLen++]=a;else{var c,h,d,B;for(a-=257,c=le(t,Q[a],v[a]),h=Ae(t,s),d=t.destLen-le(t,I[h],F[h]),B=d;B<d+c;++B)t.dest[t.destLen++]=t.dest[B]}}}function ye(t){for(var n,s,a;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if(n=t.source[t.sourceIndex+1],n=256*n+t.source[t.sourceIndex],s=t.source[t.sourceIndex+3],s=256*s+t.source[t.sourceIndex+2],n!==(~s&65535))return g;for(t.sourceIndex+=4,a=n;a;--a)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,p}function fe(t,n){var s=new E(t,n),a,c,h;do{switch(a=q(s),c=le(s,2,0),c){case 0:h=ye(s);break;case 1:h=se(s,b,y);break;case 2:ie(s,s.ltree,s.dtree),h=se(s,s.ltree,s.dtree);break;default:h=g}if(h!==p)throw new Error("Data error")}while(!a);return s.destLen<s.dest.length?typeof s.dest.slice=="function"?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}P(b,y),O(Q,v,4,3),O(I,F,2,1),Q[28]=0,v[28]=258;function Pe(t,n,s,a,c){return Math.pow(1-c,3)*t+3*Math.pow(1-c,2)*c*n+3*(1-c)*Math.pow(c,2)*s+Math.pow(c,3)*a}function Be(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}Be.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},Be.prototype.addPoint=function(t,n){typeof t=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),typeof n=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=n,this.y2=n),n<this.y1&&(this.y1=n),n>this.y2&&(this.y2=n))},Be.prototype.addX=function(t){this.addPoint(t,null)},Be.prototype.addY=function(t){this.addPoint(null,t)},Be.prototype.addBezier=function(t,n,s,a,c,h,d,B){let w=[t,n],x=[s,a],C=[c,h],S=[d,B];this.addPoint(t,n),this.addPoint(d,B);for(let T=0;T<=1;T++){let Y=6*w[T]-12*x[T]+6*C[T],U=-3*w[T]+9*x[T]-9*C[T]+3*S[T],L=3*x[T]-3*w[T];if(U===0){if(Y===0)continue;let Re=-L/Y;0<Re&&Re<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Re)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Re)));continue}let ee=Math.pow(Y,2)-4*L*U;if(ee<0)continue;let Te=(-Y+Math.sqrt(ee))/(2*U);0<Te&&Te<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Te)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Te)));let xe=(-Y-Math.sqrt(ee))/(2*U);0<xe&&xe<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],xe)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],xe)))}},Be.prototype.addQuad=function(t,n,s,a,c,h){let d=t+.6666666666666666*(s-t),B=n+2/3*(a-n),w=d+1/3*(c-t),x=B+1/3*(h-n);this.addBezier(t,n,d,B,w,x,c,h)};var Ee=Be;function me(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}var ke={};function Fe(t,n){let s=Math.floor(t),a=t-s;if(ke[n]||(ke[n]={}),ke[n][a]!==void 0){let h=ke[n][a];return s+h}let c=+(Math.round(a+"e+"+n)+"e-"+n);return ke[n][a]=c,s+c}function W(t){let n=[[]],s=0,a=0;for(let c=0;c<t.length;c+=1){let h=n[n.length-1],d=t[c],B=h[0],w=h[1],x=h[h.length-1],C=t[c+1];h.push(d),d.type==="M"?(s=d.x,a=d.y):d.type==="L"&&(!C||C.type==="Z")?Math.abs(d.x-s)>1||Math.abs(d.y-a)>1||h.pop():d.type==="L"&&x&&x.x===d.x&&x.y===d.y?h.pop():d.type==="Z"&&(B&&w&&x&&B.type==="M"&&w.type==="L"&&x.type==="L"&&x.x===B.x&&x.y===B.y&&(h.shift(),h[0].type="M"),c+1<t.length&&n.push([]))}return t=[].concat.apply([],n),t}function N(t){return Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0,scale:1,x:0,y:0},t)}function J(t){return parseInt(t)===t&&(t={decimalPlaces:t,flipY:!1}),Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0},t)}me.prototype.fromSVG=function(t,n={}){typeof SVGPathElement<"u"&&t instanceof SVGPathElement&&(t=t.getAttribute("d")),n=N(n),this.commands=[];let s="0123456789",a="MmLlQqCcZzHhVv",c="SsTtAa",h="-+",d={},B=[""],w=!1;function x(U){return U.filter(L=>L.length).map(L=>{let ee=parseFloat(L);return(n.decimalPlaces||n.decimalPlaces===0)&&(ee=Fe(ee,n.decimalPlaces)),ee})}function C(U){if(!this.commands.length)return U;let L=this.commands[this.commands.length-1];for(let ee=0;ee<U.length;ee++)U[ee]+=L[ee&1?"y":"x"];return U}function S(){if(d.type===void 0)return;let U=d.type.toUpperCase(),L=U!=="Z"&&d.type.toUpperCase()!==d.type,ee=x(B);if(B=[""],!ee.length&&U!=="Z")return;L&&U!=="H"&&U!=="V"&&(ee=C.apply(this,[ee]));let Te=this.commands.length&&this.commands[this.commands.length-1].x||0,xe=this.commands.length&&this.commands[this.commands.length-1].y||0;switch(U){case"M":this.moveTo(...ee);break;case"L":this.lineTo(...ee);break;case"V":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].y||0),this.lineTo(Te,ee[Re]+Je)}break;case"H":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].x||0),this.lineTo(ee[Re]+Je,xe)}break;case"C":this.bezierCurveTo(...ee);break;case"Q":this.quadraticCurveTo(...ee);break;case"Z":(this.commands.length<1||this.commands[this.commands.length-1].type!=="Z")&&this.close();break}if(this.commands.length)for(let Re in this.commands[this.commands.length-1])this.commands[this.commands.length-1][Re]===void 0&&(this.commands[this.commands.length-1][Re]=0)}for(let U=0;U<t.length;U++){let L=t.charAt(U),ee=B[B.length-1];if(s.indexOf(L)>-1)B[B.length-1]+=L;else if(h.indexOf(L)>-1)if(!d.type&&!this.commands.length&&(d.type="L"),L==="-")!d.type||ee.indexOf("-")>0?w=!0:ee.length?B.push("-"):B[B.length-1]=L;else if(!d.type||ee.length>0)w=!0;else continue;else if(a.indexOf(L)>-1)d.type?(S.apply(this),d={type:L}):d.type=L;else{if(c.indexOf(L)>-1)throw new Error("Unsupported path command: "+L+". Currently supported commands are "+a.split("").join(", ")+".");` ,
|
|
130
|
-
\r\f\v`.indexOf(L)>-1?B.push(""):L==="."?!d.type||ee.indexOf(L)>-1?w=!0:B[B.length-1]+=L:w=!0}if(w)throw new Error("Unexpected character: "+L+" at offset "+U)}S.apply(this),n.optimize&&(this.commands=W(this.commands));let T=n.flipY,Y=n.flipYBase;if(T===!0&&n.flipYBase===void 0){let U=this.getBoundingBox();Y=U.y1+U.y2}for(let U in this.commands){let L=this.commands[U];for(let ee in L)["x","x1","x2"].includes(ee)?this.commands[U][ee]=n.x+L[ee]*n.scale:["y","y1","y2"].includes(ee)&&(this.commands[U][ee]=n.y+(T?Y-L[ee]:L[ee])*n.scale)}return this},me.fromSVG=function(t,n){return new me().fromSVG(t,n)},me.prototype.moveTo=function(t,n){this.commands.push({type:"M",x:t,y:n})},me.prototype.lineTo=function(t,n){this.commands.push({type:"L",x:t,y:n})},me.prototype.curveTo=me.prototype.bezierCurveTo=function(t,n,s,a,c,h){this.commands.push({type:"C",x1:t,y1:n,x2:s,y2:a,x:c,y:h})},me.prototype.quadTo=me.prototype.quadraticCurveTo=function(t,n,s,a){this.commands.push({type:"Q",x1:t,y1:n,x:s,y:a})},me.prototype.close=me.prototype.closePath=function(){this.commands.push({type:"Z"})},me.prototype.extend=function(t){if(t.commands)t=t.commands;else if(t instanceof Ee){let n=t;this.moveTo(n.x1,n.y1),this.lineTo(n.x2,n.y1),this.lineTo(n.x2,n.y2),this.lineTo(n.x1,n.y2),this.close();return}Array.prototype.push.apply(this.commands,t)},me.prototype.getBoundingBox=function(){let t=new Ee,n=0,s=0,a=0,c=0;for(let h=0;h<this.commands.length;h++){let d=this.commands[h];switch(d.type){case"M":t.addPoint(d.x,d.y),n=a=d.x,s=c=d.y;break;case"L":t.addPoint(d.x,d.y),a=d.x,c=d.y;break;case"Q":t.addQuad(a,c,d.x1,d.y1,d.x,d.y),a=d.x,c=d.y;break;case"C":t.addBezier(a,c,d.x1,d.y1,d.x2,d.y2,d.x,d.y),a=d.x,c=d.y;break;case"Z":a=n,c=s;break;default:throw new Error("Unexpected path command "+d.type)}}return t.isEmpty()&&t.addPoint(0,0),t},me.prototype.draw=function(t){let n=this._layers;if(n&&n.length){for(let a=0;a<n.length;a++)this.draw.call(n[a],t);return}let s=this._image;if(s){t.drawImage(s.image,s.x,s.y,s.width,s.height);return}t.beginPath();for(let a=0;a<this.commands.length;a+=1){let c=this.commands[a];c.type==="M"?t.moveTo(c.x,c.y):c.type==="L"?t.lineTo(c.x,c.y):c.type==="C"?t.bezierCurveTo(c.x1,c.y1,c.x2,c.y2,c.x,c.y):c.type==="Q"?t.quadraticCurveTo(c.x1,c.y1,c.x,c.y):c.type==="Z"&&this.stroke&&this.strokeWidth&&t.closePath()}this.fill&&(t.fillStyle=this.fill,t.fill()),this.stroke&&(t.strokeStyle=this.stroke,t.lineWidth=this.strokeWidth,t.stroke())},me.prototype.toPathData=function(t){t=J(t);function n(B){let w=Fe(B,t.decimalPlaces);return Math.round(B)===w?""+w:w.toFixed(t.decimalPlaces)}function s(){let B="";for(let w=0;w<arguments.length;w+=1){let x=arguments[w];x>=0&&w>0&&(B+=" "),B+=n(x)}return B}let a=this.commands;t.optimize&&(a=JSON.parse(JSON.stringify(this.commands)),a=W(a));let c=t.flipY,h=t.flipYBase;if(c===!0&&h===void 0){let B=new me;B.extend(a);let w=B.getBoundingBox();h=w.y1+w.y2}let d="";for(let B=0;B<a.length;B+=1){let w=a[B];w.type==="M"?d+="M"+s(w.x,c?h-w.y:w.y):w.type==="L"?d+="L"+s(w.x,c?h-w.y:w.y):w.type==="C"?d+="C"+s(w.x1,c?h-w.y1:w.y1,w.x2,c?h-w.y2:w.y2,w.x,c?h-w.y:w.y):w.type==="Q"?d+="Q"+s(w.x1,c?h-w.y1:w.y1,w.x,c?h-w.y:w.y):w.type==="Z"&&(d+="Z")}return d},me.prototype.toSVG=function(t,n){this._layers&&this._layers.length&&console.warn("toSVG() does not support colr font layers yet"),this._image&&console.warn("toSVG() does not support SVG glyphs yet"),n||(n=this.toPathData(t));let s='<path d="';return s+=n,s+='"',this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s+=' fill="none"':s+=' fill="'+this.fill+'"'),this.stroke&&(s+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),s+="/>",s},me.prototype.toDOMElement=function(t,n){this._layers&&this._layers.length&&console.warn("toDOMElement() does not support colr font layers yet"),n||(n=this.toPathData(t));let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",n),this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s.setAttribute("fill","none"):s.setAttribute("fill",this.fill)),this.stroke&&(s.setAttribute("stroke",this.stroke),s.setAttribute("stroke-width",this.strokeWidth)),s};var z=me;function j(t){throw new Error(t)}function K(t,n){t||j(n)}var G={fail:j,argument:K,assert:K},X=32768,D=2147483648,pe=-32768,ce=32767+1/65536,Qe={},Z={},H={};function ne(t){return function(){return t}}Z.BYTE=function(t){return G.argument(t>=0&&t<=255,"Byte value should be between 0 and 255."),[t]},H.BYTE=ne(1),Z.CHAR=function(t){return[t.charCodeAt(0)]},H.CHAR=ne(1),Z.CHARARRAY=function(t){(t===null||typeof t>"u")&&(t="",console.warn("CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name."));let n=[];for(let s=0;s<t.length;s+=1)n[s]=t.charCodeAt(s);return n},H.CHARARRAY=function(t){return typeof t>"u"?0:t.length},Z.USHORT=function(t){return[t>>8&255,t&255]},H.USHORT=ne(2),Z.SHORT=function(t){return t>=X&&(t=-(2*X-t)),[t>>8&255,t&255]},H.SHORT=ne(2),Z.UINT24=function(t){return[t>>16&255,t>>8&255,t&255]},H.UINT24=ne(3),Z.ULONG=function(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]},H.ULONG=ne(4),Z.LONG=function(t){return t>=D&&(t=-(2*D-t)),[t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONG=ne(4),Z.FLOAT=function(t){if(t>ce||t<pe)throw new Error(`Value ${t} is outside the range of representable values in 16.16 format`);let n=Math.round(t*65536)<<0;return Z.ULONG(n)},H.FLOAT=H.ULONG,Z.FIXED=Z.ULONG,H.FIXED=H.ULONG,Z.FWORD=Z.SHORT,H.FWORD=H.SHORT,Z.UFWORD=Z.USHORT,H.UFWORD=H.USHORT,Z.F2DOT14=function(t){return Z.USHORT(t*16384)},H.F2DOT14=H.USHORT,Z.LONGDATETIME=function(t){return[0,0,0,0,t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONGDATETIME=ne(8),Z.TAG=function(t){return G.argument(t.length===4,"Tag should be exactly 4 ASCII characters."),[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]},H.TAG=ne(4),Z.Card8=Z.BYTE,H.Card8=H.BYTE,Z.Card16=Z.USHORT,H.Card16=H.USHORT,Z.OffSize=Z.BYTE,H.OffSize=H.BYTE,Z.SID=Z.USHORT,H.SID=H.USHORT,Z.NUMBER=function(t){return t>=-107&&t<=107?[t+139]:t>=108&&t<=1131?(t=t-108,[(t>>8)+247,t&255]):t>=-1131&&t<=-108?(t=-t-108,[(t>>8)+251,t&255]):t>=-32768&&t<=32767?Z.NUMBER16(t):Z.NUMBER32(t)},H.NUMBER=function(t){return Z.NUMBER(t).length},Z.NUMBER16=function(t){return[28,t>>8&255,t&255]},H.NUMBER16=ne(3),Z.NUMBER32=function(t){return[29,t>>24&255,t>>16&255,t>>8&255,t&255]},H.NUMBER32=ne(5),Z.REAL=function(t){let n=t.toString(),s=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(n);if(s){let h=parseFloat("1e"+((s[2]?+s[2]:0)+s[1].length));n=(Math.round(t*h)/h).toString()}let a="";for(let h=0,d=n.length;h<d;h+=1){let B=n[h];B==="e"?a+=n[++h]==="-"?"c":"b":B==="."?a+="a":B==="-"?a+="e":a+=B}a+=a.length&1?"f":"ff";let c=[30];for(let h=0,d=a.length;h<d;h+=2)c.push(parseInt(a.substr(h,2),16));return c},H.REAL=function(t){return Z.REAL(t).length},Z.NAME=Z.CHARARRAY,H.NAME=H.CHARARRAY,Z.STRING=Z.CHARARRAY,H.STRING=H.CHARARRAY,Qe.UTF8=function(t,n,s){let a=[],c=s;for(let h=0;h<c;h++,n+=1)a[h]=t.getUint8(n);return String.fromCharCode.apply(null,a)},Qe.UTF16=function(t,n,s){let a=[],c=s/2;for(let h=0;h<c;h++,n+=2)a[h]=t.getUint16(n);return String.fromCharCode.apply(null,a)},Z.UTF16=function(t){let n=[];for(let s=0;s<t.length;s+=1){let a=t.charCodeAt(s);n[n.length]=a>>8&255,n[n.length]=a&255}return n},H.UTF16=function(t){return t.length*2};var Oe={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};Qe.MACSTRING=function(t,n,s,a){let c=Oe[a];if(c===void 0)return;let h="";for(let d=0;d<s;d++){let B=t.getUint8(n+d);B<=127?h+=String.fromCharCode(B):h+=c[B&127]}return h};var De=typeof WeakMap=="function"&&new WeakMap,it,Ze=function(t){if(!it){it={};for(let c in Oe)it[c]=new String(c)}let n=it[t];if(n===void 0)return;if(De){let c=De.get(n);if(c!==void 0)return c}let s=Oe[t];if(s===void 0)return;let a={};for(let c=0;c<s.length;c++)a[s.charCodeAt(c)]=c+128;return De&&De.set(n,a),a};Z.MACSTRING=function(t,n){let s=Ze(n);if(s===void 0)return;let a=[];for(let c=0;c<t.length;c++){let h=t.charCodeAt(c);if(h>=128&&(h=s[h],h===void 0))return;a[c]=h}return a},H.MACSTRING=function(t,n){let s=Z.MACSTRING(t,n);return s!==void 0?s.length:0};function Xe(t){return t>=-128&&t<=127}function wt(t,n,s){let a=0,c=t.length;for(;n<c&&a<64&&t[n]===0;)++n,++a;return s.push(128|a-1),n}function te(t,n,s){let a=0,c=t.length,h=n;for(;h<c&&a<64;){let d=t[h];if(!Xe(d)||d===0&&h+1<c&&t[h+1]===0)break;++h,++a}s.push(a-1);for(let d=n;d<h;++d)s.push(t[d]+256&255);return h}function ve(t,n,s){let a=0,c=t.length,h=n;for(;h<c&&a<64;){let d=t[h];if(d===0||Xe(d)&&h+1<c&&Xe(t[h+1]))break;++h,++a}s.push(64|a-1);for(let d=n;d<h;++d){let B=t[d];s.push(B+65536>>8&255,B+256&255)}return h}Z.VARDELTAS=function(t){let n=0,s=[];for(;n<t.length;){let a=t[n];a===0?n=wt(t,n,s):a>=-128&&a<=127?n=te(t,n,s):n=ve(t,n,s)}return s},Z.INDEX=function(t){let n=1,s=[n],a=[];for(let B=0;B<t.length;B+=1){let w=Z.OBJECT(t[B]);Array.prototype.push.apply(a,w),n+=w.length,s.push(n)}if(a.length===0)return[0,0];let c=[],h=1+Math.floor(Math.log(n)/Math.log(2))/8|0,d=[void 0,Z.BYTE,Z.USHORT,Z.UINT24,Z.ULONG][h];for(let B=0;B<s.length;B+=1){let w=d(s[B]);Array.prototype.push.apply(c,w)}return Array.prototype.concat(Z.Card16(t.length),Z.OffSize(h),c,a)},H.INDEX=function(t){return Z.INDEX(t).length},Z.DICT=function(t){let n=[],s=Object.keys(t),a=s.length;for(let c=0;c<a;c+=1){let h=parseInt(s[c],0),d=t[h],B=Z.OPERAND(d.value,d.type),w=Z.OPERATOR(h);for(let x=0;x<B.length;x++)n.push(B[x]);for(let x=0;x<w.length;x++)n.push(w[x])}return n},H.DICT=function(t){return Z.DICT(t).length},Z.OPERATOR=function(t){return t<1200?[t]:[12,t-1200]},Z.OPERAND=function(t,n){let s=[];if(Array.isArray(n))for(let a=0;a<n.length;a+=1){G.argument(t.length===n.length,"Not enough arguments given for type"+n);let c=Z.OPERAND(t[a],n[a]);for(let h=0;h<c.length;h++)s.push(c[h])}else if(n==="SID"){let a=Z.NUMBER(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="offset"){let a=Z.NUMBER32(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="number"){let a=Z.NUMBER(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="real"){let a=Z.REAL(t);for(let c=0;c<a.length;c++)s.push(a[c])}else throw new Error("Unknown operand type "+n);return s},Z.OP=Z.BYTE,H.OP=H.BYTE;var be=typeof WeakMap=="function"&&new WeakMap;Z.CHARSTRING=function(t){if(be){let a=be.get(t);if(a!==void 0)return a}let n=[],s=t.length;for(let a=0;a<s;a+=1){let c=t[a],h=Z[c.type](c.value);for(let d=0;d<h.length;d++)n.push(h[d])}return be&&be.set(t,n),n},H.CHARSTRING=function(t){return Z.CHARSTRING(t).length},Z.OBJECT=function(t){let n=Z[t.type];return G.argument(n!==void 0,"No encoding function for type "+t.type),n(t.value)},H.OBJECT=function(t){let n=H[t.type];return G.argument(n!==void 0,"No sizeOf function for type "+t.type),n(t.value)},Z.TABLE=function(t){let n=[],s=(t.fields||[]).length,a=[],c=[];for(let h=0;h<s;h+=1){let d=t.fields[h],B=Z[d.type];G.argument(B!==void 0,"No encoding function for field type "+d.type+" ("+d.name+")");let w=t[d.name];w===void 0&&(w=d.value);let x=B(w);if(d.type==="TABLE")w.fields!==null&&(c.push(n.length),a.push(x)),n.push(0,0);else for(let C=0;C<x.length;C++)n.push(x[C])}for(let h=0;h<a.length;h+=1){let d=c[h],B=n.length;G.argument(B<65536,"Table "+t.tableName+" too big."),n[d]=B>>8,n[d+1]=B&255;for(let w=0;w<a[h].length;w++)n.push(a[h][w])}return n},H.TABLE=function(t){let n=0,s=(t.fields||[]).length;for(let a=0;a<s;a+=1){let c=t.fields[a],h=H[c.type];G.argument(h!==void 0,"No sizeOf function for field type "+c.type+" ("+c.name+")");let d=t[c.name];d===void 0&&(d=c.value),n+=h(d),c.type==="TABLE"&&(n+=2)}return n},Z.RECORD=Z.TABLE,H.RECORD=H.TABLE,Z.LITERAL=function(t){return t},H.LITERAL=function(t){return t.length};function ue(t,n,s){if(n&&n.length)for(let a=0;a<n.length;a+=1){let c=n[a];this[c.name]=c.value}if(this.tableName=t,this.fields=n,s){let a=Object.keys(s);for(let c=0;c<a.length;c+=1){let h=a[c],d=s[h];this[h]!==void 0&&(this[h]=d)}}}ue.prototype.encode=function(){return Z.TABLE(this)},ue.prototype.sizeOf=function(){return H.TABLE(this)};function Me(t,n,s){s===void 0&&(s=n.length);let a=new Array(n.length+1);a[0]={name:t+"Count",type:"USHORT",value:s};for(let c=0;c<n.length;c++)a[c+1]={name:t+c,type:"USHORT",value:n[c]};return a}function He(t,n,s){let a=n.length,c=new Array(a+1);c[0]={name:t+"Count",type:"USHORT",value:a};for(let h=0;h<a;h++)c[h+1]={name:t+h,type:"TABLE",value:s(n[h],h)};return c}function Le(t,n,s){let a=n.length,c=[];c[0]={name:t+"Count",type:"USHORT",value:a};for(let h=0;h<a;h++)c=c.concat(s(n[h],h));return c}function Ne(t){t.format===1?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Me("glyph",t.glyphs))):t.format===2?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"startCoverageIndex"+s,type:"USHORT",value:n.index}]}))):G.assert(!1,"Coverage format must be 1 or 2.")}Ne.prototype=Object.create(ue.prototype),Ne.prototype.constructor=Ne;function de(t){ue.call(this,"scriptListTable",Le("scriptRecord",t,function(n,s){let a=n.script,c=a.defaultLangSys;return G.assert(!!c,"Unable to write GSUB: script "+n.tag+" has no default language system."),[{name:"scriptTag"+s,type:"TAG",value:n.tag},{name:"script"+s,type:"TABLE",value:new ue("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new ue("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:c.reqFeatureIndex}].concat(Me("featureIndex",c.featureIndexes)))}].concat(Le("langSys",a.langSysRecords,function(h,d){let B=h.langSys;return[{name:"langSysTag"+d,type:"TAG",value:h.tag},{name:"langSys"+d,type:"TABLE",value:new ue("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:B.reqFeatureIndex}].concat(Me("featureIndex",B.featureIndexes)))}]})))}]}))}de.prototype=Object.create(ue.prototype),de.prototype.constructor=de;function ge(t){ue.call(this,"featureListTable",Le("featureRecord",t,function(n,s){let a=n.feature;return[{name:"featureTag"+s,type:"TAG",value:n.tag},{name:"feature"+s,type:"TABLE",value:new ue("featureTable",[{name:"featureParams",type:"USHORT",value:a.featureParams}].concat(Me("lookupListIndex",a.lookupListIndexes)))}]}))}ge.prototype=Object.create(ue.prototype),ge.prototype.constructor=ge;function ae(t,n){ue.call(this,"lookupListTable",He("lookup",t,function(s){let a=n[s.lookupType];return G.assert(!!a,"Unable to write GSUB lookup type "+s.lookupType+" tables."),new ue("lookupTable",[{name:"lookupType",type:"USHORT",value:s.lookupType},{name:"lookupFlag",type:"USHORT",value:s.lookupFlag}].concat(He("subtable",s.subtables,a)))}))}ae.prototype=Object.create(ue.prototype),ae.prototype.constructor=ae;function Ye(t){t.format===1?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:1},{name:"startGlyphID",type:"USHORT",value:t.startGlyph}].concat(Me("glyph",t.classes))):t.format===2?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"class"+s,type:"USHORT",value:n.classId}]}))):G.assert(!1,"Class format must be 1 or 2.")}Ye.prototype=Object.create(ue.prototype),Ye.prototype.constructor=Ye;var $={Table:ue,Record:ue,Coverage:Ne,ClassDef:Ye,ScriptList:de,FeatureList:ge,LookupList:ae,ushortList:Me,tableList:He,recordList:Le};function _e(t,n){return t.getUint8(n)}function Ue(t,n){return t.getUint16(n,!1)}function je(t,n){return t.getInt16(n,!1)}function at(t,n){return(t.getUint16(n)<<8)+t.getUint8(n+2)}function Ke(t,n){return t.getUint32(n,!1)}function ut(t,n){return t.getInt32(n,!1)}function bt(t,n){let s=t.getInt16(n,!1),a=t.getUint16(n+2,!1);return s+a/65535}function xt(t,n){let s="";for(let a=n;a<n+4;a+=1)s+=String.fromCharCode(t.getInt8(a));return s}function Ir(t,n,s){let a=0;for(let c=0;c<s;c+=1)a<<=8,a+=t.getUint8(n+c);return a}function hr(t,n,s){let a=[];for(let c=n;c<s;c+=1)a.push(t.getUint8(c));return a}function Fr(t){let n="";for(let s=0;s<t.length;s+=1)n+=String.fromCharCode(t[s]);return n}var Tr={byte:1,uShort:2,f2dot14:2,short:2,uInt24:3,uLong:4,fixed:4,longDateTime:8,tag:4},ht={LONG_WORDS:32768,WORD_DELTA_COUNT_MASK:32767,SHARED_POINT_NUMBERS:32768,COUNT_MASK:4095,EMBEDDED_PEAK_TUPLE:32768,INTERMEDIATE_REGION:16384,PRIVATE_POINT_NUMBERS:8192,TUPLE_INDEX_MASK:4095,POINTS_ARE_WORDS:128,POINT_RUN_COUNT_MASK:127,DELTAS_ARE_ZERO:128,DELTAS_ARE_WORDS:64,DELTA_RUN_COUNT_MASK:63,INNER_INDEX_BIT_COUNT_MASK:15,MAP_ENTRY_SIZE_MASK:48};function V(t,n){this.data=t,this.offset=n,this.relativeOffset=0}V.prototype.parseByte=function(){let t=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseChar=function(){let t=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseCard8=V.prototype.parseByte,V.prototype.parseUShort=function(){let t=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseCard16=V.prototype.parseUShort,V.prototype.parseSID=V.prototype.parseUShort,V.prototype.parseOffset16=V.prototype.parseUShort,V.prototype.parseShort=function(){let t=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseF2Dot14=function(){let t=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,t},V.prototype.parseUInt24=function(){let t=at(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=3,t},V.prototype.parseULong=function(){let t=Ke(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseLong=function(){let t=ut(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseOffset32=V.prototype.parseULong,V.prototype.parseFixed=function(){let t=bt(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseString=function(t){let n=this.data,s=this.offset+this.relativeOffset,a="";this.relativeOffset+=t;for(let c=0;c<t;c++)a+=String.fromCharCode(n.getUint8(s+c));return a},V.prototype.parseTag=function(){return this.parseString(4)},V.prototype.parseLongDateTime=function(){let t=Ke(this.data,this.offset+this.relativeOffset+4);return t-=2082844800,this.relativeOffset+=8,t},V.prototype.parseVersion=function(t){let n=Ue(this.data,this.offset+this.relativeOffset),s=Ue(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,t===void 0&&(t=4096),n+s/t/10},V.prototype.skip=function(t,n){n===void 0&&(n=1),this.relativeOffset+=Tr[t]*n},V.prototype.parseULongList=function(t){t===void 0&&(t=this.parseULong());let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint32(a),a+=4;return this.relativeOffset+=t*4,n},V.prototype.parseOffset16List=V.prototype.parseUShortList=function(t){t===void 0&&(t=this.parseUShort());let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint16(a),a+=2;return this.relativeOffset+=t*2,n},V.prototype.parseShortList=function(t){let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getInt16(a),a+=2;return this.relativeOffset+=t*2,n},V.prototype.parseByteList=function(t){let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint8(a++);return this.relativeOffset+=t,n},V.prototype.parseList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t);for(let a=0;a<t;a++)s[a]=n.call(this);return s},V.prototype.parseList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t);for(let a=0;a<t;a++)s[a]=n.call(this);return s},V.prototype.parseRecordList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t),a=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<a.length;d++){let B=a[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseRecordList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t),a=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<a.length;d++){let B=a[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseTupleRecords=function(t,n){let s=[];for(let a=0;a<t;a++){let c=[];for(let h=0;h<n;h++)c.push(this.parseF2Dot14());s.push(c)}return s},V.prototype.parseStruct=function(t){if(typeof t=="function")return t.call(this);{let n=Object.keys(t),s={};for(let a=0;a<n.length;a++){let c=n[a],h=t[c];s[c]=h.call(this)}return s}},V.prototype.parseValueRecord=function(t){if(t===void 0&&(t=this.parseUShort()),t===0)return;let n={};return t&1&&(n.xPlacement=this.parseShort()),t&2&&(n.yPlacement=this.parseShort()),t&4&&(n.xAdvance=this.parseShort()),t&8&&(n.yAdvance=this.parseShort()),t&16&&(n.xPlaDevice=void 0,this.parseShort()),t&32&&(n.yPlaDevice=void 0,this.parseShort()),t&64&&(n.xAdvDevice=void 0,this.parseShort()),t&128&&(n.yAdvDevice=void 0,this.parseShort()),n},V.prototype.parseValueRecordList=function(){let t=this.parseUShort(),n=this.parseUShort(),s=new Array(n);for(let a=0;a<n;a++)s[a]=this.parseValueRecord(t);return s},V.prototype.parsePointer=function(t){let n=this.parseOffset16();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parsePointer32=function(t){let n=this.parseOffset32();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parseListOfLists=function(t){let n=this.parseOffset16List(),s=n.length,a=this.relativeOffset,c=new Array(s);for(let h=0;h<s;h++){let d=n[h];if(d===0){c[h]=void 0;continue}if(this.relativeOffset=d,t){let B=this.parseOffset16List(),w=new Array(B.length);for(let x=0;x<B.length;x++)this.relativeOffset=d+B[x],w[x]=t.call(this);c[h]=w}else c[h]=this.parseUShortList()}return this.relativeOffset=a,c},V.prototype.parseCoverage=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort(),s=this.parseUShort();if(n===1)return{format:1,glyphs:this.parseUShortList(s)};if(n===2){let a=new Array(s);for(let c=0;c<s;c++)a[c]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:a}}throw new Error("0x"+t.toString(16)+": Coverage format must be 1 or 2.")},V.prototype.parseClassDef=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort();return n===1?{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()}:n===2?{format:2,ranges:this.parseRecordList({start:V.uShort,end:V.uShort,classId:V.uShort})}:(console.warn(`0x${t.toString(16)}: This font file uses an invalid ClassDef format of ${n}. It might be corrupted and should be reacquired if it doesn't display as intended.`),{format:n})},V.list=function(t,n){return function(){return this.parseList(t,n)}},V.list32=function(t,n){return function(){return this.parseList32(t,n)}},V.recordList=function(t,n){return function(){return this.parseRecordList(t,n)}},V.recordList32=function(t,n){return function(){return this.parseRecordList32(t,n)}},V.pointer=function(t){return function(){return this.parsePointer(t)}},V.pointer32=function(t){return function(){return this.parsePointer32(t)}},V.tag=V.prototype.parseTag,V.byte=V.prototype.parseByte,V.uShort=V.offset16=V.prototype.parseUShort,V.uShortList=V.prototype.parseUShortList,V.uInt24=V.prototype.parseUInt24,V.uLong=V.offset32=V.prototype.parseULong,V.uLongList=V.prototype.parseULongList,V.fixed=V.prototype.parseFixed,V.f2Dot14=V.prototype.parseF2Dot14,V.struct=V.prototype.parseStruct,V.coverage=V.prototype.parseCoverage,V.classDef=V.prototype.parseClassDef;var Vr={reserved:V.uShort,reqFeatureIndex:V.uShort,featureIndexes:V.uShortList};V.prototype.parseScriptList=function(){return this.parsePointer(V.recordList({tag:V.tag,script:V.pointer({defaultLangSys:V.pointer(Vr),langSysRecords:V.recordList({tag:V.tag,langSys:V.pointer(Vr)})})}))||[]},V.prototype.parseFeatureList=function(){return this.parsePointer(V.recordList({tag:V.tag,feature:V.pointer({featureParams:V.offset16,lookupListIndexes:V.uShortList})}))||[]},V.prototype.parseLookupList=function(t){return this.parsePointer(V.list(V.pointer(function(){let n=this.parseUShort();G.argument(1<=n&&n<=9,"GPOS/GSUB lookup type "+n+" unknown.");let s=this.parseUShort(),a=s&16;return{lookupType:n,lookupFlag:s,subtables:this.parseList(V.pointer(t[n])),markFilteringSet:a?this.parseUShort():void 0}})))||[]},V.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){let t=this.parseUShort(),n=this.parseUShort();return G.argument(t===1&&n<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:V.offset32,featureTableSubstitutionOffset:V.offset32})})||[]},V.prototype.parseVariationStore=function(){let t=this.relativeOffset,n=this.parseUShort(),s={itemVariationStore:this.parseItemVariationStore()};return this.relativeOffset=t+n+2,s},V.prototype.parseItemVariationStore=function(){let t=this.relativeOffset,n={format:this.parseUShort(),variationRegions:[],itemVariationSubtables:[]},s=this.parseOffset32(),a=this.parseUShort(),c=this.parseULongList(a);this.relativeOffset=t+s,n.variationRegions=this.parseVariationRegionList();for(let h=0;h<a;h++){let d=c[h];this.relativeOffset=t+d,n.itemVariationSubtables.push(this.parseItemVariationSubtable())}return n},V.prototype.parseVariationRegionList=function(){let t=this.parseUShort(),n=this.parseUShort();return this.parseRecordList(n,{regionAxes:V.recordList(t,{startCoord:V.f2Dot14,peakCoord:V.f2Dot14,endCoord:V.f2Dot14})})},V.prototype.parseItemVariationSubtable=function(){let t=this.parseUShort(),n=this.parseUShort(),s=this.parseUShortList(),a=s.length;return{regionIndexes:s,deltaSets:t&&a?this.parseDeltaSets(t,n,a):[]}},V.prototype.parseDeltaSetIndexMap=function(){let t=this.parseByte(),n=this.parseByte(),s=[],a=0;switch(t){case 0:a=this.parseUShort();break;case 1:a=this.parseULong();break;default:console.error(`unsupported DeltaSetIndexMap format ${t}`)}if(!a)return{format:t,entryFormat:n};let c=(n&ht.INNER_INDEX_BIT_COUNT_MASK)+1,h=((n&ht.MAP_ENTRY_SIZE_MASK)>>4)+1;for(let d=0;d<a;d++){let B;if(h===1)B=this.parseByte();else if(h===2)B=this.parseUShort();else if(h===3)B=this.parseUInt24();else if(h===4)B=this.parseULong();else throw new Error(`Invalid entry size of ${h}`);let w=B>>c,x=B&(1<<c)-1;s.push({outerIndex:w,innerIndex:x})}return{format:t,entryFormat:n,map:s}},V.prototype.parseDeltaSets=function(t,n,s){let a=Array.from({length:t},()=>[]),c=n&ht.LONG_WORDS,h=n&ht.WORD_DELTA_COUNT_MASK;if(h>s)throw Error("wordCount must be less than or equal to regionIndexCount");let d=(c?this.parseLong:this.parseShort).bind(this),B=(c?this.parseShort:this.parseChar).bind(this);for(let w=0;w<t;w++)for(let x=0;x<s;x++)x<h?a[w].push(d()):a[w].push(B());return a},V.prototype.parseTupleVariationStoreList=function(t,n,s){let a=this.parseUShort(),h=this.parseUShort()&1,d=this.parseOffset32(),B=(h?this.parseULong:this.parseUShort).bind(this),w={},x=B();h||(x*=2);let C;for(let S=0;S<a;S++){C=B(),h||(C*=2);let T=C-x;w[S]=T?this.parseTupleVariationStore(d+x,t,n,s,S):void 0,x=C}return w},V.prototype.parseTupleVariationStore=function(t,n,s,a,c){let h=this.relativeOffset;this.relativeOffset=t,s==="cvar"&&(this.relativeOffset+=4);let d=this.parseUShort(),B=!!(d&ht.SHARED_POINT_NUMBERS),w=d&ht.COUNT_MASK,x=this.parseOffset16(),C=[],S=[];for(let U=0;U<w;U++){let L=this.parseTupleVariationHeader(n,s);C.push(L)}this.relativeOffset!==t+x&&(console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${t+x}, actually ${this.relativeOffset}`),this.relativeOffset=t+x),B&&(S=this.parsePackedPointNumbers());let T=this.relativeOffset;for(let U=0;U<w;U++){let L=C[U];L.privatePoints=[],this.relativeOffset=T,s==="cvar"&&!L.peakTuple&&console.warn("An embedded peak tuple is required in TupleVariationHeaders for the cvar table."),L.flags.privatePointNumbers&&(L.privatePoints=this.parsePackedPointNumbers()),delete L.flags;let ee=this.offset,Te=this.relativeOffset,xe=Re=>{let Je,$e,nt=()=>{let st=0;if(s==="gvar"){if(st=L.privatePoints.length||S.length,!st){let Bt=a.get(c);Bt.path,st=Bt.points.length,st+=4}}else s==="cvar"&&(st=a.length);this.offset=ee,this.relativeOffset=Te,Je=this.parsePackedDeltas(st),s==="gvar"&&($e=this.parsePackedDeltas(st))};return{configurable:!0,get:function(){return Je===void 0&&nt(),Re==="deltasY"?$e:Je},set:function(st){Je===void 0&&nt(),Re==="deltasY"?$e=st:Je=st}}};Object.defineProperty(L,"deltas",xe.call(this,"deltas")),s==="gvar"&&Object.defineProperty(L,"deltasY",xe.call(this,"deltasY")),T+=L.variationDataSize,delete L.variationDataSize}this.relativeOffset=h;let Y={headers:C};return Y.sharedPoints=S,Y},V.prototype.parseTupleVariationHeader=function(t,n){let s=this.parseUShort(),a=this.parseUShort(),c=!!(a&ht.EMBEDDED_PEAK_TUPLE),h=!!(a&ht.INTERMEDIATE_REGION),d=!!(a&ht.PRIVATE_POINT_NUMBERS),B=c?void 0:a&ht.TUPLE_INDEX_MASK,w=c?this.parseTupleRecords(1,t)[0]:void 0,x=h?this.parseTupleRecords(1,t)[0]:void 0,C=h?this.parseTupleRecords(1,t)[0]:void 0,S={variationDataSize:s,peakTuple:w,intermediateStartTuple:x,intermediateEndTuple:C,flags:{embeddedPeakTuple:c,intermediateRegion:h,privatePointNumbers:d}};return n==="gvar"&&(S.sharedTupleRecordsIndex=B),S},V.prototype.parsePackedPointNumbers=function(){let t=this.parseByte(),n=[],s=t;if(t>=128){let c=this.parseByte();s=(t&ht.POINT_RUN_COUNT_MASK)<<8|c}let a=0;for(;n.length<s;){let c=this.parseByte(),h=!!(c&ht.POINTS_ARE_WORDS),d=(c&ht.POINT_RUN_COUNT_MASK)+1;for(let B=0;B<d&&n.length<s;B++){let w;h?w=this.parseUShort():w=this.parseByte(),a=a+w,n.push(a)}}return n},V.prototype.parsePackedDeltas=function(t){let n=[];for(;n.length<t;){let s=this.parseByte(),a=!!(s&ht.DELTAS_ARE_ZERO),c=!!(s&ht.DELTAS_ARE_WORDS),h=(s&ht.DELTA_RUN_COUNT_MASK)+1;for(let d=0;d<h&&n.length<t;d++)a?n.push(0):c?n.push(this.parseShort()):n.push(this.parseChar())}return n};var he={getByte:_e,getCard8:_e,getUShort:Ue,getCard16:Ue,getShort:je,getUInt24:at,getULong:Ke,getFixed:bt,getTag:xt,getOffset:Ir,getBytes:hr,bytesToString:Fr,Parser:V},fr=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],hn={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},is={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},fn={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ns(t,n,s){switch(t){case 0:if(n===65535)return"und";if(s)return s[n];break;case 1:return hn[n];case 3:return fn[n]}}var li="utf-16",ss={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},os={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Fi(t,n,s){switch(t){case 0:return li;case 1:return os[s]||ss[n];case 3:if(n===1||n===10)return li;break}}var pn={0:"unicode",1:"macintosh",2:"reserved",3:"windows"};function as(t){return pn[t]}function Yo(t,n,s){let a={},c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort(),B=c.offset+c.parseUShort();for(let w=0;w<d;w++){let x=c.parseUShort(),C=c.parseUShort(),S=c.parseUShort(),T=c.parseUShort(),Y=fr[T]||T,U=c.parseUShort(),L=c.parseUShort(),ee=ns(x,S,s),Te=Fi(x,C,S),xe=as(x);if(Te!==void 0&&ee!==void 0&&xe!==void 0){let Re;if(Te===li?Re=Qe.UTF16(t,B+L,U):Re=Qe.MACSTRING(t,B+L,U,Te),Re){let Je=a[xe];Je===void 0&&(Je=a[xe]={});let $e=Je[Y];$e===void 0&&($e=Je[Y]={}),$e[ee]=Re}}}return h===1&&c.parseUShort(),a}function pr(t){let n={};for(let s in t)n[t[s]]=parseInt(s);return n}function Ti(t,n,s,a,c,h){return new $.Record("NameRecord",[{name:"platformID",type:"USHORT",value:t},{name:"encodingID",type:"USHORT",value:n},{name:"languageID",type:"USHORT",value:s},{name:"nameID",type:"USHORT",value:a},{name:"length",type:"USHORT",value:c},{name:"offset",type:"USHORT",value:h}])}function Si(t,n){let s=t.length,a=n.length-s+1;e:for(let c=0;c<a;c++)for(;c<a;c++){for(let h=0;h<s;h++)if(n[c+h]!==t[h])continue e;return c}return-1}function ci(t,n){let s=Si(t,n);if(s<0){s=n.length;let a=0,c=t.length;for(;a<c;++a)n.push(t[a])}return s}function As(t,n){let s=pr(pn),a=pr(hn),c=pr(fn),h=[],d=[];for(let w in t){let x,C=[],S={},T=pr(fr),Y=s[w];for(let U in t[w]){let L=T[U];if(L===void 0&&(L=U),x=parseInt(L),isNaN(x))throw new Error('Name table entry "'+U+'" does not exist, see nameTableNames for complete list.');S[x]=t[w][U],C.push(x)}for(let U=0;U<C.length;U++){x=C[U];let L=S[x];for(let ee in L){let Te=L[ee];if(Y===1||Y===0){let xe=a[ee],Re=is[xe],Je=Fi(Y,Re,xe),$e=Z.MACSTRING(Te,Je);if(Y===0&&(xe=n.indexOf(ee),xe<0&&(xe=n.length,n.push(ee)),Re=4,$e=Z.UTF16(Te)),$e!==void 0){let nt=ci($e,d);h.push(Ti(Y,Re,xe,x,$e.length,nt))}}if(Y===3){let xe=c[ee];if(xe!==void 0){let Re=Z.UTF16(Te),Je=ci(Re,d);h.push(Ti(3,1,xe,x,Re.length,Je))}}}}}h.sort(function(w,x){return w.platformID-x.platformID||w.encodingID-x.encodingID||w.languageID-x.languageID||w.nameID-x.nameID});let B=new $.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:h.length},{name:"stringOffset",type:"USHORT",value:6+h.length*12}]);for(let w=0;w<h.length;w++)B.fields.push({name:"record_"+w,type:"RECORD",value:h[w]});return B.fields.push({name:"strings",type:"LITERAL",value:d}),B}function ui(t,n,s=[]){if(n<256&&n in fr){if(s.length&&!s.includes(parseInt(n)))return;n=fr[n]}for(let a in t)for(let c in t[a])if(c===n||parseInt(c)===n)return t[a][c]}var dn={parse:Yo,make:As,getNameByID:ui};function ls(t,n,s,a){t.length=n.parseUShort(),t.language=n.parseUShort()-1;let c=n.parseByteList(t.length),h=Object.assign({},c),d=Fi(s,a,t.language),B=Oe[d];for(let w=0;w<B.length;w++)h[B.charCodeAt(w)]=c[128+w];t.glyphIndexMap=h}function cs(t,n,s){n.parseUShort(),t.length=n.parseULong(),t.language=n.parseULong();let a;t.groupCount=a=n.parseULong(),t.glyphIndexMap={};for(let c=0;c<a;c+=1){let h=n.parseULong(),d=n.parseULong(),B=n.parseULong();for(let w=h;w<=d;w+=1)t.glyphIndexMap[w]=B,s===12&&B++}}function us(t,n,s,a,c){t.length=n.parseUShort(),t.language=n.parseUShort();let h;t.segCount=h=n.parseUShort()>>1,n.skip("uShort",3),t.glyphIndexMap={};let d=new he.Parser(s,a+c+14),B=new he.Parser(s,a+c+16+h*2),w=new he.Parser(s,a+c+16+h*4),x=new he.Parser(s,a+c+16+h*6),C=a+c+16+h*8;for(let S=0;S<h-1;S+=1){let T,Y=d.parseUShort(),U=B.parseUShort(),L=w.parseShort(),ee=x.parseUShort();for(let Te=U;Te<=Y;Te+=1)ee!==0?(C=x.offset+x.relativeOffset-2,C+=ee,C+=(Te-U)*2,T=he.getUShort(s,C),T!==0&&(T=T+L&65535)):T=Te+L&65535,t.glyphIndexMap[Te]=T}}function hs(t,n){let s={};n.skip("uLong");let a=n.parseULong();for(let c=0;c<a;c+=1){let h=n.parseUInt24(),d={varSelector:h},B=n.parseOffset32(),w=n.parseOffset32(),x=n.relativeOffset;B&&(n.relativeOffset=B,d.defaultUVS=n.parseStruct({ranges:function(){return n.parseRecordList32({startUnicodeValue:n.parseUInt24,additionalCount:n.parseByte})}})),w&&(n.relativeOffset=w,d.nonDefaultUVS=n.parseStruct({uvsMappings:function(){let C={},S=n.parseRecordList32({unicodeValue:n.parseUInt24,glyphID:n.parseUShort});for(let T=0;T<S.length;T+=1)C[S[T].unicodeValue]=S[T];return C}})),s[h]=d,n.relativeOffset=x}t.varSelectorList=s}function Di(t,n){let s={};s.version=he.getUShort(t,n),G.argument(s.version===0,"cmap table version should be 0."),s.numTables=he.getUShort(t,n+2);let a=null,c=-1,h=-1,d=null,B=null,w=[0,1,2,3,4,6],x=[0,1,10];for(let S=s.numTables-1;S>=0;S-=1)if(d=he.getUShort(t,n+4+S*8),B=he.getUShort(t,n+4+S*8+2),d===3&&x.includes(B)||d===0&&w.includes(B)||d===1&&B===0){if(h>0)continue;if(h=he.getULong(t,n+4+S*8+4),a)break}else if(d===0&&B===5){if(c=he.getULong(t,n+4+S*8+4),a=new he.Parser(t,n+c),a.parseUShort()!==14)c=-1,a=null;else if(h>0)break}if(h===-1)throw new Error("No valid cmap sub-tables found.");let C=new he.Parser(t,n+h);if(s.format=C.parseUShort(),s.format===0)ls(s,C,d,B);else if(s.format===12||s.format===13)cs(s,C,s.format);else if(s.format===4)us(s,C,t,n,h);else throw new Error("Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format "+s.format+", platformId "+d+", encodingId "+B+").");return a&&hs(s,a),s}function k0(t,n,s){t.segments.push({end:n,start:n,delta:-(n-s),offset:0,glyphIndex:s})}function Y0(t){t.segments.push({end:65535,start:65535,delta:1,offset:0})}function O0(t){if(t.length===0)return t;let n=[t[0]];for(let s=1;s<t.length;s++){let a=n[n.length-1],c=t[s];a.end+1===c.start&&a.delta===c.delta&&c.end!==65535?a.end=c.end:n.push(c)}return n}function N0(t){let n=!0,s;for(s=t.length-1;s>0;s-=1)if(t.get(s).unicode>65535){n=!1;break}let a=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:n?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:n?12:20}];n||a.push({name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}),a.push({name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0});let c=new $.Table("cmap",a);for(c.segments=[],s=0;s<t.length;s+=1){let Y=t.get(s);for(let U=0;U<Y.unicodes.length;U+=1)k0(c,Y.unicodes[U],s)}c.segments.sort(function(Y,U){return Y.start-U.start}),c.segments=O0(c.segments),Y0(c);let h=c.segments.length,d=0,B=[],w=[],x=[],C=[],S=[],T=[];for(s=0;s<h;s+=1){let Y=c.segments[s];Y.end<=65535&&Y.start<=65535?(B.push({name:"end_"+s,type:"USHORT",value:Y.end}),w.push({name:"start_"+s,type:"USHORT",value:Y.start}),x.push({name:"idDelta_"+s,type:"SHORT",value:Y.delta}),C.push({name:"idRangeOffset_"+s,type:"USHORT",value:Y.offset}),Y.glyphId!==void 0&&S.push({name:"glyph_"+s,type:"USHORT",value:Y.glyphId})):d+=1,!n&&Y.glyphIndex!==void 0&&(T.push({name:"cmap12Start_"+s,type:"ULONG",value:Y.start}),T.push({name:"cmap12End_"+s,type:"ULONG",value:Y.end}),T.push({name:"cmap12Glyph_"+s,type:"ULONG",value:Y.glyphIndex}))}c.segCountX2=(h-d)*2,c.searchRange=Math.pow(2,Math.floor(Math.log(h-d)/Math.log(2)))*2,c.entrySelector=Math.log(c.searchRange/2)/Math.log(2),c.rangeShift=c.segCountX2-c.searchRange;for(let Y=0;Y<B.length;Y++)c.fields.push(B[Y]);c.fields.push({name:"reservedPad",type:"USHORT",value:0});for(let Y=0;Y<w.length;Y++)c.fields.push(w[Y]);for(let Y=0;Y<x.length;Y++)c.fields.push(x[Y]);for(let Y=0;Y<C.length;Y++)c.fields.push(C[Y]);for(let Y=0;Y<S.length;Y++)c.fields.push(S[Y]);if(c.cmap4Length=14+B.length*2+2+w.length*2+x.length*2+C.length*2+S.length*2,!n){let Y=16+T.length*4;c.cmap12Offset=20+c.cmap4Length,c.fields.push({name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:Y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:T.length/3});for(let U=0;U<T.length;U++)c.fields.push(T[U])}return c}var Wl={parse:Di,make:N0},fs=[".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","266 ff","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"],R0=[".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"],G0=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","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","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","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"],L0=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Oo=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],P0=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","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","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","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"],hi=[".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 Jl(t){this.font=t}Jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.font.glyphs;if(s)for(let a=0;a<s.length;a+=1){let c=s.get(a);for(let h=0;h<c.unicodes.length;h+=1)if(c.unicodes[h]===n)return a}return null};function Vl(t){this.cmap=t}Vl.prototype.charToGlyphIndex=function(t){return this.cmap.glyphIndexMap[t.codePointAt(0)]||0};function jl(t,n){this.encoding=t,this.charset=n}jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.encoding[n];return this.charset.indexOf(s)};function No(t){switch(t.version){case 1:this.names=hi.slice();break;case 2:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]<hi.length?this.names[n]=hi[t.glyphNameIndex[n]]:this.names[n]=t.names[t.glyphNameIndex[n]-hi.length];break;case 2.5:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)this.names[n]=hi[n+t.glyphNameIndex[n]];break;case 3:this.names=[];break;default:this.names=[];break}}No.prototype.nameToGlyphIndex=function(t){return this.names.indexOf(t)},No.prototype.glyphIndexToName=function(t){return this.names[t]};function H0(t){let n,s=t.tables.cmap.glyphIndexMap,a=Object.keys(s);for(let c=0;c<a.length;c+=1){let h=a[c],d=s[h];n=t.glyphs.get(d),n.addUnicode(parseInt(h))}for(let c=0;c<t.glyphs.length;c+=1)n=t.glyphs.get(c),t.cffEncoding?n.name=t.cffEncoding.charset[c]:t.glyphNames.names&&(n.name=t.glyphNames.glyphIndexToName(c))}function W0(t){t._IndexToUnicodeMap={};let n=t.tables.cmap.glyphIndexMap,s=Object.keys(n);for(let a=0;a<s.length;a+=1){let c=s[a],h=n[c];t._IndexToUnicodeMap[h]===void 0?t._IndexToUnicodeMap[h]={unicodes:[parseInt(c)]}:t._IndexToUnicodeMap[h].unicodes.push(parseInt(c))}}function J0(t,n){n.lowMemory?W0(t):H0(t)}function V0(t,n,s,a,c){t.beginPath(),t.moveTo(n,s),t.lineTo(a,c),t.stroke()}var fi={line:V0};function j0(t,n){let s=new V(t,n),a=s.parseShort();a!==0&&console.warn("Only CPALv0 is currently fully supported.");let c=s.parseShort(),h=s.parseShort(),d=s.parseShort(),B=s.parseOffset32(),w=s.parseUShortList(h);s.relativeOffset=B;let x=s.parseULongList(d);return s.relativeOffset=B,{version:a,numPaletteEntries:c,colorRecords:x,colorRecordIndices:w}}function _0({version:t=0,numPaletteEntries:n=0,colorRecords:s=[],colorRecordIndices:a=[0]}){return G.argument(t===0,"Only CPALv0 are supported."),G.argument(s.length,"No colorRecords given."),G.argument(a.length,"No colorRecordIndices given."),a.length>1&&G.argument(n,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new $.Table("CPAL",[{name:"version",type:"USHORT",value:t},{name:"numPaletteEntries",type:"USHORT",value:n||s.length},{name:"numPalettes",type:"USHORT",value:a.length},{name:"numColorRecords",type:"USHORT",value:s.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*a.length},...a.map((c,h)=>({name:"colorRecordIndices_"+h,type:"USHORT",value:c})),...s.map((c,h)=>({name:"colorRecords_"+h,type:"ULONG",value:c}))])}function _l(t){var n=(t&4278190080)>>24,s=(t&16711680)>>16,a=(t&65280)>>8,c=t&255;return n=n+256&255,s=s+256&255,a=a+256&255,c=(c+256&255)/255,{b:n,g:s,r:a,a:c}}function Ro(t,n,s=0,a="hexa"){if(n==65535)return"currentColor";let c=t&&t.tables&&t.tables.cpal;if(!c)return"currentColor";if(s>c.colorRecordIndices.length-1)throw new Error(`Palette index out of range (colorRecordIndices.length: ${c.colorRecordIndices.length}, index: ${n})`);if(n>c.numPaletteEntries)throw new Error(`Color index out of range (numPaletteEntries: ${c.numPaletteEntries}, index: ${n})`);let h=c.colorRecordIndices[s]+n;if(h>c.colorRecords)throw new Error(`Color index out of range (colorRecords.length: ${c.colorRecords.length}, lookupIndex: ${h})`);let d=_l(c.colorRecords[h]);return a==="bgra"?d:Mi(d,a)}function rr(t){return("0"+parseInt(t).toString(16)).slice(-2)}function Z0(t){let n=t.r/255,s=t.g/255,a=t.b/255,c=Math.max(n,s,a),h=Math.min(n,s,a),d,B,w=(c+h)/2;if(c===h)d=B=0;else{let x=c-h;switch(B=w>.5?x/(2-c-h):x/(c+h),c){case n:d=(s-a)/x+(s<a?6:0);break;case s:d=(a-n)/x+2;break;case a:d=(n-s)/x+4;break}d/=6}return{h:d*360,s:B*100,l:w*100}}function X0(t){let{h:n,s,l:a,a:c}=t;n=n%360,s/=100,a/=100;let h=(1-Math.abs(2*a-1))*s,d=h*(1-Math.abs(n/60%2-1)),B=a-h/2,w=0,x=0,C=0;return 0<=n&&n<60?(w=h,x=d,C=0):60<=n&&n<120?(w=d,x=h,C=0):120<=n&&n<180?(w=0,x=h,C=d):180<=n&&n<240?(w=0,x=d,C=h):240<=n&&n<300?(w=d,x=0,C=h):300<=n&&n<=360&&(w=h,x=0,C=d),{r:Math.round((w+B)*255),g:Math.round((x+B)*255),b:Math.round((C+B)*255),a:c}}function Zl(t){return parseInt(`0x${rr(t.b)}${rr(t.g)}${rr(t.r)}${rr(t.a*255)}`,16)}function ps(t,n="hexa"){let s=n=="raw"||n=="cpal",a=Number.isInteger(t),c=!0;if(a&&s||t==="currentColor")return t;if(typeof t=="object"){if(n=="bgra")return t;if(s)return Zl(t)}else if(!a&&/^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(t.trim())){switch(t=t.trim().substring(1),t.length){case 3:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:1};break;case 4:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:parseInt(t[3].repeat(2),16)/255};break;case 6:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:1};break;case 8:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:parseInt(t[6]+t[7],16)/255};break}if(n=="bgra")return t}else if(typeof document<"u"&&/^[a-z]+$/i.test(t)){let h=document.createElement("canvas").getContext("2d");h.fillStyle=t;let d=Mi(h.fillStyle,"hexa");d==="#000000ff"&&t.toLowerCase()!=="black"?c=!1:t=d}else{t=t.trim();let h=/rgba?\(\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(h.test(t)){let d=t.match(h).filter(B=>typeof B<"u");t={r:Math.round(parseFloat(d[1])/(d[2]?.39215686274509803:1)),g:Math.round(parseFloat(d[3])/(d[4]?.39215686274509803:1)),b:Math.round(parseFloat(d[5])/(d[6]?.39215686274509803:1)),a:d[7]?parseFloat(d[7])/(d[8]?100:1):1}}else{let d=/hsla?\(\s*(?:(\d*\.\d+|\d+)(deg|turn|))\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(d.test(t)){let B=t.match(d).filter(w=>typeof w<"u");t=X0({h:parseFloat(B[1])*(B[2]==="turn"?360:1),s:parseFloat(B[3]),l:parseFloat(B[4]),a:B[5]?parseFloat(B[5])/(B[6]?100:1):1})}else c=!1}}if(!c)throw new Error(`Invalid color format: ${t}`);return Mi(t,n)}function Mi(t,n="hexa"){if(t==="currentColor")return t;if(Number.isInteger(t)){if(n=="raw"||n=="cpal")return t;t=_l(t)}else typeof t!="object"&&(t=ps(t,"bgra"));let s=["hsl","hsla"].includes(n)?Z0(t):null;switch(n){case"rgba":return`rgba(${t.r}, ${t.g}, ${t.b}, ${parseFloat(t.a.toFixed(3))})`;case"rgb":return`rgb(${t.r}, ${t.g}, ${t.b})`;case"hex":case"hex6":case"hex-6":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}`;case"hexa":case"hex8":case"hex-8":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}${rr(t.a*255)}`;case"hsl":return`hsl(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%)`;case"hsla":return`hsla(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%, ${parseFloat(t.a.toFixed(3))})`;case"bgra":return t;case"raw":case"cpal":return Zl(t);default:throw new Error("Unknown color format: "+n)}}var Xl={parse:j0,make:_0,getPaletteColor:Ro,parseColor:ps,formatColor:Mi};function z0(t,n){let s=n||new z;return{configurable:!0,get:function(){return typeof s=="function"&&(s=s()),s},set:function(a){s=a}}}function Qt(t){this.bindConstructorValues(t)}Qt.prototype.bindConstructorValues=function(t){if(this.index=t.index||0,t.name===".notdef"?t.unicode=void 0:t.name===".null"&&(t.unicode=0),t.unicode===0&&t.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=t.name||null,this.unicode=t.unicode,this.unicodes=t.unicodes||(t.unicode!==void 0?[t.unicode]:[]),"xMin"in t&&(this.xMin=t.xMin),"yMin"in t&&(this.yMin=t.yMin),"xMax"in t&&(this.xMax=t.xMax),"yMax"in t&&(this.yMax=t.yMax),"advanceWidth"in t&&(this.advanceWidth=t.advanceWidth),"leftSideBearing"in t&&(this.leftSideBearing=t.leftSideBearing),"points"in t&&(this.points=t.points),Object.defineProperty(this,"path",z0(this,t.path))},Qt.prototype.addUnicode=function(t){this.unicodes.length===0&&(this.unicode=t),this.unicodes.push(t)},Qt.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Qt.prototype.getPath=function(t,n,s,a,c){t=t!==void 0?t:0,n=n!==void 0?n:0,s=s!==void 0?s:72,a=Object.assign({},c&&c.defaultRenderOptions,a);let h,d,B=a.xScale,w=a.yScale,x=1/(this.path.unitsPerEm||1e3)*s,C=this;c&&c.variation&&(C=c.variation.getTransform(this,a.variation),h=C.path.commands),a.hinting&&c&&c.hinting&&(d=C.path&&c.hinting.exec(C,s,a)),d?(h=c.hinting.getCommands(d),t=Math.round(t),n=Math.round(n),B=w=1):(h=C.path.commands,B===void 0&&(B=x),w===void 0&&(w=x));let S=new z;if(a.drawSVG){let T=this.getSvgImage(c);if(T){let Y=new z;return Y._image={image:T.image,x:t+T.leftSideBearing*x,y:n-T.baseline*x,width:T.image.width*x,height:T.image.height*x},S._layers=[Y],S}}if(a.drawLayers){let T=this.getLayers(c);if(T&&T.length){S._layers=[];for(let Y=0;Y<T.length;Y+=1){let U=T[Y],L=Ro(c,U.paletteIndex,a.usePalette);L==="currentColor"?L=a.fill||"black":L=Mi(L,a.colorFormat||"rgba"),a=Object.assign({},a,{fill:L}),S._layers.push(this.getPath.call(U.glyph,t,n,s,a,c))}return S}}S.fill=a.fill||this.path.fill,S.stroke=this.path.stroke,S.strokeWidth=this.path.strokeWidth*x;for(let T=0;T<h.length;T+=1){let Y=h[T];Y.type==="M"?S.moveTo(t+Y.x*B,n+-Y.y*w):Y.type==="L"?S.lineTo(t+Y.x*B,n+-Y.y*w):Y.type==="Q"?S.quadraticCurveTo(t+Y.x1*B,n+-Y.y1*w,t+Y.x*B,n+-Y.y*w):Y.type==="C"?S.curveTo(t+Y.x1*B,n+-Y.y1*w,t+Y.x2*B,n+-Y.y2*w,t+Y.x*B,n+-Y.y*w):Y.type==="Z"&&S.stroke&&S.strokeWidth&&S.closePath()}return S},Qt.prototype.getLayers=function(t){if(!t)throw new Error("The font object is required to read the colr/cpal tables in order to get the layers.");return t.layers.get(this.index)},Qt.prototype.getSvgImage=function(t){if(!t)throw new Error("The font object is required to read the svg table in order to get the image.");return t.svgImages.get(this.index)},Qt.prototype.getContours=function(t=null){if(this.points===void 0&&!t)return[];let n=[],s=[],a=t||this.points;for(let c=0;c<a.length;c+=1){let h=a[c];s.push(h),h.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n},Qt.prototype.getMetrics=function(){let t=this.path.commands,n=[],s=[];for(let c=0;c<t.length;c+=1){let h=t[c];h.type!=="Z"&&(n.push(h.x),s.push(h.y)),(h.type==="Q"||h.type==="C")&&(n.push(h.x1),s.push(h.y1)),h.type==="C"&&(n.push(h.x2),s.push(h.y2))}let a={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),leftSideBearing:this.leftSideBearing};return isFinite(a.xMin)||(a.xMin=0),isFinite(a.xMax)||(a.xMax=this.advanceWidth),isFinite(a.yMin)||(a.yMin=0),isFinite(a.yMax)||(a.yMax=0),a.rightSideBearing=this.advanceWidth-a.leftSideBearing-(a.xMax-a.xMin),a},Qt.prototype.draw=function(t,n,s,a,c,h){c=Object.assign({},h&&h.defaultRenderOptions,c),this.getPath(n,s,a,c,h).draw(t)},Qt.prototype.drawPoints=function(t,n,s,a,c,h){if(c=Object.assign({},h&&h.defaultRenderOptions,c),c.drawLayers){let T=this.getLayers(h);if(T&&T.length){for(let Y=0;Y<T.length;Y+=1)T[Y].glyph.index!==this.index&&this.drawPoints.call(T[Y].glyph,t,n,s,a);return}}function d(T,Y,U,L){t.beginPath();for(let ee=0;ee<T.length;ee+=1)t.moveTo(Y+T[ee].x*L,U+T[ee].y*L),t.arc(Y+T[ee].x*L,U+T[ee].y*L,2,0,Math.PI*2,!1);t.fill()}n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:24;let B=1/this.path.unitsPerEm*a,w=[],x=[],S=this.path.commands;h&&h.variation&&(S=h.variation.getTransform(this,c.variation).path.commands);for(let T=0;T<S.length;T+=1){let Y=S[T];Y.x!==void 0&&w.push({x:Y.x,y:-Y.y}),Y.x1!==void 0&&x.push({x:Y.x1,y:-Y.y1}),Y.x2!==void 0&&x.push({x:Y.x2,y:-Y.y2})}t.fillStyle="blue",d(w,n,s,B),t.fillStyle="red",d(x,n,s,B)},Qt.prototype.drawMetrics=function(t,n,s,a){let c;n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:24,c=1/this.path.unitsPerEm*a,t.lineWidth=1,t.strokeStyle="black",fi.line(t,n,-1e4,n,1e4),fi.line(t,-1e4,s,1e4,s);let h=this.xMin||0,d=this.yMin||0,B=this.xMax||0,w=this.yMax||0,x=this.advanceWidth||0;t.strokeStyle="blue",fi.line(t,n+h*c,-1e4,n+h*c,1e4),fi.line(t,n+B*c,-1e4,n+B*c,1e4),fi.line(t,-1e4,s+-d*c,1e4,s+-d*c),fi.line(t,-1e4,s+-w*c,1e4,s+-w*c),t.strokeStyle="green",fi.line(t,n+x*c,-1e4,n+x*c,1e4)},Qt.prototype.toPathData=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this;n&&n.variation&&(s=n.variation.getTransform(this,t.variation));let a=s.points&&t.pointsTransform?t.pointsTransform(s.points):s.path;return t.pathTransform&&(a=t.pathTransform(a)),a.toPathData(t)},Qt.prototype.fromSVG=function(t,n={}){return this.path.fromSVG(t,n)},Qt.prototype.toSVG=function(t,n){let s=this.toPathData.apply(this,[t,n]);return this.path.toSVG(t,s)},Qt.prototype.toDOMElement=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this.path;return n&&n.variation&&(s=n.variation.getTransform(this,t.variation).path),s.toDOMElement(t)};var Ui=Qt;function ki(t,n,s){Object.defineProperty(t,n,{get:function(){return typeof t[s]>"u"&&t.path,t[s]},set:function(a){t[s]=a},enumerable:!0,configurable:!0})}function ds(t,n){if(this.font=t,this.glyphs={},Array.isArray(n))for(let s=0;s<n.length;s++){let a=n[s];a.path.unitsPerEm=t.unitsPerEm,this.glyphs[s]=a}this.length=n&&n.length||0}typeof Symbol<"u"&&Symbol.iterator&&(ds.prototype[Symbol.iterator]=function(){let t=-1;return{next:function(){t++;let n=t>=this.length-1;return{value:this.get(t),done:n}}.bind(this)}}),ds.prototype.get=function(t){if(this.font._push&&this.glyphs[t]===void 0){this.font._push(t),typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());let n=this.glyphs[t],s=this.font._IndexToUnicodeMap[t];if(s)for(let a=0;a<s.unicodes.length;a++)n.addUnicode(s.unicodes[a]);this.font.cffEncoding?n.name=this.font.cffEncoding.charset[t]:this.font.glyphNames.names&&(n.name=this.font.glyphNames.glyphIndexToName(t)),this.glyphs[t].advanceWidth=this.font._hmtxTableData[t].advanceWidth,this.glyphs[t].leftSideBearing=this.font._hmtxTableData[t].leftSideBearing}else typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());return this.glyphs[t]},ds.prototype.push=function(t,n){this.glyphs[t]=n,this.length++};function q0(t,n){return new Ui({index:n,font:t})}function K0(t,n,s,a,c,h){return function(){let d=new Ui({index:n,font:t});return d.path=function(){s(d,a,c);let B=h(t.glyphs,d);return B.unitsPerEm=t.unitsPerEm,B},ki(d,"numberOfContours","_numberOfContours"),ki(d,"xMin","_xMin"),ki(d,"xMax","_xMax"),ki(d,"yMin","_yMin"),ki(d,"yMax","_yMax"),ki(d,"points","_points"),d}}function $0(t,n,s,a,c){return function(){let h=new Ui({index:n,font:t});return h.path=function(){let d=s(t,h,a,c);return d.unitsPerEm=t.unitsPerEm,d},h}}var dr={GlyphSet:ds,glyphLoader:q0,ttfGlyphLoader:K0,cffGlyphLoader:$0};function zl(t,n){if(t===n)return!0;if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;for(let s=0;s<t.length;s+=1)if(!zl(t[s],n[s]))return!1;return!0}else return!1}var ql=10;function gs(t){let n;return t.length<1240?n=107:t.length<33900?n=1131:n=32768,n}function gr(t,n,s,a){let c=[],h=[],d=a>1?he.getULong(t,n):he.getCard16(t,n),B=a>1?4:2,w,x;if(d!==0){let C=he.getByte(t,n+B);w=n+(d+1)*C+B;let S=n+B+1;for(let T=0;T<d+1;T+=1)c.push(he.getOffset(t,S,C)),S+=C;x=w+c[d]}else x=n+B;for(let C=0;C<c.length-1;C+=1){let S=he.getBytes(t,w+c[C],w+c[C+1]);s&&(S=s(S,t,n,a)),h.push(S)}return{objects:h,startOffset:n,endOffset:x}}function eB(t,n,s){let a=[],c=s>1?he.getULong(t,n):he.getCard16(t,n),h=s>1?4:2,d,B;if(c!==0){let w=he.getByte(t,n+h);d=n+(c+1)*w+h;let x=n+h+1;for(let C=0;C<c+1;C+=1)a.push(he.getOffset(t,x,w)),x+=w;B=d+a[c]}else B=n+h;return{offsets:a,startOffset:n,endOffset:B}}function tB(t,n,s,a,c,h){let d=h>1?he.getULong(s,a):he.getCard16(s,a),B=h>1?4:2,w=0;if(d!==0){let C=he.getByte(s,a+B);w=a+(d+1)*C+B}let x=he.getBytes(s,w+n[t],w+n[t+1]);return c&&(x=c(x)),x}function rB(t){let n="",a=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){let c=t.parseByte(),h=c>>4,d=c&15;if(h===15||(n+=a[h],d===15))break;n+=a[d]}return parseFloat(n)}function iB(t,n){let s,a,c,h;if(n===28)return s=t.parseByte(),a=t.parseByte(),s<<8|a;if(n===29)return s=t.parseByte(),a=t.parseByte(),c=t.parseByte(),h=t.parseByte(),s<<24|a<<16|c<<8|h;if(n===30)return rB(t);if(n>=32&&n<=246)return n-139;if(n>=247&&n<=250)return s=t.parseByte(),(n-247)*256+s+108;if(n>=251&&n<=254)return s=t.parseByte(),-(n-251)*256-s-108;throw new Error("Invalid b0 "+n)}function nB(t){let n={};for(let s=0;s<t.length;s+=1){let a=t[s][0],c=t[s][1],h;if(c.length===1?h=c[0]:h=c,Object.prototype.hasOwnProperty.call(n,a)&&!isNaN(n[a]))throw new Error("Object "+n+" already has key "+a);n[a]=h}return n}function Go(t,n,s,a){n=n!==void 0?n:0;let c=new he.Parser(t,n),h=[],d=[];s=s!==void 0?s:t.byteLength;let B=a<2?22:28;for(;c.relativeOffset<s;){let w=c.parseByte();if(w<B){if(w===12&&(w=1200+c.parseByte()),a>1&&w===23){hB(d);continue}h.push([w,d]),d=[]}else d.push(iB(c,w,a))}return nB(h)}function gn(t,n){return n<=390?n=fs[n]:t?n=t[n-391]:n=void 0,n}function Lo(t,n,s){let a={},c;for(let h=0;h<n.length;h+=1){let d=n[h];if(Array.isArray(d.type)){let B=[];B.length=d.type.length;for(let w=0;w<d.type.length;w++)c=t[d.op]!==void 0?t[d.op][w]:void 0,c===void 0&&(c=d.value!==void 0&&d.value[w]!==void 0?d.value[w]:null),d.type[w]==="SID"&&(c=gn(s,c)),B[w]=c;a[d.name]=B}else c=t[d.op],c===void 0&&(c=d.value!==void 0?d.value:null),d.type==="SID"&&(c=gn(s,c)),a[d.name]=c}return a}function sB(t,n){let s={};if(s.formatMajor=he.getCard8(t,n),s.formatMinor=he.getCard8(t,n+1),s.formatMajor>2)throw new Error(`Unsupported CFF table version ${s.formatMajor}.${s.formatMinor}`);return s.size=he.getCard8(t,n+2),s.formatMajor<2?(s.offsetSize=he.getCard8(t,n+3),s.startOffset=n,s.endOffset=n+4):(s.topDictLength=he.getCard16(t,n+3),s.endOffset=n+8),s}var Kl=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],$l=[{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"charStrings",op:17,type:"offset"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"vstore",op:24,type:"offset"}],ec=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}],tc=[{name:"blueValues",op:6,type:"delta"},{name:"otherBlues",op:7,type:"delta"},{name:"familyBlues",op:7,type:"delta"},{name:"familyBlues",op:8,type:"delta"},{name:"familyOtherBlues",op:9,type:"delta"},{name:"blueScale",op:1209,type:"number",value:.039625},{name:"blueShift",op:1210,type:"number",value:7},{name:"blueFuzz",op:1211,type:"number",value:1},{name:"stdHW",op:10,type:"number"},{name:"stdVW",op:11,type:"number"},{name:"stemSnapH",op:1212,type:"number"},{name:"stemSnapV",op:1213,type:"number"},{name:"languageGroup",op:1217,type:"number",value:0},{name:"expansionFactor",op:1218,type:"number",value:.06},{name:"vsindex",op:22,type:"number",value:0},{name:"subrs",op:19,type:"offset"}],oB=[{name:"private",op:18,type:["number","offset"],value:[0,0]}];function aB(t,n,s,a){let c=Go(t,n,t.byteLength,a);return Lo(c,a>1?$l:Kl,s)}function Po(t,n,s,a,c){let h=Go(t,n,s,c);return Lo(h,c>1?tc:ec,a)}function AB(t,n,s){let a=Go(t,n,void 0,s);return Lo(a,oB)}function lB(t,n,s){let a=[];for(let c=0;c<s.length;c++){let h=new DataView(new Uint8Array(s[c]).buffer),d=AB(h,0,2),B=d.private[0],w=d.private[1];if(B!==0&&w!==0){let x=Po(t,w+n,B,[],2);if(x.subrs){let C=w+x.subrs,S=gr(t,C+n,void 0,2);d._subrs=S.objects,d._subrsBias=gs(d._subrs)}d._privateDict=x}a.push(d)}return a}function Ho(t,n,s,a,c){let h=[];for(let d=0;d<s.length;d+=1){let B=new DataView(new Uint8Array(s[d]).buffer),w=aB(B,0,a,c);w._subrs=[],w._subrsBias=0,w._defaultWidthX=0,w._nominalWidthX=0;let x=c<2?w.private[0]:0,C=c<2?w.private[1]:0;if(x!==0&&C!==0){let S=Po(t,C+n,x,a,c);if(w._defaultWidthX=S.defaultWidthX,w._nominalWidthX=S.nominalWidthX,S.subrs!==0){let T=C+S.subrs,Y=gr(t,T+n,void 0,c);w._subrs=Y.objects,w._subrsBias=gs(w._subrs)}w._privateDict=S}h.push(w)}return h}function cB(t,n,s,a,c){let h,d,B=new he.Parser(t,n);s-=1;let w=[".notdef"],x=B.parseCard8();if(x===0)for(let C=0;C<s;C+=1)h=B.parseSID(),c?w.push(h):w.push(gn(a,h)||h);else if(x===1)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard8();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(a,h)||h),h+=1}else if(x===2)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard16();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(a,h)||h),h+=1}else throw new Error("Unknown charset format "+x);return w}function uB(t,n){let s,a={},c=new he.Parser(t,n),h=c.parseCard8();if(h===0){let d=c.parseCard8();for(let B=0;B<d;B+=1)s=c.parseCard8(),a[s]=B}else if(h===1){let d=c.parseCard8();s=1;for(let B=0;B<d;B+=1){let w=c.parseCard8(),x=c.parseCard8();for(let C=w;C<=w+x;C+=1)a[C]=s,s+=1}}else throw new Error("Unknown encoding format "+h);return a}function hB(t){let n=t.pop();for(;t.length>n;)t.pop()}function rc(t,n){let s=t.tables.cff&&t.tables.cff.topDict&&t.tables.cff.topDict.paintType||0;return s===2&&(n.fill=null,n.stroke="black",n.strokeWidth=t.tables.cff.topDict.strokeWidth||0),s}function Wo(t,n,s,a,c){let h,d,B,w,x=new z,C=[],S=0,T=!1,Y=!1,U=0,L=0,ee,Te,xe,Re,Je=0,$e=[],nt,st=0,Bt=t.tables.cff2||t.tables.cff;if(xe=Bt.topDict._defaultWidthX,Re=Bt.topDict._nominalWidthX,c=c||t.variation&&t.variation.get(),n.getBlendPath||(n.getBlendPath=function(we){return Wo(t,n,s,a,we)}),t.isCIDFont||a>1){let we=Bt.topDict._fdSelect?Bt.topDict._fdSelect[n.index]:0,Ce=Bt.topDict._fdArray[we];ee=Ce._subrs,Te=Ce._subrsBias,a>1?($e=Bt.topDict._vstore.itemVariationStore,Je=Ce._privateDict.vsindex):(xe=Ce._defaultWidthX,Re=Ce._nominalWidthX)}else ee=Bt.topDict._subrs,Te=Bt.topDict._subrsBias;let sr=rc(t,x),Ve=xe;function Vt(we,Ce){Y&&sr!==2&&x.closePath(),x.moveTo(we,Ce),Y=!0}function Dt(){let we;we=(C.length&1)!==0,we&&!T&&(Ve=C.shift()+Re),S+=C.length>>1,C.length=0,T=!0}function Se(we){let Ce,vt,$r,vs,mi,or,Mt,Xt,It,jt,Ut,kt,gt=0;for(;gt<we.length;){let qt=we[gt];switch(gt+=1,qt){case 1:Dt();break;case 3:Dt();break;case 4:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),Vt(U,L);break;case 5:for(;C.length>0;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 6:for(;C.length>0&&(U+=C.shift(),x.lineTo(U,L),C.length!==0);)L+=C.shift(),x.lineTo(U,L);break;case 7:for(;C.length>0&&(L+=C.shift(),x.lineTo(U,L),C.length!==0);)U+=C.shift(),x.lineTo(U,L);break;case 8:for(;C.length>0;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 10:if(mi=C.pop()+Te,or=ee[mi],or){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callsubr");break}st++,Se(or),st--}break;case 11:if(a>1){console.error("CFF CharString operator return (11) is not supported in CFF2");break}return;case 12:switch(qt=we[gt],gt+=1,qt){case 35:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w+C.shift(),It=Mt+C.shift(),jt=Xt+C.shift(),Ut=It+C.shift(),kt=jt+C.shift(),U=Ut+C.shift(),L=kt+C.shift(),C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 34:h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),kt=L,U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 36:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),kt=jt+C.shift(),U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 37:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w+C.shift(),It=Mt+C.shift(),jt=Xt+C.shift(),Ut=It+C.shift(),kt=jt+C.shift(),Math.abs(Ut-U)>Math.abs(kt-L)?U=Ut+C.shift():L=kt+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;default:console.log("Glyph "+n.index+": unknown operator 1200"+qt),C.length=0}break;case 14:if(a>1){console.error("CFF CharString operator endchar (14) is not supported in CFF2");break}if(C.length>=4){let Bi=Oo[C.pop()],Ri=Oo[C.pop()],Is=C.pop(),Fs=C.pop();if(Bi&&Ri){n.isComposite=!0,n.components=[];let mu=t.cffEncoding.charset.indexOf(Bi),Bu=t.cffEncoding.charset.indexOf(Ri);n.components.push({glyphIndex:Bu,dx:0,dy:0}),n.components.push({glyphIndex:mu,dx:Fs,dy:Is}),x.extend(t.glyphs.get(Bu).path);let Xy=t.glyphs.get(mu),aa=JSON.parse(JSON.stringify(Xy.path.commands));for(let Aa=0;Aa<aa.length;Aa+=1){let Br=aa[Aa];Br.type!=="Z"&&(Br.x+=Fs,Br.y+=Is),(Br.type==="Q"||Br.type==="C")&&(Br.x1+=Fs,Br.y1+=Is),Br.type==="C"&&(Br.x2+=Fs,Br.y2+=Is)}x.extend(aa)}}else C.length>0&&!T&&(Ve=C.shift()+Re,T=!0);Y&&sr!==2&&(x.closePath(),Y=!1);break;case 15:if(a<2){console.error("CFF2 CharString operator vsindex (15) is not supported in CFF");break}Je=C.pop();break;case 16:if(a<2){console.error("CFF2 CharString operator blend (16) is not supported in CFF");break}nt||(nt=t.variation&&c&&t.variation.process.getBlendVector($e,Je,c));var ot=C.pop(),Nt=nt?nt.length:$e.itemVariationSubtables[Je].regionIndexes.length,zt=ot*Nt,ar=C.length-zt,Mr=ar-ot;if(nt)for(let Bi=0;Bi<ot;Bi++){var gu=C[Mr+Bi];for(let Ri=0;Ri<Nt;Ri++)gu+=nt[Ri]*C[ar++];C[Mr+Bi]=gu}for(;zt--;)C.pop();break;case 18:Dt();break;case 19:case 20:Dt(),gt+=S+7>>3;break;case 21:C.length>2&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),U+=C.pop(),Vt(U,L);break;case 22:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),U+=C.pop(),Vt(U,L);break;case 23:Dt();break;case 24:for(;C.length>2;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 25:for(;C.length>6;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 26:for(C.length&1&&(U+=C.shift());C.length>0;)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B,L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 27:for(C.length&1&&(L+=C.shift());C.length>0;)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w,x.curveTo(h,d,B,w,U,L);break;case 28:Ce=we[gt],vt=we[gt+1],C.push((Ce<<24|vt<<16)>>16),gt+=2;break;case 29:if(mi=C.pop()+t.gsubrsBias,or=t.gsubrs[mi],or){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callgsubr");break}st++,Se(or),st--}break;case 30:for(;C.length>0&&(h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;case 31:for(;C.length>0&&(h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;default:qt<32?console.log("Glyph "+n.index+": unknown operator "+qt):qt<247?C.push(qt-139):qt<251?(Ce=we[gt],gt+=1,C.push((qt-247)*256+Ce+108)):qt<255?(Ce=we[gt],gt+=1,C.push(-(qt-251)*256-Ce-108)):(Ce=we[gt],vt=we[gt+1],$r=we[gt+2],vs=we[gt+3],gt+=4,C.push((Ce<<24|vt<<16|$r<<8|vs)/65536))}}}return Se(s),t.variation&&c&&(x.commands=x.commands.map(we=>{let Ce=Object.keys(we);for(let vt=0;vt<Ce.length;vt++){let $r=Ce[vt];$r!=="type"&&(we[$r]=Math.round(we[$r]))}return we})),T&&(n.advanceWidth=Ve),x}function ic(t,n,s,a,c){let h=[],d,B=new he.Parser(t,n),w=B.parseCard8();if(w===0)for(let x=0;x<s;x++){if(d=B.parseCard8(),d>=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+a+")");h.push(d)}else if(w===3||c>1&&w===4){let x=w===4?B.parseULong():B.parseCard16(),C=w===4?B.parseULong():B.parseCard16();if(C!==0)throw new Error(`CFF Table CID Font FDSelect format ${w} range has bad initial GID ${C}`);let S;for(let T=0;T<x;T++){if(d=w===4?B.parseUShort():B.parseCard8(),S=w===4?B.parseULong():B.parseCard16(),d>=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+a+")");if(S>s)throw new Error(`CFF Table CID Font FDSelect format ${c} range has bad GID ${S}`);for(;C<S;C++)h.push(d);C=S}if(S!==s)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID "+S)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+w);return h}function fB(t,n,s,a){let c,h=sB(t,n);h.formatMajor===2?c=s.tables.cff2={}:c=s.tables.cff={};let d=h.formatMajor>1?null:gr(t,h.endOffset,he.bytesToString),B=h.formatMajor>1?null:gr(t,d.endOffset),w=h.formatMajor>1?null:gr(t,B.endOffset,he.bytesToString),x=gr(t,h.formatMajor>1?n+h.size+h.topDictLength:w.endOffset,void 0,h.formatMajor);s.gsubrs=x.objects,s.gsubrsBias=gs(s.gsubrs);let C;if(h.formatMajor>1){let T=n+h.size,Y=he.getBytes(t,T,T+h.topDictLength);C=Ho(t,0,[Y],void 0,h.formatMajor)[0]}else{let T=Ho(t,n,B.objects,w.objects,h.formatMajor);if(T.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+T.length);C=T[0]}if(c.topDict=C,C._privateDict&&(s.defaultWidthX=C._privateDict.defaultWidthX,s.nominalWidthX=C._privateDict.nominalWidthX),h.formatMajor<2&&C.ros[0]!==void 0&&C.ros[1]!==void 0&&(s.isCIDFont=!0),h.formatMajor>1){let T=C.fdArray,Y=C.fdSelect;if(!T)throw new Error("This is a CFF2 font, but FDArray information is missing");let U=gr(t,n+T,null,h.formatMajor),L=lB(t,n,U.objects);C._fdArray=L,Y&&(C._fdSelect=ic(t,n+Y,s.numGlyphs,L.length,h.formatMajor))}else if(s.isCIDFont){let T=C.fdArray,Y=C.fdSelect;if(T===0||Y===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");T+=n;let U=gr(t,T),L=Ho(t,n,U.objects,w.objects,h.formatMajor);C._fdArray=L,Y+=n,C._fdSelect=ic(t,Y,s.numGlyphs,L.length,h.formatMajor)}if(h.formatMajor<2){let T=n+C.private[1],Y=Po(t,T,C.private[0],w.objects,h.formatMajor);if(s.defaultWidthX=Y.defaultWidthX,s.nominalWidthX=Y.nominalWidthX,Y.subrs!==0){let U=T+Y.subrs,L=gr(t,U);s.subrs=L.objects,s.subrsBias=gs(s.subrs)}else s.subrs=[],s.subrsBias=0}let S;if(a.lowMemory?(S=eB(t,n+C.charStrings,h.formatMajor),s.nGlyphs=S.offsets.length-(h.formatMajor>1?1:0)):(S=gr(t,n+C.charStrings,null,h.formatMajor),s.nGlyphs=S.objects.length),h.formatMajor>1&&s.tables.maxp&&s.nGlyphs!==s.tables.maxp.numGlyphs&&console.error(`Glyph count in the CFF2 table (${s.nGlyphs}) must correspond to the glyph count in the maxp table (${s.tables.maxp.numGlyphs})`),h.formatMajor<2){let T=[],Y=[];C.charset===0?T=R0:C.charset===1?T=G0:C.charset===2?T=L0:T=cB(t,n+C.charset,s.nGlyphs,w.objects,s.isCIDFont),C.encoding===0?Y=Oo:C.encoding===1?Y=P0:Y=uB(t,n+C.encoding),s.cffEncoding=new jl(Y,T),s.encoding=s.encoding||s.cffEncoding}if(s.glyphs=new dr.GlyphSet(s),a.lowMemory)s._push=function(T){let Y=tB(T,S.offsets,t,n+C.charStrings,void 0,h.formatMajor);s.glyphs.push(T,dr.cffGlyphLoader(s,T,Wo,Y,h.formatMajor))};else for(let T=0;T<s.nGlyphs;T+=1){let Y=S.objects[T];s.glyphs.push(T,dr.cffGlyphLoader(s,T,Wo,Y,h.formatMajor))}if(C.vstore){let T=new he.Parser(t,n+C.vstore);C._vstore=T.parseVariationStore()}}function nc(t,n){let s,a=fs.indexOf(t);return a>=0&&(s=a),a=n.indexOf(t),a>=0?s=a+fs.length:(s=fs.length+n.length,n.push(t)),s}function pB(){return new $.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function dB(t){let n=new $.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);n.names=[];for(let s=0;s<t.length;s+=1)n.names.push({name:"name_"+s,type:"NAME",value:t[s]});return n}function sc(t,n,s){let a={};for(let c=0;c<t.length;c+=1){let h=t[c],d=n[h.name];d!==void 0&&!zl(d,h.value)&&(h.type==="SID"&&(d=nc(d,s)),a[h.op]={name:h.name,type:h.type,value:d})}return a}function oc(t,n,s){let a=new $.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return a.dict=sc(s>1?$l:Kl,t,n),a}function ac(t){let n=new $.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return n.topDicts=[{name:"topDict_0",type:"TABLE",value:t}],n}function gB(t){let n=new $.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);n.strings=[];for(let s=0;s<t.length;s+=1)n.strings.push({name:"string_"+s,type:"STRING",value:t[s]});return n}function mB(){return new $.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function BB(t,n){let s=new $.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let a=0;a<t.length;a+=1){let c=t[a],h=nc(c,n);s.fields.push({name:"glyph_"+a,type:"SID",value:h})}return s}function EB(t,n){let s=[],a=t.path;n<2&&s.push({name:"width",type:"NUMBER",value:t.advanceWidth});let c=0,h=0;for(let d=0;d<a.commands.length;d+=1){let B,w,x=a.commands[d];if(x.type==="Q"){let C=.3333333333333333,S=2/3;x={type:"C",x:x.x,y:x.y,x1:Math.round(C*c+S*x.x1),y1:Math.round(C*h+S*x.y1),x2:Math.round(C*x.x+S*x.x1),y2:Math.round(C*x.y+S*x.y1)}}if(x.type==="M")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rmoveto",type:"OP",value:21}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="L")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rlineto",type:"OP",value:5}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="C"){let C=Math.round(x.x1-c),S=Math.round(x.y1-h),T=Math.round(x.x2-x.x1),Y=Math.round(x.y2-x.y1);B=Math.round(x.x-x.x2),w=Math.round(x.y-x.y2),s.push({name:"dx1",type:"NUMBER",value:C}),s.push({name:"dy1",type:"NUMBER",value:S}),s.push({name:"dx2",type:"NUMBER",value:T}),s.push({name:"dy2",type:"NUMBER",value:Y}),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rrcurveto",type:"OP",value:8}),c=Math.round(x.x),h=Math.round(x.y)}}return n<2&&s.push({name:"endchar",type:"OP",value:14}),s}function wB(t,n){let s=new $.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let a=0;a<t.length;a+=1){let c=t.get(a),h=EB(c,n);s.charStrings.push({name:c.name,type:"CHARSTRING",value:h})}return s}function yB(t,n,s){let a=new $.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return a.dict=sc(s>1?tc:ec,t,n),a}function CB(t,n){let a=new $.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),c=1/n.unitsPerEm,h={version:n.version,fullName:n.fullName,familyName:n.familyName,weight:n.weightName,fontBBox:n.fontBBox||[0,0,0,0],fontMatrix:[c,0,0,c,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},d=n&&n.topDict||{};d.paintType&&(h.paintType=d.paintType,h.strokeWidth=d.strokeWidth||0);let B={},w=[],x;for(let Y=1;Y<t.length;Y+=1)x=t.get(Y),w.push(x.name);let C=[];a.header=pB(),a.nameIndex=dB([n.postScriptName]);let S=oc(h,C);a.topDictIndex=ac(S),a.globalSubrIndex=mB(),a.charsets=BB(w,C),a.charStringsIndex=wB(t,1),a.privateDict=yB(B,C),a.stringIndex=gB(C);let T=a.header.sizeOf()+a.nameIndex.sizeOf()+a.topDictIndex.sizeOf()+a.stringIndex.sizeOf()+a.globalSubrIndex.sizeOf();return h.charset=T,h.encoding=0,h.charStrings=h.charset+a.charsets.sizeOf(),h.private[1]=h.charStrings+a.charStringsIndex.sizeOf(),S=oc(h,C),a.topDictIndex=ac(S),a}var Jo={parse:fB,make:CB};function bB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.fontRevision=Math.round(a.parseFixed()*1e3)/1e3,s.checkSumAdjustment=a.parseULong(),s.magicNumber=a.parseULong(),G.argument(s.magicNumber===1594834165,"Font header has wrong magic number."),s.flags=a.parseUShort(),s.unitsPerEm=a.parseUShort(),s.created=a.parseLongDateTime(),s.modified=a.parseLongDateTime(),s.xMin=a.parseShort(),s.yMin=a.parseShort(),s.xMax=a.parseShort(),s.yMax=a.parseShort(),s.macStyle=a.parseUShort(),s.lowestRecPPEM=a.parseUShort(),s.fontDirectionHint=a.parseShort(),s.indexToLocFormat=a.parseShort(),s.glyphDataFormat=a.parseShort(),s}function xB(t){let n=Math.round(new Date().getTime()/1e3)+2082844800,s=n,a=t.macStyle||0;return t.createdTimestamp&&(s=t.createdTimestamp+2082844800),new $.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:s},{name:"modified",type:"LONGDATETIME",value:n},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:a},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],t)}var Ac={parse:bB,make:xB};function QB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.ascender=a.parseShort(),s.descender=a.parseShort(),s.lineGap=a.parseShort(),s.advanceWidthMax=a.parseUShort(),s.minLeftSideBearing=a.parseShort(),s.minRightSideBearing=a.parseShort(),s.xMaxExtent=a.parseShort(),s.caretSlopeRise=a.parseShort(),s.caretSlopeRun=a.parseShort(),s.caretOffset=a.parseShort(),a.relativeOffset+=8,s.metricDataFormat=a.parseShort(),s.numberOfHMetrics=a.parseUShort(),s}function vB(t){return new $.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],t)}var lc={parse:QB,make:vB};function IB(t,n,s,a,c){let h,d,B=new he.Parser(t,n);for(let w=0;w<a;w+=1){w<s&&(h=B.parseUShort(),d=B.parseShort());let x=c.get(w);x.advanceWidth=h,x.leftSideBearing=d}}function FB(t,n,s,a,c){t._hmtxTableData={};let h,d,B=new he.Parser(n,s);for(let w=0;w<c;w+=1)w<a&&(h=B.parseUShort(),d=B.parseShort()),t._hmtxTableData[w]={advanceWidth:h,leftSideBearing:d}}function TB(t,n,s,a,c,h,d){d.lowMemory?FB(t,n,s,a,c):IB(n,s,a,c,h)}function SB(t){let n=new $.Table("hmtx",[]);for(let s=0;s<t.length;s+=1){let a=t.get(s),c=a.advanceWidth||0,h=a.leftSideBearing||0;n.fields.push({name:"advanceWidth_"+s,type:"USHORT",value:c}),n.fields.push({name:"leftSideBearing_"+s,type:"SHORT",value:h})}return n}var cc={parse:TB,make:SB};function DB(t){let n=new $.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:t.length}]),s="",a=12+t.length*4;for(let c=0;c<t.length;++c){let h=s.indexOf(t[c]);h<0&&(h=s.length,s+=t[c]),n.fields.push({name:"offset "+c,type:"USHORT",value:a+h}),n.fields.push({name:"length "+c,type:"USHORT",value:t[c].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),n}function MB(t,n){let s=new he.Parser(t,n),a=s.parseULong();G.argument(a===1,"Unsupported ltag table version."),s.skip("uLong",1);let c=s.parseULong(),h=[];for(let d=0;d<c;d++){let B="",w=n+s.parseUShort(),x=s.parseUShort();for(let C=w;C<w+x;++C)B+=String.fromCharCode(t.getInt8(C));h.push(B)}return h}var uc={make:DB,parse:MB};function UB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.numGlyphs=a.parseUShort(),s.version===1&&(s.maxPoints=a.parseUShort(),s.maxContours=a.parseUShort(),s.maxCompositePoints=a.parseUShort(),s.maxCompositeContours=a.parseUShort(),s.maxZones=a.parseUShort(),s.maxTwilightPoints=a.parseUShort(),s.maxStorage=a.parseUShort(),s.maxFunctionDefs=a.parseUShort(),s.maxInstructionDefs=a.parseUShort(),s.maxStackElements=a.parseUShort(),s.maxSizeOfInstructions=a.parseUShort(),s.maxComponentElements=a.parseUShort(),s.maxComponentDepth=a.parseUShort()),s}function kB(t){return new $.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:t}])}var hc={parse:UB,make:kB},Vo=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function YB(t){for(let n=0;n<Vo.length;n+=1){let s=Vo[n];if(t>=s.begin&&t<s.end)return n}return-1}function OB(t,n){let s={},a=new he.Parser(t,n);s.version=a.parseUShort(),s.xAvgCharWidth=a.parseShort(),s.usWeightClass=a.parseUShort(),s.usWidthClass=a.parseUShort(),s.fsType=a.parseUShort(),s.ySubscriptXSize=a.parseShort(),s.ySubscriptYSize=a.parseShort(),s.ySubscriptXOffset=a.parseShort(),s.ySubscriptYOffset=a.parseShort(),s.ySuperscriptXSize=a.parseShort(),s.ySuperscriptYSize=a.parseShort(),s.ySuperscriptXOffset=a.parseShort(),s.ySuperscriptYOffset=a.parseShort(),s.yStrikeoutSize=a.parseShort(),s.yStrikeoutPosition=a.parseShort(),s.sFamilyClass=a.parseShort(),s.panose=[];for(let c=0;c<10;c++)s.panose[c]=a.parseByte();return s.ulUnicodeRange1=a.parseULong(),s.ulUnicodeRange2=a.parseULong(),s.ulUnicodeRange3=a.parseULong(),s.ulUnicodeRange4=a.parseULong(),s.achVendID=String.fromCharCode(a.parseByte(),a.parseByte(),a.parseByte(),a.parseByte()),s.fsSelection=a.parseUShort(),s.usFirstCharIndex=a.parseUShort(),s.usLastCharIndex=a.parseUShort(),s.sTypoAscender=a.parseShort(),s.sTypoDescender=a.parseShort(),s.sTypoLineGap=a.parseShort(),s.usWinAscent=a.parseUShort(),s.usWinDescent=a.parseUShort(),s.version>=1&&(s.ulCodePageRange1=a.parseULong(),s.ulCodePageRange2=a.parseULong()),s.version>=2&&(s.sxHeight=a.parseShort(),s.sCapHeight=a.parseShort(),s.usDefaultChar=a.parseUShort(),s.usBreakChar=a.parseUShort(),s.usMaxContent=a.parseUShort()),s}function NB(t){return new $.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],t)}var jo={parse:OB,make:NB,unicodeRanges:Vo,getUnicodeRange:YB};function RB(t,n){let s={},a=new he.Parser(t,n);switch(s.version=a.parseVersion(),s.italicAngle=a.parseFixed(),s.underlinePosition=a.parseShort(),s.underlineThickness=a.parseShort(),s.isFixedPitch=a.parseULong(),s.minMemType42=a.parseULong(),s.maxMemType42=a.parseULong(),s.minMemType1=a.parseULong(),s.maxMemType1=a.parseULong(),s.version){case 1:s.names=hi.slice();break;case 2:s.numberOfGlyphs=a.parseUShort(),s.glyphNameIndex=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.glyphNameIndex[c]=a.parseUShort();s.names=[];for(let c=0;c<s.numberOfGlyphs;c++)if(s.glyphNameIndex[c]>=hi.length){let h=a.parseChar();s.names.push(a.parseString(h))}break;case 2.5:s.numberOfGlyphs=a.parseUShort(),s.offset=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.offset[c]=a.parseChar();break}return s}function GB(t){let{italicAngle:n=Math.round((t.italicAngle||0)*65536),underlinePosition:s=0,underlineThickness:a=0,isFixedPitch:c=0,minMemType42:h=0,maxMemType42:d=0,minMemType1:B=0,maxMemType1:w=0}=t.tables.post||{};return new $.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:n},{name:"underlinePosition",type:"FWORD",value:s},{name:"underlineThickness",type:"FWORD",value:a},{name:"isFixedPitch",type:"ULONG",value:c},{name:"minMemType42",type:"ULONG",value:h},{name:"maxMemType42",type:"ULONG",value:d},{name:"minMemType1",type:"ULONG",value:B},{name:"maxMemType1",type:"ULONG",value:w}])}var fc={parse:RB,make:GB},ir=new Array(9);ir[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),deltaGlyphId:this.parseShort()};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),substitute:this.parseOffset16List()};G.assert(!1,"0x"+n.toString(16)+": lookup type 1 format must be 1 or 2.")},ir[2]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),sequences:this.parseListOfLists()}},ir[3]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),alternateSets:this.parseListOfLists()}},ir[4]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB ligature table identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Yi={sequenceIndex:V.uShort,lookupListIndex:V.uShort};ir[5]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:s,coverage:this.parsePointer(V.coverage),ruleSets:this.parseListOfLists(function(){let a=this.parseUShort(),c=this.parseUShort();return{input:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(c,Yi)}})};if(s===2)return{substFormat:s,coverage:this.parsePointer(V.coverage),classDef:this.parsePointer(V.classDef),classSets:this.parseListOfLists(function(){let a=this.parseUShort(),c=this.parseUShort();return{classes:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(c,Yi)}})};if(s===3){let a=this.parseUShort(),c=this.parseUShort();return{substFormat:s,coverages:this.parseList(a,V.pointer(V.coverage)),lookupRecords:this.parseRecordList(c,Yi)}}G.assert(!1,"0x"+n.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},ir[6]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Yi)}})};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),backtrackClassDef:this.parsePointer(V.classDef),inputClassDef:this.parsePointer(V.classDef),lookaheadClassDef:this.parsePointer(V.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Yi)}})};if(s===3)return{substFormat:3,backtrackCoverage:this.parseList(V.pointer(V.coverage)),inputCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),lookupRecords:this.parseRecordList(Yi)};G.assert(!1,"0x"+n.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},ir[7]=function(){let n=this.parseUShort();G.argument(n===1,"GSUB Extension Substitution subtable identifier-format must be 1");let s=this.parseUShort(),a=new V(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:s,extension:ir[s].call(a)}},ir[8]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),backtrackCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),substitutes:this.parseUShortList()}};function LB(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);return G.argument(a===1||a===1.1,"Unsupported GSUB table version."),a===1?{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir)}:{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir),variations:s.parseFeatureVariationsList()}}var pi=new Array(9);pi[1]=function(n){if(n.substFormat===1)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"deltaGlyphID",type:"SHORT",value:n.deltaGlyphId}]);if(n.substFormat===2)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.ushortList("substitute",n.substitute)));G.fail("Lookup type 1 substFormat must be 1 or 2.")},pi[2]=function(n){return G.assert(n.substFormat===1,"Lookup type 2 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("seqSet",n.sequences,function(s){return new $.Table("sequenceSetTable",$.ushortList("sequence",s))})))},pi[3]=function(n){return G.assert(n.substFormat===1,"Lookup type 3 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("altSet",n.alternateSets,function(s){return new $.Table("alternateSetTable",$.ushortList("alternate",s))})))},pi[4]=function(n){return G.assert(n.substFormat===1,"Lookup type 4 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("ligSet",n.ligatureSets,function(s){return new $.Table("ligatureSetTable",$.tableList("ligature",s,function(a){return new $.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:a.ligGlyph}].concat($.ushortList("component",a.components,a.components.length+1)))}))})))},pi[5]=function(n){if(n.substFormat===1)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("sequenceRuleSet",n.ruleSets,function(s){return s?new $.Table("sequenceRuleSetTable",$.tableList("sequenceRule",s,function(a){let c=$.ushortList("seqLookup",[],a.lookupRecords.length).concat($.ushortList("inputSequence",a.input,a.input.length+1));[c[0],c[1]]=[c[1],c[0]];for(let h=0;h<a.lookupRecords.length;h++){let d=a.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("sequenceRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===2)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"classDef",type:"TABLE",value:new $.ClassDef(n.classDef)}].concat($.tableList("classSeqRuleSet",n.classSets,function(s){return s?new $.Table("classSeqRuleSetTable",$.tableList("classSeqRule",s,function(a){let c=$.ushortList("classes",a.classes,a.classes.length+1).concat($.ushortList("seqLookupCount",[],a.lookupRecords.length));for(let h=0;h<a.lookupRecords.length;h++){let d=a.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("classSeqRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"inputGlyphCount",type:"USHORT",value:n.coverages.length}),s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.coverages.length;c++){let h=n.coverages[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("contextualSubstitutionTable",s)}G.assert(!1,"lookup type 5 format must be 1, 2 or 3.")},pi[6]=function(n){if(n.substFormat===1)return new $.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("chainRuleSet",n.chainRuleSets,function(a){return new $.Table("chainRuleSetTable",$.tableList("chainRule",a,function(c){let h=$.ushortList("backtrackGlyph",c.backtrack,c.backtrack.length).concat($.ushortList("inputGlyph",c.input,c.input.length+1)).concat($.ushortList("lookaheadGlyph",c.lookahead,c.lookahead.length)).concat($.ushortList("substitution",[],c.lookupRecords.length));for(let d=0;d<c.lookupRecords.length;d++){let B=c.lookupRecords[d];h=h.concat({name:"sequenceIndex"+d,type:"USHORT",value:B.sequenceIndex}).concat({name:"lookupListIndex"+d,type:"USHORT",value:B.lookupListIndex})}return new $.Table("chainRuleTable",h)}))})));if(n.substFormat===2)G.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"backtrackGlyphCount",type:"USHORT",value:n.backtrackCoverage.length});for(let c=0;c<n.backtrackCoverage.length;c++){let h=n.backtrackCoverage[c];s.push({name:"backtrackCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"inputGlyphCount",type:"USHORT",value:n.inputCoverage.length});for(let c=0;c<n.inputCoverage.length;c++){let h=n.inputCoverage[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"lookaheadGlyphCount",type:"USHORT",value:n.lookaheadCoverage.length});for(let c=0;c<n.lookaheadCoverage.length;c++){let h=n.lookaheadCoverage[c];s.push({name:"lookaheadCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("chainContextTable",s)}G.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function PB(t){return new $.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,pi)}])}var pc={parse:LB,make:PB};function HB(t,n){let s=new he.Parser(t,n),a=s.parseULong();G.argument(a===1,"Unsupported META table version."),s.parseULong(),s.parseULong();let c=s.parseULong(),h={};for(let d=0;d<c;d++){let B=s.parseTag(),w=s.parseULong(),x=s.parseULong();if(B==="appl"||B==="bild")continue;let C=Qe.UTF8(t,n+w,x);h[B]=C}return h}function WB(t){let n=Object.keys(t).length,s="",a=16+n*12,c=new $.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:a},{name:"numTags",type:"ULONG",value:n}]);for(let h in t){let d=s.length;s+=t[h],c.fields.push({name:"tag "+h,type:"TAG",value:h}),c.fields.push({name:"offset "+h,type:"ULONG",value:a+d}),c.fields.push({name:"length "+h,type:"ULONG",value:t[h].length})}return c.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),c}var dc={parse:HB,make:WB};function JB(t,n){let s=new V(t,n),a=s.parseUShort();a!==0&&console.warn("Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.");let c=s.parseUShort(),h=s.parseOffset32(),d=s.parseOffset32(),B=s.parseUShort();s.relativeOffset=h;let w=s.parseRecordList(c,{glyphID:V.uShort,firstLayerIndex:V.uShort,numLayers:V.uShort});s.relativeOffset=d;let x=s.parseRecordList(B,{glyphID:V.uShort,paletteIndex:V.uShort});return{version:a,baseGlyphRecords:w,layerRecords:x}}function VB({version:t=0,baseGlyphRecords:n=[],layerRecords:s=[]}){G.argument(t===0,"Only COLRv0 supported.");let a=14,c=a+n.length*6;return new $.Table("COLR",[{name:"version",type:"USHORT",value:t},{name:"numBaseGlyphRecords",type:"USHORT",value:n.length},{name:"baseGlyphRecordsOffset",type:"ULONG",value:a},{name:"layerRecordsOffset",type:"ULONG",value:c},{name:"numLayerRecords",type:"USHORT",value:s.length},...n.map((h,d)=>[{name:"glyphID_"+d,type:"USHORT",value:h.glyphID},{name:"firstLayerIndex_"+d,type:"USHORT",value:h.firstLayerIndex},{name:"numLayers_"+d,type:"USHORT",value:h.numLayers}]).flat(),...s.map((h,d)=>[{name:"LayerGlyphID_"+d,type:"USHORT",value:h.glyphID},{name:"paletteIndex_"+d,type:"USHORT",value:h.paletteIndex}]).flat()])}var gc={parse:JB,make:VB};function jB(t,n){return[{name:"tag_"+t,type:"TAG",value:n.tag},{name:"minValue_"+t,type:"FIXED",value:n.minValue<<16},{name:"defaultValue_"+t,type:"FIXED",value:n.defaultValue<<16},{name:"maxValue_"+t,type:"FIXED",value:n.maxValue<<16},{name:"flags_"+t,type:"USHORT",value:0},{name:"nameID_"+t,type:"USHORT",value:n.axisNameID}]}function _B(t,n,s){let a={},c=new he.Parser(t,n);a.tag=c.parseTag(),a.minValue=c.parseFixed(),a.defaultValue=c.parseFixed(),a.maxValue=c.parseFixed(),c.skip("uShort",1);let h=c.parseUShort();return a.axisNameID=h,a.name=ui(s,h),a}function ZB(t,n,s,a={}){let c=[{name:"nameID_"+t,type:"USHORT",value:n.subfamilyNameID},{name:"flags_"+t,type:"USHORT",value:0}];for(let h=0;h<s.length;++h){let d=s[h].tag;c.push({name:"axis_"+t+" "+d,type:"FIXED",value:n.coordinates[d]<<16})}return a&&a.postScriptNameID&&c.push({name:"postScriptNameID_",type:"USHORT",value:n.postScriptNameID!==void 0?n.postScriptNameID:65535}),c}function XB(t,n,s,a,c){let h={},d=new he.Parser(t,n),B=d.parseUShort();h.subfamilyNameID=B,h.name=ui(a,B,[2,17]),d.skip("uShort",1),h.coordinates={};for(let x=0;x<s.length;++x)h.coordinates[s[x].tag]=d.parseFixed();if(d.relativeOffset===c)return h.postScriptNameID=void 0,h.postScriptName=void 0,h;let w=d.parseUShort();return h.postScriptNameID=w==65535?void 0:w,h.postScriptName=h.postScriptNameID!==void 0?ui(a,w,[6]):"",h}function zB(t,n){let s=new $.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:t.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:t.instances.length},{name:"instanceSize",type:"USHORT",value:4+t.axes.length*4}]);s.offsetToData=s.sizeOf();for(let c=0;c<t.axes.length;c++)s.fields=s.fields.concat(jB(c,t.axes[c],n));let a={};for(let c=0;c<t.instances.length;c++)if(t.instances[c].postScriptNameID!==void 0){s.instanceSize+=2,a.postScriptNameID=!0;break}for(let c=0;c<t.instances.length;c++)s.fields=s.fields.concat(ZB(c,t.instances[c],t.axes,a));return s}function qB(t,n,s){let a=new he.Parser(t,n),c=a.parseULong();G.argument(c===65536,"Unsupported fvar table version.");let h=a.parseOffset16();a.skip("uShort",1);let d=a.parseUShort(),B=a.parseUShort(),w=a.parseUShort(),x=a.parseUShort(),C=[];for(let Y=0;Y<d;Y++)C.push(_B(t,n+h+Y*B,s));let S=[],T=n+h+d*B;for(let Y=0;Y<w;Y++)S.push(XB(t,T+Y*x,C,s,x));return{axes:C,instances:S}}var mc={make:zB,parse:qB},KB={tag:V.tag,nameID:V.uShort,ordering:V.uShort},mn=new Array(5);mn[1]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed()}},mn[2]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),nominalValue:this.parseFixed(),rangeMinValue:this.parseFixed(),rangeMaxValue:this.parseFixed()}},mn[3]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed(),linkedValue:this.parseFixed()}},mn[4]=function(){let n=this.parseUShort();return{flags:this.parseUShort(),valueNameID:this.parseUShort(),axisValues:this.parseList(n,function(){return{axisIndex:this.parseUShort(),value:this.parseFixed()}})}};function $B(){let t=this.parseUShort(),n=mn[t],s={format:t};return n===void 0?(console.warn(`Unknown axis value table format ${t}`),s):Object.assign(s,this.parseStruct(n.bind(this)))}function eE(t,n,s){n||(n=0);let a=new he.Parser(t,n),c=a.parseUShort(),h=a.parseUShort();c!==1&&console.warn(`Unsupported STAT table version ${c}.${h}`);let d=[c,h],B=a.parseUShort(),w=a.parseUShort(),x=a.parseOffset32(),C=a.parseUShort(),S=a.parseOffset32(),T=c>1||h>0?a.parseUShort():void 0;s!==void 0&&G.argument(w>=s.axes.length,"STAT axis count must be greater than or equal to fvar axis count"),C>0&&G.argument(w>=0,"STAT axis count must be greater than 0 if STAT axis value count is greater than 0");let Y=[];for(let ee=0;ee<w;ee++)a.offset=n+x,a.relativeOffset=ee*B,Y.push(a.parseStruct(KB));a.offset=n,a.relativeOffset=S;let U=a.parseUShortList(C),L=[];for(let ee=0;ee<C;ee++)a.offset=n+S,a.relativeOffset=U[ee],L.push($B.apply(a));return{version:d,axes:Y,values:L,elidedFallbackNameID:T}}var Bn=new Array(5);Bn[1]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:1},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value}]},Bn[2]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:2},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`nominalValue${n}`,type:"FLOAT",value:s.nominalValue},{name:`rangeMinValue${n}`,type:"FLOAT",value:s.rangeMinValue},{name:`rangeMaxValue${n}`,type:"FLOAT",value:s.rangeMaxValue}]},Bn[3]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:3},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value},{name:`linkedValue${n}`,type:"FLOAT",value:s.linkedValue}]},Bn[4]=function(n,s){let a=[{name:`format${n}`,type:"USHORT",value:4},{name:`axisCount${n}`,type:"USHORT",value:s.axisValues.length},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID}];for(let c=0;c<s.axisValues.length;c++)a=a.concat([{name:`format${n}axisIndex${c}`,type:"USHORT",value:s.axisValues[c].axisIndex},{name:`format${n}value${c}`,type:"FLOAT",value:s.axisValues[c].value}]);return a};function tE(t,n){return new $.Record("axisRecord_"+t,[{name:"axisTag_"+t,type:"TAG",value:n.tag},{name:"axisNameID_"+t,type:"USHORT",value:n.nameID},{name:"axisOrdering_"+t,type:"USHORT",value:n.ordering}])}function rE(t,n){let s=n.format,a=Bn[s];G.argument(a!==void 0,`Unknown axis value table format ${s}`);let c=a(t,n);return new $.Table("axisValueTable_"+t,c)}function iE(t){let n=new $.Table("STAT",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:2},{name:"designAxisSize",type:"USHORT",value:8},{name:"designAxisCount",type:"USHORT",value:t.axes.length},{name:"designAxesOffset",type:"ULONG",value:0},{name:"axisValueCount",type:"USHORT",value:t.values.length},{name:"offsetToAxisValueOffsets",type:"ULONG",value:0},{name:"elidedFallbackNameID",type:"USHORT",value:t.elidedFallbackNameID}]);n.designAxesOffset=n.offsetToAxisValueOffsets=n.sizeOf();for(let h=0;h<t.axes.length;h++){let d=tE(h,t.axes[h]);n.offsetToAxisValueOffsets+=d.sizeOf(),n.fields=n.fields.concat(d.fields)}let s=[],a=[],c=t.values.length*2;for(let h=0;h<t.values.length;h++){let d=rE(h,t.values[h]);s.push({name:"offset_"+h,type:"USHORT",value:c}),c+=d.sizeOf(),a=a.concat(d.fields)}return n.fields=n.fields.concat(s),n.fields=n.fields.concat(a),n}var Bc={make:iE,parse:eE};function nE(t,n){return new $.Record("axisValueMap_"+t,[{name:"fromCoordinate_"+t,type:"F2DOT14",value:n.fromCoordinate},{name:"toCoordinate_"+t,type:"F2DOT14",value:n.toCoordinate}])}function sE(t,n){let s=new $.Record("segmentMap_"+t,[{name:"positionMapCount_"+t,type:"USHORT",value:n.axisValueMaps.length}]),a=[];for(let c=0;c<n.axisValueMaps.length;c++){let h=nE(`${t}_${c}`,n.axisValueMaps[c]);a=a.concat(h.fields)}return s.fields=s.fields.concat(a),s}function oE(t,n){G.argument(t.axisSegmentMaps.length===n.axes.length,"avar axis count must correspond to fvar axis count");let s=new $.Table("avar",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:0},{name:"reserved",type:"USHORT",value:0},{name:"axisCount",type:"USHORT",value:t.axisSegmentMaps.length}]);for(let a=0;a<t.axisSegmentMaps.length;a++){let c=sE(a,t.axisSegmentMaps[a]);s.fields=s.fields.concat(c.fields)}return s}function aE(t,n,s){n||(n=0);let a=new V(t,n),c=a.parseUShort(),h=a.parseUShort();c!==1&&console.warn(`Unsupported avar table version ${c}.${h}`),a.skip("uShort",1);let d=a.parseUShort();G.argument(d===s.axes.length,"avar axis count must correspond to fvar axis count");let B=[];for(let w=0;w<d;w++){let x=[],C=a.parseUShort();for(let S=0;S<C;S++){let T=a.parseF2Dot14(),Y=a.parseF2Dot14();x.push({fromCoordinate:T,toCoordinate:Y})}B.push({axisValueMaps:x})}return{version:[c,h],axisSegmentMaps:B}}var Ec={make:oE,parse:aE};function AE(t,n,s,a){let c=new he.Parser(t,n),h=c.parseTupleVariationStore(c.relativeOffset,s.axes.length,"cvar",a),d=c.parseUShort(),B=c.parseUShort();return d!==1&&console.warn(`Unsupported cvar table version ${d}.${B}`),{version:[d,B],...h}}function lE(){console.warn("Writing of cvar tables is not yet supported.")}var wc={make:lE,parse:AE};function cE(t,n,s,a){let c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort();h!==1&&console.warn(`Unsupported gvar table version ${h}.${d}`);let B=c.parseUShort();B!==s.axes.length&&console.warn(`axisCount ${B} in gvar table does not match the number of axes ${s.axes.length} in the fvar table!`);let w=c.parseUShort(),x=c.parsePointer32(function(){return this.parseTupleRecords(w,B)}),C=c.parseTupleVariationStoreList(B,"gvar",a);return{version:[h,d],sharedTuples:x,glyphVariations:C}}function uE(){console.warn("Writing of gvar tables is not yet supported.")}var yc={make:uE,parse:cE};function hE(t,n){let s={},a=new he.Parser(t,n);s.version=a.parseUShort(),G.argument(s.version<=1,"Unsupported gasp table version."),s.numRanges=a.parseUShort(),s.gaspRanges=[];for(let c=0;c<s.numRanges;c++)s.gaspRanges[c]={rangeMaxPPEM:a.parseUShort(),rangeGaspBehavior:a.parseUShort()};return s}function fE(t){let n=new $.Table("gasp",[{name:"version",type:"USHORT",value:1},{name:"numRanges",type:"USHORT",value:t.numRanges}]);for(let s in t.gaspRanges)n.fields.push({name:"rangeMaxPPEM",type:"USHORT",value:t.gaspRanges[s].rangeMaxPPEM}),n.fields.push({name:"rangeGaspBehavior",type:"USHORT",value:t.gaspRanges[s].rangeGaspBehavior});return n}var Cc={parse:hE,make:fE};function pE(t,n){let s=new Map,a=t.buffer,c=new V(t,n);if(c.parseUShort()!==0)return s;c.relativeOffset=c.parseOffset32();let d=t.byteOffset+n+c.relativeOffset,B=c.parseUShort(),w=new Map;for(let x=0;x<B;x++){let C=c.parseUShort(),S=c.parseUShort(),T=d+c.parseOffset32(),Y=c.parseULong(),U=w.get(T);U===void 0&&(U=new Uint8Array(a,T,Y),w.set(T,U));for(let L=C;L<=S;L++)s.set(L,U)}return s}function dE(t){let n=Array.from(t.keys()).sort(),s=[],a=[],c=new Map,h=0,d={endGlyphID:null};for(let T=0,Y=n.length;T<Y;T++){let U=n[T],L=t.get(U),ee=c.get(L);ee===void 0&&(ee=h,a.push(L),c.set(L,ee),h+=L.byteLength),U-1===d.endGlyphID&&ee===d.svgDocOffset?d.endGlyphID=U:(d={startGlyphID:U,endGlyphID:U,svgDocOffset:ee,svgDocLength:L.byteLength},s.push(d))}let B=s.length,w=a.length,x=2+B*12,C=new Array(4+B*4+w),S=0;C[S++]={name:"version",type:"USHORT",value:0},C[S++]={name:"svgDocumentListOffset",type:"ULONG",value:10},C[S++]={name:"reserved",type:"ULONG",value:0},C[S++]={name:"numEntries",type:"USHORT",value:B};for(let T=0;T<B;T++){let Y="documentRecord_"+T,{startGlyphID:U,endGlyphID:L,svgDocOffset:ee,svgDocLength:Te}=s[T];C[S++]={name:Y+"_startGlyphID",type:"USHORT",value:U},C[S++]={name:Y+"_endGlyphID",type:"USHORT",value:L},C[S++]={name:Y+"_svgDocOffset",type:"ULONG",value:x+ee},C[S++]={name:Y+"_svgDocLength",type:"ULONG",value:Te}}for(let T=0;T<w;T++)C[S++]={name:"svgDoc_"+T,type:"LITERAL",value:a[T]};return new $.Table("SVG ",C)}var bc={make:dE,parse:pE};function xc(t){return Math.log(t)/Math.log(2)|0}function _o(t){for(;t.length%4!==0;)t.push(0);let n=0;for(let s=0;s<t.length;s+=4)n+=(t[s]<<24)+(t[s+1]<<16)+(t[s+2]<<8)+t[s+3];return n%=Math.pow(2,32),n}function Qc(t,n,s,a){return new $.Record("Table Record",[{name:"tag",type:"TAG",value:t!==void 0?t:""},{name:"checkSum",type:"ULONG",value:n!==void 0?n:0},{name:"offset",type:"ULONG",value:s!==void 0?s:0},{name:"length",type:"ULONG",value:a!==void 0?a:0}])}function vc(t){let n=new $.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);n.tables=t,n.numTables=t.length;let s=Math.pow(2,xc(n.numTables));n.searchRange=16*s,n.entrySelector=xc(s),n.rangeShift=n.numTables*16-n.searchRange;let a=[],c=[],h=n.sizeOf()+Qc().sizeOf()*n.numTables;for(;h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0});for(let d=0;d<t.length;d+=1){let B=t[d];G.argument(B.tableName.length===4,"Table name"+B.tableName+" is invalid.");let w=B.sizeOf(),x=Qc(B.tableName,_o(B.encode()),h,w);for(a.push({name:x.tag+" Table Record",type:"RECORD",value:x}),c.push({name:B.tableName+" table",type:"RECORD",value:B}),h+=w,G.argument(!isNaN(h),"Something went wrong calculating the offset.");h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0})}return a.sort(function(d,B){return d.value.tag>B.value.tag?1:-1}),n.fields=n.fields.concat(a),n.fields=n.fields.concat(c),n}function Ic(t,n,s){for(let a=0;a<n.length;a+=1){let c=t.charToGlyphIndex(n[a]);if(c>0)return t.glyphs.get(c).getMetrics()}return s}function gE(t){let n=0;for(let s=0;s<t.length;s+=1)n+=t[s];return n/t.length}function mE(t){let n=[],s=[],a=[],c=[],h=[],d=[],B=[],w,x=0,C=0,S=0,T=0,Y=0;for(let ot=0;ot<t.glyphs.length;ot+=1){let Nt=t.glyphs.get(ot),zt=Nt.unicode|0;if(isNaN(Nt.advanceWidth))throw new Error("Glyph "+Nt.name+" ("+ot+"): advanceWidth is not a number.");(w>zt||w===void 0)&&zt>0&&(w=zt),x<zt&&(x=zt);let ar=jo.getUnicodeRange(zt);if(ar<32)C|=1<<ar;else if(ar<64)S|=1<<ar-32;else if(ar<96)T|=1<<ar-64;else if(ar<123)Y|=1<<ar-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(Nt.name===".notdef")continue;let Mr=Nt.getMetrics();n.push(Mr.xMin),s.push(Mr.yMin),a.push(Mr.xMax),c.push(Mr.yMax),d.push(Mr.leftSideBearing),B.push(Mr.rightSideBearing),h.push(Nt.advanceWidth)}let U={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,c),advanceWidthMax:Math.max.apply(null,h),advanceWidthAvg:gE(h),minLeftSideBearing:Math.min.apply(null,d),maxLeftSideBearing:Math.max.apply(null,d),minRightSideBearing:Math.min.apply(null,B)};U.ascender=t.ascender,U.descender=t.descender;let L=0;t.weightClass>=600&&(L|=t.macStyleValues.BOLD),t.italicAngle<0&&(L|=t.macStyleValues.ITALIC);let ee=Ac.make({flags:3,unitsPerEm:t.unitsPerEm,xMin:U.xMin,yMin:U.yMin,xMax:U.xMax,yMax:U.yMax,lowestRecPPEM:3,macStyle:L,createdTimestamp:t.createdTimestamp}),Te=lc.make({ascender:U.ascender,descender:U.descender,advanceWidthMax:U.advanceWidthMax,minLeftSideBearing:U.minLeftSideBearing,minRightSideBearing:U.minRightSideBearing,xMaxExtent:U.maxLeftSideBearing+(U.xMax-U.xMin),numberOfHMetrics:t.glyphs.length}),xe=hc.make(t.glyphs.length),Re=jo.make(Object.assign({xAvgCharWidth:Math.round(U.advanceWidthAvg),usFirstCharIndex:w,usLastCharIndex:x,ulUnicodeRange1:C,ulUnicodeRange2:S,ulUnicodeRange3:T,ulUnicodeRange4:Y,sTypoAscender:U.ascender,sTypoDescender:U.descender,sTypoLineGap:0,usWinAscent:U.yMax,usWinDescent:Math.abs(U.yMin),ulCodePageRange1:1,sxHeight:Ic(t,"xyvw",{yMax:Math.round(U.ascender/2)}).yMax,sCapHeight:Ic(t,"HIKLEFJMNTZBDPRAGOQSUVWXY",U).yMax,usDefaultChar:t.hasChar(" ")?32:0,usBreakChar:t.hasChar(" ")?32:0},t.tables.os2)),Je=cc.make(t.glyphs),$e=Wl.make(t.glyphs),nt=t.getEnglishName("fontFamily"),st=t.getEnglishName("fontSubfamily"),Bt=nt+" "+st,sr=t.getEnglishName("postScriptName");sr||(sr=nt.replace(/\s/g,"")+"-"+st);let Ve={};for(let ot in t.names)Ve[ot]=t.names[ot];Ve.unicode=Ve.unicode||{},Ve.macintosh=Ve.macintosh||{},Ve.windows=Ve.windows||{};let Vt=t.names.unicode||{},Dt=t.names.macintosh||{},Se=t.names.windows||{};for(let ot in Ve){if(Ve[ot]=Ve[ot]||{},!Ve[ot].uniqueID){let Nt=t.getEnglishName("manufacturer")||"";Ve[ot].uniqueID={en:`${Nt}: ${Bt}`}}Ve[ot].postScriptName||(Ve[ot].postScriptName={en:sr})}Ve.unicode.preferredFamily||(Ve.unicode.preferredFamily=Vt.fontFamily||Dt.fontFamily||Se.fontFamily),Ve.macintosh.preferredFamily||(Ve.macintosh.preferredFamily=Dt.fontFamily||Vt.fontFamily||Se.fontFamily),Ve.windows.preferredFamily||(Ve.windows.preferredFamily=Se.fontFamily||Vt.fontFamily||Dt.fontFamily),Ve.unicode.preferredSubfamily||(Ve.unicode.preferredSubfamily=Vt.fontSubfamily||Dt.fontSubfamily||Se.fontSubfamily),Ve.macintosh.preferredSubfamily||(Ve.macintosh.preferredSubfamily=Dt.fontSubfamily||Vt.fontSubfamily||Se.fontSubfamily),Ve.windows.preferredSubfamily||(Ve.windows.preferredSubfamily=Se.fontSubfamily||Vt.fontSubfamily||Dt.fontSubfamily);let we=[],Ce=dn.make(Ve,we),vt=we.length>0?uc.make(we):void 0,$r=fc.make(t),vs=Jo.make(t.glyphs,{version:t.getEnglishName("version"),fullName:Bt,familyName:nt,weightName:st,postScriptName:sr,unitsPerEm:t.unitsPerEm,fontBBox:[0,U.yMin,U.ascender,U.advanceWidthMax],topDict:t.tables.cff&&t.tables.cff.topDict||{}}),mi=t.metas&&Object.keys(t.metas).length>0?dc.make(t.metas):void 0,or=[ee,Te,xe,Re,Ce,$e,$r,vs,Je];vt&&or.push(vt);let Mt={gsub:pc,cpal:Xl,colr:gc,stat:Bc,avar:Ec,cvar:wc,fvar:mc,gvar:yc,gasp:Cc,svg:bc},Xt={avar:[t.tables.fvar],fvar:[t.names]};for(let ot in Mt){let Nt=t.tables[ot];if(Nt){let zt=Mt[ot].make.call(t,Nt,...Xt[ot]||[]);zt&&or.push(zt)}}mi&&or.push(mi);let It=vc(or),jt=It.encode(),Ut=_o(jt),kt=It.fields,gt=!1;for(let ot=0;ot<kt.length;ot+=1)if(kt[ot].name==="head table"){kt[ot].value.checkSumAdjustment=2981146554-Ut,gt=!0;break}if(!gt)throw new Error("Could not find head table with checkSum to adjust.");return It}var BE={make:vc,fontToTable:mE,computeCheckSum:_o};function Zo(t,n){let s=0,a=t.length-1;for(;s<=a;){let c=s+a>>>1,h=t[c].tag;if(h===n)return c;h<n?s=c+1:a=c-1}return-s-1}function Fc(t,n){let s=0,a=t.length-1;for(;s<=a;){let c=s+a>>>1,h=t[c];if(h===n)return c;h<n?s=c+1:a=c-1}return-s-1}function Tc(t,n){let s,a=0,c=t.length-1;for(;a<=c;){let h=a+c>>>1;s=t[h];let d=s.start;if(d===n)return s;d<n?a=h+1:c=h-1}if(a>0)return s=t[a-1],n>s.end?0:s}function Sc(t,n){this.font=t,this.tableName=n}Sc.prototype={searchTag:Zo,binSearch:Fc,getTable:function(t){let n=this.font.tables[this.tableName];return!n&&t&&(n=this.font.tables[this.tableName]=this.createDefaultTable()),n},getScriptNames:function(){let t=this.getTable();return t?t.scripts.map(function(n){return n.tag}):[]},getDefaultScriptName:function(){let t=this.getTable();if(!t)return;let n=!1;for(let s=0;s<t.scripts.length;s++){let a=t.scripts[s].tag;if(a==="DFLT")return a;a==="latn"&&(n=!0)}if(n)return"latn"},getScriptTable:function(t,n){let s=this.getTable(n);if(s){t=t||"DFLT";let a=s.scripts,c=Zo(s.scripts,t);if(c>=0)return a[c].script;if(n){let h={tag:t,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return a.splice(-1-c,0,h),h.script}}},getLangSysTable:function(t,n,s){let a=this.getScriptTable(t,s);if(a){if(!n||n==="dflt"||n==="DFLT")return a.defaultLangSys;let c=Zo(a.langSysRecords,n);if(c>=0)return a.langSysRecords[c].langSys;if(s){let h={tag:n,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return a.langSysRecords.splice(-1-c,0,h),h.langSys}}},getFeatureTable:function(t,n,s,a){let c=this.getLangSysTable(t,n,a);if(c){let h,d=c.featureIndexes,B=this.font.tables[this.tableName].features;for(let w=0;w<d.length;w++)if(h=B[d[w]],h.tag===s)return h.feature;if(a){let w=B.length;return G.assert(w===0||s>=B[w-1].tag,"Features must be added in alphabetical order."),h={tag:s,feature:{params:0,lookupListIndexes:[]}},B.push(h),d.push(w),h.feature}}},getLookupTables:function(t,n,s,a,c){let h=this.getFeatureTable(t,n,s,c),d=[];if(h){let B,w=h.lookupListIndexes,x=this.font.tables[this.tableName].lookups;for(let C=0;C<w.length;C++)B=x[w[C]],B.lookupType===a&&d.push(B);if(d.length===0&&c){B={lookupType:a,lookupFlag:0,subtables:[],markFilteringSet:void 0};let C=x.length;return x.push(B),w.push(C),[B]}}return d},getGlyphClass:function(t,n){switch(t.format){case 1:return t.startGlyph<=n&&n<t.startGlyph+t.classes.length?t.classes[n-t.startGlyph]:0;case 2:{let s=Tc(t.ranges,n);return s?s.classId:0}}},getCoverageIndex:function(t,n){switch(t.format){case 1:{let s=Fc(t.glyphs,n);return s>=0?s:-1}case 2:{let s=Tc(t.ranges,n);return s?s.index+n-s.start:-1}}},expandCoverage:function(t){if(t.format===1)return t.glyphs;{let n=[],s=t.ranges;for(let a=0;a<s.length;a++){let c=s[a],h=c.start,d=c.end;for(let B=h;B<=d;B++)n.push(B)}return n}}};var ms=Sc;function En(t){ms.call(this,t,"gpos")}En.prototype=ms.prototype,En.prototype.init=function(){let t=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(t)},En.prototype.getKerningValue=function(t,n,s){for(let a=0;a<t.length;a++){let c=t[a].subtables;for(let h=0;h<c.length;h++){let d=c[h],B=this.getCoverageIndex(d.coverage,n);if(!(B<0))switch(d.posFormat){case 1:{let w=d.pairSets[B];for(let x=0;x<w.length;x++){let C=w[x];if(C.secondGlyph===s)return C.value1&&C.value1.xAdvance||0}break}case 2:{let w=this.getGlyphClass(d.classDef1,n),x=this.getGlyphClass(d.classDef2,s),C=d.classRecords[w][x];return C.value1&&C.value1.xAdvance||0}}}}return 0},En.prototype.getKerningTables=function(t,n){if(this.font.tables.gpos)return this.getLookupTables(t,n,"kern",2)};var EE=En;function wE(t,n){let s=t.length;if(s!==n.length)return!1;for(let a=0;a<s;a++)if(t[a]!==n[a])return!1;return!0}function yE(t,n,s){let a=0,c=t.length-1,h=null;for(;a<=c;){let d=Math.floor((a+c)/2),B=t[d],w=B[n];if(w<s)a=d+1;else if(w>s)c=d-1;else{h=B;break}}return h}function CE(t,n,s){let a=0,c=t.length-1;for(;a<=c;){let h=Math.floor((a+c)/2),d=t[h];if(d[n]<s)a=h+1;else if(d[n]>s)c=h-1;else return h}return-1}function bE(t,n,s){let a=0,c=t.length,h=(d,B)=>d[n]-B[n];for(;a<c;){let d=a+c>>>1;h(t[d],s)<0?a=d+1:c=d}return t.splice(a,0,s),a}function Dc(t){return t[0]===31&&t[1]===139&&t[2]===8}function xE(t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=10,a=t.byteLength-8,c=n.getInt8(3);if(c&4&&(s+=2+n.getUint16(s,!0)),c&8)for(;s<a&&t[s++]!==0;);if(c&16)for(;s<a&&t[s++]!==0;);if(c&2&&(s+=2),s>=a)throw new Error("Can't find compressed blocks");let h=n.getUint32(n.byteLength-4,!0);return fe(t.subarray(s,a),new Uint8Array(h))}function Mc(t){return{x:t.x,y:t.y,onCurve:t.onCurve,lastPointOfContour:t.lastPointOfContour}}function QE(t){return{glyphIndex:t.glyphIndex,xScale:t.xScale,scale01:t.scale01,scale10:t.scale10,yScale:t.yScale,dx:t.dx,dy:t.dy}}function Wt(t){ms.call(this,t,"gsub")}function Xo(t,n,s){let a=t.subtables;for(let c=0;c<a.length;c++){let h=a[c];if(h.substFormat===n)return h}if(s)return a.push(s),s}Wt.prototype=ms.prototype,Wt.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Wt.prototype.getSingle=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,1);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;if(w.substFormat===1){let S=w.deltaGlyphId;for(C=0;C<x.length;C++){let T=x[C];a.push({sub:T,by:T+S})}}else{let S=w.substitute;for(C=0;C<x.length;C++)a.push({sub:x[C],by:S[C]})}}}return a},Wt.prototype.getMultiple=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,2);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;for(C=0;C<x.length;C++){let S=x[C],T=w.sequences[C];a.push({sub:S,by:T})}}}return a},Wt.prototype.getAlternates=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,3);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.alternateSets;for(let S=0;S<x.length;S++)a.push({sub:x[S],by:C[S]})}}return a},Wt.prototype.getLigatures=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,4);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.ligatureSets;for(let S=0;S<x.length;S++){let T=x[S],Y=C[S];for(let U=0;U<Y.length;U++){let L=Y[U];a.push({sub:[T].concat(L.components),by:L.ligGlyph})}}}}return a},Wt.prototype.addSingle=function(t,n,s,a){let c=this.getLookupTables(s,a,t,1,!0)[0],h=Xo(c,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});G.assert(h.coverage.format===1,"Single: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.substitute.splice(B,0,0)),h.substitute[B]=n.by},Wt.prototype.addMultiple=function(t,n,s,a){G.assert(n.by instanceof Array&&n.by.length>1,'Multiple: "by" must be an array of two or more ids');let c=this.getLookupTables(s,a,t,2,!0)[0],h=Xo(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});G.assert(h.coverage.format===1,"Multiple: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.sequences.splice(B,0,0)),h.sequences[B]=n.by},Wt.prototype.addAlternate=function(t,n,s,a){let c=this.getLookupTables(s,a,t,3,!0)[0],h=Xo(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});G.assert(h.coverage.format===1,"Alternate: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.alternateSets.splice(B,0,0)),h.alternateSets[B]=n.by},Wt.prototype.addLigature=function(t,n,s,a){let c=this.getLookupTables(s,a,t,4,!0)[0],h=c.subtables[0];h||(h={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},c.subtables[0]=h),G.assert(h.coverage.format===1,"Ligature: unable to modify coverage table format "+h.coverage.format);let d=n.sub[0],B=n.sub.slice(1),w={ligGlyph:n.by,components:B},x=this.binSearch(h.coverage.glyphs,d);if(x>=0){let C=h.ligatureSets[x];for(let S=0;S<C.length;S++)if(wE(C[S].components,B))return;C.push(w)}else x=-1-x,h.coverage.glyphs.splice(x,0,d),h.ligatureSets.splice(x,0,[w])},Wt.prototype.getFeature=function(t,n,s){if(/ss\d\d/.test(t))return this.getSingle(t,n,s);switch(t){case"aalt":case"salt":return this.getSingle(t,n,s).concat(this.getAlternates(t,n,s));case"dlig":case"liga":case"rlig":return this.getLigatures(t,n,s);case"ccmp":return this.getMultiple(t,n,s).concat(this.getLigatures(t,n,s));case"stch":return this.getMultiple(t,n,s)}},Wt.prototype.add=function(t,n,s,a){if(/ss\d\d/.test(t))return this.addSingle(t,n,s,a);switch(t){case"aalt":case"salt":return typeof n.by=="number"?this.addSingle(t,n,s,a):this.addAlternate(t,n,s,a);case"dlig":case"liga":case"rlig":return this.addLigature(t,n,s,a);case"ccmp":return n.by instanceof Array?this.addMultiple(t,n,s,a):this.addLigature(t,n,s,a)}};var vE=Wt,Uc=class{constructor(t){this.defaultValue=255,this.font=t}cpal(){return this.font.tables&&this.font.tables.cpal?this.font.tables.cpal:!1}getAll(t){let n=[],s=this.cpal();if(!s)return n;for(let a=0;a<s.colorRecordIndices.length;a++){let c=s.colorRecordIndices[a],h=[];for(let d=c;d<c+s.numPaletteEntries;d++)h.push(Mi(s.colorRecords[d],t||"hexa"));n.push(h)}return n}toCPALcolor(t){return Array.isArray(t)?t.map(n=>ps(n,"raw")):ps(t,"raw")}fillPalette(t,n=[],s=this.cpal().numPaletteEntries){return t=Number.isInteger(t)?this.get(t,"raw"):t,Object.assign(Array(s).fill(this.defaultValue),this.toCPALcolor(t).concat(this.toCPALcolor(n)))}extend(t){if(this.ensureCPAL(Array(t).fill(this.defaultValue)))return;let n=this.cpal(),s=n.numPaletteEntries+t,a=this.getAll().map(c=>this.fillPalette(c,[],s));n.numPaletteEntries=s,n.colorRecords=this.toCPALcolor(a.flat()),this.updateIndices()}get(t,n="hexa"){return this.getAll(n)[t]||null}getColor(t,n=0,s="hexa"){return Ro(this.font,t,n,s)}setColor(t,n,s=0){t=parseInt(t),s=parseInt(s);let a=this.getAll("raw"),c=a[s];if(!c)throw Error(`paletteIndex ${s} out of range`);let h=this.cpal(),d=h.numPaletteEntries;Array.isArray(n)||(n=[n]),n.length+t>d&&(this.extend(n.length+t-d),a=this.getAll("raw"),c=a[s]);for(let B=0;B<n.length;B++)c[B+t]=this.toCPALcolor(n[B]);h.colorRecords=a.flat(),this.updateIndices()}add(t){if(this.ensureCPAL(t))return;let n=this.cpal(),s=n.numPaletteEntries;t&&t.length?(t=this.toCPALcolor(t),t.length>s?this.extend(t.length-s):t.length<s&&(t=this.fillPalette(t)),n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...t)):(n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...Array(s).fill(this.defaultValue)))}delete(t){let n=this.getAll("raw");delete n[t];let s=this.cpal();s.colorRecordIndices.pop(),s.colorRecords=n.flat()}deleteColor(t,n){if(t===n)throw Error("replacementIndex cannot be the same as colorIndex");let s=this.cpal(),a=this.getAll("raw"),c=[];if(n>s.numPaletteEntries-1)throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${s.numPaletteEntries-1}, replacementIndex: ${n})`);for(let B=0;B<a.length;B++){let x=a[B].filter((C,S)=>S!==t);c.push(x)}let h=this.font.tables.colr;if(h){let B=h.layerRecords;for(let w=0;w<B.length;w++){let x=B[w].paletteIndex;if(x>t)B[w].paletteIndex-=1;else if(x===t){let C=0;for(let S=0;S<a.length;S++)if(n>t&&n<=t+a[S].length){C++;break}B[w].paletteIndex=n-C}}this.font.tables.colr={...h,layerRecords:B}}let d=c.flat();for(let B=0;B<a.length;B++)s.colorRecordIndices[B]-=B;s.numPaletteEntries=Math.max(0,s.numPaletteEntries-1),s.colorRecords=this.toCPALcolor(d)}ensureCPAL(t){return this.cpal()?!1:(!t||!t.length?t=[this.defaultValue]:t=this.toCPALcolor(t),this.font.tables.cpal={version:0,numPaletteEntries:t.length,colorRecords:t,colorRecordIndices:[0]},!0)}updateIndices(){let t=this.cpal(),n=Math.ceil(t.colorRecords.length/t.numPaletteEntries);t.colorRecordIndices=[];for(let s=0;s<n;s++)t.colorRecordIndices.push(s*t.numPaletteEntries)}},IE=class{constructor(t){this.font=t}ensureCOLR(){return this.font.tables.colr||(this.font.tables.colr={version:0,baseGlyphRecords:[],layerRecords:[]}),this.font}get(t){let n=this.font,s=[],a=n.tables.colr,c=n.tables.cpal;if(!a||!c)return s;let h=yE(a.baseGlyphRecords,"glyphID",t);if(!h)return s;let d=h.firstLayerIndex,B=h.numLayers;for(let w=0;w<B;w++){let x=a.layerRecords[d+w];s.push({glyph:n.glyphs.get(x.glyphID),paletteIndex:x.paletteIndex})}return s}add(t,n,s){let a=this.get(t);n=Array.isArray(n)?n:[n],s===void 0||s===1/0||s>a.length?s=a.length:s<0&&(s=a.length+1+s%(a.length+1),s>=a.length+1&&(s-=a.length+1));let c=[];for(let h=0;h<s;h++){let d=Number.isInteger(a[h].glyph)?a[h].glyph:a[h].glyph.index;c.push({glyphID:d,paletteIndex:a[h].paletteIndex})}for(let h of n){let d=Number.isInteger(h.glyph)?h.glyph:h.glyph.index;c.push({glyphID:d,paletteIndex:h.paletteIndex})}for(let h=s;h<a.length;h++){let d=Number.isInteger(a[h].glyph)?a[h].glyph:a[h].glyph.index;c.push({glyphID:d,paletteIndex:a[h].paletteIndex})}this.updateColrTable(t,c)}setPaletteIndex(t,n,s){let a=this.get(t);a[n]?(a=a.map((c,h)=>({glyphID:c.glyph.index,paletteIndex:h===n?s:c.paletteIndex})),this.updateColrTable(t,a)):console.error("Invalid layer index")}remove(t,n,s=n){let a=this.get(t);a=a.map(c=>({glyphID:c.glyph.index,paletteIndex:c.paletteIndex})),a.splice(n,s-n+1),this.updateColrTable(t,a)}updateColrTable(t,n){this.ensureCOLR();let a=this.font.tables.colr,c=CE(a.baseGlyphRecords,"glyphID",t);if(c===-1){let C={glyphID:t,firstLayerIndex:a.layerRecords.length,numLayers:0};c=bE(a.baseGlyphRecords,"glyphID",C)}let d=a.baseGlyphRecords[c],B=d.numLayers,w=n.length,x=w-B;if(x>0){let C=n.slice(B).map(S=>({glyphID:S.glyphID,paletteIndex:S.paletteIndex}));a.layerRecords.splice(d.firstLayerIndex+B,0,...C)}else x<0&&a.layerRecords.splice(d.firstLayerIndex+w,-x);for(let C=0;C<Math.min(B,w);C++)a.layerRecords[d.firstLayerIndex+C]={glyphID:n[C].glyphID,paletteIndex:n[C].paletteIndex};if(d.numLayers=w,x!==0)for(let C=0;C<a.baseGlyphRecords.length;C++){let S=a.baseGlyphRecords[C];C===c||S.firstLayerIndex<d.firstLayerIndex||(a.baseGlyphRecords[C].firstLayerIndex+=x)}}},FE=class{constructor(t){this.font=t,this.cache=new WeakMap}get(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.image}getAsync(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.promise}getOrCreateSvgImageCacheEntry(t){let n=this.font.tables.svg;if(n===void 0)return;let s=n.get(t);if(s===void 0)return;let a=this.cache.get(s);a===void 0&&(a=TE(s),this.cache.set(s,a));let c=a.images.get(t);return c===void 0&&(c=SE(this.font,a.template,t),c.promise.then(h=>{if(c.image=h,typeof this.font.onGlyphUpdated=="function")try{this.font.onGlyphUpdated(t)}catch(d){console.error("font.onGlyphUpdated",t,d)}}),a.images.set(t,c)),c}};function TE(t){return{template:DE(t).then(kE),images:new Map}}function SE(t,n,s){return{promise:n.then(a=>{let c;typeof a=="string"?c=a:(a[4]=s,c=a.join(""));let h=YE(c,t.unitsPerEm);return h.image.decode().then(()=>h)}),image:void 0}}var DE=typeof DecompressionStream=="function"?UE:ME;function ME(t){try{return Promise.resolve(new TextDecoder().decode(Dc(t)?xE(t):t))}catch(n){return Promise.reject(n)}}function UE(t){if(Dc(t))return new Response(new Response(t).body.pipeThrough(new DecompressionStream("gzip"))).text();try{return Promise.resolve(new TextDecoder().decode(t))}catch(n){return Promise.reject(n)}}function kE(t){let n=t.indexOf("<svg"),s=t.indexOf(">",n+4)+1;if(/ id=['"]glyph\d+['"]/.test(t.substring(n,s)))return t;let a=t.lastIndexOf("</svg>");return[t.substring(0,s),"<defs>",t.substring(s,a),'</defs><use href="#glyph',"",'"/>',t.substring(a)]}function YE(t,n){let a=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,c=a.viewBox.baseVal,h=a.width.baseVal,d=a.height.baseVal,B=1,w=1;c.width>0&&c.height>0&&(h.unitType===1?(B=h.valueInSpecifiedUnits/c.width,w=d.unitType===1?d.valueInSpecifiedUnits/c.height:B):d.unitType===1?(w=d.valueInSpecifiedUnits/c.height,B=w):n&&(B=n/c.width,w=n/c.height));let x=document.createElement("div");x.style.position="fixed",x.style.visibility="hidden",x.appendChild(a),document.body.appendChild(x);let C=a.getBBox();document.body.removeChild(x);let S=(C.x-c.x)*B,T=(c.y-C.y)*w,Y=C.width*B,U=C.height*w;a.setAttribute("viewBox",[C.x,C.y,C.width,C.height].join(" ")),B!==1&&a.setAttribute("width",Y),w!==1&&a.setAttribute("height",U);let L=new Image(Y,U);return L.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(a.outerHTML),{leftSideBearing:S,baseline:T,image:L}}var zo=new WeakMap;function kc(t,n,s,a,c){let h;return(n&a)>0?(h=t.parseByte(),(n&c)===0&&(h=-h),h=s+h):(n&c)>0?h=s:h=s+t.parseShort(),h}function Yc(t,n,s){let a=new he.Parser(n,s);t._numberOfContours=a.parseShort(),t._xMin=a.parseShort(),t._yMin=a.parseShort(),t._xMax=a.parseShort(),t._yMax=a.parseShort();let c,h;if(t._numberOfContours>0){let d=t.endPointIndices=[];for(let w=0;w<t._numberOfContours;w+=1)d.push(a.parseUShort());t.instructionLength=a.parseUShort(),t.instructions=[];for(let w=0;w<t.instructionLength;w+=1)t.instructions.push(a.parseByte());let B=d[d.length-1]+1;c=[];for(let w=0;w<B;w+=1)if(h=a.parseByte(),c.push(h),(h&8)>0){let x=a.parseByte();for(let C=0;C<x;C+=1)c.push(h),w+=1}if(G.argument(c.length===B,"Bad flags."),d.length>0){let w=[],x;if(B>0){for(let T=0;T<B;T+=1)h=c[T],x={},x.onCurve=!!(h&1),x.lastPointOfContour=d.indexOf(T)>=0,w.push(x);let C=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.x=kc(a,h,C,2,16),C=x.x;let S=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.y=kc(a,h,S,4,32),S=x.y}t.points=w}else t.points=[]}else if(t._numberOfContours===0)t.points=[];else{t.isComposite=!0,t.points=[],t.components=[];let d=!0;for(;d;){c=a.parseUShort();let B={glyphIndex:a.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(c&1)>0?(c&2)>0?(B.dx=a.parseShort(),B.dy=a.parseShort()):B.matchedPoints=[a.parseUShort(),a.parseUShort()]:(c&2)>0?(B.dx=a.parseChar(),B.dy=a.parseChar()):B.matchedPoints=[a.parseByte(),a.parseByte()],(c&8)>0?B.xScale=B.yScale=a.parseF2Dot14():(c&64)>0?(B.xScale=a.parseF2Dot14(),B.yScale=a.parseF2Dot14()):(c&128)>0&&(B.xScale=a.parseF2Dot14(),B.scale01=a.parseF2Dot14(),B.scale10=a.parseF2Dot14(),B.yScale=a.parseF2Dot14()),t.components.push(B),d=!!(c&32)}if(c&256){t.instructionLength=a.parseUShort(),t.instructions=[];for(let B=0;B<t.instructionLength;B+=1)t.instructions.push(a.parseByte())}}}function Bs(t,n){let s=[];for(let a=0;a<t.length;a+=1){let c=t[a],h={x:n.xScale*c.x+n.scale10*c.y+n.dx,y:n.scale01*c.x+n.yScale*c.y+n.dy,onCurve:c.onCurve,lastPointOfContour:c.lastPointOfContour};s.push(h)}return s}function OE(t){let n=[],s=[];for(let a=0;a<t.length;a+=1){let c=t[a];s.push(c),c.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n}function qo(t){let n=new z;if(!t)return n;let s=OE(t);for(let a=0;a<s.length;++a){let c=s[a],h=c[c.length-1],d=c[0];if(h.onCurve)n.moveTo(h.x,h.y);else if(d.onCurve)n.moveTo(d.x,d.y);else{let B={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5};n.moveTo(B.x,B.y)}for(let B=0;B<c.length;++B)if(h=d,d=c[(B+1)%c.length],h.onCurve)n.lineTo(h.x,h.y);else{let w=d;d.onCurve||(w={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5}),n.quadraticCurveTo(h.x,h.y,w.x,w.y)}n.closePath()}return n}function Oc(t,n){if(n.isComposite){zo.has(t)||zo.set(t,new Set);let s=zo.get(t);s.add(n.index);try{for(let a=0;a<n.components.length;a+=1){let c=n.components[a];if(s.has(c.glyphIndex))continue;let h=t.get(c.glyphIndex);if(h.getPath(),h.points){let d;if(c.matchedPoints===void 0)d=Bs(h.points,c);else{if(c.matchedPoints[0]>n.points.length-1||c.matchedPoints[1]>h.points.length-1)throw Error("Matched points out of range in "+n.name);let B=n.points[c.matchedPoints[0]],w=h.points[c.matchedPoints[1]],x={xScale:c.xScale,scale01:c.scale01,scale10:c.scale10,yScale:c.yScale,dx:0,dy:0};w=Bs([w],x)[0],x.dx=B.x-w.x,x.dy=B.y-w.y,d=Bs(h.points,x)}n.points=n.points.concat(d)}}}finally{s.delete(n.index)}}return qo(n.points)}function NE(t,n,s,a){let c=new dr.GlyphSet(a);for(let h=0;h<s.length-1;h+=1){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(a,h,Yc,t,n+d,Oc)):c.push(h,dr.glyphLoader(a,h))}return c}function RE(t,n,s,a){let c=new dr.GlyphSet(a);return a._push=function(h){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(a,h,Yc,t,n+d,Oc)):c.push(h,dr.glyphLoader(a,h))},c}function GE(t,n,s,a,c){return c.lowMemory?RE(t,n,s,a):NE(t,n,s,a)}var Nc={getPath:qo,parse:GE},LE=class{constructor(t){this.font=t}normalizeCoordTags(t){for(let n in t)if(n.length<4){let s=n.padEnd(4," ");t[s]===void 0&&(t[s]=t[n]),delete t[n]}}getNormalizedCoords(t){t||(t=this.font.variation.get());let n=[];this.normalizeCoordTags(t);for(let s=0;s<this.fvar().axes.length;s++){let a=this.fvar().axes[s],c=t[a.tag];c===void 0&&(c=a.defaultValue),c<a.defaultValue?n.push((c-a.defaultValue+Number.EPSILON)/(a.defaultValue-a.minValue+Number.EPSILON)):n.push((c-a.defaultValue+Number.EPSILON)/(a.maxValue-a.defaultValue+Number.EPSILON))}if(this.avar())for(let s=0;s<this.avar().axisSegmentMaps.length;s++){let a=this.avar().axisSegmentMaps[s];for(let c=0;c<a.axisValueMaps.length;c++){let h=a.axisValueMaps[c];if(c>=1&&n[s]<h.fromCoordinate){let d=a.axisValueMaps[c-1];n[s]=((n[s]-d.fromCoordinate)*(h.toCoordinate-d.toCoordinate)+Number.EPSILON)/(h.fromCoordinate-d.fromCoordinate+Number.EPSILON)+d.toCoordinate;break}}}return n}interpolatePoints(t,n,s){if(t.length===0)return;let a=0;for(;a<t.length;){let c=a,h=a,d=t[h];for(;!d.lastPointOfContour;)d=t[++h];for(;a<=h&&!s[a];)a++;if(a>h)continue;let B=a,w=a;for(a++;a<=h;)s[a]&&(this.deltaInterpolate(w+1,a-1,w,a,n,t),w=a),a++;w===B?this.deltaShift(c,h,w,n,t):(this.deltaInterpolate(w+1,h,w,B,n,t),B>0&&this.deltaInterpolate(c,B-1,w,B,n,t)),a=h+1}}deltaInterpolate(t,n,s,a,c,h){if(t>n)return;let d=["x","y"];for(let w=0;w<d.length;w++){let x=d[w];if(c[s][x]>c[a][x]){var B=s;s=a,a=B}let C=c[s][x],S=c[a][x],T=h[s][x],Y=h[a][x];if(C!==S||T===Y){let U=C===S?0:(Y-T)/(S-C);for(let L=t;L<=n;L++){let ee=c[L][x];ee<=C?ee+=T-C:ee>=S?ee+=Y-S:ee=T+(ee-C)*U,h[L][x]=ee}}}}deltaShift(t,n,s,a,c){let h=c[s].x-a[s].x,d=c[s].y-a[s].y;if(!(h===0&&d===0))for(let B=t;B<=n;B++)B!==s&&(c[B].x+=h,c[B].y+=d)}transformComponents(t,n,s,a,c,h){let d=0;for(let B=0;B<t.components.length;B++){let w=t.components[B],x=this.font.glyphs.get(w.glyphIndex),C=QE(w),S=a.indexOf(B);S>-1&&(C.dx+=Math.round(c.deltas[S]*h),C.dy+=Math.round(c.deltasY[S]*h));let T=Bs(this.getTransform(x,s).points,C);n.splice(d,T.length,...T),d+=x.points.length}}applyTupleVariationStore(t,n,s,a="gvar",c={}){s||(s=this.font.variation.get());let h=this.getNormalizedCoords(s),{headers:d,sharedPoints:B}=t,w=this.fvar().axes.length,x;a==="gvar"?x=n.map(Mc):a==="cvar"&&(x=[...n]);for(let C=0;C<d.length;C++){let S=d[C],T=1;for(let U=0;U<w;U++){let L=[0];switch(a){case"gvar":L=S.peakTuple?S.peakTuple:this.gvar().sharedTuples[S.sharedTupleRecordsIndex];break;case"cvar":L=S.peakTuple;break}if(L[U]!==0){if(h[U]===0){T=0;break}if(S.intermediateStartTuple)if(h[U]<S.intermediateStartTuple[U]||h[U]>S.intermediateEndTuple[U]){T=0;break}else h[U]<L[U]?T=T*(h[U]-S.intermediateStartTuple[U]+Number.EPSILON)/(L[U]-S.intermediateStartTuple[U]+Number.EPSILON):T=T*(S.intermediateEndTuple[U]-h[U]+Number.EPSILON)/(S.intermediateEndTuple[U]-L[U]+Number.EPSILON);else{if(h[U]<Math.min(0,L[U])||h[U]>Math.max(0,L[U])){T=0;break}T=(T*h[U]+Number.EPSILON)/(L[U]+Number.EPSILON)}}}if(T===0)continue;let Y=S.privatePoints.length?S.privatePoints:B;if(a==="gvar"&&c.glyph&&c.glyph.isComposite)this.transformComponents(c.glyph,x,s,Y,S,T);else if(Y.length===0)for(let U=0;U<x.length;U++){let L=x[U];a==="gvar"?x[U]={x:Math.round(L.x+S.deltas[U]*T),y:Math.round(L.y+S.deltasY[U]*T),onCurve:L.onCurve,lastPointOfContour:L.lastPointOfContour}:a==="cvar"&&(x[U]=Math.round(L+S.deltas[U]*T))}else{let U;a==="gvar"?U=x.map(Mc):a==="cvar"&&(U=x);let L=Array(n.length).fill(!1);for(let ee=0;ee<Y.length;ee++){let Te=Y[ee];if(Te<n.length){let xe=U[Te];a==="gvar"?(L[Te]=!0,xe.x+=S.deltas[ee]*T,xe.y+=S.deltasY[ee]*T):a==="cvar"&&(x[Te]=Math.round(xe+S.deltas[ee]*T))}}if(a==="gvar"){this.interpolatePoints(U,x,L);for(let ee=0;ee<n.length;ee++){let Te=U[ee].x-x[ee].x,xe=U[ee].y-x[ee].y;x[ee].x=Math.round(x[ee].x+Te),x[ee].y=Math.round(x[ee].y+xe)}}}}return x}getTransform(t,n){Number.isInteger(t)&&(t=this.font.glyphs.get(t));let s=t.getBlendPath,a=!!(t.points&&t.points.length),c=t;if(s||a){if(n||(n=this.font.variation.get()),a){let h=this.gvar()&&this.gvar().glyphVariations[t.index];if(h){let d=t.points,B=this.applyTupleVariationStore(h,d,n,"gvar",{glyph:t});c=new Ui(Object.assign({},t,{points:B,path:qo(B)}))}}else if(s){let h=t.getBlendPath(n);c=new Ui(Object.assign({},t,{path:h}))}}return this.font.tables.hvar&&(t._advanceWidth=typeof t._advanceWidth<"u"?t._advanceWidth:t.advanceWidth,t.advanceWidth=c.advanceWidth=Math.round(t._advanceWidth+this.getVariableAdjustment(c.index,"hvar","advanceWidth",n)),t._leftSideBearing=typeof t._leftSideBearing<"u"?t._leftSideBearing:t.leftSideBearing,t.leftSideBearing=c.leftSideBearing=Math.round(t._leftSideBearing+this.getVariableAdjustment(c.index,"hvar","lsb",n))),c}getCvarTransform(t){let n=this.font.tables.cvt,s=this.cvar();return!n||!n.length||!s||!s.headers.length?n:this.applyTupleVariationStore(s,n,t,"cvar")}getVariableAdjustment(t,n,s,a){a=a||this.font.variation.get();let c,h,d=this.font.tables[n];if(!d)throw Error(`trying to get variation adjustment from non-existent table "${d}"`);if(!d.itemVariationStore)throw Error(`trying to get variation adjustment from table "${d}" which does not have an itemVariationStore`);let B=d[s]&&d[s].map.length;if(B){let w=t;w>=B&&(w=B-1),{outerIndex:c,innerIndex:h}=d[s].map[w]}else c=0,h=t;return this.getDelta(d.itemVariationStore,c,h,a)}getDelta(t,n,s,a){if(n>=t.itemVariationSubtables.length)return 0;let c=t.itemVariationSubtables[n];if(s>=c.deltaSets.length)return 0;let h=c.deltaSets[s],d=this.getBlendVector(t,n,a),B=0;for(let w=0;w<c.regionIndexes.length;w++)B+=h[w]*d[w];return B}getBlendVector(t,n,s){s||(s=this.font.variation.get());let a=t.itemVariationSubtables[n],c=this.getNormalizedCoords(s),h=[];for(let d=0;d<a.regionIndexes.length;d++){let B=1,w=a.regionIndexes[d],x=t.variationRegions[w].regionAxes;for(let C=0;C<x.length;C++){let S=x[C],T;S.startCoord>S.peakCoord||S.peakCoord>S.endCoord||S.startCoord<0&&S.endCoord>0&&S.peakCoord!==0||S.peakCoord===0?T=1:c[C]<S.startCoord||c[C]>S.endCoord?T=0:c[C]===S.peakCoord?T=1:c[C]<S.peakCoord?T=(c[C]-S.startCoord+Number.EPSILON)/(S.peakCoord-S.startCoord+Number.EPSILON):T=(S.endCoord-c[C]+Number.EPSILON)/(S.endCoord-S.peakCoord+Number.EPSILON),B*=T}h[d]=B}return h}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},PE=class{constructor(t){this.font=t,this.process=new LE(this.font),this.activateDefaultVariation(),this.getTransform=this.process.getTransform.bind(this.process)}activateDefaultVariation(){let t=this.getDefaultInstanceIndex();t>-1?this.set(t):this.set(this.getDefaultCoordinates())}getDefaultCoordinates(){return this.fvar().axes.reduce((t,n)=>(t[n.tag]=n.defaultValue,t),{})}getDefaultInstanceIndex(){let t=this.getDefaultCoordinates(),n=this.getInstanceIndex(t);return n<0&&(n=this.fvar().instances.findIndex(s=>s.name&&s.name.en==="Regular")),n}getInstanceIndex(t){return this.fvar().instances.findIndex(n=>Object.keys(t).every(s=>n.coordinates[s]===t[s]))}getInstance(t){return this.fvar().instances&&this.fvar().instances[t]}set(t){let n;if(Number.isInteger(t)){let s=this.getInstance(t);if(!s)throw Error(`Invalid instance index ${t}`);n={...s.coordinates}}else n=t,this.process.normalizeCoordTags(n);n=Object.assign({},this.font.defaultRenderOptions.variation,n),this.font.defaultRenderOptions=Object.assign({},this.font.defaultRenderOptions,{variation:n})}get(){return Object.assign({},this.font.defaultRenderOptions.variation)}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},Rc=1e6,Es=64,ws=1e4,Gc,di,Lc,Ko;function Pc(t){this.font=t,this.getCommands=function(n){return Nc.getPath(n).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function HE(t){return t}function Hc(t){return Math.sign(t)*Math.round(Math.abs(t))}function WE(t){return Math.sign(t)*Math.round(Math.abs(t*2))/2}function JE(t){return Math.sign(t)*(Math.round(Math.abs(t)+.5)-.5)}function VE(t){return Math.sign(t)*Math.ceil(Math.abs(t))}function jE(t){return Math.sign(t)*Math.floor(Math.abs(t))}var Wc=function(t){let n=this.srPeriod,s=this.srPhase,a=this.srThreshold,c=1;return t<0&&(t=-t,c=-1),t+=a-s,t=Math.trunc(t/n)*n,t+=s,t<0?s*c:t*c},mr={x:1,y:0,axis:"x",distance:function(t,n,s,a){return(s?t.xo:t.x)-(a?n.xo:n.x)},interpolate:function(t,n,s,a){let c,h,d,B,w,x,C;if(!a||a===this){if(c=t.xo-n.xo,h=t.xo-s.xo,w=n.x-n.xo,x=s.x-s.xo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.x=t.xo+(w+x)/2;return}t.x=t.xo+(w*B+x*d)/C;return}if(c=a.distance(t,n,!0,!0),h=a.distance(t,s,!0,!0),w=a.distance(n,n,!1,!0),x=a.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){mr.setRelative(t,t,(w+x)/2,a,!0);return}mr.setRelative(t,t,(w*B+x*d)/C,a,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(t,n,s,a,c){if(!a||a===this){t.x=(c?n.xo:n.x)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y;t.x=B+(t.y-w)/a.normalSlope},slope:0,touch:function(t){t.xTouched=!0},touched:function(t){return t.xTouched},untouch:function(t){t.xTouched=!1}},Sr={x:0,y:1,axis:"y",distance:function(t,n,s,a){return(s?t.yo:t.y)-(a?n.yo:n.y)},interpolate:function(t,n,s,a){let c,h,d,B,w,x,C;if(!a||a===this){if(c=t.yo-n.yo,h=t.yo-s.yo,w=n.y-n.yo,x=s.y-s.yo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.y=t.yo+(w+x)/2;return}t.y=t.yo+(w*B+x*d)/C;return}if(c=a.distance(t,n,!0,!0),h=a.distance(t,s,!0,!0),w=a.distance(n,n,!1,!0),x=a.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){Sr.setRelative(t,t,(w+x)/2,a,!0);return}Sr.setRelative(t,t,(w*B+x*d)/C,a,!0)},normalSlope:0,setRelative:function(t,n,s,a,c){if(!a||a===this){t.y=(c?n.yo:n.y)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y;t.y=w+a.normalSlope*(t.x-B)},slope:Number.POSITIVE_INFINITY,touch:function(t){t.yTouched=!0},touched:function(t){return t.yTouched},untouch:function(t){t.yTouched=!1}};Object.freeze(mr),Object.freeze(Sr);function wn(t,n){this.x=t,this.y=n,this.axis=void 0,this.slope=n/t,this.normalSlope=-t/n,Object.freeze(this)}wn.prototype.distance=function(t,n,s,a){return this.x*mr.distance(t,n,s,a)+this.y*Sr.distance(t,n,s,a)},wn.prototype.interpolate=function(t,n,s,a){let c,h,d,B,w,x,C;if(d=a.distance(t,n,!0,!0),B=a.distance(t,s,!0,!0),c=a.distance(n,n,!1,!0),h=a.distance(s,s,!1,!0),w=Math.abs(d),x=Math.abs(B),C=w+x,C===0){this.setRelative(t,t,(c+h)/2,a,!0);return}this.setRelative(t,t,(c*x+h*w)/C,a,!0)},wn.prototype.setRelative=function(t,n,s,a,c){a=a||this;let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y,x=a.normalSlope,C=this.slope,S=t.x,T=t.y;t.x=(C*S-x*B+w-T)/(C-x),t.y=C*(t.x-S)+T},wn.prototype.touch=function(t){t.xTouched=!0,t.yTouched=!0};function yn(t,n){let s=Math.sqrt(t*t+n*n);return t/=s,n/=s,t===1&&n===0?mr:t===0&&n===1?Sr:new wn(t,n)}function Dr(t,n,s,a){this.x=this.xo=Math.round(t*64)/64,this.y=this.yo=Math.round(n*64)/64,this.lastPointOfContour=s,this.onCurve=a,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Dr.prototype.nextTouched=function(t){let n=this.nextPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.nextPointOnContour;return n},Dr.prototype.prevTouched=function(t){let n=this.prevPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.prevPointOnContour;return n};var Cn=Object.freeze(new Dr(0,0)),_E={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function jr(t,n){switch(this.env=t,this.stack=[],this.prog=n,t){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=mr,this.round=Hc}}Pc.prototype.exec=function(t,n){if(typeof n!="number")throw new Error("Point size is not a number!");if(this._errorState>2)return;let s=this.font,a=this._prepState;if(!a||a.ppem!==n){let c=this._fpgmState;if(!c){jr.prototype=_E,c=this._fpgmState=new jr("fpgm",s.tables.fpgm),c.funcs=[],c.font=s,c.instructionCount=0,c.callDepth=0;try{di(c)}catch(d){console.log("Hinting error in FPGM:"+d),this._errorState=3;return}}jr.prototype=c,a=this._prepState=new jr("prep",s.tables.prep),a.ppem=n,a.instructionCount=0,a.callDepth=0;let h=s.variation&&s.variation.process.getCvarTransform()||s.tables.cvt;if(h){let d=a.cvt=new Array(h.length),B=n/s.unitsPerEm;for(let w=0;w<h.length;w++)d[w]=h[w]*B}else a.cvt=[];try{di(a)}catch(d){this._errorState<2&&console.log("Hinting error in PREP:"+d),this._errorState=2}}if(!(this._errorState>1))try{return Lc(t,a)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}},Lc=function(t,n){let s=n.ppem/n.font.unitsPerEm,a=s,c=t.components,h,d,B;if(jr.prototype=n,!c)B=new jr("glyf",t.instructions),B.instructionCount=0,B.callDepth=0,Ko(t,B,s,a),d=B.gZone;else{let w=n.font;d=[],h=[];for(let x=0;x<c.length;x++){let C=c[x],S=w.glyphs.get(C.glyphIndex);B=new jr("glyf",S.instructions),B.instructionCount=0,B.callDepth=0,Ko(S,B,s,a);let T=Math.round(C.dx*s),Y=Math.round(C.dy*a),U=B.gZone,L=B.contours;for(let Te=0;Te<U.length;Te++){let xe=U[Te];xe.xTouched=xe.yTouched=!1,xe.xo=xe.x=xe.x+T,xe.yo=xe.y=xe.y+Y}let ee=d.length;d.push.apply(d,U);for(let Te=0;Te<L.length;Te++)h.push(L[Te]+ee)}t.instructions&&!B.inhibitGridFit&&(B=new jr("glyf",t.instructions),B.gZone=B.z0=B.z1=B.z2=d,B.contours=h,d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(B),d.length-=2)}return d},Ko=function(t,n,s,a){let c=t.points||[],h=c.length,d=n.gZone=n.z0=n.z1=n.z2=[],B=n.contours=[],w;for(let S=0;S<h;S++)w=c[S],d[S]=new Dr(w.x*s,w.y*a,w.lastPointOfContour,w.onCurve);let x,C;for(let S=0;S<h;S++)w=d[S],x||(x=w,B.push(S)),w.lastPointOfContour?(w.nextPointOnContour=x,x.prevPointOnContour=w,x=void 0):(C=d[S+1],w.nextPointOnContour=C,C.prevPointOnContour=w);n.inhibitGridFit||(d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(n),d.length-=2)},di=function(t){let n=t.prog;if(!n)return;let s=n.length,a;for(t.ip=0;t.ip<s;t.ip++){if(++t.instructionCount>Rc)throw new Error("Hinting instructions exceeded maximum of "+Rc);if(a=Gc[n[t.ip]],!a)throw new Error("unknown instruction: 0x"+Number(n[t.ip]).toString(16));a(t)}};function ys(t){let n=t.tZone=new Array(t.gZone.length);for(let s=0;s<n.length;s++)n[s]=new Dr(0,0)}function Jc(t,n){let s=t.prog,a=t.ip,c=1,h;do if(h=s[++a],h===88)c++;else if(h===89)c--;else if(h===64)a+=s[a+1]+1;else if(h===65)a+=2*s[a+1]+1;else if(h>=176&&h<=183)a+=h-176+1;else if(h>=184&&h<=191)a+=(h-184+1)*2;else if(n&&c===1&&h===27)break;while(c>0);t.ip=a}function Vc(t,n){n.fv=n.pv=n.dpv=t}function jc(t,n){n.pv=n.dpv=t}function _c(t,n){n.fv=t}function Zc(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.pv=n.dpv=yn(B,w)}function Xc(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.fv=yn(B,w)}function ZE(t){let n=t.stack,s=n.pop(),a=n.pop();t.pv=t.dpv=yn(a,s)}function XE(t){let n=t.stack,s=n.pop(),a=n.pop();t.fv=yn(a,s)}function zE(t){let n=t.stack,s=t.pv;n.push(s.x*16384),n.push(s.y*16384)}function qE(t){let n=t.stack,s=t.fv;n.push(s.x*16384),n.push(s.y*16384)}function KE(t){t.fv=t.pv}function $E(t){let n=t.stack,s=n.pop(),a=n.pop(),c=n.pop(),h=n.pop(),d=n.pop(),B=t.z0,w=t.z1,x=B[s],C=B[a],S=w[c],T=w[h],Y=t.z2[d],U=x.x,L=x.y,ee=C.x,Te=C.y,xe=S.x,Re=S.y,Je=T.x,$e=T.y,nt=(U-ee)*(Re-$e)-(L-Te)*(xe-Je),st=U*Te-L*ee,Bt=xe*$e-Re*Je;Y.x=(st*(xe-Je)-Bt*(U-ee))/nt,Y.y=(st*(Re-$e)-Bt*(L-Te))/nt}function e1(t){t.rp0=t.stack.pop()}function t1(t){t.rp1=t.stack.pop()}function r1(t){t.rp2=t.stack.pop()}function i1(t){let n=t.stack.pop();switch(t.zp0=n,n){case 0:t.tZone||ys(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function n1(t){let n=t.stack.pop();switch(t.zp1=n,n){case 0:t.tZone||ys(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function s1(t){let n=t.stack.pop();switch(t.zp2=n,n){case 0:t.tZone||ys(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function o1(t){let n=t.stack.pop();switch(t.zp0=t.zp1=t.zp2=n,n){case 0:t.tZone||ys(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function a1(t){t.loop=t.stack.pop(),t.loop>ws&&(t.loop=ws)}function A1(t){t.round=Hc}function l1(t){t.round=JE}function c1(t){let n=t.stack.pop();t.minDis=n/64}function u1(t){Jc(t,!1)}function h1(t){let n=t.stack.pop();t.ip+=n-1}function f1(t){let n=t.stack.pop();t.cvCutIn=n/64}function p1(t){let n=t.stack;n.push(n[n.length-1])}function $o(t){t.stack.pop()}function d1(t){t.stack.length=0}function g1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s),n.push(a)}function m1(t){let n=t.stack;n.push(n.length)}function B1(t){let n=t.stack,s=n.pop(),a=n.pop();if(a>ws&&(a=ws),++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let c=t.ip,h=t.prog;t.prog=t.funcs[s];for(let d=0;d<a;d++)di(t);t.ip=c,t.prog=h,t.callDepth--}function E1(t){let n=t.stack.pop();if(++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let s=t.ip,a=t.prog;t.prog=t.funcs[n],di(t),t.ip=s,t.prog=a,t.callDepth--}function w1(t){let n=t.stack,s=n.pop();n.push(n[n.length-s])}function y1(t){let n=t.stack,s=n.pop();n.push(n.splice(n.length-s,1)[0])}function C1(t){if(t.env!=="fpgm")throw new Error("FDEF not allowed here");let n=t.stack,s=t.prog,a=t.ip,c=n.pop(),h=a;for(;s[++a]!==45;);t.ip=a,t.funcs[c]=s.slice(h+1,a)}function zc(t,n){let s=n.stack.pop(),a=n.z0[s],c=n.fv,h=n.pv,d=h.distance(a,Cn);t&&(d=n.round(d)),c.setRelative(a,Cn,d,h),c.touch(a),n.rp0=n.rp1=s}function qc(t,n){let s=n.z2,a=s.length-2,c,h,d;for(let B=0;B<a;B++)c=s[B],!t.touched(c)&&(h=c.prevTouched(t),h!==c&&(d=c.nextTouched(t),h===d&&t.setRelative(c,c,t.distance(h,h,!1,!0),t,!0),t.interpolate(c,h,d,t)))}function Kc(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=n.loop,w=n.z2;for(;B--;){let x=s.pop(),C=w[x],S=d.distance(c,c,!1,!0);h.setRelative(C,C,S,d),h.touch(C)}n.loop=1}function $c(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=s.pop(),w=n.z2[n.contours[B]],x=w,C=d.distance(c,c,!1,!0);do x!==c&&h.setRelative(x,x,C,d),x=x.nextPointOnContour;while(x!==w)}function eu(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=s.pop(),w;switch(B){case 0:w=n.tZone;break;case 1:w=n.gZone;break;default:throw new Error("Invalid zone")}let x,C=d.distance(c,c,!1,!0),S=w.length-2;for(let T=0;T<S;T++)x=w[T],h.setRelative(x,x,C,d)}function b1(t){let n=t.stack,s=t.loop,a=t.fv,c=n.pop()/64,h=t.z2;for(;s--;){let d=n.pop(),B=h[d];a.setRelative(B,B,c),a.touch(B)}t.loop=1}function x1(t){let n=t.stack,s=t.rp1,a=t.rp2,c=t.loop,h=t.z0[s],d=t.z1[a],B=t.fv,w=t.dpv,x=t.z2;for(;c--;){let C=n.pop(),S=x[C];B.interpolate(S,h,d,w),B.touch(S)}t.loop=1}function tu(t,n){let s=n.stack,a=s.pop()/64,c=s.pop(),h=n.z1[c],d=n.z0[n.rp0],B=n.fv,w=n.pv;B.setRelative(h,d,a,w),B.touch(h),n.rp1=n.rp0,n.rp2=c,t&&(n.rp0=c)}function Q1(t){let n=t.stack,s=t.rp0,a=t.z0[s],c=t.loop,h=t.fv,d=t.pv,B=t.z1;for(;c--;){let w=n.pop(),x=B[w];h.setRelative(x,a,0,d),h.touch(x)}t.loop=1}function v1(t){t.round=WE}function ru(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z0[c],d=n.fv,B=n.pv,w=n.cvt[a],x=B.distance(h,Cn);t&&(Math.abs(x-w)<n.cvCutIn&&(x=w),x=n.round(x)),d.setRelative(h,Cn,x,B),n.zp0===0&&(h.xo=h.x,h.yo=h.y),d.touch(h),n.rp0=n.rp1=c}function I1(t){let n=t.prog,s=t.ip,a=t.stack,c=n[++s];for(let h=0;h<c;h++)a.push(n[++s]);t.ip=s}function F1(t){let n=t.ip,s=t.prog,a=t.stack,c=s[++n];for(let h=0;h<c;h++){let d=s[++n]<<8|s[++n];d&32768&&(d=-((d^65535)+1)),a.push(d)}t.ip=n}function T1(t){let n=t.stack,s=t.store;s||(s=t.store=[]);let a=n.pop(),c=n.pop();s[c]=a}function S1(t){let n=t.stack,s=t.store,a=n.pop(),c=s&&s[a]||0;n.push(c)}function D1(t){let n=t.stack,s=n.pop(),a=n.pop();t.cvt[a]=s/64}function M1(t){let n=t.stack,s=n.pop();n.push(t.cvt[s]*64)}function iu(t,n){let s=n.stack,a=s.pop(),c=n.z2[a];s.push(n.dpv.distance(c,Cn,t,!1)*64)}function nu(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z1[a],d=n.z0[c],B=n.dpv.distance(d,h,t,t);n.stack.push(Math.round(B*64))}function U1(t){t.stack.push(t.ppem)}function k1(t){t.autoFlip=!0}function Y1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a<s?1:0)}function O1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a<=s?1:0)}function N1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a>s?1:0)}function R1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a>=s?1:0)}function G1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s===a?1:0)}function L1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s!==a?1:0)}function P1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?1:0)}function H1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?0:1)}function W1(t){let n=t.stack.pop(),s;n||Jc(t,!0)}function J1(t){}function V1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s&&a?1:0)}function j1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s||a?1:0)}function _1(t){let n=t.stack,s=n.pop();n.push(s?0:1)}function ea(t,n){let s=n.stack,a=s.pop(),c=n.fv,h=n.pv,d=n.ppem,B=n.deltaBase+(t-1)*16,w=n.deltaShift,x=n.z0;for(let C=0;C<a;C++){let S=s.pop(),T=s.pop();if(B+((T&240)>>4)!==d)continue;let U=(T&15)-8;U>=0&&U++;let L=x[S];c.setRelative(L,L,U*w,h)}}function Z1(t){let s=t.stack.pop();t.deltaBase=s}function X1(t){let s=t.stack.pop();t.deltaShift=Math.pow(.5,s)}function z1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a+s)}function q1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a-s)}function K1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a*64/s)}function $1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a*s/64)}function ew(t){let n=t.stack,s=n.pop();n.push(Math.abs(s))}function tw(t){let n=t.stack,s=n.pop();n.push(-s)}function rw(t){let n=t.stack,s=n.pop();n.push(Math.floor(s/64)*64)}function iw(t){let n=t.stack,s=n.pop();n.push(Math.ceil(s/64)*64)}function Cs(t,n){let s=n.stack,a=s.pop();s.push(n.round(a/64)*64)}function nw(t){let n=t.stack,s=n.pop(),a=n.pop();t.cvt[a]=s*t.ppem/t.font.unitsPerEm}function ta(t,n){let s=n.stack,a=s.pop(),c=n.ppem,h=n.deltaBase+(t-1)*16,d=n.deltaShift;for(let B=0;B<a;B++){let w=s.pop(),x=s.pop();if(h+((x&240)>>4)!==c)continue;let S=(x&15)-8;S>=0&&S++;let T=S*d;n.cvt[w]+=T}}function sw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=.5;break;case 64:s=1;break;case 128:s=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid SROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function ow(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=Math.sqrt(2)/2;break;case 64:s=Math.sqrt(2);break;case 128:s=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid S45ROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function aw(t){t.round=HE}function Aw(t){t.round=VE}function lw(t){t.round=jE}function cw(t){let n=t.stack.pop()}function su(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.dpv=yn(B,w)}function uw(t){let n=t.stack,s=n.pop(),a=0;s&1&&(a=35),s&32&&(a|=4096),n.push(a)}function hw(t){let n=t.stack,s=n.pop(),a=n.pop(),c=n.pop();n.push(a),n.push(s),n.push(c)}function fw(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(Math.max(a,s))}function pw(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(Math.min(a,s))}function dw(t){let n=t.stack.pop()}function gw(t){let n=t.stack.pop(),s=t.stack.pop();switch(n){case 1:t.inhibitGridFit=!!s;return;case 2:t.ignoreCvt=!!s;return;default:throw new Error("invalid INSTCTRL[] selector")}}function _r(t,n){let s=n.stack,a=n.prog,c=n.ip;for(let h=0;h<t;h++)s.push(a[++c]);n.ip=c}function Zr(t,n){let s=n.ip,a=n.prog,c=n.stack;for(let h=0;h<t;h++){let d=a[++s]<<8|a[++s];d&32768&&(d=-((d^65535)+1)),c.push(d)}n.ip=s}function Ie(t,n,s,a,c,h){let d=h.stack,B=t&&d.pop(),w=d.pop(),x=h.rp0,C=h.z0[x],S=h.z1[w],T=h.minDis,Y=h.fv,U=h.dpv,L,ee,Te,xe;ee=L=U.distance(S,C,!0,!0),Te=ee>=0?1:-1,ee=Math.abs(ee),t&&(xe=h.cvt[B],a&&Math.abs(ee-xe)<h.cvCutIn&&(ee=xe)),s&&ee<T&&(ee=T),a&&(ee=h.round(ee)),Y.setRelative(S,C,Te*ee,U),Y.touch(S),h.rp1=h.rp0,h.rp2=w,n&&(h.rp0=w)}Gc=[Vc.bind(void 0,Sr),Vc.bind(void 0,mr),jc.bind(void 0,Sr),jc.bind(void 0,mr),_c.bind(void 0,Sr),_c.bind(void 0,mr),Zc.bind(void 0,0),Zc.bind(void 0,1),Xc.bind(void 0,0),Xc.bind(void 0,1),ZE,XE,zE,qE,KE,$E,e1,t1,r1,i1,n1,s1,o1,a1,A1,l1,c1,u1,h1,f1,void 0,void 0,p1,$o,d1,g1,m1,w1,y1,void 0,void 0,void 0,B1,E1,C1,void 0,zc.bind(void 0,0),zc.bind(void 0,1),qc.bind(void 0,Sr),qc.bind(void 0,mr),Kc.bind(void 0,0),Kc.bind(void 0,1),$c.bind(void 0,0),$c.bind(void 0,1),eu.bind(void 0,0),eu.bind(void 0,1),b1,x1,tu.bind(void 0,0),tu.bind(void 0,1),Q1,v1,ru.bind(void 0,0),ru.bind(void 0,1),I1,F1,T1,S1,D1,M1,iu.bind(void 0,0),iu.bind(void 0,1),void 0,nu.bind(void 0,0),nu.bind(void 0,1),U1,void 0,k1,void 0,void 0,Y1,O1,N1,R1,G1,L1,P1,H1,W1,J1,V1,j1,_1,ea.bind(void 0,1),Z1,X1,z1,q1,K1,$1,ew,tw,rw,iw,Cs.bind(void 0,0),Cs.bind(void 0,1),Cs.bind(void 0,2),Cs.bind(void 0,3),void 0,void 0,void 0,void 0,nw,ea.bind(void 0,2),ea.bind(void 0,3),ta.bind(void 0,1),ta.bind(void 0,2),ta.bind(void 0,3),sw,ow,void 0,void 0,aw,void 0,Aw,lw,$o,$o,void 0,void 0,void 0,void 0,void 0,cw,su.bind(void 0,0),su.bind(void 0,1),uw,void 0,hw,fw,pw,dw,gw,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),Zr.bind(void 0,1),Zr.bind(void 0,2),Zr.bind(void 0,3),Zr.bind(void 0,4),Zr.bind(void 0,5),Zr.bind(void 0,6),Zr.bind(void 0,7),Zr.bind(void 0,8),Ie.bind(void 0,0,0,0,0,0),Ie.bind(void 0,0,0,0,0,1),Ie.bind(void 0,0,0,0,0,2),Ie.bind(void 0,0,0,0,0,3),Ie.bind(void 0,0,0,0,1,0),Ie.bind(void 0,0,0,0,1,1),Ie.bind(void 0,0,0,0,1,2),Ie.bind(void 0,0,0,0,1,3),Ie.bind(void 0,0,0,1,0,0),Ie.bind(void 0,0,0,1,0,1),Ie.bind(void 0,0,0,1,0,2),Ie.bind(void 0,0,0,1,0,3),Ie.bind(void 0,0,0,1,1,0),Ie.bind(void 0,0,0,1,1,1),Ie.bind(void 0,0,0,1,1,2),Ie.bind(void 0,0,0,1,1,3),Ie.bind(void 0,0,1,0,0,0),Ie.bind(void 0,0,1,0,0,1),Ie.bind(void 0,0,1,0,0,2),Ie.bind(void 0,0,1,0,0,3),Ie.bind(void 0,0,1,0,1,0),Ie.bind(void 0,0,1,0,1,1),Ie.bind(void 0,0,1,0,1,2),Ie.bind(void 0,0,1,0,1,3),Ie.bind(void 0,0,1,1,0,0),Ie.bind(void 0,0,1,1,0,1),Ie.bind(void 0,0,1,1,0,2),Ie.bind(void 0,0,1,1,0,3),Ie.bind(void 0,0,1,1,1,0),Ie.bind(void 0,0,1,1,1,1),Ie.bind(void 0,0,1,1,1,2),Ie.bind(void 0,0,1,1,1,3),Ie.bind(void 0,1,0,0,0,0),Ie.bind(void 0,1,0,0,0,1),Ie.bind(void 0,1,0,0,0,2),Ie.bind(void 0,1,0,0,0,3),Ie.bind(void 0,1,0,0,1,0),Ie.bind(void 0,1,0,0,1,1),Ie.bind(void 0,1,0,0,1,2),Ie.bind(void 0,1,0,0,1,3),Ie.bind(void 0,1,0,1,0,0),Ie.bind(void 0,1,0,1,0,1),Ie.bind(void 0,1,0,1,0,2),Ie.bind(void 0,1,0,1,0,3),Ie.bind(void 0,1,0,1,1,0),Ie.bind(void 0,1,0,1,1,1),Ie.bind(void 0,1,0,1,1,2),Ie.bind(void 0,1,0,1,1,3),Ie.bind(void 0,1,1,0,0,0),Ie.bind(void 0,1,1,0,0,1),Ie.bind(void 0,1,1,0,0,2),Ie.bind(void 0,1,1,0,0,3),Ie.bind(void 0,1,1,0,1,0),Ie.bind(void 0,1,1,0,1,1),Ie.bind(void 0,1,1,0,1,2),Ie.bind(void 0,1,1,0,1,3),Ie.bind(void 0,1,1,1,0,0),Ie.bind(void 0,1,1,1,0,1),Ie.bind(void 0,1,1,1,0,2),Ie.bind(void 0,1,1,1,0,3),Ie.bind(void 0,1,1,1,1,0),Ie.bind(void 0,1,1,1,1,1),Ie.bind(void 0,1,1,1,1,2),Ie.bind(void 0,1,1,1,1,3)];var mw=Pc;function Oi(t){this.char=t,this.state={},this.activeState=null}function ra(t,n,s){this.contextName=s,this.startIndex=t,this.endOffset=n}function Bw(t,n,s){this.contextName=t,this.openRange=null,this.ranges=[],this.checkStart=n,this.checkEnd=s}function St(t,n){this.context=t,this.index=n,this.length=t.length,this.current=t[n],this.backtrack=t.slice(0,n),this.lookahead=t.slice(n+1)}function bs(t){this.eventId=t,this.subscribers=[]}function Ew(t){let n=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];for(let a=0;a<n.length;a++){let c=n[a];Object.defineProperty(this.events,c,{value:new bs(c)})}if(t)for(let a=0;a<n.length;a++){let c=n[a],h=t[c];typeof h=="function"&&this.events[c].subscribe(h)}let s=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];for(let a=0;a<s.length;a++){let c=s[a];this.events[c].subscribe(this.updateContextsRanges)}}function dt(t){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ew.call(this,t)}Oi.prototype.setState=function(t,n){return this.state[t]=n,this.activeState={key:t,value:this.state[t]},this.activeState},Oi.prototype.getState=function(t){return this.state[t]||null},dt.prototype.inboundIndex=function(t){return t>=0&&t<this.tokens.length},dt.prototype.composeRUD=function(t){let s=t.map(c=>this[c[0]].apply(this,c.slice(1).concat(!0))),a=c=>typeof c=="object"&&Object.prototype.hasOwnProperty.call(c,"FAIL");if(s.every(a))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:s.filter(a)};this.dispatch("composeRUD",[s.filter(c=>!a(c))])},dt.prototype.replaceRange=function(t,n,s,a){n=n!==null?n:this.tokens.length;let c=s.every(h=>h instanceof Oi);if(!isNaN(t)&&this.inboundIndex(t)&&c){let h=this.tokens.splice.apply(this.tokens,[t,n].concat(s));return a||this.dispatch("replaceToken",[t,n,s]),[h,s]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},dt.prototype.replaceToken=function(t,n,s){if(!isNaN(t)&&this.inboundIndex(t)&&n instanceof Oi){let a=this.tokens.splice(t,1,n);return s||this.dispatch("replaceToken",[t,n]),[a[0],n]}else return{FAIL:"replaceToken: invalid token or index."}},dt.prototype.removeRange=function(t,n,s){n=isNaN(n)?this.tokens.length:n;let a=this.tokens.splice(t,n);return s||this.dispatch("removeRange",[a,t,n]),a},dt.prototype.removeToken=function(t,n){if(!isNaN(t)&&this.inboundIndex(t)){let s=this.tokens.splice(t,1);return n||this.dispatch("removeToken",[s,t]),s}else return{FAIL:"removeToken: invalid token index."}},dt.prototype.insertToken=function(t,n,s){return t.every(c=>c instanceof Oi)?(this.tokens.splice.apply(this.tokens,[n,0].concat(t)),s||this.dispatch("insertToken",[t,n]),t):{FAIL:"insertToken: invalid token(s)."}},dt.prototype.registerModifier=function(t,n,s){this.events.newToken.subscribe(function(a,c){let h=[a,c],d=n===null||n.apply(this,h)===!0,B=[a,c];if(d){let w=s.apply(this,B);a.setState(t,w)}}),this.registeredModifiers.push(t)},bs.prototype.subscribe=function(t){return typeof t=="function"?this.subscribers.push(t)-1:{FAIL:`invalid '${this.eventId}' event handler`}},bs.prototype.unsubscribe=function(t){this.subscribers.splice(t,1)},St.prototype.setCurrentIndex=function(t){this.index=t,this.current=this.context[t],this.backtrack=this.context.slice(0,t),this.lookahead=this.context.slice(t+1)},St.prototype.get=function(t){switch(!0){case t===0:return this.current;case(t<0&&Math.abs(t)<=this.backtrack.length):return this.backtrack.slice(t)[0];case(t>0&&t<=this.lookahead.length):return this.lookahead[t-1];default:return null}},dt.prototype.rangeToText=function(t){if(t instanceof ra)return this.getRangeTokens(t).map(n=>n.char).join("")},dt.prototype.getText=function(){return this.tokens.map(t=>t.char).join("")},dt.prototype.getContext=function(t){let n=this.registeredContexts[t];return n||null},dt.prototype.on=function(t,n){let s=this.events[t];return s?s.subscribe(n):null},dt.prototype.dispatch=function(t,n){let s=this.events[t];if(s instanceof bs)for(let a=0;a<s.subscribers.length;a++)s.subscribers[a].apply(this,n||[])},dt.prototype.registerContextChecker=function(t,n,s){if(this.getContext(t))return{FAIL:`context name '${t}' is already registered.`};if(typeof n!="function")return{FAIL:"missing context start check."};if(typeof s!="function")return{FAIL:"missing context end check."};let a=new Bw(t,n,s);return this.registeredContexts[t]=a,this.contextCheckers.push(a),a},dt.prototype.getRangeTokens=function(t){let n=t.startIndex+t.endOffset;return[].concat(this.tokens.slice(t.startIndex,n))},dt.prototype.getContextRanges=function(t){let n=this.getContext(t);return n?n.ranges:{FAIL:`context checker '${t}' is not registered.`}},dt.prototype.resetContextsRanges=function(){let t=this.registeredContexts;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let s=t[n];s.ranges=[]}},dt.prototype.updateContextsRanges=function(){this.resetContextsRanges();let t=this.tokens.map(n=>n.char);for(let n=0;n<t.length;n++){let s=new St(t,n);this.runContextCheck(s)}this.dispatch("updateContextsRanges",[this.registeredContexts])},dt.prototype.setEndOffset=function(t,n){let s=this.getContext(n).openRange.startIndex,a=new ra(s,t,n),c=this.getContext(n).ranges;return a.rangeId=`${n}.${c.length}`,c.push(a),this.getContext(n).openRange=null,a},dt.prototype.runContextCheck=function(t){let n=t.index;for(let s=0;s<this.contextCheckers.length;s++){let a=this.contextCheckers[s],c=a.contextName,h=this.getContext(c).openRange;if(!h&&a.checkStart(t)&&(h=new ra(n,null,c),this.getContext(c).openRange=h,this.dispatch("contextStart",[c,n])),h&&a.checkEnd(t)){let d=n-h.startIndex+1,B=this.setEndOffset(d,c);this.dispatch("contextEnd",[c,B])}}},dt.prototype.tokenize=function(t){this.tokens=[],this.resetContextsRanges();let n=Array.from(t);this.dispatch("start");for(let s=0;s<n.length;s++){let a=n[s],c=new St(n,s);this.dispatch("next",[c]),this.runContextCheck(c);let h=new Oi(a);this.tokens.push(h),this.dispatch("newToken",[h,c])}return this.dispatch("end",[this.tokens]),this.tokens};var ww=dt;function Xr(t){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(t)}function ou(t){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(t)}function zr(t){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(t)}function xs(t){return/[\u0E00-\u0E7F]/.test(t)}function Qs(t){return/[A-z]/.test(t)}function yw(t){return/\s/.test(t)}function Jt(t){this.font=t,this.features={}}function qr(t){this.id=t.id,this.tag=t.tag,this.substitution=t.substitution}function Kr(t,n){if(!t)return-1;switch(n.format){case 1:return n.glyphs.indexOf(t);case 2:{let s=n.ranges;for(let a=0;a<s.length;a++){let c=s[a];if(t>=c.start&&t<=c.end){let h=t-c.start;return c.index+h}}break}default:return-1}return-1}function Cw(t,n){return Kr(t,n.coverage)===-1?null:t+n.deltaGlyphId}function bw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.substitute[s]}function ia(t,n){let s=[];for(let a=0;a<t.length;a++){let c=t[a],h=n.current;h=Array.isArray(h)?h[0]:h;let d=Kr(h,c);d!==-1&&s.push(d)}return s.length!==t.length?-1:s}function xw(t,n){let s=n.inputCoverage.length+n.lookaheadCoverage.length+n.backtrackCoverage.length;if(t.context.length<s)return[];let a=ia(n.inputCoverage,t);if(a===-1)return[];let c=n.inputCoverage.length-1;if(t.lookahead.length<n.lookaheadCoverage.length)return[];let h=t.lookahead.slice(c);for(;h.length&&zr(h[0].char);)h.shift();let d=new St(h,0),B=ia(n.lookaheadCoverage,d),w=[].concat(t.backtrack);for(w.reverse();w.length&&zr(w[0].char);)w.shift();if(w.length<n.backtrackCoverage.length)return[];let x=new St(w,0),C=ia(n.backtrackCoverage,x),S=a.length===n.inputCoverage.length&&B.length===n.lookaheadCoverage.length&&C.length===n.backtrackCoverage.length,T=[];if(S)for(let Y=0;Y<n.lookupRecords.length;Y++){let U=n.lookupRecords[Y],L=U.lookupListIndex,ee=this.getLookupByIndex(L);for(let Te=0;Te<ee.subtables.length;Te++){let xe=ee.subtables[Te],Re,Je=this.getSubstitutionType(ee,xe);if(Je==="71"?(Je=this.getSubstitutionType(xe,xe.extension),Re=this.getLookupMethod(xe,xe.extension),xe=xe.extension):Re=this.getLookupMethod(ee,xe),Je==="12"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else if(Je==="21"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else throw new Error(`Substitution type ${Je} is not supported in chaining substitution`)}}return T}function Qw(t,n){let s=t.current,a=Kr(s,n.coverage);if(a===-1)return null;let c,h=n.ligatureSets[a];for(let d=0;d<h.length;d++){c=h[d];for(let B=0;B<c.components.length;B++){let w=t.lookahead[B],x=c.components[B];if(w!==x)break;if(B===c.components.length-1)return c}}return null}function vw(t,n){let s=t.current;if(Kr(s,n.coverage)===-1)return null;for(let c of n.ruleSets)for(let h of c){let d=!0;for(let B=0;B<h.input.length;B++)if(t.lookahead[B]!==h.input[B]){d=!1;break}if(d){let B=[];B.push(s);for(let x=0;x<h.input.length;x++)B.push(h.input[x]);let w=(x,C)=>{let{lookupListIndex:S,sequenceIndex:T}=C,{subtables:Y}=this.getLookupByIndex(S);for(let U of Y)Kr(x[T],U.coverage)!==-1&&(x[T]=U.deltaGlyphId)};for(let x=0;x<h.lookupRecords.length;x++){let C=h.lookupRecords[x];w(B,C)}return B}}return null}function Iw(t,n){if(t.context.length<n.coverages.length)return[];for(let a=0;a<n.coverages.length;a++){let c=t.get(a);if(c=Array.isArray(c)?c[0]:c,Kr(c,n.coverages[a])===-1)return[]}let s=[];for(let a=0;a<n.lookupRecords.length;a++){let c=n.lookupRecords[a],h=c.lookupListIndex,d=this.getLookupByIndex(h);for(let B=0;B<d.subtables.length;B++){let w=d.subtables[B],x,C=this.getSubstitutionType(d,w);if(C==="71"?(C=this.getSubstitutionType(w,w.extension),x=this.getLookupMethod(w,w.extension),w=w.extension):x=this.getLookupMethod(d,w),C==="12"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}else if(C==="21"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}}}return s}function Fw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.sequences[s]}Jt.prototype.getDefaultScriptFeaturesIndexes=function(){let t=this.font.tables.gsub.scripts;for(let n=0;n<t.length;n++){let s=t[n];if(s.tag==="DFLT")return s.script.defaultLangSys.featureIndexes}return[]},Jt.prototype.getScriptFeaturesIndexes=function(t){if(!this.font.tables.gsub)return[];if(!t)return this.getDefaultScriptFeaturesIndexes();let s=this.font.tables.gsub.scripts;for(let a=0;a<s.length;a++){let c=s[a];if(c.tag===t&&c.script.defaultLangSys)return c.script.defaultLangSys.featureIndexes;{let h=c.langSysRecords;if(h)for(let d=0;d<h.length;d++){let B=h[d];if(B.tag===t)return B.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},Jt.prototype.mapTagsToFeatures=function(t,n){let s={};for(let a=0;a<t.length;a++){let c=t[a].tag,h=t[a].feature;s[c]=h}this.features[n].tags=s},Jt.prototype.getScriptFeatures=function(t){let n=this.features[t];if(Object.prototype.hasOwnProperty.call(this.features,t))return n;let s=this.getScriptFeaturesIndexes(t);if(!s)return null;let a=this.font.tables.gsub;return n=s.map(c=>a.features[c]),this.features[t]=n,this.mapTagsToFeatures(n,t),n},Jt.prototype.getSubstitutionType=function(t,n){let s=t.lookupType.toString(),a=n.substFormat.toString();return s+a},Jt.prototype.getLookupMethod=function(t,n){let s=this.getSubstitutionType(t,n);switch(s){case"11":return a=>Cw.apply(this,[a,n]);case"12":return a=>bw.apply(this,[a,n]);case"63":return a=>xw.apply(this,[a,n]);case"41":return a=>Qw.apply(this,[a,n]);case"21":return a=>Fw.apply(this,[a,n]);case"51":return a=>vw.apply(this,[a,n]);case"53":return a=>Iw.apply(this,[a,n]);default:throw new Error(`substitutionType : ${s} lookupType: ${t.lookupType} - substFormat: ${n.substFormat} is not yet supported`)}},Jt.prototype.lookupFeature=function(t){let n=t.contextParams,s=n.index,a=this.getFeature({tag:t.tag,script:t.script});if(!a)return new Error(`font '${(this.font.names.unicode||this.font.names.windows||this.font.names.macintosh).fullName.en}' doesn't support feature '${t.tag}' for script '${t.script}'.`);let c=this.getFeatureLookups(a),h=[].concat(n.context);for(let d=0;d<c.length;d++){let B=c[d],w=this.getLookupSubtables(B);for(let x=0;x<w.length;x++){let C=w[x],S=this.getSubstitutionType(B,C),T;S==="71"?(S=this.getSubstitutionType(C,C.extension),T=this.getLookupMethod(C,C.extension),C=C.extension):T=this.getLookupMethod(B,C);let Y;switch(S){case"11":Y=T(n.current),Y&&h.splice(s,1,new qr({id:11,tag:t.tag,substitution:Y}));break;case"12":Y=T(n.current),Y&&h.splice(s,1,new qr({id:12,tag:t.tag,substitution:Y}));break;case"63":Y=T(n),Array.isArray(Y)&&Y.length&&h.splice(s,1,new qr({id:63,tag:t.tag,substitution:Y}));break;case"41":Y=T(n),Y&&h.splice(s,1,new qr({id:41,tag:t.tag,substitution:Y}));break;case"21":Y=T(n.current),Y&&h.splice(s,1,new qr({id:21,tag:t.tag,substitution:Y}));break;case"51":case"53":Y=T(n),Array.isArray(Y)&&Y.length&&h.splice(s,1,new qr({id:parseInt(S),tag:t.tag,substitution:Y}));break}n=new St(h,s),!(Array.isArray(Y)&&!Y.length)&&(Y=null)}}return h.length?h:null},Jt.prototype.supports=function(t){if(!t.script)return!1;this.getScriptFeatures(t.script);let n=Object.prototype.hasOwnProperty.call(this.features,t.script);if(!t.tag)return n;let s=this.features[t.script].some(a=>a.tag===t.tag);return n&&s},Jt.prototype.getLookupSubtables=function(t){return t.subtables||null},Jt.prototype.getLookupByIndex=function(t){return this.font.tables.gsub.lookups[t]||null},Jt.prototype.getFeatureLookups=function(t){return t.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Jt.prototype.getFeature=function(n){if(!this.font)return{FAIL:"No font was found"};Object.prototype.hasOwnProperty.call(this.features,n.script)||this.getScriptFeatures(n.script);let s=this.features[n.script];return s?s.tags[n.tag]?this.features[n.script].tags[n.tag]:null:{FAIL:`No feature for script ${n.script}`}};var Tw=Jt;function Sw(t){let n=t.current,s=t.get(-1);return s===null&&Xr(n)||!Xr(s)&&Xr(n)}function Dw(t){let n=t.get(1);return n===null||!Xr(n)}var Mw={startCheck:Sw,endCheck:Dw};function Uw(t){let n=t.current,s=t.get(-1);return(Xr(n)||zr(n))&&!Xr(s)}function kw(t){let n=t.get(1);switch(!0){case n===null:return!0;case(!Xr(n)&&!zr(n)):{let s=yw(n);if(!s)return!0;if(s){let a=!1;if(a=t.lookahead.some(c=>Xr(c)||zr(c)),!a)return!0}break}default:return!1}}var Yw={startCheck:Uw,endCheck:kw};function Ow(t,n,s){n[s].setState(t.tag,t.substitution)}function Nw(t,n,s){n[s].setState(t.tag,t.substitution)}function na(t,n,s){for(let a=0;a<t.substitution.length;a++){let c=t.substitution[a],h=n[s+a];if(Array.isArray(c)){c.length?h.setState(t.tag,c[0]):h.setState("deleted",!0);continue}h.setState(t.tag,c)}}function Rw(t,n,s){let a=n[s];a.setState(t.tag,t.substitution.ligGlyph);let c=t.substitution.components.length;for(let h=0;h<c;h++)a=n[s+h+1],a.setState("deleted",!0)}var au={11:Ow,12:Nw,63:na,41:Rw,51:na,53:na};function Gw(t,n,s){t instanceof qr&&au[t.id]&&au[t.id](t,n,s)}var gi=Gw;function Lw(t){let n=[].concat(t.backtrack);for(let s=n.length-1;s>=0;s--){let a=n[s],c=ou(a),h=zr(a);if(!c&&!h)return!0;if(c)return!1}return!1}function Pw(t){if(ou(t.current))return!1;for(let n=0;n<t.lookahead.length;n++){let s=t.lookahead[n];if(!zr(s))return!0}return!1}function Hw(t){let n="arab",s=this.featuresTags[n],a=this.tokenizer.getRangeTokens(t);if(a.length===1)return;let c=new St(a.map(d=>d.getState("glyphIndex")),0),h=new St(a.map(d=>d.char),0);for(let d=0;d<a.length;d++){let B=a[d];if(zr(B.char))continue;c.setCurrentIndex(d),h.setCurrentIndex(d);let w=0;Lw(h)&&(w|=1),Pw(h)&&(w|=2);let x;switch(w){case 1:x="fina";break;case 2:x="init";break;case 3:x="medi";break}if(s.indexOf(x)===-1)continue;let C=this.query.lookupFeature({tag:x,script:n,contextParams:c});if(C instanceof Error){console.info(C.message);continue}for(let S=0;S<C.length;S++){let T=C[S];T instanceof qr&&(gi(T,a,S),c.context[S]=T.substitution)}}}var Ww=Hw;function Au(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function Jw(t){let n="arab",s=this.tokenizer.getRangeTokens(t),a=Au(s);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=Au(s)}}}var Vw=Jw;function jw(t){return t.index===0&&t.context.length>1}function _w(t){return t.index===t.context.length-1}var Zw={startCheck:jw,endCheck:_w};function lu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function Xw(t){let n="delf",s="ccmp",a=this.tokenizer.getRangeTokens(t),c=lu(a);for(let h=0;h<c.context.length;h++){if(!this.query.getFeature({tag:s,script:n,contextParams:c}))continue;c.setCurrentIndex(h);let d=this.query.lookupFeature({tag:s,script:n,contextParams:c});if(d.length){for(let B=0;B<d.length;B++){let w=d[B];gi(w,a,h)}c=lu(a)}}}var zw=Xw;function qw(t){let n=t.current,s=t.get(-1);return s===null&&Qs(n)||!Qs(s)&&Qs(n)}function Kw(t){let n=t.get(1);return n===null||!Qs(n)}var $w={startCheck:qw,endCheck:Kw};function cu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ey(t){let n="latn",s=this.tokenizer.getRangeTokens(t),a=cu(s);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=cu(s)}}}var ty=ey;function ry(t){let n=t.current,s=t.get(-1);return s===null&&xs(n)||!xs(s)&&xs(n)}function iy(t){let n=t.get(1);return n===null||!xs(n)}var ny={startCheck:ry,endCheck:iy};function uu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function sy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=uu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"ccmp",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=uu(s,c)}}}var oy=sy;function hu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ay(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=hu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=hu(s,c)}}}var Ay=ay;function fu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ly(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=fu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=fu(s,c)}}}var cy=ly;function sa(t){if(t===null)return!1;let n=t.codePointAt(0);return n>=6155&&n<=6157||n>=65024&&n<=65039||n>=917760&&n<=917999}function uy(t){let n=t.current,s=t.get(1);return s===null&&sa(n)||sa(s)}function hy(t){let n=t.get(1);return n===null||!sa(n)}var fy={startCheck:uy,endCheck:hy};function py(t){let n=this.query.font,s=this.tokenizer.getRangeTokens(t);if(s[1].setState("deleted",!0),n.tables.cmap&&n.tables.cmap.varSelectorList){let a=s[0].char.codePointAt(0),c=s[1].char.codePointAt(0),h=n.tables.cmap.varSelectorList[c];if(h!==void 0&&h.nonDefaultUVS){let d=h.nonDefaultUVS.uvsMappings;if(d[a]){let B=d[a].glyphID;n.glyphs.glyphs[B]!==void 0&&s[0].setState("glyphIndex",B)}}}}var dy=py;function Zt(t){this.baseDir=t||"ltr",this.tokenizer=new ww,this.featuresTags={}}Zt.prototype.setText=function(t){this.text=t},Zt.prototype.contextChecks={ccmpReplacementCheck:Zw,latinWordCheck:$w,arabicWordCheck:Mw,arabicSentenceCheck:Yw,thaiWordCheck:ny,unicodeVariationSequenceCheck:fy};function Ni(t){let n=this.contextChecks[`${t}Check`];return this.tokenizer.registerContextChecker(t,n.startCheck,n.endCheck)}function gy(){return Ni.call(this,"ccmpReplacement"),Ni.call(this,"latinWord"),Ni.call(this,"arabicWord"),Ni.call(this,"arabicSentence"),Ni.call(this,"thaiWord"),Ni.call(this,"unicodeVariationSequence"),this.tokenizer.tokenize(this.text)}function my(){let t=this.tokenizer.getContextRanges("arabicSentence");for(let n=0;n<t.length;n++){let s=t[n],a=this.tokenizer.getRangeTokens(s);this.tokenizer.replaceRange(s.startIndex,s.endOffset,a.reverse())}}Zt.prototype.registerFeatures=function(t,n){let s=n.filter(a=>this.query.supports({script:t,tag:a}));Object.prototype.hasOwnProperty.call(this.featuresTags,t)?this.featuresTags[t]=this.featuresTags[t].concat(s):this.featuresTags[t]=s},Zt.prototype.applyFeatures=function(t,n){if(!t)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Tw(t));for(let s=0;s<n.length;s++){let a=n[s];this.query.supports({script:a.script})&&this.registerFeatures(a.script,a.tags)}},Zt.prototype.registerModifier=function(t,n,s){this.tokenizer.registerModifier(t,n,s)};function bn(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function By(){if(!Object.prototype.hasOwnProperty.call(this.featuresTags,"arab"))return;bn.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let s=0;s<n.length;s++){let a=n[s];Ww.call(this,a)}}function Ey(){bn.call(this);let t=this.tokenizer.getContextRanges("ccmpReplacement");for(let n=0;n<t.length;n++){let s=t[n];zw.call(this,s)}}function wy(){if(!this.hasFeatureEnabled("arab","rlig"))return;bn.call(this);let t=this.tokenizer.getContextRanges("arabicWord");for(let n=0;n<t.length;n++){let s=t[n];Vw.call(this,s)}}function yy(){if(!this.hasFeatureEnabled("latn","liga"))return;bn.call(this);let t=this.tokenizer.getContextRanges("latinWord");for(let n=0;n<t.length;n++){let s=t[n];ty.call(this,s)}}function Cy(){let t=this.tokenizer.getContextRanges("unicodeVariationSequence");for(let n=0;n<t.length;n++){let s=t[n];dy.call(this,s)}}function by(){bn.call(this);let t=this.tokenizer.getContextRanges("thaiWord");for(let n=0;n<t.length;n++){let s=t[n];this.hasFeatureEnabled("thai","liga")&&Ay.call(this,s),this.hasFeatureEnabled("thai","rlig")&&cy.call(this,s),this.hasFeatureEnabled("thai","ccmp")&&oy.call(this,s)}}Zt.prototype.checkContextReady=function(t){return!!this.tokenizer.getContext(t)},Zt.prototype.applyFeaturesToContexts=function(){this.checkContextReady("ccmpReplacement")&&Ey.call(this),this.checkContextReady("arabicWord")&&(By.call(this),wy.call(this)),this.checkContextReady("latinWord")&&yy.call(this),this.checkContextReady("arabicSentence")&&my.call(this),this.checkContextReady("thaiWord")&&by.call(this),this.checkContextReady("unicodeVariationSequence")&&Cy.call(this)},Zt.prototype.hasFeatureEnabled=function(t,n){return(this.featuresTags[t]||[]).indexOf(n)!==-1},Zt.prototype.processText=function(t){(!this.text||this.text!==t)&&(this.setText(t),gy.call(this),this.applyFeaturesToContexts())},Zt.prototype.getBidiText=function(t){return this.processText(t),this.tokenizer.getText()},Zt.prototype.getTextGlyphs=function(t){this.processText(t);let n=[];for(let s=0;s<this.tokenizer.tokens.length;s++){let a=this.tokenizer.tokens[s];if(a.state.deleted)continue;let c=a.activeState.value;n.push(Array.isArray(c)?c[0]:c)}return n};var xy=Zt;function oa(t){return{fontFamily:{en:t.familyName||" "},fontSubfamily:{en:t.styleName||" "},fullName:{en:t.fullName||t.familyName+" "+t.styleName},postScriptName:{en:t.postScriptName||(t.familyName+t.styleName).replace(/\s/g,"")},designer:{en:t.designer||" "},designerURL:{en:t.designerURL||" "},manufacturer:{en:t.manufacturer||" "},manufacturerURL:{en:t.manufacturerURL||" "},license:{en:t.license||" "},licenseURL:{en:t.licenseURL||" "},version:{en:t.version||"Version 0.1"},description:{en:t.description||" "},copyright:{en:t.copyright||" "},trademark:{en:t.trademark||" "}}}function et(t){if(t=t||{},t.tables=t.tables||{},!t.empty){if(!t.familyName)throw new Error("When creating a new Font object, familyName is required.");if(!t.styleName)throw new Error("When creating a new Font object, styleName is required.");if(!t.unitsPerEm)throw new Error("When creating a new Font object, unitsPerEm is required.");if(!t.ascender)throw new Error("When creating a new Font object, ascender is required.");if(t.descender>0)throw new Error("When creating a new Font object, negative descender value is required.");this.names={},this.names.unicode=oa(t),this.names.macintosh=oa(t),this.names.windows=oa(t),this.unitsPerEm=t.unitsPerEm||1e3,this.ascender=t.ascender,this.descender=t.descender,this.createdTimestamp=t.createdTimestamp,this.italicAngle=t.italicAngle||0,this.weightClass=t.weightClass||0;let n=0;t.fsSelection?n=t.fsSelection:(this.italicAngle<0?n|=this.fsSelectionValues.ITALIC:this.italicAngle>0&&(n|=this.fsSelectionValues.OBLIQUE),this.weightClass>=600&&(n|=this.fsSelectionValues.BOLD),n===0&&(n=this.fsSelectionValues.REGULAR)),(!t.panose||!Array.isArray(t.panose))&&(t.panose=[0,0,0,0,0,0,0,0,0]),this.tables=Object.assign(t.tables,{os2:Object.assign({usWeightClass:t.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:t.widthClass||this.usWidthClasses.MEDIUM,bFamilyType:t.panose[0]||0,bSerifStyle:t.panose[1]||0,bWeight:t.panose[2]||0,bProportion:t.panose[3]||0,bContrast:t.panose[4]||0,bStrokeVariation:t.panose[5]||0,bArmStyle:t.panose[6]||0,bLetterform:t.panose[7]||0,bMidline:t.panose[8]||0,bXHeight:t.panose[9]||0,fsSelection:n},t.tables.os2)})}this.supported=!0,this.glyphs=new dr.GlyphSet(this,t.glyphs||[]),this.encoding=new Jl(this),this.position=new EE(this),this.substitution=new vE(this),this.tables=this.tables||{},this.tables=new Proxy(this.tables,{set:(n,s,a)=>(n[s]=a,n.fvar&&(n.gvar||n.cff2)&&!this.variation&&(this.variation=new PE(this)),!0)}),this.palettes=new Uc(this),this.layers=new IE(this),this.svgImages=new FE(this),this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:this.outlinesFormat==="truetype"?this._hinting=new mw(this):null}})}et.prototype.hasChar=function(t){return this.encoding.charToGlyphIndex(t)>0},et.prototype.charToGlyphIndex=function(t){return this.encoding.charToGlyphIndex(t)},et.prototype.charToGlyph=function(t){let n=this.charToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.updateFeatures=function(t){return this.defaultRenderOptions.features.map(n=>n.script==="latn"?{script:"latn",tags:n.tags.filter(s=>t[s])}:n)},et.prototype.stringToGlyphIndexes=function(t,n){let s=new xy,a=h=>this.charToGlyphIndex(h.char);s.registerModifier("glyphIndex",null,a);let c=n?this.updateFeatures(n.features):this.defaultRenderOptions.features;return s.applyFeatures(this,c),s.getTextGlyphs(t)},et.prototype.stringToGlyphs=function(t,n){let s=this.stringToGlyphIndexes(t,n),a=s.length,c=new Array(a),h=this.glyphs.get(0);for(let d=0;d<a;d+=1)c[d]=this.glyphs.get(s[d])||h;return c},et.prototype.nameToGlyphIndex=function(t){return this.glyphNames.nameToGlyphIndex(t)},et.prototype.nameToGlyph=function(t){let n=this.nameToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.glyphIndexToName=function(t){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(t):""},et.prototype.getKerningValue=function(t,n){t=t.index||t,n=n.index||n;let s=this.position.defaultKerningTables;return s?this.position.getKerningValue(s,t,n):this.kerningPairs[t+","+n]||0},et.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]},{script:"thai",tags:["liga","rlig","ccmp"]}],hinting:!1,usePalette:0,drawLayers:!0,drawSVG:!0},et.prototype.forEachGlyph=function(t,n,s,a,c,h){n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:72,c=Object.assign({},this.defaultRenderOptions,c);let d=1/this.unitsPerEm*a,B=this.stringToGlyphs(t,c),w;if(c.kerning){let x=c.script||this.position.getDefaultScriptName();w=this.position.getKerningTables(x,c.language)}for(let x=0;x<B.length;x+=1){let C=B[x];if(h.call(this,C,n,s,a,c),C.advanceWidth&&(n+=C.advanceWidth*d),c.kerning&&x<B.length-1){let S=w?this.position.getKerningValue(w,C.index,B[x+1].index):this.getKerningValue(C,B[x+1]);n+=S*d}c.letterSpacing?n+=c.letterSpacing*a:c.tracking&&(n+=c.tracking/1e3*a)}return n},et.prototype.getPath=function(t,n,s,a,c){c=Object.assign({},this.defaultRenderOptions,c);let h=new z;if(h._layers=[],rc(this,h,a),h.stroke){let d=1/(h.unitsPerEm||1e3)*a;h.strokeWidth*=d}return this.forEachGlyph(t,n,s,a,c,(d,B,w,x)=>{let C=d.getPath(B,w,x,c,this);if(c.drawSVG||c.drawLayers){let S=C._layers;if(S&&S.length){for(let T=0;T<S.length;T++){let Y=S[T];h._layers.push(Y)}return}}h.extend(C)}),h},et.prototype.getPaths=function(t,n,s,a,c){c=Object.assign({},this.defaultRenderOptions,c);let h=[];return this.forEachGlyph(t,n,s,a,c,function(d,B,w,x){let C=d.getPath(B,w,x,c,this);h.push(C)}),h},et.prototype.getAdvanceWidth=function(t,n,s){return s=Object.assign({},this.defaultRenderOptions,s),this.forEachGlyph(t,0,0,n,s,function(){})},et.prototype.draw=function(t,n,s,a,c,h){this.getPath(n,s,a,c,h).draw(t)},et.prototype.drawPoints=function(t,n,s,a,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,a,c,h,function(d,B,w,x){d.drawPoints(t,B,w,x,h,this)})},et.prototype.drawMetrics=function(t,n,s,a,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,a,c,h,function(d,B,w,x){d.drawMetrics(t,B,w,x)})},et.prototype.getEnglishName=function(t){let n=(this.names.unicode||this.names.macintosh||this.names.windows)[t];if(n)return n.en},et.prototype.validate=function(){let t=[],n=this;function s(c,h){c||(console.warn(`[opentype.js] ${h}`),t.push(h))}function a(c){let h=n.getEnglishName(c);s(h&&h.trim().length>0,"No English "+c+" specified.")}if(a("fontFamily"),a("weightName"),a("manufacturer"),a("copyright"),a("version"),s(this.unitsPerEm>0,"No unitsPerEm specified."),this.tables.colr){let c=this.tables.colr.baseGlyphRecords,h=-1;for(let d=0;d<c.length;d++){let B=c[d].glyphID;if(s(h<c[d].glyphID,`baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${B} comes after ${h}`),h>c[d].glyphID)break;h=B}}return t},et.prototype.toTables=function(){return BE.fontToTable(this)},et.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},et.prototype.toArrayBuffer=function(){let n=this.toTables().encode(),s=new ArrayBuffer(n.length),a=new Uint8Array(s);for(let c=0;c<n.length;c++)a[c]=n[c];return s},et.prototype.download=function(){console.error("DEPRECATED: platform-specific actions are to be implemented on user-side")},et.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},et.prototype.macStyleValues={BOLD:1,ITALIC:2,UNDERLINE:4,OUTLINED:8,SHADOW:16,CONDENSED:32,EXTENDED:64},et.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},et.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var pu=et;function Qy(t,n){let s=new he.Parser(t,n),a=s.parseUShort(),c=s.parseUShort();a!==1&&console.warn(`Unsupported hvar table version ${a}.${c}`);let h=[a,c],d=s.parsePointer32(function(){return this.parseItemVariationStore()}),B=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),w=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),x=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()});return{version:h,itemVariationStore:d,advanceWidth:B,lsb:w,rsb:x}}function vy(){console.warn("Writing of hvar tables is not yet supported.")}var Iy={make:vy,parse:Qy},Fy=function(){return{coverage:this.parsePointer(V.coverage),attachPoints:this.parseList(V.pointer(V.uShortList))}},Ty=function(){var t=this.parseUShort();if(G.argument(t===1||t===2||t===3,"Unsupported CaretValue table version."),t===1)return{coordinate:this.parseShort()};if(t===2)return{pointindex:this.parseShort()};if(t===3)return{coordinate:this.parseShort()}},Sy=function(){return this.parseList(V.pointer(Ty))},Dy=function(){return{coverage:this.parsePointer(V.coverage),ligGlyphs:this.parseList(V.pointer(Sy))}},My=function(){return this.parseUShort(),this.parseList(V.pointer(V.coverage))};function Uy(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);G.argument(a===1||a===1.2||a===1.3,"Unsupported GDEF table version.");var c={version:a,classDef:s.parsePointer(V.classDef),attachList:s.parsePointer(Fy),ligCaretList:s.parsePointer(Dy),markAttachClassDef:s.parsePointer(V.classDef)};return a>=1.2&&(c.markGlyphSets=s.parsePointer(My)),c}var ky={parse:Uy},nr=new Array(10);nr[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{posFormat:1,coverage:this.parsePointer(V.coverage),value:this.parseValueRecord()};if(s===2)return{posFormat:2,coverage:this.parsePointer(V.coverage),values:this.parseValueRecordList()};G.assert(!1,"0x"+n.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},nr[2]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();G.assert(s===1||s===2,"0x"+n.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");let a=this.parsePointer(V.coverage),c=this.parseUShort(),h=this.parseUShort();if(s===1)return{posFormat:s,coverage:a,valueFormat1:c,valueFormat2:h,pairSets:this.parseList(V.pointer(V.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}})))};if(s===2){let d=this.parsePointer(V.classDef),B=this.parsePointer(V.classDef),w=this.parseUShort(),x=this.parseUShort();return{posFormat:s,coverage:a,valueFormat1:c,valueFormat2:h,classDef1:d,classDef2:B,class1Count:w,class2Count:x,classRecords:this.parseList(w,V.list(x,function(){return{value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}}))}}},nr[3]=function(){return{error:"GPOS Lookup 3 not supported"}},nr[4]=function(){return{error:"GPOS Lookup 4 not supported"}},nr[5]=function(){return{error:"GPOS Lookup 5 not supported"}},nr[6]=function(){return{error:"GPOS Lookup 6 not supported"}},nr[7]=function(){return{error:"GPOS Lookup 7 not supported"}},nr[8]=function(){return{error:"GPOS Lookup 8 not supported"}},nr[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function Yy(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);return G.argument(a===1||a===1.1,"Unsupported GPOS table version "+a),a===1?{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr)}:{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr),variations:s.parseFeatureVariationsList()}}var Oy=new Array(10);function Ny(t){return new $.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,Oy)}])}var Ry={parse:Yy,make:Ny};function Gy(t){let n={};t.skip("uShort");let s=t.parseUShort();G.argument(s===0,"Unsupported kern sub-table version."),t.skip("uShort",2);let a=t.parseUShort();t.skip("uShort",3);for(let c=0;c<a;c+=1){let h=t.parseUShort(),d=t.parseUShort(),B=t.parseShort();n[h+","+d]=B}return n}function Ly(t){let n={};t.skip("uShort"),t.parseULong()>1&&console.warn("Only the first kern subtable is supported."),t.skip("uLong");let c=t.parseUShort()&255;if(t.skip("uShort"),c===0){let h=t.parseUShort();t.skip("uShort",3);for(let d=0;d<h;d+=1){let B=t.parseUShort(),w=t.parseUShort(),x=t.parseShort();n[B+","+w]=x}}return n}function Py(t,n){let s=new he.Parser(t,n),a=s.parseUShort();if(a===0)return Gy(s);if(a===1)return Ly(s);throw new Error("Unsupported kern table version ("+a+").")}var Hy={parse:Py};function Wy(t,n,s,a){let c=new he.Parser(t,n),h=a?c.parseUShort:c.parseULong,d=[];for(let B=0;B<s+1;B+=1){let w=h.call(c);a&&(w*=2),d.push(w)}return d}var Jy={parse:Wy};function du(t,n){let s=[],a=12;for(let c=0;c<n;c+=1){let h=he.getTag(t,a),d=he.getULong(t,a+4),B=he.getULong(t,a+8),w=he.getULong(t,a+12);s.push({tag:h,checksum:d,offset:B,length:w,compression:!1}),a+=16}return s}function Vy(t,n){let s=[],a=44;for(let c=0;c<n;c+=1){let h=he.getTag(t,a),d=he.getULong(t,a+4),B=he.getULong(t,a+8),w=he.getULong(t,a+12),x;B<w?x="WOFF":x=!1,s.push({tag:h,offset:d,compression:x,compressedLength:B,length:w}),a+=20}return s}function ze(t,n){if(n.compression==="WOFF"){let s=new Uint8Array(t.buffer,n.offset+2,n.compressedLength-2),a=new Uint8Array(n.length);if(fe(s,a),a.byteLength!==n.length)throw new Error("Decompression error: "+n.tag+" decompressed length doesn't match recorded length");return{data:new DataView(a.buffer,0),offset:0}}else return{data:t,offset:n.offset}}function jy(t,n={}){let s,a,c=new pu({empty:!0});t.constructor!==ArrayBuffer&&(t=new Uint8Array(t).buffer);let h=new DataView(t,0),d,B=[],w=he.getTag(h,0);if(w==="\0\0\0"||w==="true"||w==="typ1")c.outlinesFormat="truetype",d=he.getUShort(h,4),B=du(h,d);else if(w==="OTTO")c.outlinesFormat="cff",d=he.getUShort(h,4),B=du(h,d);else if(w==="wOFF"){let Se=he.getTag(h,4);if(Se==="\0\0\0")c.outlinesFormat="truetype";else if(Se==="OTTO")c.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+w);d=he.getUShort(h,12),B=Vy(h,d)}else if(w==="wOF2"){let Se="https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025";throw new Error("WOFF2 require an external decompressor library, see examples at: "+Se)}else throw new Error("Unsupported OpenType signature "+w);let x,C,S,T,Y,U,L,ee,Te,xe,Re,Je,$e,nt,st,Bt,sr,Ve;for(let Se=0;Se<d;Se+=1){let we=B[Se],Ce;switch(we.tag){case"avar":L=we;break;case"cmap":Ce=ze(h,we),c.tables.cmap=Wl.parse(Ce.data,Ce.offset),c.encoding=new Vl(c.tables.cmap);break;case"cvt ":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.cvt=Ve.parseShortList(we.length/2);break;case"fvar":S=we;break;case"STAT":T=we;break;case"gvar":Y=we;break;case"cvar":U=we;break;case"fpgm":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.fpgm=Ve.parseByteList(we.length);break;case"head":Ce=ze(h,we),c.tables.head=Ac.parse(Ce.data,Ce.offset),c.unitsPerEm=c.tables.head.unitsPerEm,s=c.tables.head.indexToLocFormat;break;case"hhea":Ce=ze(h,we),c.tables.hhea=lc.parse(Ce.data,Ce.offset),c.ascender=c.tables.hhea.ascender,c.descender=c.tables.hhea.descender,c.numberOfHMetrics=c.tables.hhea.numberOfHMetrics;break;case"HVAR":$e=we;break;case"hmtx":Je=we;break;case"ltag":Ce=ze(h,we),a=uc.parse(Ce.data,Ce.offset);break;case"COLR":Ce=ze(h,we),c.tables.colr=gc.parse(Ce.data,Ce.offset);break;case"CPAL":Ce=ze(h,we),c.tables.cpal=Xl.parse(Ce.data,Ce.offset);break;case"maxp":Ce=ze(h,we),c.tables.maxp=hc.parse(Ce.data,Ce.offset),c.numGlyphs=c.tables.maxp.numGlyphs;break;case"name":Bt=we;break;case"OS/2":Ce=ze(h,we),c.tables.os2=jo.parse(Ce.data,Ce.offset);break;case"post":Ce=ze(h,we),c.tables.post=fc.parse(Ce.data,Ce.offset),c.glyphNames=new No(c.tables.post);break;case"prep":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.prep=Ve.parseByteList(we.length);break;case"glyf":ee=we;break;case"loca":st=we;break;case"CFF ":x=we;break;case"CFF2":C=we;break;case"kern":nt=we;break;case"GDEF":Te=we;break;case"GPOS":xe=we;break;case"GSUB":Re=we;break;case"meta":sr=we;break;case"gasp":try{Ce=ze(h,we),c.tables.gasp=Cc.parse(Ce.data,Ce.offset)}catch(vt){console.warn("Failed to parse gasp table, skipping."),console.warn(vt)}break;case"SVG ":Ce=ze(h,we),c.tables.svg=bc.parse(Ce.data,Ce.offset);break;default:break}}let Vt=ze(h,Bt);if(c.tables.name=dn.parse(Vt.data,Vt.offset,a),c.names=c.tables.name,ee&&st){let Se=s===0,we=ze(h,st),Ce=Jy.parse(we.data,we.offset,c.numGlyphs,Se),vt=ze(h,ee);c.glyphs=Nc.parse(vt.data,vt.offset,Ce,c,n)}else if(x){let Se=ze(h,x);Jo.parse(Se.data,Se.offset,c,n)}else if(C){let Se=ze(h,C);Jo.parse(Se.data,Se.offset,c,n)}else throw new Error("Font doesn't contain TrueType, CFF or CFF2 outlines.");let Dt=ze(h,Je);if(cc.parse(c,Dt.data,Dt.offset,c.numberOfHMetrics,c.numGlyphs,c.glyphs,n),J0(c,n),nt){let Se=ze(h,nt);c.kerningPairs=Hy.parse(Se.data,Se.offset)}else c.kerningPairs={};if(Te){let Se=ze(h,Te);c.tables.gdef=ky.parse(Se.data,Se.offset)}if(xe){let Se=ze(h,xe);c.tables.gpos=Ry.parse(Se.data,Se.offset),c.position.init()}if(Re){let Se=ze(h,Re);c.tables.gsub=pc.parse(Se.data,Se.offset)}if(S){let Se=ze(h,S);c.tables.fvar=mc.parse(Se.data,Se.offset,c.names)}if(T){let Se=ze(h,T);c.tables.stat=Bc.parse(Se.data,Se.offset,c.tables.fvar)}if(Y){S||console.warn("This font provides a gvar table, but no fvar table, which is required for variable fonts."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=ze(h,Y);c.tables.gvar=yc.parse(Se.data,Se.offset,c.tables.fvar,c.glyphs)}if(U){S||console.warn("This font provides a cvar table, but no fvar table, which is required for variable fonts."),c.tables.cvt||console.warn("This font provides a cvar table, but no cvt table which could be made variable."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=ze(h,U);c.tables.cvar=wc.parse(Se.data,Se.offset,c.tables.fvar,c.tables.cvt||[])}if(L){S||console.warn("This font provides an avar table, but no fvar table, which is required for variable fonts.");let Se=ze(h,L);c.tables.avar=Ec.parse(Se.data,Se.offset,c.tables.fvar)}if($e){S||console.warn("This font provides an HVAR table, but no fvar table, which is required for variable fonts."),Je||console.warn("This font provides an HVAR table, but no hmtx table to vary.");let Se=ze(h,$e);c.tables.hvar=Iy.parse(Se.data,Se.offset,c.tables.fvar)}if(sr){let Se=ze(h,sr);c.tables.meta=dc.parse(Se.data,Se.offset),c.metas=c.tables.meta}return c.palettes=new Uc(c),c}function _y(){console.error("DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675")}function Zy(){console.error('DEPRECATED! migrate to: opentype.parse(require("fs").readFileSync(url), opt)')}return u(f)})();(function(r,e){typeof define=="function"&&define.amd?define(e):typeof vo=="object"&&vo.exports?vo.exports=e():r.opentype=e()})(typeof self<"u"?self:Q0,()=>({...x0,default:x0}))});var Mu=xn(Du(),1),{program:LT,createCommand:PT,createArgument:HT,createOption:WT,CommanderError:JT,InvalidArgumentError:VT,InvalidOptionArgumentError:jT,Command:Gi,Argument:_T,Option:Li,Help:ZT}=Mu.default;var Ms=["https://meta.fabricmc.net","https://meta2.fabricmc.net","https://meta3.fabricmc.net"],mC=["https://maven.fabricmc.net","https://maven2.fabricmc.net","https://maven3.fabricmc.net"],BC=0;async function Pi(){return Ys(Ms,"/v2/versions/game")}async function Us(){return Ys(Ms,"/v2/versions/loader")}function Uu(r,e){return e.find(i=>!r.stable||i.stable).version}async function ku(){return Ys(Ms,"/v2/versions/yarn")}async function Yu(r){return Ys(Ms,"/v2/versions/yarn/"+r)}function EC(){return Gu("/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml")}function Ou(){return Gu("/net/fabricmc/fabric-language-kotlin/maven-metadata.xml")}async function ks(r){let i=(await EC()).filter(o=>CC(o,r)).pop();if(!i)throw new Error(`Could not find a valid Fabric API version for Minecraft ${r}`);return i}function wC(r){return yC(r)[0]}function yC(r){return r.split("-")[0].split(".").map(i=>parseInt(i))}function CC(r,e){if(!e)return!1;if(e=="1.18")return r=="0.44.0+1.18";let i=e;if(["1.14","1.15","1.16","1.17","1.18","1.19","1.20","20w14infinite","1.18_experimental"].forEach(u=>{e.startsWith(u)&&(i=u)}),wC(e)>=26){let u=e.indexOf("-");var l=e.substring(0,u===-1?e.length:u);i=l}return e.endsWith("_unobfuscated")?i="1.21.11_unobfuscated":e.startsWith("25w14craftmine")?i="25w14craftmine":e.startsWith("22w13oneblockatatime")?i="22w13oneblockatatime":e.startsWith("25w")?i="1.21.11":e.startsWith("24w")?i="1.21.4":e.startsWith("23w")?i="1.20.5":e.startsWith("22w")?i="1.19.3":e.startsWith("1.18.2")?i="1.18.2":e.startsWith("1.19.1")?i="1.19.1":e.startsWith("1.19.2")?i="1.19.2":e.startsWith("1.19.3")?i="1.19.3":e.startsWith("1.19.4")?i="1.19.4":e.startsWith("1.20.1")?i="1.20.1":e.startsWith("1.20.2")?i="1.20.2":e.startsWith("1.20.3")?i="1.20.3":e.startsWith("1.20.4")?i="1.20.4":e.startsWith("1.20.5")?i="1.20.5":e.startsWith("1.20.6")?i="1.20.6":e.startsWith("1.21.6")?i="1.21.6":e.startsWith("1.21.7")?i="1.21.7":e.startsWith("1.21.8")?i="1.21.8":e.startsWith("1.21.9")?i="1.21.9":e.startsWith("1.21.10")?i="1.21.10":e.startsWith("1.21.11")?i="1.21.11":e.startsWith("1.21.5")?i="1.21.5":e.startsWith("1.21.4")?i="1.21.4":e.startsWith("1.21.3")?i="1.21.3":e.startsWith("1.21.2")?i="1.21.2":e.startsWith("1.21.1")?i="1.21.1":e.startsWith("1.21")?i="1.21":e.startsWith("21w")?i="1.18":e.startsWith("20w")?i="1.17":(e.startsWith("19w")||e.startsWith("18w"))&&(i="1.14"),r.endsWith("-"+i)||r.endsWith("+"+i)}var Nu=r=>{let i=new DOMParser().parseFromString(r,"text/xml");return Array.from(i.getElementsByTagName("version")).map(o=>o.childNodes[0].nodeValue)};function Ru(r){Nu=r}async function Gu(r){let e=await bC(mC,r);return Nu(e)}async function Ys(r,e){return await(await Lu(r,e)).json()}async function bC(r,e){return await(await Lu(r,e)).text()}async function Lu(r,e){let i;for(var o of[5e3,3e4])for(var A of r){let l=A+e;try{let u=await fetch(l,{signal:AbortSignal.timeout(o)});if(u.ok)return BC=r.indexOf(A),u;throw new Error(`HTTP ${u.status} ${u.statusText}`.trim())}catch(u){i??=u instanceof Error?u.message:String(u),console.error(u)}}throw new Error(`Failed to fetch: ${r[0]+e}. ${i}`)}var Ls=class extends Error{constructor(r){super(r),this.name="Eta Error"}},Wu=class extends Ls{constructor(r){super(r),this.name="EtaParser Error"}},xC=class extends Ls{constructor(r){super(r),this.name="EtaRuntime Error"}};var QC=class extends Ls{constructor(r){super(r),this.name="EtaNameResolution Error"}};function vn(r,e,i){let o=e.slice(0,i).split(/\n/),A=o.length,l=o[A-1].length+1;throw r+=" at line "+A+" col "+l+`:
|
|
130
|
+
\r\f\v`.indexOf(L)>-1?B.push(""):L==="."?!d.type||ee.indexOf(L)>-1?w=!0:B[B.length-1]+=L:w=!0}if(w)throw new Error("Unexpected character: "+L+" at offset "+U)}S.apply(this),n.optimize&&(this.commands=W(this.commands));let T=n.flipY,Y=n.flipYBase;if(T===!0&&n.flipYBase===void 0){let U=this.getBoundingBox();Y=U.y1+U.y2}for(let U in this.commands){let L=this.commands[U];for(let ee in L)["x","x1","x2"].includes(ee)?this.commands[U][ee]=n.x+L[ee]*n.scale:["y","y1","y2"].includes(ee)&&(this.commands[U][ee]=n.y+(T?Y-L[ee]:L[ee])*n.scale)}return this},me.fromSVG=function(t,n){return new me().fromSVG(t,n)},me.prototype.moveTo=function(t,n){this.commands.push({type:"M",x:t,y:n})},me.prototype.lineTo=function(t,n){this.commands.push({type:"L",x:t,y:n})},me.prototype.curveTo=me.prototype.bezierCurveTo=function(t,n,s,a,c,h){this.commands.push({type:"C",x1:t,y1:n,x2:s,y2:a,x:c,y:h})},me.prototype.quadTo=me.prototype.quadraticCurveTo=function(t,n,s,a){this.commands.push({type:"Q",x1:t,y1:n,x:s,y:a})},me.prototype.close=me.prototype.closePath=function(){this.commands.push({type:"Z"})},me.prototype.extend=function(t){if(t.commands)t=t.commands;else if(t instanceof Ee){let n=t;this.moveTo(n.x1,n.y1),this.lineTo(n.x2,n.y1),this.lineTo(n.x2,n.y2),this.lineTo(n.x1,n.y2),this.close();return}Array.prototype.push.apply(this.commands,t)},me.prototype.getBoundingBox=function(){let t=new Ee,n=0,s=0,a=0,c=0;for(let h=0;h<this.commands.length;h++){let d=this.commands[h];switch(d.type){case"M":t.addPoint(d.x,d.y),n=a=d.x,s=c=d.y;break;case"L":t.addPoint(d.x,d.y),a=d.x,c=d.y;break;case"Q":t.addQuad(a,c,d.x1,d.y1,d.x,d.y),a=d.x,c=d.y;break;case"C":t.addBezier(a,c,d.x1,d.y1,d.x2,d.y2,d.x,d.y),a=d.x,c=d.y;break;case"Z":a=n,c=s;break;default:throw new Error("Unexpected path command "+d.type)}}return t.isEmpty()&&t.addPoint(0,0),t},me.prototype.draw=function(t){let n=this._layers;if(n&&n.length){for(let a=0;a<n.length;a++)this.draw.call(n[a],t);return}let s=this._image;if(s){t.drawImage(s.image,s.x,s.y,s.width,s.height);return}t.beginPath();for(let a=0;a<this.commands.length;a+=1){let c=this.commands[a];c.type==="M"?t.moveTo(c.x,c.y):c.type==="L"?t.lineTo(c.x,c.y):c.type==="C"?t.bezierCurveTo(c.x1,c.y1,c.x2,c.y2,c.x,c.y):c.type==="Q"?t.quadraticCurveTo(c.x1,c.y1,c.x,c.y):c.type==="Z"&&this.stroke&&this.strokeWidth&&t.closePath()}this.fill&&(t.fillStyle=this.fill,t.fill()),this.stroke&&(t.strokeStyle=this.stroke,t.lineWidth=this.strokeWidth,t.stroke())},me.prototype.toPathData=function(t){t=J(t);function n(B){let w=Fe(B,t.decimalPlaces);return Math.round(B)===w?""+w:w.toFixed(t.decimalPlaces)}function s(){let B="";for(let w=0;w<arguments.length;w+=1){let x=arguments[w];x>=0&&w>0&&(B+=" "),B+=n(x)}return B}let a=this.commands;t.optimize&&(a=JSON.parse(JSON.stringify(this.commands)),a=W(a));let c=t.flipY,h=t.flipYBase;if(c===!0&&h===void 0){let B=new me;B.extend(a);let w=B.getBoundingBox();h=w.y1+w.y2}let d="";for(let B=0;B<a.length;B+=1){let w=a[B];w.type==="M"?d+="M"+s(w.x,c?h-w.y:w.y):w.type==="L"?d+="L"+s(w.x,c?h-w.y:w.y):w.type==="C"?d+="C"+s(w.x1,c?h-w.y1:w.y1,w.x2,c?h-w.y2:w.y2,w.x,c?h-w.y:w.y):w.type==="Q"?d+="Q"+s(w.x1,c?h-w.y1:w.y1,w.x,c?h-w.y:w.y):w.type==="Z"&&(d+="Z")}return d},me.prototype.toSVG=function(t,n){this._layers&&this._layers.length&&console.warn("toSVG() does not support colr font layers yet"),this._image&&console.warn("toSVG() does not support SVG glyphs yet"),n||(n=this.toPathData(t));let s='<path d="';return s+=n,s+='"',this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s+=' fill="none"':s+=' fill="'+this.fill+'"'),this.stroke&&(s+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),s+="/>",s},me.prototype.toDOMElement=function(t,n){this._layers&&this._layers.length&&console.warn("toDOMElement() does not support colr font layers yet"),n||(n=this.toPathData(t));let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",n),this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s.setAttribute("fill","none"):s.setAttribute("fill",this.fill)),this.stroke&&(s.setAttribute("stroke",this.stroke),s.setAttribute("stroke-width",this.strokeWidth)),s};var z=me;function j(t){throw new Error(t)}function K(t,n){t||j(n)}var G={fail:j,argument:K,assert:K},X=32768,D=2147483648,pe=-32768,ce=32767+1/65536,Qe={},Z={},H={};function ne(t){return function(){return t}}Z.BYTE=function(t){return G.argument(t>=0&&t<=255,"Byte value should be between 0 and 255."),[t]},H.BYTE=ne(1),Z.CHAR=function(t){return[t.charCodeAt(0)]},H.CHAR=ne(1),Z.CHARARRAY=function(t){(t===null||typeof t>"u")&&(t="",console.warn("CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name."));let n=[];for(let s=0;s<t.length;s+=1)n[s]=t.charCodeAt(s);return n},H.CHARARRAY=function(t){return typeof t>"u"?0:t.length},Z.USHORT=function(t){return[t>>8&255,t&255]},H.USHORT=ne(2),Z.SHORT=function(t){return t>=X&&(t=-(2*X-t)),[t>>8&255,t&255]},H.SHORT=ne(2),Z.UINT24=function(t){return[t>>16&255,t>>8&255,t&255]},H.UINT24=ne(3),Z.ULONG=function(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]},H.ULONG=ne(4),Z.LONG=function(t){return t>=D&&(t=-(2*D-t)),[t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONG=ne(4),Z.FLOAT=function(t){if(t>ce||t<pe)throw new Error(`Value ${t} is outside the range of representable values in 16.16 format`);let n=Math.round(t*65536)<<0;return Z.ULONG(n)},H.FLOAT=H.ULONG,Z.FIXED=Z.ULONG,H.FIXED=H.ULONG,Z.FWORD=Z.SHORT,H.FWORD=H.SHORT,Z.UFWORD=Z.USHORT,H.UFWORD=H.USHORT,Z.F2DOT14=function(t){return Z.USHORT(t*16384)},H.F2DOT14=H.USHORT,Z.LONGDATETIME=function(t){return[0,0,0,0,t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONGDATETIME=ne(8),Z.TAG=function(t){return G.argument(t.length===4,"Tag should be exactly 4 ASCII characters."),[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]},H.TAG=ne(4),Z.Card8=Z.BYTE,H.Card8=H.BYTE,Z.Card16=Z.USHORT,H.Card16=H.USHORT,Z.OffSize=Z.BYTE,H.OffSize=H.BYTE,Z.SID=Z.USHORT,H.SID=H.USHORT,Z.NUMBER=function(t){return t>=-107&&t<=107?[t+139]:t>=108&&t<=1131?(t=t-108,[(t>>8)+247,t&255]):t>=-1131&&t<=-108?(t=-t-108,[(t>>8)+251,t&255]):t>=-32768&&t<=32767?Z.NUMBER16(t):Z.NUMBER32(t)},H.NUMBER=function(t){return Z.NUMBER(t).length},Z.NUMBER16=function(t){return[28,t>>8&255,t&255]},H.NUMBER16=ne(3),Z.NUMBER32=function(t){return[29,t>>24&255,t>>16&255,t>>8&255,t&255]},H.NUMBER32=ne(5),Z.REAL=function(t){let n=t.toString(),s=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(n);if(s){let h=parseFloat("1e"+((s[2]?+s[2]:0)+s[1].length));n=(Math.round(t*h)/h).toString()}let a="";for(let h=0,d=n.length;h<d;h+=1){let B=n[h];B==="e"?a+=n[++h]==="-"?"c":"b":B==="."?a+="a":B==="-"?a+="e":a+=B}a+=a.length&1?"f":"ff";let c=[30];for(let h=0,d=a.length;h<d;h+=2)c.push(parseInt(a.substr(h,2),16));return c},H.REAL=function(t){return Z.REAL(t).length},Z.NAME=Z.CHARARRAY,H.NAME=H.CHARARRAY,Z.STRING=Z.CHARARRAY,H.STRING=H.CHARARRAY,Qe.UTF8=function(t,n,s){let a=[],c=s;for(let h=0;h<c;h++,n+=1)a[h]=t.getUint8(n);return String.fromCharCode.apply(null,a)},Qe.UTF16=function(t,n,s){let a=[],c=s/2;for(let h=0;h<c;h++,n+=2)a[h]=t.getUint16(n);return String.fromCharCode.apply(null,a)},Z.UTF16=function(t){let n=[];for(let s=0;s<t.length;s+=1){let a=t.charCodeAt(s);n[n.length]=a>>8&255,n[n.length]=a&255}return n},H.UTF16=function(t){return t.length*2};var Oe={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};Qe.MACSTRING=function(t,n,s,a){let c=Oe[a];if(c===void 0)return;let h="";for(let d=0;d<s;d++){let B=t.getUint8(n+d);B<=127?h+=String.fromCharCode(B):h+=c[B&127]}return h};var De=typeof WeakMap=="function"&&new WeakMap,it,Ze=function(t){if(!it){it={};for(let c in Oe)it[c]=new String(c)}let n=it[t];if(n===void 0)return;if(De){let c=De.get(n);if(c!==void 0)return c}let s=Oe[t];if(s===void 0)return;let a={};for(let c=0;c<s.length;c++)a[s.charCodeAt(c)]=c+128;return De&&De.set(n,a),a};Z.MACSTRING=function(t,n){let s=Ze(n);if(s===void 0)return;let a=[];for(let c=0;c<t.length;c++){let h=t.charCodeAt(c);if(h>=128&&(h=s[h],h===void 0))return;a[c]=h}return a},H.MACSTRING=function(t,n){let s=Z.MACSTRING(t,n);return s!==void 0?s.length:0};function Xe(t){return t>=-128&&t<=127}function wt(t,n,s){let a=0,c=t.length;for(;n<c&&a<64&&t[n]===0;)++n,++a;return s.push(128|a-1),n}function te(t,n,s){let a=0,c=t.length,h=n;for(;h<c&&a<64;){let d=t[h];if(!Xe(d)||d===0&&h+1<c&&t[h+1]===0)break;++h,++a}s.push(a-1);for(let d=n;d<h;++d)s.push(t[d]+256&255);return h}function ve(t,n,s){let a=0,c=t.length,h=n;for(;h<c&&a<64;){let d=t[h];if(d===0||Xe(d)&&h+1<c&&Xe(t[h+1]))break;++h,++a}s.push(64|a-1);for(let d=n;d<h;++d){let B=t[d];s.push(B+65536>>8&255,B+256&255)}return h}Z.VARDELTAS=function(t){let n=0,s=[];for(;n<t.length;){let a=t[n];a===0?n=wt(t,n,s):a>=-128&&a<=127?n=te(t,n,s):n=ve(t,n,s)}return s},Z.INDEX=function(t){let n=1,s=[n],a=[];for(let B=0;B<t.length;B+=1){let w=Z.OBJECT(t[B]);Array.prototype.push.apply(a,w),n+=w.length,s.push(n)}if(a.length===0)return[0,0];let c=[],h=1+Math.floor(Math.log(n)/Math.log(2))/8|0,d=[void 0,Z.BYTE,Z.USHORT,Z.UINT24,Z.ULONG][h];for(let B=0;B<s.length;B+=1){let w=d(s[B]);Array.prototype.push.apply(c,w)}return Array.prototype.concat(Z.Card16(t.length),Z.OffSize(h),c,a)},H.INDEX=function(t){return Z.INDEX(t).length},Z.DICT=function(t){let n=[],s=Object.keys(t),a=s.length;for(let c=0;c<a;c+=1){let h=parseInt(s[c],0),d=t[h],B=Z.OPERAND(d.value,d.type),w=Z.OPERATOR(h);for(let x=0;x<B.length;x++)n.push(B[x]);for(let x=0;x<w.length;x++)n.push(w[x])}return n},H.DICT=function(t){return Z.DICT(t).length},Z.OPERATOR=function(t){return t<1200?[t]:[12,t-1200]},Z.OPERAND=function(t,n){let s=[];if(Array.isArray(n))for(let a=0;a<n.length;a+=1){G.argument(t.length===n.length,"Not enough arguments given for type"+n);let c=Z.OPERAND(t[a],n[a]);for(let h=0;h<c.length;h++)s.push(c[h])}else if(n==="SID"){let a=Z.NUMBER(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="offset"){let a=Z.NUMBER32(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="number"){let a=Z.NUMBER(t);for(let c=0;c<a.length;c++)s.push(a[c])}else if(n==="real"){let a=Z.REAL(t);for(let c=0;c<a.length;c++)s.push(a[c])}else throw new Error("Unknown operand type "+n);return s},Z.OP=Z.BYTE,H.OP=H.BYTE;var be=typeof WeakMap=="function"&&new WeakMap;Z.CHARSTRING=function(t){if(be){let a=be.get(t);if(a!==void 0)return a}let n=[],s=t.length;for(let a=0;a<s;a+=1){let c=t[a],h=Z[c.type](c.value);for(let d=0;d<h.length;d++)n.push(h[d])}return be&&be.set(t,n),n},H.CHARSTRING=function(t){return Z.CHARSTRING(t).length},Z.OBJECT=function(t){let n=Z[t.type];return G.argument(n!==void 0,"No encoding function for type "+t.type),n(t.value)},H.OBJECT=function(t){let n=H[t.type];return G.argument(n!==void 0,"No sizeOf function for type "+t.type),n(t.value)},Z.TABLE=function(t){let n=[],s=(t.fields||[]).length,a=[],c=[];for(let h=0;h<s;h+=1){let d=t.fields[h],B=Z[d.type];G.argument(B!==void 0,"No encoding function for field type "+d.type+" ("+d.name+")");let w=t[d.name];w===void 0&&(w=d.value);let x=B(w);if(d.type==="TABLE")w.fields!==null&&(c.push(n.length),a.push(x)),n.push(0,0);else for(let C=0;C<x.length;C++)n.push(x[C])}for(let h=0;h<a.length;h+=1){let d=c[h],B=n.length;G.argument(B<65536,"Table "+t.tableName+" too big."),n[d]=B>>8,n[d+1]=B&255;for(let w=0;w<a[h].length;w++)n.push(a[h][w])}return n},H.TABLE=function(t){let n=0,s=(t.fields||[]).length;for(let a=0;a<s;a+=1){let c=t.fields[a],h=H[c.type];G.argument(h!==void 0,"No sizeOf function for field type "+c.type+" ("+c.name+")");let d=t[c.name];d===void 0&&(d=c.value),n+=h(d),c.type==="TABLE"&&(n+=2)}return n},Z.RECORD=Z.TABLE,H.RECORD=H.TABLE,Z.LITERAL=function(t){return t},H.LITERAL=function(t){return t.length};function ue(t,n,s){if(n&&n.length)for(let a=0;a<n.length;a+=1){let c=n[a];this[c.name]=c.value}if(this.tableName=t,this.fields=n,s){let a=Object.keys(s);for(let c=0;c<a.length;c+=1){let h=a[c],d=s[h];this[h]!==void 0&&(this[h]=d)}}}ue.prototype.encode=function(){return Z.TABLE(this)},ue.prototype.sizeOf=function(){return H.TABLE(this)};function Me(t,n,s){s===void 0&&(s=n.length);let a=new Array(n.length+1);a[0]={name:t+"Count",type:"USHORT",value:s};for(let c=0;c<n.length;c++)a[c+1]={name:t+c,type:"USHORT",value:n[c]};return a}function He(t,n,s){let a=n.length,c=new Array(a+1);c[0]={name:t+"Count",type:"USHORT",value:a};for(let h=0;h<a;h++)c[h+1]={name:t+h,type:"TABLE",value:s(n[h],h)};return c}function Le(t,n,s){let a=n.length,c=[];c[0]={name:t+"Count",type:"USHORT",value:a};for(let h=0;h<a;h++)c=c.concat(s(n[h],h));return c}function Ne(t){t.format===1?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Me("glyph",t.glyphs))):t.format===2?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"startCoverageIndex"+s,type:"USHORT",value:n.index}]}))):G.assert(!1,"Coverage format must be 1 or 2.")}Ne.prototype=Object.create(ue.prototype),Ne.prototype.constructor=Ne;function de(t){ue.call(this,"scriptListTable",Le("scriptRecord",t,function(n,s){let a=n.script,c=a.defaultLangSys;return G.assert(!!c,"Unable to write GSUB: script "+n.tag+" has no default language system."),[{name:"scriptTag"+s,type:"TAG",value:n.tag},{name:"script"+s,type:"TABLE",value:new ue("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new ue("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:c.reqFeatureIndex}].concat(Me("featureIndex",c.featureIndexes)))}].concat(Le("langSys",a.langSysRecords,function(h,d){let B=h.langSys;return[{name:"langSysTag"+d,type:"TAG",value:h.tag},{name:"langSys"+d,type:"TABLE",value:new ue("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:B.reqFeatureIndex}].concat(Me("featureIndex",B.featureIndexes)))}]})))}]}))}de.prototype=Object.create(ue.prototype),de.prototype.constructor=de;function ge(t){ue.call(this,"featureListTable",Le("featureRecord",t,function(n,s){let a=n.feature;return[{name:"featureTag"+s,type:"TAG",value:n.tag},{name:"feature"+s,type:"TABLE",value:new ue("featureTable",[{name:"featureParams",type:"USHORT",value:a.featureParams}].concat(Me("lookupListIndex",a.lookupListIndexes)))}]}))}ge.prototype=Object.create(ue.prototype),ge.prototype.constructor=ge;function ae(t,n){ue.call(this,"lookupListTable",He("lookup",t,function(s){let a=n[s.lookupType];return G.assert(!!a,"Unable to write GSUB lookup type "+s.lookupType+" tables."),new ue("lookupTable",[{name:"lookupType",type:"USHORT",value:s.lookupType},{name:"lookupFlag",type:"USHORT",value:s.lookupFlag}].concat(He("subtable",s.subtables,a)))}))}ae.prototype=Object.create(ue.prototype),ae.prototype.constructor=ae;function Ye(t){t.format===1?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:1},{name:"startGlyphID",type:"USHORT",value:t.startGlyph}].concat(Me("glyph",t.classes))):t.format===2?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"class"+s,type:"USHORT",value:n.classId}]}))):G.assert(!1,"Class format must be 1 or 2.")}Ye.prototype=Object.create(ue.prototype),Ye.prototype.constructor=Ye;var $={Table:ue,Record:ue,Coverage:Ne,ClassDef:Ye,ScriptList:de,FeatureList:ge,LookupList:ae,ushortList:Me,tableList:He,recordList:Le};function _e(t,n){return t.getUint8(n)}function Ue(t,n){return t.getUint16(n,!1)}function je(t,n){return t.getInt16(n,!1)}function at(t,n){return(t.getUint16(n)<<8)+t.getUint8(n+2)}function Ke(t,n){return t.getUint32(n,!1)}function ut(t,n){return t.getInt32(n,!1)}function bt(t,n){let s=t.getInt16(n,!1),a=t.getUint16(n+2,!1);return s+a/65535}function xt(t,n){let s="";for(let a=n;a<n+4;a+=1)s+=String.fromCharCode(t.getInt8(a));return s}function Ir(t,n,s){let a=0;for(let c=0;c<s;c+=1)a<<=8,a+=t.getUint8(n+c);return a}function hr(t,n,s){let a=[];for(let c=n;c<s;c+=1)a.push(t.getUint8(c));return a}function Fr(t){let n="";for(let s=0;s<t.length;s+=1)n+=String.fromCharCode(t[s]);return n}var Tr={byte:1,uShort:2,f2dot14:2,short:2,uInt24:3,uLong:4,fixed:4,longDateTime:8,tag:4},ht={LONG_WORDS:32768,WORD_DELTA_COUNT_MASK:32767,SHARED_POINT_NUMBERS:32768,COUNT_MASK:4095,EMBEDDED_PEAK_TUPLE:32768,INTERMEDIATE_REGION:16384,PRIVATE_POINT_NUMBERS:8192,TUPLE_INDEX_MASK:4095,POINTS_ARE_WORDS:128,POINT_RUN_COUNT_MASK:127,DELTAS_ARE_ZERO:128,DELTAS_ARE_WORDS:64,DELTA_RUN_COUNT_MASK:63,INNER_INDEX_BIT_COUNT_MASK:15,MAP_ENTRY_SIZE_MASK:48};function V(t,n){this.data=t,this.offset=n,this.relativeOffset=0}V.prototype.parseByte=function(){let t=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseChar=function(){let t=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseCard8=V.prototype.parseByte,V.prototype.parseUShort=function(){let t=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseCard16=V.prototype.parseUShort,V.prototype.parseSID=V.prototype.parseUShort,V.prototype.parseOffset16=V.prototype.parseUShort,V.prototype.parseShort=function(){let t=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseF2Dot14=function(){let t=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,t},V.prototype.parseUInt24=function(){let t=at(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=3,t},V.prototype.parseULong=function(){let t=Ke(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseLong=function(){let t=ut(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseOffset32=V.prototype.parseULong,V.prototype.parseFixed=function(){let t=bt(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseString=function(t){let n=this.data,s=this.offset+this.relativeOffset,a="";this.relativeOffset+=t;for(let c=0;c<t;c++)a+=String.fromCharCode(n.getUint8(s+c));return a},V.prototype.parseTag=function(){return this.parseString(4)},V.prototype.parseLongDateTime=function(){let t=Ke(this.data,this.offset+this.relativeOffset+4);return t-=2082844800,this.relativeOffset+=8,t},V.prototype.parseVersion=function(t){let n=Ue(this.data,this.offset+this.relativeOffset),s=Ue(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,t===void 0&&(t=4096),n+s/t/10},V.prototype.skip=function(t,n){n===void 0&&(n=1),this.relativeOffset+=Tr[t]*n},V.prototype.parseULongList=function(t){t===void 0&&(t=this.parseULong());let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint32(a),a+=4;return this.relativeOffset+=t*4,n},V.prototype.parseOffset16List=V.prototype.parseUShortList=function(t){t===void 0&&(t=this.parseUShort());let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint16(a),a+=2;return this.relativeOffset+=t*2,n},V.prototype.parseShortList=function(t){let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getInt16(a),a+=2;return this.relativeOffset+=t*2,n},V.prototype.parseByteList=function(t){let n=new Array(t),s=this.data,a=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint8(a++);return this.relativeOffset+=t,n},V.prototype.parseList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t);for(let a=0;a<t;a++)s[a]=n.call(this);return s},V.prototype.parseList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t);for(let a=0;a<t;a++)s[a]=n.call(this);return s},V.prototype.parseRecordList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t),a=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<a.length;d++){let B=a[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseRecordList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t),a=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<a.length;d++){let B=a[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseTupleRecords=function(t,n){let s=[];for(let a=0;a<t;a++){let c=[];for(let h=0;h<n;h++)c.push(this.parseF2Dot14());s.push(c)}return s},V.prototype.parseStruct=function(t){if(typeof t=="function")return t.call(this);{let n=Object.keys(t),s={};for(let a=0;a<n.length;a++){let c=n[a],h=t[c];s[c]=h.call(this)}return s}},V.prototype.parseValueRecord=function(t){if(t===void 0&&(t=this.parseUShort()),t===0)return;let n={};return t&1&&(n.xPlacement=this.parseShort()),t&2&&(n.yPlacement=this.parseShort()),t&4&&(n.xAdvance=this.parseShort()),t&8&&(n.yAdvance=this.parseShort()),t&16&&(n.xPlaDevice=void 0,this.parseShort()),t&32&&(n.yPlaDevice=void 0,this.parseShort()),t&64&&(n.xAdvDevice=void 0,this.parseShort()),t&128&&(n.yAdvDevice=void 0,this.parseShort()),n},V.prototype.parseValueRecordList=function(){let t=this.parseUShort(),n=this.parseUShort(),s=new Array(n);for(let a=0;a<n;a++)s[a]=this.parseValueRecord(t);return s},V.prototype.parsePointer=function(t){let n=this.parseOffset16();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parsePointer32=function(t){let n=this.parseOffset32();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parseListOfLists=function(t){let n=this.parseOffset16List(),s=n.length,a=this.relativeOffset,c=new Array(s);for(let h=0;h<s;h++){let d=n[h];if(d===0){c[h]=void 0;continue}if(this.relativeOffset=d,t){let B=this.parseOffset16List(),w=new Array(B.length);for(let x=0;x<B.length;x++)this.relativeOffset=d+B[x],w[x]=t.call(this);c[h]=w}else c[h]=this.parseUShortList()}return this.relativeOffset=a,c},V.prototype.parseCoverage=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort(),s=this.parseUShort();if(n===1)return{format:1,glyphs:this.parseUShortList(s)};if(n===2){let a=new Array(s);for(let c=0;c<s;c++)a[c]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:a}}throw new Error("0x"+t.toString(16)+": Coverage format must be 1 or 2.")},V.prototype.parseClassDef=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort();return n===1?{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()}:n===2?{format:2,ranges:this.parseRecordList({start:V.uShort,end:V.uShort,classId:V.uShort})}:(console.warn(`0x${t.toString(16)}: This font file uses an invalid ClassDef format of ${n}. It might be corrupted and should be reacquired if it doesn't display as intended.`),{format:n})},V.list=function(t,n){return function(){return this.parseList(t,n)}},V.list32=function(t,n){return function(){return this.parseList32(t,n)}},V.recordList=function(t,n){return function(){return this.parseRecordList(t,n)}},V.recordList32=function(t,n){return function(){return this.parseRecordList32(t,n)}},V.pointer=function(t){return function(){return this.parsePointer(t)}},V.pointer32=function(t){return function(){return this.parsePointer32(t)}},V.tag=V.prototype.parseTag,V.byte=V.prototype.parseByte,V.uShort=V.offset16=V.prototype.parseUShort,V.uShortList=V.prototype.parseUShortList,V.uInt24=V.prototype.parseUInt24,V.uLong=V.offset32=V.prototype.parseULong,V.uLongList=V.prototype.parseULongList,V.fixed=V.prototype.parseFixed,V.f2Dot14=V.prototype.parseF2Dot14,V.struct=V.prototype.parseStruct,V.coverage=V.prototype.parseCoverage,V.classDef=V.prototype.parseClassDef;var Vr={reserved:V.uShort,reqFeatureIndex:V.uShort,featureIndexes:V.uShortList};V.prototype.parseScriptList=function(){return this.parsePointer(V.recordList({tag:V.tag,script:V.pointer({defaultLangSys:V.pointer(Vr),langSysRecords:V.recordList({tag:V.tag,langSys:V.pointer(Vr)})})}))||[]},V.prototype.parseFeatureList=function(){return this.parsePointer(V.recordList({tag:V.tag,feature:V.pointer({featureParams:V.offset16,lookupListIndexes:V.uShortList})}))||[]},V.prototype.parseLookupList=function(t){return this.parsePointer(V.list(V.pointer(function(){let n=this.parseUShort();G.argument(1<=n&&n<=9,"GPOS/GSUB lookup type "+n+" unknown.");let s=this.parseUShort(),a=s&16;return{lookupType:n,lookupFlag:s,subtables:this.parseList(V.pointer(t[n])),markFilteringSet:a?this.parseUShort():void 0}})))||[]},V.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){let t=this.parseUShort(),n=this.parseUShort();return G.argument(t===1&&n<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:V.offset32,featureTableSubstitutionOffset:V.offset32})})||[]},V.prototype.parseVariationStore=function(){let t=this.relativeOffset,n=this.parseUShort(),s={itemVariationStore:this.parseItemVariationStore()};return this.relativeOffset=t+n+2,s},V.prototype.parseItemVariationStore=function(){let t=this.relativeOffset,n={format:this.parseUShort(),variationRegions:[],itemVariationSubtables:[]},s=this.parseOffset32(),a=this.parseUShort(),c=this.parseULongList(a);this.relativeOffset=t+s,n.variationRegions=this.parseVariationRegionList();for(let h=0;h<a;h++){let d=c[h];this.relativeOffset=t+d,n.itemVariationSubtables.push(this.parseItemVariationSubtable())}return n},V.prototype.parseVariationRegionList=function(){let t=this.parseUShort(),n=this.parseUShort();return this.parseRecordList(n,{regionAxes:V.recordList(t,{startCoord:V.f2Dot14,peakCoord:V.f2Dot14,endCoord:V.f2Dot14})})},V.prototype.parseItemVariationSubtable=function(){let t=this.parseUShort(),n=this.parseUShort(),s=this.parseUShortList(),a=s.length;return{regionIndexes:s,deltaSets:t&&a?this.parseDeltaSets(t,n,a):[]}},V.prototype.parseDeltaSetIndexMap=function(){let t=this.parseByte(),n=this.parseByte(),s=[],a=0;switch(t){case 0:a=this.parseUShort();break;case 1:a=this.parseULong();break;default:console.error(`unsupported DeltaSetIndexMap format ${t}`)}if(!a)return{format:t,entryFormat:n};let c=(n&ht.INNER_INDEX_BIT_COUNT_MASK)+1,h=((n&ht.MAP_ENTRY_SIZE_MASK)>>4)+1;for(let d=0;d<a;d++){let B;if(h===1)B=this.parseByte();else if(h===2)B=this.parseUShort();else if(h===3)B=this.parseUInt24();else if(h===4)B=this.parseULong();else throw new Error(`Invalid entry size of ${h}`);let w=B>>c,x=B&(1<<c)-1;s.push({outerIndex:w,innerIndex:x})}return{format:t,entryFormat:n,map:s}},V.prototype.parseDeltaSets=function(t,n,s){let a=Array.from({length:t},()=>[]),c=n&ht.LONG_WORDS,h=n&ht.WORD_DELTA_COUNT_MASK;if(h>s)throw Error("wordCount must be less than or equal to regionIndexCount");let d=(c?this.parseLong:this.parseShort).bind(this),B=(c?this.parseShort:this.parseChar).bind(this);for(let w=0;w<t;w++)for(let x=0;x<s;x++)x<h?a[w].push(d()):a[w].push(B());return a},V.prototype.parseTupleVariationStoreList=function(t,n,s){let a=this.parseUShort(),h=this.parseUShort()&1,d=this.parseOffset32(),B=(h?this.parseULong:this.parseUShort).bind(this),w={},x=B();h||(x*=2);let C;for(let S=0;S<a;S++){C=B(),h||(C*=2);let T=C-x;w[S]=T?this.parseTupleVariationStore(d+x,t,n,s,S):void 0,x=C}return w},V.prototype.parseTupleVariationStore=function(t,n,s,a,c){let h=this.relativeOffset;this.relativeOffset=t,s==="cvar"&&(this.relativeOffset+=4);let d=this.parseUShort(),B=!!(d&ht.SHARED_POINT_NUMBERS),w=d&ht.COUNT_MASK,x=this.parseOffset16(),C=[],S=[];for(let U=0;U<w;U++){let L=this.parseTupleVariationHeader(n,s);C.push(L)}this.relativeOffset!==t+x&&(console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${t+x}, actually ${this.relativeOffset}`),this.relativeOffset=t+x),B&&(S=this.parsePackedPointNumbers());let T=this.relativeOffset;for(let U=0;U<w;U++){let L=C[U];L.privatePoints=[],this.relativeOffset=T,s==="cvar"&&!L.peakTuple&&console.warn("An embedded peak tuple is required in TupleVariationHeaders for the cvar table."),L.flags.privatePointNumbers&&(L.privatePoints=this.parsePackedPointNumbers()),delete L.flags;let ee=this.offset,Te=this.relativeOffset,xe=Re=>{let Je,$e,nt=()=>{let st=0;if(s==="gvar"){if(st=L.privatePoints.length||S.length,!st){let Bt=a.get(c);Bt.path,st=Bt.points.length,st+=4}}else s==="cvar"&&(st=a.length);this.offset=ee,this.relativeOffset=Te,Je=this.parsePackedDeltas(st),s==="gvar"&&($e=this.parsePackedDeltas(st))};return{configurable:!0,get:function(){return Je===void 0&&nt(),Re==="deltasY"?$e:Je},set:function(st){Je===void 0&&nt(),Re==="deltasY"?$e=st:Je=st}}};Object.defineProperty(L,"deltas",xe.call(this,"deltas")),s==="gvar"&&Object.defineProperty(L,"deltasY",xe.call(this,"deltasY")),T+=L.variationDataSize,delete L.variationDataSize}this.relativeOffset=h;let Y={headers:C};return Y.sharedPoints=S,Y},V.prototype.parseTupleVariationHeader=function(t,n){let s=this.parseUShort(),a=this.parseUShort(),c=!!(a&ht.EMBEDDED_PEAK_TUPLE),h=!!(a&ht.INTERMEDIATE_REGION),d=!!(a&ht.PRIVATE_POINT_NUMBERS),B=c?void 0:a&ht.TUPLE_INDEX_MASK,w=c?this.parseTupleRecords(1,t)[0]:void 0,x=h?this.parseTupleRecords(1,t)[0]:void 0,C=h?this.parseTupleRecords(1,t)[0]:void 0,S={variationDataSize:s,peakTuple:w,intermediateStartTuple:x,intermediateEndTuple:C,flags:{embeddedPeakTuple:c,intermediateRegion:h,privatePointNumbers:d}};return n==="gvar"&&(S.sharedTupleRecordsIndex=B),S},V.prototype.parsePackedPointNumbers=function(){let t=this.parseByte(),n=[],s=t;if(t>=128){let c=this.parseByte();s=(t&ht.POINT_RUN_COUNT_MASK)<<8|c}let a=0;for(;n.length<s;){let c=this.parseByte(),h=!!(c&ht.POINTS_ARE_WORDS),d=(c&ht.POINT_RUN_COUNT_MASK)+1;for(let B=0;B<d&&n.length<s;B++){let w;h?w=this.parseUShort():w=this.parseByte(),a=a+w,n.push(a)}}return n},V.prototype.parsePackedDeltas=function(t){let n=[];for(;n.length<t;){let s=this.parseByte(),a=!!(s&ht.DELTAS_ARE_ZERO),c=!!(s&ht.DELTAS_ARE_WORDS),h=(s&ht.DELTA_RUN_COUNT_MASK)+1;for(let d=0;d<h&&n.length<t;d++)a?n.push(0):c?n.push(this.parseShort()):n.push(this.parseChar())}return n};var he={getByte:_e,getCard8:_e,getUShort:Ue,getCard16:Ue,getShort:je,getUInt24:at,getULong:Ke,getFixed:bt,getTag:xt,getOffset:Ir,getBytes:hr,bytesToString:Fr,Parser:V},fr=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],hn={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},is={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},fn={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ns(t,n,s){switch(t){case 0:if(n===65535)return"und";if(s)return s[n];break;case 1:return hn[n];case 3:return fn[n]}}var li="utf-16",ss={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},os={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Fi(t,n,s){switch(t){case 0:return li;case 1:return os[s]||ss[n];case 3:if(n===1||n===10)return li;break}}var pn={0:"unicode",1:"macintosh",2:"reserved",3:"windows"};function as(t){return pn[t]}function Yo(t,n,s){let a={},c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort(),B=c.offset+c.parseUShort();for(let w=0;w<d;w++){let x=c.parseUShort(),C=c.parseUShort(),S=c.parseUShort(),T=c.parseUShort(),Y=fr[T]||T,U=c.parseUShort(),L=c.parseUShort(),ee=ns(x,S,s),Te=Fi(x,C,S),xe=as(x);if(Te!==void 0&&ee!==void 0&&xe!==void 0){let Re;if(Te===li?Re=Qe.UTF16(t,B+L,U):Re=Qe.MACSTRING(t,B+L,U,Te),Re){let Je=a[xe];Je===void 0&&(Je=a[xe]={});let $e=Je[Y];$e===void 0&&($e=Je[Y]={}),$e[ee]=Re}}}return h===1&&c.parseUShort(),a}function pr(t){let n={};for(let s in t)n[t[s]]=parseInt(s);return n}function Ti(t,n,s,a,c,h){return new $.Record("NameRecord",[{name:"platformID",type:"USHORT",value:t},{name:"encodingID",type:"USHORT",value:n},{name:"languageID",type:"USHORT",value:s},{name:"nameID",type:"USHORT",value:a},{name:"length",type:"USHORT",value:c},{name:"offset",type:"USHORT",value:h}])}function Si(t,n){let s=t.length,a=n.length-s+1;e:for(let c=0;c<a;c++)for(;c<a;c++){for(let h=0;h<s;h++)if(n[c+h]!==t[h])continue e;return c}return-1}function ci(t,n){let s=Si(t,n);if(s<0){s=n.length;let a=0,c=t.length;for(;a<c;++a)n.push(t[a])}return s}function As(t,n){let s=pr(pn),a=pr(hn),c=pr(fn),h=[],d=[];for(let w in t){let x,C=[],S={},T=pr(fr),Y=s[w];for(let U in t[w]){let L=T[U];if(L===void 0&&(L=U),x=parseInt(L),isNaN(x))throw new Error('Name table entry "'+U+'" does not exist, see nameTableNames for complete list.');S[x]=t[w][U],C.push(x)}for(let U=0;U<C.length;U++){x=C[U];let L=S[x];for(let ee in L){let Te=L[ee];if(Y===1||Y===0){let xe=a[ee],Re=is[xe],Je=Fi(Y,Re,xe),$e=Z.MACSTRING(Te,Je);if(Y===0&&(xe=n.indexOf(ee),xe<0&&(xe=n.length,n.push(ee)),Re=4,$e=Z.UTF16(Te)),$e!==void 0){let nt=ci($e,d);h.push(Ti(Y,Re,xe,x,$e.length,nt))}}if(Y===3){let xe=c[ee];if(xe!==void 0){let Re=Z.UTF16(Te),Je=ci(Re,d);h.push(Ti(3,1,xe,x,Re.length,Je))}}}}}h.sort(function(w,x){return w.platformID-x.platformID||w.encodingID-x.encodingID||w.languageID-x.languageID||w.nameID-x.nameID});let B=new $.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:h.length},{name:"stringOffset",type:"USHORT",value:6+h.length*12}]);for(let w=0;w<h.length;w++)B.fields.push({name:"record_"+w,type:"RECORD",value:h[w]});return B.fields.push({name:"strings",type:"LITERAL",value:d}),B}function ui(t,n,s=[]){if(n<256&&n in fr){if(s.length&&!s.includes(parseInt(n)))return;n=fr[n]}for(let a in t)for(let c in t[a])if(c===n||parseInt(c)===n)return t[a][c]}var dn={parse:Yo,make:As,getNameByID:ui};function ls(t,n,s,a){t.length=n.parseUShort(),t.language=n.parseUShort()-1;let c=n.parseByteList(t.length),h=Object.assign({},c),d=Fi(s,a,t.language),B=Oe[d];for(let w=0;w<B.length;w++)h[B.charCodeAt(w)]=c[128+w];t.glyphIndexMap=h}function cs(t,n,s){n.parseUShort(),t.length=n.parseULong(),t.language=n.parseULong();let a;t.groupCount=a=n.parseULong(),t.glyphIndexMap={};for(let c=0;c<a;c+=1){let h=n.parseULong(),d=n.parseULong(),B=n.parseULong();for(let w=h;w<=d;w+=1)t.glyphIndexMap[w]=B,s===12&&B++}}function us(t,n,s,a,c){t.length=n.parseUShort(),t.language=n.parseUShort();let h;t.segCount=h=n.parseUShort()>>1,n.skip("uShort",3),t.glyphIndexMap={};let d=new he.Parser(s,a+c+14),B=new he.Parser(s,a+c+16+h*2),w=new he.Parser(s,a+c+16+h*4),x=new he.Parser(s,a+c+16+h*6),C=a+c+16+h*8;for(let S=0;S<h-1;S+=1){let T,Y=d.parseUShort(),U=B.parseUShort(),L=w.parseShort(),ee=x.parseUShort();for(let Te=U;Te<=Y;Te+=1)ee!==0?(C=x.offset+x.relativeOffset-2,C+=ee,C+=(Te-U)*2,T=he.getUShort(s,C),T!==0&&(T=T+L&65535)):T=Te+L&65535,t.glyphIndexMap[Te]=T}}function hs(t,n){let s={};n.skip("uLong");let a=n.parseULong();for(let c=0;c<a;c+=1){let h=n.parseUInt24(),d={varSelector:h},B=n.parseOffset32(),w=n.parseOffset32(),x=n.relativeOffset;B&&(n.relativeOffset=B,d.defaultUVS=n.parseStruct({ranges:function(){return n.parseRecordList32({startUnicodeValue:n.parseUInt24,additionalCount:n.parseByte})}})),w&&(n.relativeOffset=w,d.nonDefaultUVS=n.parseStruct({uvsMappings:function(){let C={},S=n.parseRecordList32({unicodeValue:n.parseUInt24,glyphID:n.parseUShort});for(let T=0;T<S.length;T+=1)C[S[T].unicodeValue]=S[T];return C}})),s[h]=d,n.relativeOffset=x}t.varSelectorList=s}function Di(t,n){let s={};s.version=he.getUShort(t,n),G.argument(s.version===0,"cmap table version should be 0."),s.numTables=he.getUShort(t,n+2);let a=null,c=-1,h=-1,d=null,B=null,w=[0,1,2,3,4,6],x=[0,1,10];for(let S=s.numTables-1;S>=0;S-=1)if(d=he.getUShort(t,n+4+S*8),B=he.getUShort(t,n+4+S*8+2),d===3&&x.includes(B)||d===0&&w.includes(B)||d===1&&B===0){if(h>0)continue;if(h=he.getULong(t,n+4+S*8+4),a)break}else if(d===0&&B===5){if(c=he.getULong(t,n+4+S*8+4),a=new he.Parser(t,n+c),a.parseUShort()!==14)c=-1,a=null;else if(h>0)break}if(h===-1)throw new Error("No valid cmap sub-tables found.");let C=new he.Parser(t,n+h);if(s.format=C.parseUShort(),s.format===0)ls(s,C,d,B);else if(s.format===12||s.format===13)cs(s,C,s.format);else if(s.format===4)us(s,C,t,n,h);else throw new Error("Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format "+s.format+", platformId "+d+", encodingId "+B+").");return a&&hs(s,a),s}function k0(t,n,s){t.segments.push({end:n,start:n,delta:-(n-s),offset:0,glyphIndex:s})}function Y0(t){t.segments.push({end:65535,start:65535,delta:1,offset:0})}function O0(t){if(t.length===0)return t;let n=[t[0]];for(let s=1;s<t.length;s++){let a=n[n.length-1],c=t[s];a.end+1===c.start&&a.delta===c.delta&&c.end!==65535?a.end=c.end:n.push(c)}return n}function N0(t){let n=!0,s;for(s=t.length-1;s>0;s-=1)if(t.get(s).unicode>65535){n=!1;break}let a=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:n?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:n?12:20}];n||a.push({name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}),a.push({name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0});let c=new $.Table("cmap",a);for(c.segments=[],s=0;s<t.length;s+=1){let Y=t.get(s);for(let U=0;U<Y.unicodes.length;U+=1)k0(c,Y.unicodes[U],s)}c.segments.sort(function(Y,U){return Y.start-U.start}),c.segments=O0(c.segments),Y0(c);let h=c.segments.length,d=0,B=[],w=[],x=[],C=[],S=[],T=[];for(s=0;s<h;s+=1){let Y=c.segments[s];Y.end<=65535&&Y.start<=65535?(B.push({name:"end_"+s,type:"USHORT",value:Y.end}),w.push({name:"start_"+s,type:"USHORT",value:Y.start}),x.push({name:"idDelta_"+s,type:"SHORT",value:Y.delta}),C.push({name:"idRangeOffset_"+s,type:"USHORT",value:Y.offset}),Y.glyphId!==void 0&&S.push({name:"glyph_"+s,type:"USHORT",value:Y.glyphId})):d+=1,!n&&Y.glyphIndex!==void 0&&(T.push({name:"cmap12Start_"+s,type:"ULONG",value:Y.start}),T.push({name:"cmap12End_"+s,type:"ULONG",value:Y.end}),T.push({name:"cmap12Glyph_"+s,type:"ULONG",value:Y.glyphIndex}))}c.segCountX2=(h-d)*2,c.searchRange=Math.pow(2,Math.floor(Math.log(h-d)/Math.log(2)))*2,c.entrySelector=Math.log(c.searchRange/2)/Math.log(2),c.rangeShift=c.segCountX2-c.searchRange;for(let Y=0;Y<B.length;Y++)c.fields.push(B[Y]);c.fields.push({name:"reservedPad",type:"USHORT",value:0});for(let Y=0;Y<w.length;Y++)c.fields.push(w[Y]);for(let Y=0;Y<x.length;Y++)c.fields.push(x[Y]);for(let Y=0;Y<C.length;Y++)c.fields.push(C[Y]);for(let Y=0;Y<S.length;Y++)c.fields.push(S[Y]);if(c.cmap4Length=14+B.length*2+2+w.length*2+x.length*2+C.length*2+S.length*2,!n){let Y=16+T.length*4;c.cmap12Offset=20+c.cmap4Length,c.fields.push({name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:Y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:T.length/3});for(let U=0;U<T.length;U++)c.fields.push(T[U])}return c}var Wl={parse:Di,make:N0},fs=[".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","266 ff","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"],R0=[".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"],G0=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","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","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","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"],L0=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Oo=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],P0=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","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","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","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"],hi=[".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 Jl(t){this.font=t}Jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.font.glyphs;if(s)for(let a=0;a<s.length;a+=1){let c=s.get(a);for(let h=0;h<c.unicodes.length;h+=1)if(c.unicodes[h]===n)return a}return null};function Vl(t){this.cmap=t}Vl.prototype.charToGlyphIndex=function(t){return this.cmap.glyphIndexMap[t.codePointAt(0)]||0};function jl(t,n){this.encoding=t,this.charset=n}jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.encoding[n];return this.charset.indexOf(s)};function No(t){switch(t.version){case 1:this.names=hi.slice();break;case 2:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]<hi.length?this.names[n]=hi[t.glyphNameIndex[n]]:this.names[n]=t.names[t.glyphNameIndex[n]-hi.length];break;case 2.5:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)this.names[n]=hi[n+t.glyphNameIndex[n]];break;case 3:this.names=[];break;default:this.names=[];break}}No.prototype.nameToGlyphIndex=function(t){return this.names.indexOf(t)},No.prototype.glyphIndexToName=function(t){return this.names[t]};function H0(t){let n,s=t.tables.cmap.glyphIndexMap,a=Object.keys(s);for(let c=0;c<a.length;c+=1){let h=a[c],d=s[h];n=t.glyphs.get(d),n.addUnicode(parseInt(h))}for(let c=0;c<t.glyphs.length;c+=1)n=t.glyphs.get(c),t.cffEncoding?n.name=t.cffEncoding.charset[c]:t.glyphNames.names&&(n.name=t.glyphNames.glyphIndexToName(c))}function W0(t){t._IndexToUnicodeMap={};let n=t.tables.cmap.glyphIndexMap,s=Object.keys(n);for(let a=0;a<s.length;a+=1){let c=s[a],h=n[c];t._IndexToUnicodeMap[h]===void 0?t._IndexToUnicodeMap[h]={unicodes:[parseInt(c)]}:t._IndexToUnicodeMap[h].unicodes.push(parseInt(c))}}function J0(t,n){n.lowMemory?W0(t):H0(t)}function V0(t,n,s,a,c){t.beginPath(),t.moveTo(n,s),t.lineTo(a,c),t.stroke()}var fi={line:V0};function j0(t,n){let s=new V(t,n),a=s.parseShort();a!==0&&console.warn("Only CPALv0 is currently fully supported.");let c=s.parseShort(),h=s.parseShort(),d=s.parseShort(),B=s.parseOffset32(),w=s.parseUShortList(h);s.relativeOffset=B;let x=s.parseULongList(d);return s.relativeOffset=B,{version:a,numPaletteEntries:c,colorRecords:x,colorRecordIndices:w}}function _0({version:t=0,numPaletteEntries:n=0,colorRecords:s=[],colorRecordIndices:a=[0]}){return G.argument(t===0,"Only CPALv0 are supported."),G.argument(s.length,"No colorRecords given."),G.argument(a.length,"No colorRecordIndices given."),a.length>1&&G.argument(n,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new $.Table("CPAL",[{name:"version",type:"USHORT",value:t},{name:"numPaletteEntries",type:"USHORT",value:n||s.length},{name:"numPalettes",type:"USHORT",value:a.length},{name:"numColorRecords",type:"USHORT",value:s.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*a.length},...a.map((c,h)=>({name:"colorRecordIndices_"+h,type:"USHORT",value:c})),...s.map((c,h)=>({name:"colorRecords_"+h,type:"ULONG",value:c}))])}function _l(t){var n=(t&4278190080)>>24,s=(t&16711680)>>16,a=(t&65280)>>8,c=t&255;return n=n+256&255,s=s+256&255,a=a+256&255,c=(c+256&255)/255,{b:n,g:s,r:a,a:c}}function Ro(t,n,s=0,a="hexa"){if(n==65535)return"currentColor";let c=t&&t.tables&&t.tables.cpal;if(!c)return"currentColor";if(s>c.colorRecordIndices.length-1)throw new Error(`Palette index out of range (colorRecordIndices.length: ${c.colorRecordIndices.length}, index: ${n})`);if(n>c.numPaletteEntries)throw new Error(`Color index out of range (numPaletteEntries: ${c.numPaletteEntries}, index: ${n})`);let h=c.colorRecordIndices[s]+n;if(h>c.colorRecords)throw new Error(`Color index out of range (colorRecords.length: ${c.colorRecords.length}, lookupIndex: ${h})`);let d=_l(c.colorRecords[h]);return a==="bgra"?d:Mi(d,a)}function rr(t){return("0"+parseInt(t).toString(16)).slice(-2)}function Z0(t){let n=t.r/255,s=t.g/255,a=t.b/255,c=Math.max(n,s,a),h=Math.min(n,s,a),d,B,w=(c+h)/2;if(c===h)d=B=0;else{let x=c-h;switch(B=w>.5?x/(2-c-h):x/(c+h),c){case n:d=(s-a)/x+(s<a?6:0);break;case s:d=(a-n)/x+2;break;case a:d=(n-s)/x+4;break}d/=6}return{h:d*360,s:B*100,l:w*100}}function X0(t){let{h:n,s,l:a,a:c}=t;n=n%360,s/=100,a/=100;let h=(1-Math.abs(2*a-1))*s,d=h*(1-Math.abs(n/60%2-1)),B=a-h/2,w=0,x=0,C=0;return 0<=n&&n<60?(w=h,x=d,C=0):60<=n&&n<120?(w=d,x=h,C=0):120<=n&&n<180?(w=0,x=h,C=d):180<=n&&n<240?(w=0,x=d,C=h):240<=n&&n<300?(w=d,x=0,C=h):300<=n&&n<=360&&(w=h,x=0,C=d),{r:Math.round((w+B)*255),g:Math.round((x+B)*255),b:Math.round((C+B)*255),a:c}}function Zl(t){return parseInt(`0x${rr(t.b)}${rr(t.g)}${rr(t.r)}${rr(t.a*255)}`,16)}function ps(t,n="hexa"){let s=n=="raw"||n=="cpal",a=Number.isInteger(t),c=!0;if(a&&s||t==="currentColor")return t;if(typeof t=="object"){if(n=="bgra")return t;if(s)return Zl(t)}else if(!a&&/^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(t.trim())){switch(t=t.trim().substring(1),t.length){case 3:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:1};break;case 4:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:parseInt(t[3].repeat(2),16)/255};break;case 6:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:1};break;case 8:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:parseInt(t[6]+t[7],16)/255};break}if(n=="bgra")return t}else if(typeof document<"u"&&/^[a-z]+$/i.test(t)){let h=document.createElement("canvas").getContext("2d");h.fillStyle=t;let d=Mi(h.fillStyle,"hexa");d==="#000000ff"&&t.toLowerCase()!=="black"?c=!1:t=d}else{t=t.trim();let h=/rgba?\(\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(h.test(t)){let d=t.match(h).filter(B=>typeof B<"u");t={r:Math.round(parseFloat(d[1])/(d[2]?.39215686274509803:1)),g:Math.round(parseFloat(d[3])/(d[4]?.39215686274509803:1)),b:Math.round(parseFloat(d[5])/(d[6]?.39215686274509803:1)),a:d[7]?parseFloat(d[7])/(d[8]?100:1):1}}else{let d=/hsla?\(\s*(?:(\d*\.\d+|\d+)(deg|turn|))\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(d.test(t)){let B=t.match(d).filter(w=>typeof w<"u");t=X0({h:parseFloat(B[1])*(B[2]==="turn"?360:1),s:parseFloat(B[3]),l:parseFloat(B[4]),a:B[5]?parseFloat(B[5])/(B[6]?100:1):1})}else c=!1}}if(!c)throw new Error(`Invalid color format: ${t}`);return Mi(t,n)}function Mi(t,n="hexa"){if(t==="currentColor")return t;if(Number.isInteger(t)){if(n=="raw"||n=="cpal")return t;t=_l(t)}else typeof t!="object"&&(t=ps(t,"bgra"));let s=["hsl","hsla"].includes(n)?Z0(t):null;switch(n){case"rgba":return`rgba(${t.r}, ${t.g}, ${t.b}, ${parseFloat(t.a.toFixed(3))})`;case"rgb":return`rgb(${t.r}, ${t.g}, ${t.b})`;case"hex":case"hex6":case"hex-6":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}`;case"hexa":case"hex8":case"hex-8":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}${rr(t.a*255)}`;case"hsl":return`hsl(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%)`;case"hsla":return`hsla(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%, ${parseFloat(t.a.toFixed(3))})`;case"bgra":return t;case"raw":case"cpal":return Zl(t);default:throw new Error("Unknown color format: "+n)}}var Xl={parse:j0,make:_0,getPaletteColor:Ro,parseColor:ps,formatColor:Mi};function z0(t,n){let s=n||new z;return{configurable:!0,get:function(){return typeof s=="function"&&(s=s()),s},set:function(a){s=a}}}function Qt(t){this.bindConstructorValues(t)}Qt.prototype.bindConstructorValues=function(t){if(this.index=t.index||0,t.name===".notdef"?t.unicode=void 0:t.name===".null"&&(t.unicode=0),t.unicode===0&&t.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=t.name||null,this.unicode=t.unicode,this.unicodes=t.unicodes||(t.unicode!==void 0?[t.unicode]:[]),"xMin"in t&&(this.xMin=t.xMin),"yMin"in t&&(this.yMin=t.yMin),"xMax"in t&&(this.xMax=t.xMax),"yMax"in t&&(this.yMax=t.yMax),"advanceWidth"in t&&(this.advanceWidth=t.advanceWidth),"leftSideBearing"in t&&(this.leftSideBearing=t.leftSideBearing),"points"in t&&(this.points=t.points),Object.defineProperty(this,"path",z0(this,t.path))},Qt.prototype.addUnicode=function(t){this.unicodes.length===0&&(this.unicode=t),this.unicodes.push(t)},Qt.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Qt.prototype.getPath=function(t,n,s,a,c){t=t!==void 0?t:0,n=n!==void 0?n:0,s=s!==void 0?s:72,a=Object.assign({},c&&c.defaultRenderOptions,a);let h,d,B=a.xScale,w=a.yScale,x=1/(this.path.unitsPerEm||1e3)*s,C=this;c&&c.variation&&(C=c.variation.getTransform(this,a.variation),h=C.path.commands),a.hinting&&c&&c.hinting&&(d=C.path&&c.hinting.exec(C,s,a)),d?(h=c.hinting.getCommands(d),t=Math.round(t),n=Math.round(n),B=w=1):(h=C.path.commands,B===void 0&&(B=x),w===void 0&&(w=x));let S=new z;if(a.drawSVG){let T=this.getSvgImage(c);if(T){let Y=new z;return Y._image={image:T.image,x:t+T.leftSideBearing*x,y:n-T.baseline*x,width:T.image.width*x,height:T.image.height*x},S._layers=[Y],S}}if(a.drawLayers){let T=this.getLayers(c);if(T&&T.length){S._layers=[];for(let Y=0;Y<T.length;Y+=1){let U=T[Y],L=Ro(c,U.paletteIndex,a.usePalette);L==="currentColor"?L=a.fill||"black":L=Mi(L,a.colorFormat||"rgba"),a=Object.assign({},a,{fill:L}),S._layers.push(this.getPath.call(U.glyph,t,n,s,a,c))}return S}}S.fill=a.fill||this.path.fill,S.stroke=this.path.stroke,S.strokeWidth=this.path.strokeWidth*x;for(let T=0;T<h.length;T+=1){let Y=h[T];Y.type==="M"?S.moveTo(t+Y.x*B,n+-Y.y*w):Y.type==="L"?S.lineTo(t+Y.x*B,n+-Y.y*w):Y.type==="Q"?S.quadraticCurveTo(t+Y.x1*B,n+-Y.y1*w,t+Y.x*B,n+-Y.y*w):Y.type==="C"?S.curveTo(t+Y.x1*B,n+-Y.y1*w,t+Y.x2*B,n+-Y.y2*w,t+Y.x*B,n+-Y.y*w):Y.type==="Z"&&S.stroke&&S.strokeWidth&&S.closePath()}return S},Qt.prototype.getLayers=function(t){if(!t)throw new Error("The font object is required to read the colr/cpal tables in order to get the layers.");return t.layers.get(this.index)},Qt.prototype.getSvgImage=function(t){if(!t)throw new Error("The font object is required to read the svg table in order to get the image.");return t.svgImages.get(this.index)},Qt.prototype.getContours=function(t=null){if(this.points===void 0&&!t)return[];let n=[],s=[],a=t||this.points;for(let c=0;c<a.length;c+=1){let h=a[c];s.push(h),h.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n},Qt.prototype.getMetrics=function(){let t=this.path.commands,n=[],s=[];for(let c=0;c<t.length;c+=1){let h=t[c];h.type!=="Z"&&(n.push(h.x),s.push(h.y)),(h.type==="Q"||h.type==="C")&&(n.push(h.x1),s.push(h.y1)),h.type==="C"&&(n.push(h.x2),s.push(h.y2))}let a={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),leftSideBearing:this.leftSideBearing};return isFinite(a.xMin)||(a.xMin=0),isFinite(a.xMax)||(a.xMax=this.advanceWidth),isFinite(a.yMin)||(a.yMin=0),isFinite(a.yMax)||(a.yMax=0),a.rightSideBearing=this.advanceWidth-a.leftSideBearing-(a.xMax-a.xMin),a},Qt.prototype.draw=function(t,n,s,a,c,h){c=Object.assign({},h&&h.defaultRenderOptions,c),this.getPath(n,s,a,c,h).draw(t)},Qt.prototype.drawPoints=function(t,n,s,a,c,h){if(c=Object.assign({},h&&h.defaultRenderOptions,c),c.drawLayers){let T=this.getLayers(h);if(T&&T.length){for(let Y=0;Y<T.length;Y+=1)T[Y].glyph.index!==this.index&&this.drawPoints.call(T[Y].glyph,t,n,s,a);return}}function d(T,Y,U,L){t.beginPath();for(let ee=0;ee<T.length;ee+=1)t.moveTo(Y+T[ee].x*L,U+T[ee].y*L),t.arc(Y+T[ee].x*L,U+T[ee].y*L,2,0,Math.PI*2,!1);t.fill()}n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:24;let B=1/this.path.unitsPerEm*a,w=[],x=[],S=this.path.commands;h&&h.variation&&(S=h.variation.getTransform(this,c.variation).path.commands);for(let T=0;T<S.length;T+=1){let Y=S[T];Y.x!==void 0&&w.push({x:Y.x,y:-Y.y}),Y.x1!==void 0&&x.push({x:Y.x1,y:-Y.y1}),Y.x2!==void 0&&x.push({x:Y.x2,y:-Y.y2})}t.fillStyle="blue",d(w,n,s,B),t.fillStyle="red",d(x,n,s,B)},Qt.prototype.drawMetrics=function(t,n,s,a){let c;n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:24,c=1/this.path.unitsPerEm*a,t.lineWidth=1,t.strokeStyle="black",fi.line(t,n,-1e4,n,1e4),fi.line(t,-1e4,s,1e4,s);let h=this.xMin||0,d=this.yMin||0,B=this.xMax||0,w=this.yMax||0,x=this.advanceWidth||0;t.strokeStyle="blue",fi.line(t,n+h*c,-1e4,n+h*c,1e4),fi.line(t,n+B*c,-1e4,n+B*c,1e4),fi.line(t,-1e4,s+-d*c,1e4,s+-d*c),fi.line(t,-1e4,s+-w*c,1e4,s+-w*c),t.strokeStyle="green",fi.line(t,n+x*c,-1e4,n+x*c,1e4)},Qt.prototype.toPathData=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this;n&&n.variation&&(s=n.variation.getTransform(this,t.variation));let a=s.points&&t.pointsTransform?t.pointsTransform(s.points):s.path;return t.pathTransform&&(a=t.pathTransform(a)),a.toPathData(t)},Qt.prototype.fromSVG=function(t,n={}){return this.path.fromSVG(t,n)},Qt.prototype.toSVG=function(t,n){let s=this.toPathData.apply(this,[t,n]);return this.path.toSVG(t,s)},Qt.prototype.toDOMElement=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this.path;return n&&n.variation&&(s=n.variation.getTransform(this,t.variation).path),s.toDOMElement(t)};var Ui=Qt;function ki(t,n,s){Object.defineProperty(t,n,{get:function(){return typeof t[s]>"u"&&t.path,t[s]},set:function(a){t[s]=a},enumerable:!0,configurable:!0})}function ds(t,n){if(this.font=t,this.glyphs={},Array.isArray(n))for(let s=0;s<n.length;s++){let a=n[s];a.path.unitsPerEm=t.unitsPerEm,this.glyphs[s]=a}this.length=n&&n.length||0}typeof Symbol<"u"&&Symbol.iterator&&(ds.prototype[Symbol.iterator]=function(){let t=-1;return{next:function(){t++;let n=t>=this.length-1;return{value:this.get(t),done:n}}.bind(this)}}),ds.prototype.get=function(t){if(this.font._push&&this.glyphs[t]===void 0){this.font._push(t),typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());let n=this.glyphs[t],s=this.font._IndexToUnicodeMap[t];if(s)for(let a=0;a<s.unicodes.length;a++)n.addUnicode(s.unicodes[a]);this.font.cffEncoding?n.name=this.font.cffEncoding.charset[t]:this.font.glyphNames.names&&(n.name=this.font.glyphNames.glyphIndexToName(t)),this.glyphs[t].advanceWidth=this.font._hmtxTableData[t].advanceWidth,this.glyphs[t].leftSideBearing=this.font._hmtxTableData[t].leftSideBearing}else typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());return this.glyphs[t]},ds.prototype.push=function(t,n){this.glyphs[t]=n,this.length++};function q0(t,n){return new Ui({index:n,font:t})}function K0(t,n,s,a,c,h){return function(){let d=new Ui({index:n,font:t});return d.path=function(){s(d,a,c);let B=h(t.glyphs,d);return B.unitsPerEm=t.unitsPerEm,B},ki(d,"numberOfContours","_numberOfContours"),ki(d,"xMin","_xMin"),ki(d,"xMax","_xMax"),ki(d,"yMin","_yMin"),ki(d,"yMax","_yMax"),ki(d,"points","_points"),d}}function $0(t,n,s,a,c){return function(){let h=new Ui({index:n,font:t});return h.path=function(){let d=s(t,h,a,c);return d.unitsPerEm=t.unitsPerEm,d},h}}var dr={GlyphSet:ds,glyphLoader:q0,ttfGlyphLoader:K0,cffGlyphLoader:$0};function zl(t,n){if(t===n)return!0;if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;for(let s=0;s<t.length;s+=1)if(!zl(t[s],n[s]))return!1;return!0}else return!1}var ql=10;function gs(t){let n;return t.length<1240?n=107:t.length<33900?n=1131:n=32768,n}function gr(t,n,s,a){let c=[],h=[],d=a>1?he.getULong(t,n):he.getCard16(t,n),B=a>1?4:2,w,x;if(d!==0){let C=he.getByte(t,n+B);w=n+(d+1)*C+B;let S=n+B+1;for(let T=0;T<d+1;T+=1)c.push(he.getOffset(t,S,C)),S+=C;x=w+c[d]}else x=n+B;for(let C=0;C<c.length-1;C+=1){let S=he.getBytes(t,w+c[C],w+c[C+1]);s&&(S=s(S,t,n,a)),h.push(S)}return{objects:h,startOffset:n,endOffset:x}}function eB(t,n,s){let a=[],c=s>1?he.getULong(t,n):he.getCard16(t,n),h=s>1?4:2,d,B;if(c!==0){let w=he.getByte(t,n+h);d=n+(c+1)*w+h;let x=n+h+1;for(let C=0;C<c+1;C+=1)a.push(he.getOffset(t,x,w)),x+=w;B=d+a[c]}else B=n+h;return{offsets:a,startOffset:n,endOffset:B}}function tB(t,n,s,a,c,h){let d=h>1?he.getULong(s,a):he.getCard16(s,a),B=h>1?4:2,w=0;if(d!==0){let C=he.getByte(s,a+B);w=a+(d+1)*C+B}let x=he.getBytes(s,w+n[t],w+n[t+1]);return c&&(x=c(x)),x}function rB(t){let n="",a=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){let c=t.parseByte(),h=c>>4,d=c&15;if(h===15||(n+=a[h],d===15))break;n+=a[d]}return parseFloat(n)}function iB(t,n){let s,a,c,h;if(n===28)return s=t.parseByte(),a=t.parseByte(),s<<8|a;if(n===29)return s=t.parseByte(),a=t.parseByte(),c=t.parseByte(),h=t.parseByte(),s<<24|a<<16|c<<8|h;if(n===30)return rB(t);if(n>=32&&n<=246)return n-139;if(n>=247&&n<=250)return s=t.parseByte(),(n-247)*256+s+108;if(n>=251&&n<=254)return s=t.parseByte(),-(n-251)*256-s-108;throw new Error("Invalid b0 "+n)}function nB(t){let n={};for(let s=0;s<t.length;s+=1){let a=t[s][0],c=t[s][1],h;if(c.length===1?h=c[0]:h=c,Object.prototype.hasOwnProperty.call(n,a)&&!isNaN(n[a]))throw new Error("Object "+n+" already has key "+a);n[a]=h}return n}function Go(t,n,s,a){n=n!==void 0?n:0;let c=new he.Parser(t,n),h=[],d=[];s=s!==void 0?s:t.byteLength;let B=a<2?22:28;for(;c.relativeOffset<s;){let w=c.parseByte();if(w<B){if(w===12&&(w=1200+c.parseByte()),a>1&&w===23){hB(d);continue}h.push([w,d]),d=[]}else d.push(iB(c,w,a))}return nB(h)}function gn(t,n){return n<=390?n=fs[n]:t?n=t[n-391]:n=void 0,n}function Lo(t,n,s){let a={},c;for(let h=0;h<n.length;h+=1){let d=n[h];if(Array.isArray(d.type)){let B=[];B.length=d.type.length;for(let w=0;w<d.type.length;w++)c=t[d.op]!==void 0?t[d.op][w]:void 0,c===void 0&&(c=d.value!==void 0&&d.value[w]!==void 0?d.value[w]:null),d.type[w]==="SID"&&(c=gn(s,c)),B[w]=c;a[d.name]=B}else c=t[d.op],c===void 0&&(c=d.value!==void 0?d.value:null),d.type==="SID"&&(c=gn(s,c)),a[d.name]=c}return a}function sB(t,n){let s={};if(s.formatMajor=he.getCard8(t,n),s.formatMinor=he.getCard8(t,n+1),s.formatMajor>2)throw new Error(`Unsupported CFF table version ${s.formatMajor}.${s.formatMinor}`);return s.size=he.getCard8(t,n+2),s.formatMajor<2?(s.offsetSize=he.getCard8(t,n+3),s.startOffset=n,s.endOffset=n+4):(s.topDictLength=he.getCard16(t,n+3),s.endOffset=n+8),s}var Kl=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],$l=[{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"charStrings",op:17,type:"offset"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"vstore",op:24,type:"offset"}],ec=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}],tc=[{name:"blueValues",op:6,type:"delta"},{name:"otherBlues",op:7,type:"delta"},{name:"familyBlues",op:7,type:"delta"},{name:"familyBlues",op:8,type:"delta"},{name:"familyOtherBlues",op:9,type:"delta"},{name:"blueScale",op:1209,type:"number",value:.039625},{name:"blueShift",op:1210,type:"number",value:7},{name:"blueFuzz",op:1211,type:"number",value:1},{name:"stdHW",op:10,type:"number"},{name:"stdVW",op:11,type:"number"},{name:"stemSnapH",op:1212,type:"number"},{name:"stemSnapV",op:1213,type:"number"},{name:"languageGroup",op:1217,type:"number",value:0},{name:"expansionFactor",op:1218,type:"number",value:.06},{name:"vsindex",op:22,type:"number",value:0},{name:"subrs",op:19,type:"offset"}],oB=[{name:"private",op:18,type:["number","offset"],value:[0,0]}];function aB(t,n,s,a){let c=Go(t,n,t.byteLength,a);return Lo(c,a>1?$l:Kl,s)}function Po(t,n,s,a,c){let h=Go(t,n,s,c);return Lo(h,c>1?tc:ec,a)}function AB(t,n,s){let a=Go(t,n,void 0,s);return Lo(a,oB)}function lB(t,n,s){let a=[];for(let c=0;c<s.length;c++){let h=new DataView(new Uint8Array(s[c]).buffer),d=AB(h,0,2),B=d.private[0],w=d.private[1];if(B!==0&&w!==0){let x=Po(t,w+n,B,[],2);if(x.subrs){let C=w+x.subrs,S=gr(t,C+n,void 0,2);d._subrs=S.objects,d._subrsBias=gs(d._subrs)}d._privateDict=x}a.push(d)}return a}function Ho(t,n,s,a,c){let h=[];for(let d=0;d<s.length;d+=1){let B=new DataView(new Uint8Array(s[d]).buffer),w=aB(B,0,a,c);w._subrs=[],w._subrsBias=0,w._defaultWidthX=0,w._nominalWidthX=0;let x=c<2?w.private[0]:0,C=c<2?w.private[1]:0;if(x!==0&&C!==0){let S=Po(t,C+n,x,a,c);if(w._defaultWidthX=S.defaultWidthX,w._nominalWidthX=S.nominalWidthX,S.subrs!==0){let T=C+S.subrs,Y=gr(t,T+n,void 0,c);w._subrs=Y.objects,w._subrsBias=gs(w._subrs)}w._privateDict=S}h.push(w)}return h}function cB(t,n,s,a,c){let h,d,B=new he.Parser(t,n);s-=1;let w=[".notdef"],x=B.parseCard8();if(x===0)for(let C=0;C<s;C+=1)h=B.parseSID(),c?w.push(h):w.push(gn(a,h)||h);else if(x===1)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard8();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(a,h)||h),h+=1}else if(x===2)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard16();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(a,h)||h),h+=1}else throw new Error("Unknown charset format "+x);return w}function uB(t,n){let s,a={},c=new he.Parser(t,n),h=c.parseCard8();if(h===0){let d=c.parseCard8();for(let B=0;B<d;B+=1)s=c.parseCard8(),a[s]=B}else if(h===1){let d=c.parseCard8();s=1;for(let B=0;B<d;B+=1){let w=c.parseCard8(),x=c.parseCard8();for(let C=w;C<=w+x;C+=1)a[C]=s,s+=1}}else throw new Error("Unknown encoding format "+h);return a}function hB(t){let n=t.pop();for(;t.length>n;)t.pop()}function rc(t,n){let s=t.tables.cff&&t.tables.cff.topDict&&t.tables.cff.topDict.paintType||0;return s===2&&(n.fill=null,n.stroke="black",n.strokeWidth=t.tables.cff.topDict.strokeWidth||0),s}function Wo(t,n,s,a,c){let h,d,B,w,x=new z,C=[],S=0,T=!1,Y=!1,U=0,L=0,ee,Te,xe,Re,Je=0,$e=[],nt,st=0,Bt=t.tables.cff2||t.tables.cff;if(xe=Bt.topDict._defaultWidthX,Re=Bt.topDict._nominalWidthX,c=c||t.variation&&t.variation.get(),n.getBlendPath||(n.getBlendPath=function(we){return Wo(t,n,s,a,we)}),t.isCIDFont||a>1){let we=Bt.topDict._fdSelect?Bt.topDict._fdSelect[n.index]:0,Ce=Bt.topDict._fdArray[we];ee=Ce._subrs,Te=Ce._subrsBias,a>1?($e=Bt.topDict._vstore.itemVariationStore,Je=Ce._privateDict.vsindex):(xe=Ce._defaultWidthX,Re=Ce._nominalWidthX)}else ee=Bt.topDict._subrs,Te=Bt.topDict._subrsBias;let sr=rc(t,x),Ve=xe;function Vt(we,Ce){Y&&sr!==2&&x.closePath(),x.moveTo(we,Ce),Y=!0}function Dt(){let we;we=(C.length&1)!==0,we&&!T&&(Ve=C.shift()+Re),S+=C.length>>1,C.length=0,T=!0}function Se(we){let Ce,vt,$r,vs,mi,or,Mt,Xt,It,jt,Ut,kt,gt=0;for(;gt<we.length;){let qt=we[gt];switch(gt+=1,qt){case 1:Dt();break;case 3:Dt();break;case 4:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),Vt(U,L);break;case 5:for(;C.length>0;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 6:for(;C.length>0&&(U+=C.shift(),x.lineTo(U,L),C.length!==0);)L+=C.shift(),x.lineTo(U,L);break;case 7:for(;C.length>0&&(L+=C.shift(),x.lineTo(U,L),C.length!==0);)U+=C.shift(),x.lineTo(U,L);break;case 8:for(;C.length>0;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 10:if(mi=C.pop()+Te,or=ee[mi],or){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callsubr");break}st++,Se(or),st--}break;case 11:if(a>1){console.error("CFF CharString operator return (11) is not supported in CFF2");break}return;case 12:switch(qt=we[gt],gt+=1,qt){case 35:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w+C.shift(),It=Mt+C.shift(),jt=Xt+C.shift(),Ut=It+C.shift(),kt=jt+C.shift(),U=Ut+C.shift(),L=kt+C.shift(),C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 34:h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),kt=L,U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 36:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),kt=jt+C.shift(),U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;case 37:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),Xt=w+C.shift(),It=Mt+C.shift(),jt=Xt+C.shift(),Ut=It+C.shift(),kt=jt+C.shift(),Math.abs(Ut-U)>Math.abs(kt-L)?U=Ut+C.shift():L=kt+C.shift(),x.curveTo(h,d,B,w,Mt,Xt),x.curveTo(It,jt,Ut,kt,U,L);break;default:console.log("Glyph "+n.index+": unknown operator 1200"+qt),C.length=0}break;case 14:if(a>1){console.error("CFF CharString operator endchar (14) is not supported in CFF2");break}if(C.length>=4){let Bi=Oo[C.pop()],Ri=Oo[C.pop()],Is=C.pop(),Fs=C.pop();if(Bi&&Ri){n.isComposite=!0,n.components=[];let mu=t.cffEncoding.charset.indexOf(Bi),Bu=t.cffEncoding.charset.indexOf(Ri);n.components.push({glyphIndex:Bu,dx:0,dy:0}),n.components.push({glyphIndex:mu,dx:Fs,dy:Is}),x.extend(t.glyphs.get(Bu).path);let Xy=t.glyphs.get(mu),aa=JSON.parse(JSON.stringify(Xy.path.commands));for(let Aa=0;Aa<aa.length;Aa+=1){let Br=aa[Aa];Br.type!=="Z"&&(Br.x+=Fs,Br.y+=Is),(Br.type==="Q"||Br.type==="C")&&(Br.x1+=Fs,Br.y1+=Is),Br.type==="C"&&(Br.x2+=Fs,Br.y2+=Is)}x.extend(aa)}}else C.length>0&&!T&&(Ve=C.shift()+Re,T=!0);Y&&sr!==2&&(x.closePath(),Y=!1);break;case 15:if(a<2){console.error("CFF2 CharString operator vsindex (15) is not supported in CFF");break}Je=C.pop();break;case 16:if(a<2){console.error("CFF2 CharString operator blend (16) is not supported in CFF");break}nt||(nt=t.variation&&c&&t.variation.process.getBlendVector($e,Je,c));var ot=C.pop(),Nt=nt?nt.length:$e.itemVariationSubtables[Je].regionIndexes.length,zt=ot*Nt,ar=C.length-zt,Mr=ar-ot;if(nt)for(let Bi=0;Bi<ot;Bi++){var gu=C[Mr+Bi];for(let Ri=0;Ri<Nt;Ri++)gu+=nt[Ri]*C[ar++];C[Mr+Bi]=gu}for(;zt--;)C.pop();break;case 18:Dt();break;case 19:case 20:Dt(),gt+=S+7>>3;break;case 21:C.length>2&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),U+=C.pop(),Vt(U,L);break;case 22:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),U+=C.pop(),Vt(U,L);break;case 23:Dt();break;case 24:for(;C.length>2;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 25:for(;C.length>6;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 26:for(C.length&1&&(U+=C.shift());C.length>0;)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B,L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 27:for(C.length&1&&(L+=C.shift());C.length>0;)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w,x.curveTo(h,d,B,w,U,L);break;case 28:Ce=we[gt],vt=we[gt+1],C.push((Ce<<24|vt<<16)>>16),gt+=2;break;case 29:if(mi=C.pop()+t.gsubrsBias,or=t.gsubrs[mi],or){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callgsubr");break}st++,Se(or),st--}break;case 30:for(;C.length>0&&(h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;case 31:for(;C.length>0&&(h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;default:qt<32?console.log("Glyph "+n.index+": unknown operator "+qt):qt<247?C.push(qt-139):qt<251?(Ce=we[gt],gt+=1,C.push((qt-247)*256+Ce+108)):qt<255?(Ce=we[gt],gt+=1,C.push(-(qt-251)*256-Ce-108)):(Ce=we[gt],vt=we[gt+1],$r=we[gt+2],vs=we[gt+3],gt+=4,C.push((Ce<<24|vt<<16|$r<<8|vs)/65536))}}}return Se(s),t.variation&&c&&(x.commands=x.commands.map(we=>{let Ce=Object.keys(we);for(let vt=0;vt<Ce.length;vt++){let $r=Ce[vt];$r!=="type"&&(we[$r]=Math.round(we[$r]))}return we})),T&&(n.advanceWidth=Ve),x}function ic(t,n,s,a,c){let h=[],d,B=new he.Parser(t,n),w=B.parseCard8();if(w===0)for(let x=0;x<s;x++){if(d=B.parseCard8(),d>=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+a+")");h.push(d)}else if(w===3||c>1&&w===4){let x=w===4?B.parseULong():B.parseCard16(),C=w===4?B.parseULong():B.parseCard16();if(C!==0)throw new Error(`CFF Table CID Font FDSelect format ${w} range has bad initial GID ${C}`);let S;for(let T=0;T<x;T++){if(d=w===4?B.parseUShort():B.parseCard8(),S=w===4?B.parseULong():B.parseCard16(),d>=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+a+")");if(S>s)throw new Error(`CFF Table CID Font FDSelect format ${c} range has bad GID ${S}`);for(;C<S;C++)h.push(d);C=S}if(S!==s)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID "+S)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+w);return h}function fB(t,n,s,a){let c,h=sB(t,n);h.formatMajor===2?c=s.tables.cff2={}:c=s.tables.cff={};let d=h.formatMajor>1?null:gr(t,h.endOffset,he.bytesToString),B=h.formatMajor>1?null:gr(t,d.endOffset),w=h.formatMajor>1?null:gr(t,B.endOffset,he.bytesToString),x=gr(t,h.formatMajor>1?n+h.size+h.topDictLength:w.endOffset,void 0,h.formatMajor);s.gsubrs=x.objects,s.gsubrsBias=gs(s.gsubrs);let C;if(h.formatMajor>1){let T=n+h.size,Y=he.getBytes(t,T,T+h.topDictLength);C=Ho(t,0,[Y],void 0,h.formatMajor)[0]}else{let T=Ho(t,n,B.objects,w.objects,h.formatMajor);if(T.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+T.length);C=T[0]}if(c.topDict=C,C._privateDict&&(s.defaultWidthX=C._privateDict.defaultWidthX,s.nominalWidthX=C._privateDict.nominalWidthX),h.formatMajor<2&&C.ros[0]!==void 0&&C.ros[1]!==void 0&&(s.isCIDFont=!0),h.formatMajor>1){let T=C.fdArray,Y=C.fdSelect;if(!T)throw new Error("This is a CFF2 font, but FDArray information is missing");let U=gr(t,n+T,null,h.formatMajor),L=lB(t,n,U.objects);C._fdArray=L,Y&&(C._fdSelect=ic(t,n+Y,s.numGlyphs,L.length,h.formatMajor))}else if(s.isCIDFont){let T=C.fdArray,Y=C.fdSelect;if(T===0||Y===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");T+=n;let U=gr(t,T),L=Ho(t,n,U.objects,w.objects,h.formatMajor);C._fdArray=L,Y+=n,C._fdSelect=ic(t,Y,s.numGlyphs,L.length,h.formatMajor)}if(h.formatMajor<2){let T=n+C.private[1],Y=Po(t,T,C.private[0],w.objects,h.formatMajor);if(s.defaultWidthX=Y.defaultWidthX,s.nominalWidthX=Y.nominalWidthX,Y.subrs!==0){let U=T+Y.subrs,L=gr(t,U);s.subrs=L.objects,s.subrsBias=gs(s.subrs)}else s.subrs=[],s.subrsBias=0}let S;if(a.lowMemory?(S=eB(t,n+C.charStrings,h.formatMajor),s.nGlyphs=S.offsets.length-(h.formatMajor>1?1:0)):(S=gr(t,n+C.charStrings,null,h.formatMajor),s.nGlyphs=S.objects.length),h.formatMajor>1&&s.tables.maxp&&s.nGlyphs!==s.tables.maxp.numGlyphs&&console.error(`Glyph count in the CFF2 table (${s.nGlyphs}) must correspond to the glyph count in the maxp table (${s.tables.maxp.numGlyphs})`),h.formatMajor<2){let T=[],Y=[];C.charset===0?T=R0:C.charset===1?T=G0:C.charset===2?T=L0:T=cB(t,n+C.charset,s.nGlyphs,w.objects,s.isCIDFont),C.encoding===0?Y=Oo:C.encoding===1?Y=P0:Y=uB(t,n+C.encoding),s.cffEncoding=new jl(Y,T),s.encoding=s.encoding||s.cffEncoding}if(s.glyphs=new dr.GlyphSet(s),a.lowMemory)s._push=function(T){let Y=tB(T,S.offsets,t,n+C.charStrings,void 0,h.formatMajor);s.glyphs.push(T,dr.cffGlyphLoader(s,T,Wo,Y,h.formatMajor))};else for(let T=0;T<s.nGlyphs;T+=1){let Y=S.objects[T];s.glyphs.push(T,dr.cffGlyphLoader(s,T,Wo,Y,h.formatMajor))}if(C.vstore){let T=new he.Parser(t,n+C.vstore);C._vstore=T.parseVariationStore()}}function nc(t,n){let s,a=fs.indexOf(t);return a>=0&&(s=a),a=n.indexOf(t),a>=0?s=a+fs.length:(s=fs.length+n.length,n.push(t)),s}function pB(){return new $.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function dB(t){let n=new $.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);n.names=[];for(let s=0;s<t.length;s+=1)n.names.push({name:"name_"+s,type:"NAME",value:t[s]});return n}function sc(t,n,s){let a={};for(let c=0;c<t.length;c+=1){let h=t[c],d=n[h.name];d!==void 0&&!zl(d,h.value)&&(h.type==="SID"&&(d=nc(d,s)),a[h.op]={name:h.name,type:h.type,value:d})}return a}function oc(t,n,s){let a=new $.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return a.dict=sc(s>1?$l:Kl,t,n),a}function ac(t){let n=new $.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return n.topDicts=[{name:"topDict_0",type:"TABLE",value:t}],n}function gB(t){let n=new $.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);n.strings=[];for(let s=0;s<t.length;s+=1)n.strings.push({name:"string_"+s,type:"STRING",value:t[s]});return n}function mB(){return new $.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function BB(t,n){let s=new $.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let a=0;a<t.length;a+=1){let c=t[a],h=nc(c,n);s.fields.push({name:"glyph_"+a,type:"SID",value:h})}return s}function EB(t,n){let s=[],a=t.path;n<2&&s.push({name:"width",type:"NUMBER",value:t.advanceWidth});let c=0,h=0;for(let d=0;d<a.commands.length;d+=1){let B,w,x=a.commands[d];if(x.type==="Q"){let C=.3333333333333333,S=2/3;x={type:"C",x:x.x,y:x.y,x1:Math.round(C*c+S*x.x1),y1:Math.round(C*h+S*x.y1),x2:Math.round(C*x.x+S*x.x1),y2:Math.round(C*x.y+S*x.y1)}}if(x.type==="M")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rmoveto",type:"OP",value:21}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="L")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rlineto",type:"OP",value:5}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="C"){let C=Math.round(x.x1-c),S=Math.round(x.y1-h),T=Math.round(x.x2-x.x1),Y=Math.round(x.y2-x.y1);B=Math.round(x.x-x.x2),w=Math.round(x.y-x.y2),s.push({name:"dx1",type:"NUMBER",value:C}),s.push({name:"dy1",type:"NUMBER",value:S}),s.push({name:"dx2",type:"NUMBER",value:T}),s.push({name:"dy2",type:"NUMBER",value:Y}),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rrcurveto",type:"OP",value:8}),c=Math.round(x.x),h=Math.round(x.y)}}return n<2&&s.push({name:"endchar",type:"OP",value:14}),s}function wB(t,n){let s=new $.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let a=0;a<t.length;a+=1){let c=t.get(a),h=EB(c,n);s.charStrings.push({name:c.name,type:"CHARSTRING",value:h})}return s}function yB(t,n,s){let a=new $.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return a.dict=sc(s>1?tc:ec,t,n),a}function CB(t,n){let a=new $.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),c=1/n.unitsPerEm,h={version:n.version,fullName:n.fullName,familyName:n.familyName,weight:n.weightName,fontBBox:n.fontBBox||[0,0,0,0],fontMatrix:[c,0,0,c,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},d=n&&n.topDict||{};d.paintType&&(h.paintType=d.paintType,h.strokeWidth=d.strokeWidth||0);let B={},w=[],x;for(let Y=1;Y<t.length;Y+=1)x=t.get(Y),w.push(x.name);let C=[];a.header=pB(),a.nameIndex=dB([n.postScriptName]);let S=oc(h,C);a.topDictIndex=ac(S),a.globalSubrIndex=mB(),a.charsets=BB(w,C),a.charStringsIndex=wB(t,1),a.privateDict=yB(B,C),a.stringIndex=gB(C);let T=a.header.sizeOf()+a.nameIndex.sizeOf()+a.topDictIndex.sizeOf()+a.stringIndex.sizeOf()+a.globalSubrIndex.sizeOf();return h.charset=T,h.encoding=0,h.charStrings=h.charset+a.charsets.sizeOf(),h.private[1]=h.charStrings+a.charStringsIndex.sizeOf(),S=oc(h,C),a.topDictIndex=ac(S),a}var Jo={parse:fB,make:CB};function bB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.fontRevision=Math.round(a.parseFixed()*1e3)/1e3,s.checkSumAdjustment=a.parseULong(),s.magicNumber=a.parseULong(),G.argument(s.magicNumber===1594834165,"Font header has wrong magic number."),s.flags=a.parseUShort(),s.unitsPerEm=a.parseUShort(),s.created=a.parseLongDateTime(),s.modified=a.parseLongDateTime(),s.xMin=a.parseShort(),s.yMin=a.parseShort(),s.xMax=a.parseShort(),s.yMax=a.parseShort(),s.macStyle=a.parseUShort(),s.lowestRecPPEM=a.parseUShort(),s.fontDirectionHint=a.parseShort(),s.indexToLocFormat=a.parseShort(),s.glyphDataFormat=a.parseShort(),s}function xB(t){let n=Math.round(new Date().getTime()/1e3)+2082844800,s=n,a=t.macStyle||0;return t.createdTimestamp&&(s=t.createdTimestamp+2082844800),new $.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:s},{name:"modified",type:"LONGDATETIME",value:n},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:a},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],t)}var Ac={parse:bB,make:xB};function QB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.ascender=a.parseShort(),s.descender=a.parseShort(),s.lineGap=a.parseShort(),s.advanceWidthMax=a.parseUShort(),s.minLeftSideBearing=a.parseShort(),s.minRightSideBearing=a.parseShort(),s.xMaxExtent=a.parseShort(),s.caretSlopeRise=a.parseShort(),s.caretSlopeRun=a.parseShort(),s.caretOffset=a.parseShort(),a.relativeOffset+=8,s.metricDataFormat=a.parseShort(),s.numberOfHMetrics=a.parseUShort(),s}function vB(t){return new $.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],t)}var lc={parse:QB,make:vB};function IB(t,n,s,a,c){let h,d,B=new he.Parser(t,n);for(let w=0;w<a;w+=1){w<s&&(h=B.parseUShort(),d=B.parseShort());let x=c.get(w);x.advanceWidth=h,x.leftSideBearing=d}}function FB(t,n,s,a,c){t._hmtxTableData={};let h,d,B=new he.Parser(n,s);for(let w=0;w<c;w+=1)w<a&&(h=B.parseUShort(),d=B.parseShort()),t._hmtxTableData[w]={advanceWidth:h,leftSideBearing:d}}function TB(t,n,s,a,c,h,d){d.lowMemory?FB(t,n,s,a,c):IB(n,s,a,c,h)}function SB(t){let n=new $.Table("hmtx",[]);for(let s=0;s<t.length;s+=1){let a=t.get(s),c=a.advanceWidth||0,h=a.leftSideBearing||0;n.fields.push({name:"advanceWidth_"+s,type:"USHORT",value:c}),n.fields.push({name:"leftSideBearing_"+s,type:"SHORT",value:h})}return n}var cc={parse:TB,make:SB};function DB(t){let n=new $.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:t.length}]),s="",a=12+t.length*4;for(let c=0;c<t.length;++c){let h=s.indexOf(t[c]);h<0&&(h=s.length,s+=t[c]),n.fields.push({name:"offset "+c,type:"USHORT",value:a+h}),n.fields.push({name:"length "+c,type:"USHORT",value:t[c].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),n}function MB(t,n){let s=new he.Parser(t,n),a=s.parseULong();G.argument(a===1,"Unsupported ltag table version."),s.skip("uLong",1);let c=s.parseULong(),h=[];for(let d=0;d<c;d++){let B="",w=n+s.parseUShort(),x=s.parseUShort();for(let C=w;C<w+x;++C)B+=String.fromCharCode(t.getInt8(C));h.push(B)}return h}var uc={make:DB,parse:MB};function UB(t,n){let s={},a=new he.Parser(t,n);return s.version=a.parseVersion(),s.numGlyphs=a.parseUShort(),s.version===1&&(s.maxPoints=a.parseUShort(),s.maxContours=a.parseUShort(),s.maxCompositePoints=a.parseUShort(),s.maxCompositeContours=a.parseUShort(),s.maxZones=a.parseUShort(),s.maxTwilightPoints=a.parseUShort(),s.maxStorage=a.parseUShort(),s.maxFunctionDefs=a.parseUShort(),s.maxInstructionDefs=a.parseUShort(),s.maxStackElements=a.parseUShort(),s.maxSizeOfInstructions=a.parseUShort(),s.maxComponentElements=a.parseUShort(),s.maxComponentDepth=a.parseUShort()),s}function kB(t){return new $.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:t}])}var hc={parse:UB,make:kB},Vo=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function YB(t){for(let n=0;n<Vo.length;n+=1){let s=Vo[n];if(t>=s.begin&&t<s.end)return n}return-1}function OB(t,n){let s={},a=new he.Parser(t,n);s.version=a.parseUShort(),s.xAvgCharWidth=a.parseShort(),s.usWeightClass=a.parseUShort(),s.usWidthClass=a.parseUShort(),s.fsType=a.parseUShort(),s.ySubscriptXSize=a.parseShort(),s.ySubscriptYSize=a.parseShort(),s.ySubscriptXOffset=a.parseShort(),s.ySubscriptYOffset=a.parseShort(),s.ySuperscriptXSize=a.parseShort(),s.ySuperscriptYSize=a.parseShort(),s.ySuperscriptXOffset=a.parseShort(),s.ySuperscriptYOffset=a.parseShort(),s.yStrikeoutSize=a.parseShort(),s.yStrikeoutPosition=a.parseShort(),s.sFamilyClass=a.parseShort(),s.panose=[];for(let c=0;c<10;c++)s.panose[c]=a.parseByte();return s.ulUnicodeRange1=a.parseULong(),s.ulUnicodeRange2=a.parseULong(),s.ulUnicodeRange3=a.parseULong(),s.ulUnicodeRange4=a.parseULong(),s.achVendID=String.fromCharCode(a.parseByte(),a.parseByte(),a.parseByte(),a.parseByte()),s.fsSelection=a.parseUShort(),s.usFirstCharIndex=a.parseUShort(),s.usLastCharIndex=a.parseUShort(),s.sTypoAscender=a.parseShort(),s.sTypoDescender=a.parseShort(),s.sTypoLineGap=a.parseShort(),s.usWinAscent=a.parseUShort(),s.usWinDescent=a.parseUShort(),s.version>=1&&(s.ulCodePageRange1=a.parseULong(),s.ulCodePageRange2=a.parseULong()),s.version>=2&&(s.sxHeight=a.parseShort(),s.sCapHeight=a.parseShort(),s.usDefaultChar=a.parseUShort(),s.usBreakChar=a.parseUShort(),s.usMaxContent=a.parseUShort()),s}function NB(t){return new $.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],t)}var jo={parse:OB,make:NB,unicodeRanges:Vo,getUnicodeRange:YB};function RB(t,n){let s={},a=new he.Parser(t,n);switch(s.version=a.parseVersion(),s.italicAngle=a.parseFixed(),s.underlinePosition=a.parseShort(),s.underlineThickness=a.parseShort(),s.isFixedPitch=a.parseULong(),s.minMemType42=a.parseULong(),s.maxMemType42=a.parseULong(),s.minMemType1=a.parseULong(),s.maxMemType1=a.parseULong(),s.version){case 1:s.names=hi.slice();break;case 2:s.numberOfGlyphs=a.parseUShort(),s.glyphNameIndex=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.glyphNameIndex[c]=a.parseUShort();s.names=[];for(let c=0;c<s.numberOfGlyphs;c++)if(s.glyphNameIndex[c]>=hi.length){let h=a.parseChar();s.names.push(a.parseString(h))}break;case 2.5:s.numberOfGlyphs=a.parseUShort(),s.offset=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.offset[c]=a.parseChar();break}return s}function GB(t){let{italicAngle:n=Math.round((t.italicAngle||0)*65536),underlinePosition:s=0,underlineThickness:a=0,isFixedPitch:c=0,minMemType42:h=0,maxMemType42:d=0,minMemType1:B=0,maxMemType1:w=0}=t.tables.post||{};return new $.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:n},{name:"underlinePosition",type:"FWORD",value:s},{name:"underlineThickness",type:"FWORD",value:a},{name:"isFixedPitch",type:"ULONG",value:c},{name:"minMemType42",type:"ULONG",value:h},{name:"maxMemType42",type:"ULONG",value:d},{name:"minMemType1",type:"ULONG",value:B},{name:"maxMemType1",type:"ULONG",value:w}])}var fc={parse:RB,make:GB},ir=new Array(9);ir[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),deltaGlyphId:this.parseShort()};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),substitute:this.parseOffset16List()};G.assert(!1,"0x"+n.toString(16)+": lookup type 1 format must be 1 or 2.")},ir[2]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),sequences:this.parseListOfLists()}},ir[3]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),alternateSets:this.parseListOfLists()}},ir[4]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB ligature table identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Yi={sequenceIndex:V.uShort,lookupListIndex:V.uShort};ir[5]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:s,coverage:this.parsePointer(V.coverage),ruleSets:this.parseListOfLists(function(){let a=this.parseUShort(),c=this.parseUShort();return{input:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(c,Yi)}})};if(s===2)return{substFormat:s,coverage:this.parsePointer(V.coverage),classDef:this.parsePointer(V.classDef),classSets:this.parseListOfLists(function(){let a=this.parseUShort(),c=this.parseUShort();return{classes:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(c,Yi)}})};if(s===3){let a=this.parseUShort(),c=this.parseUShort();return{substFormat:s,coverages:this.parseList(a,V.pointer(V.coverage)),lookupRecords:this.parseRecordList(c,Yi)}}G.assert(!1,"0x"+n.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},ir[6]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Yi)}})};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),backtrackClassDef:this.parsePointer(V.classDef),inputClassDef:this.parsePointer(V.classDef),lookaheadClassDef:this.parsePointer(V.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Yi)}})};if(s===3)return{substFormat:3,backtrackCoverage:this.parseList(V.pointer(V.coverage)),inputCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),lookupRecords:this.parseRecordList(Yi)};G.assert(!1,"0x"+n.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},ir[7]=function(){let n=this.parseUShort();G.argument(n===1,"GSUB Extension Substitution subtable identifier-format must be 1");let s=this.parseUShort(),a=new V(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:s,extension:ir[s].call(a)}},ir[8]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),backtrackCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),substitutes:this.parseUShortList()}};function LB(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);return G.argument(a===1||a===1.1,"Unsupported GSUB table version."),a===1?{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir)}:{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir),variations:s.parseFeatureVariationsList()}}var pi=new Array(9);pi[1]=function(n){if(n.substFormat===1)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"deltaGlyphID",type:"SHORT",value:n.deltaGlyphId}]);if(n.substFormat===2)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.ushortList("substitute",n.substitute)));G.fail("Lookup type 1 substFormat must be 1 or 2.")},pi[2]=function(n){return G.assert(n.substFormat===1,"Lookup type 2 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("seqSet",n.sequences,function(s){return new $.Table("sequenceSetTable",$.ushortList("sequence",s))})))},pi[3]=function(n){return G.assert(n.substFormat===1,"Lookup type 3 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("altSet",n.alternateSets,function(s){return new $.Table("alternateSetTable",$.ushortList("alternate",s))})))},pi[4]=function(n){return G.assert(n.substFormat===1,"Lookup type 4 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("ligSet",n.ligatureSets,function(s){return new $.Table("ligatureSetTable",$.tableList("ligature",s,function(a){return new $.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:a.ligGlyph}].concat($.ushortList("component",a.components,a.components.length+1)))}))})))},pi[5]=function(n){if(n.substFormat===1)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("sequenceRuleSet",n.ruleSets,function(s){return s?new $.Table("sequenceRuleSetTable",$.tableList("sequenceRule",s,function(a){let c=$.ushortList("seqLookup",[],a.lookupRecords.length).concat($.ushortList("inputSequence",a.input,a.input.length+1));[c[0],c[1]]=[c[1],c[0]];for(let h=0;h<a.lookupRecords.length;h++){let d=a.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("sequenceRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===2)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"classDef",type:"TABLE",value:new $.ClassDef(n.classDef)}].concat($.tableList("classSeqRuleSet",n.classSets,function(s){return s?new $.Table("classSeqRuleSetTable",$.tableList("classSeqRule",s,function(a){let c=$.ushortList("classes",a.classes,a.classes.length+1).concat($.ushortList("seqLookupCount",[],a.lookupRecords.length));for(let h=0;h<a.lookupRecords.length;h++){let d=a.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("classSeqRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"inputGlyphCount",type:"USHORT",value:n.coverages.length}),s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.coverages.length;c++){let h=n.coverages[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("contextualSubstitutionTable",s)}G.assert(!1,"lookup type 5 format must be 1, 2 or 3.")},pi[6]=function(n){if(n.substFormat===1)return new $.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("chainRuleSet",n.chainRuleSets,function(a){return new $.Table("chainRuleSetTable",$.tableList("chainRule",a,function(c){let h=$.ushortList("backtrackGlyph",c.backtrack,c.backtrack.length).concat($.ushortList("inputGlyph",c.input,c.input.length+1)).concat($.ushortList("lookaheadGlyph",c.lookahead,c.lookahead.length)).concat($.ushortList("substitution",[],c.lookupRecords.length));for(let d=0;d<c.lookupRecords.length;d++){let B=c.lookupRecords[d];h=h.concat({name:"sequenceIndex"+d,type:"USHORT",value:B.sequenceIndex}).concat({name:"lookupListIndex"+d,type:"USHORT",value:B.lookupListIndex})}return new $.Table("chainRuleTable",h)}))})));if(n.substFormat===2)G.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"backtrackGlyphCount",type:"USHORT",value:n.backtrackCoverage.length});for(let c=0;c<n.backtrackCoverage.length;c++){let h=n.backtrackCoverage[c];s.push({name:"backtrackCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"inputGlyphCount",type:"USHORT",value:n.inputCoverage.length});for(let c=0;c<n.inputCoverage.length;c++){let h=n.inputCoverage[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"lookaheadGlyphCount",type:"USHORT",value:n.lookaheadCoverage.length});for(let c=0;c<n.lookaheadCoverage.length;c++){let h=n.lookaheadCoverage[c];s.push({name:"lookaheadCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("chainContextTable",s)}G.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function PB(t){return new $.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,pi)}])}var pc={parse:LB,make:PB};function HB(t,n){let s=new he.Parser(t,n),a=s.parseULong();G.argument(a===1,"Unsupported META table version."),s.parseULong(),s.parseULong();let c=s.parseULong(),h={};for(let d=0;d<c;d++){let B=s.parseTag(),w=s.parseULong(),x=s.parseULong();if(B==="appl"||B==="bild")continue;let C=Qe.UTF8(t,n+w,x);h[B]=C}return h}function WB(t){let n=Object.keys(t).length,s="",a=16+n*12,c=new $.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:a},{name:"numTags",type:"ULONG",value:n}]);for(let h in t){let d=s.length;s+=t[h],c.fields.push({name:"tag "+h,type:"TAG",value:h}),c.fields.push({name:"offset "+h,type:"ULONG",value:a+d}),c.fields.push({name:"length "+h,type:"ULONG",value:t[h].length})}return c.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),c}var dc={parse:HB,make:WB};function JB(t,n){let s=new V(t,n),a=s.parseUShort();a!==0&&console.warn("Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.");let c=s.parseUShort(),h=s.parseOffset32(),d=s.parseOffset32(),B=s.parseUShort();s.relativeOffset=h;let w=s.parseRecordList(c,{glyphID:V.uShort,firstLayerIndex:V.uShort,numLayers:V.uShort});s.relativeOffset=d;let x=s.parseRecordList(B,{glyphID:V.uShort,paletteIndex:V.uShort});return{version:a,baseGlyphRecords:w,layerRecords:x}}function VB({version:t=0,baseGlyphRecords:n=[],layerRecords:s=[]}){G.argument(t===0,"Only COLRv0 supported.");let a=14,c=a+n.length*6;return new $.Table("COLR",[{name:"version",type:"USHORT",value:t},{name:"numBaseGlyphRecords",type:"USHORT",value:n.length},{name:"baseGlyphRecordsOffset",type:"ULONG",value:a},{name:"layerRecordsOffset",type:"ULONG",value:c},{name:"numLayerRecords",type:"USHORT",value:s.length},...n.map((h,d)=>[{name:"glyphID_"+d,type:"USHORT",value:h.glyphID},{name:"firstLayerIndex_"+d,type:"USHORT",value:h.firstLayerIndex},{name:"numLayers_"+d,type:"USHORT",value:h.numLayers}]).flat(),...s.map((h,d)=>[{name:"LayerGlyphID_"+d,type:"USHORT",value:h.glyphID},{name:"paletteIndex_"+d,type:"USHORT",value:h.paletteIndex}]).flat()])}var gc={parse:JB,make:VB};function jB(t,n){return[{name:"tag_"+t,type:"TAG",value:n.tag},{name:"minValue_"+t,type:"FIXED",value:n.minValue<<16},{name:"defaultValue_"+t,type:"FIXED",value:n.defaultValue<<16},{name:"maxValue_"+t,type:"FIXED",value:n.maxValue<<16},{name:"flags_"+t,type:"USHORT",value:0},{name:"nameID_"+t,type:"USHORT",value:n.axisNameID}]}function _B(t,n,s){let a={},c=new he.Parser(t,n);a.tag=c.parseTag(),a.minValue=c.parseFixed(),a.defaultValue=c.parseFixed(),a.maxValue=c.parseFixed(),c.skip("uShort",1);let h=c.parseUShort();return a.axisNameID=h,a.name=ui(s,h),a}function ZB(t,n,s,a={}){let c=[{name:"nameID_"+t,type:"USHORT",value:n.subfamilyNameID},{name:"flags_"+t,type:"USHORT",value:0}];for(let h=0;h<s.length;++h){let d=s[h].tag;c.push({name:"axis_"+t+" "+d,type:"FIXED",value:n.coordinates[d]<<16})}return a&&a.postScriptNameID&&c.push({name:"postScriptNameID_",type:"USHORT",value:n.postScriptNameID!==void 0?n.postScriptNameID:65535}),c}function XB(t,n,s,a,c){let h={},d=new he.Parser(t,n),B=d.parseUShort();h.subfamilyNameID=B,h.name=ui(a,B,[2,17]),d.skip("uShort",1),h.coordinates={};for(let x=0;x<s.length;++x)h.coordinates[s[x].tag]=d.parseFixed();if(d.relativeOffset===c)return h.postScriptNameID=void 0,h.postScriptName=void 0,h;let w=d.parseUShort();return h.postScriptNameID=w==65535?void 0:w,h.postScriptName=h.postScriptNameID!==void 0?ui(a,w,[6]):"",h}function zB(t,n){let s=new $.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:t.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:t.instances.length},{name:"instanceSize",type:"USHORT",value:4+t.axes.length*4}]);s.offsetToData=s.sizeOf();for(let c=0;c<t.axes.length;c++)s.fields=s.fields.concat(jB(c,t.axes[c],n));let a={};for(let c=0;c<t.instances.length;c++)if(t.instances[c].postScriptNameID!==void 0){s.instanceSize+=2,a.postScriptNameID=!0;break}for(let c=0;c<t.instances.length;c++)s.fields=s.fields.concat(ZB(c,t.instances[c],t.axes,a));return s}function qB(t,n,s){let a=new he.Parser(t,n),c=a.parseULong();G.argument(c===65536,"Unsupported fvar table version.");let h=a.parseOffset16();a.skip("uShort",1);let d=a.parseUShort(),B=a.parseUShort(),w=a.parseUShort(),x=a.parseUShort(),C=[];for(let Y=0;Y<d;Y++)C.push(_B(t,n+h+Y*B,s));let S=[],T=n+h+d*B;for(let Y=0;Y<w;Y++)S.push(XB(t,T+Y*x,C,s,x));return{axes:C,instances:S}}var mc={make:zB,parse:qB},KB={tag:V.tag,nameID:V.uShort,ordering:V.uShort},mn=new Array(5);mn[1]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed()}},mn[2]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),nominalValue:this.parseFixed(),rangeMinValue:this.parseFixed(),rangeMaxValue:this.parseFixed()}},mn[3]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed(),linkedValue:this.parseFixed()}},mn[4]=function(){let n=this.parseUShort();return{flags:this.parseUShort(),valueNameID:this.parseUShort(),axisValues:this.parseList(n,function(){return{axisIndex:this.parseUShort(),value:this.parseFixed()}})}};function $B(){let t=this.parseUShort(),n=mn[t],s={format:t};return n===void 0?(console.warn(`Unknown axis value table format ${t}`),s):Object.assign(s,this.parseStruct(n.bind(this)))}function eE(t,n,s){n||(n=0);let a=new he.Parser(t,n),c=a.parseUShort(),h=a.parseUShort();c!==1&&console.warn(`Unsupported STAT table version ${c}.${h}`);let d=[c,h],B=a.parseUShort(),w=a.parseUShort(),x=a.parseOffset32(),C=a.parseUShort(),S=a.parseOffset32(),T=c>1||h>0?a.parseUShort():void 0;s!==void 0&&G.argument(w>=s.axes.length,"STAT axis count must be greater than or equal to fvar axis count"),C>0&&G.argument(w>=0,"STAT axis count must be greater than 0 if STAT axis value count is greater than 0");let Y=[];for(let ee=0;ee<w;ee++)a.offset=n+x,a.relativeOffset=ee*B,Y.push(a.parseStruct(KB));a.offset=n,a.relativeOffset=S;let U=a.parseUShortList(C),L=[];for(let ee=0;ee<C;ee++)a.offset=n+S,a.relativeOffset=U[ee],L.push($B.apply(a));return{version:d,axes:Y,values:L,elidedFallbackNameID:T}}var Bn=new Array(5);Bn[1]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:1},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value}]},Bn[2]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:2},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`nominalValue${n}`,type:"FLOAT",value:s.nominalValue},{name:`rangeMinValue${n}`,type:"FLOAT",value:s.rangeMinValue},{name:`rangeMaxValue${n}`,type:"FLOAT",value:s.rangeMaxValue}]},Bn[3]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:3},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value},{name:`linkedValue${n}`,type:"FLOAT",value:s.linkedValue}]},Bn[4]=function(n,s){let a=[{name:`format${n}`,type:"USHORT",value:4},{name:`axisCount${n}`,type:"USHORT",value:s.axisValues.length},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID}];for(let c=0;c<s.axisValues.length;c++)a=a.concat([{name:`format${n}axisIndex${c}`,type:"USHORT",value:s.axisValues[c].axisIndex},{name:`format${n}value${c}`,type:"FLOAT",value:s.axisValues[c].value}]);return a};function tE(t,n){return new $.Record("axisRecord_"+t,[{name:"axisTag_"+t,type:"TAG",value:n.tag},{name:"axisNameID_"+t,type:"USHORT",value:n.nameID},{name:"axisOrdering_"+t,type:"USHORT",value:n.ordering}])}function rE(t,n){let s=n.format,a=Bn[s];G.argument(a!==void 0,`Unknown axis value table format ${s}`);let c=a(t,n);return new $.Table("axisValueTable_"+t,c)}function iE(t){let n=new $.Table("STAT",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:2},{name:"designAxisSize",type:"USHORT",value:8},{name:"designAxisCount",type:"USHORT",value:t.axes.length},{name:"designAxesOffset",type:"ULONG",value:0},{name:"axisValueCount",type:"USHORT",value:t.values.length},{name:"offsetToAxisValueOffsets",type:"ULONG",value:0},{name:"elidedFallbackNameID",type:"USHORT",value:t.elidedFallbackNameID}]);n.designAxesOffset=n.offsetToAxisValueOffsets=n.sizeOf();for(let h=0;h<t.axes.length;h++){let d=tE(h,t.axes[h]);n.offsetToAxisValueOffsets+=d.sizeOf(),n.fields=n.fields.concat(d.fields)}let s=[],a=[],c=t.values.length*2;for(let h=0;h<t.values.length;h++){let d=rE(h,t.values[h]);s.push({name:"offset_"+h,type:"USHORT",value:c}),c+=d.sizeOf(),a=a.concat(d.fields)}return n.fields=n.fields.concat(s),n.fields=n.fields.concat(a),n}var Bc={make:iE,parse:eE};function nE(t,n){return new $.Record("axisValueMap_"+t,[{name:"fromCoordinate_"+t,type:"F2DOT14",value:n.fromCoordinate},{name:"toCoordinate_"+t,type:"F2DOT14",value:n.toCoordinate}])}function sE(t,n){let s=new $.Record("segmentMap_"+t,[{name:"positionMapCount_"+t,type:"USHORT",value:n.axisValueMaps.length}]),a=[];for(let c=0;c<n.axisValueMaps.length;c++){let h=nE(`${t}_${c}`,n.axisValueMaps[c]);a=a.concat(h.fields)}return s.fields=s.fields.concat(a),s}function oE(t,n){G.argument(t.axisSegmentMaps.length===n.axes.length,"avar axis count must correspond to fvar axis count");let s=new $.Table("avar",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:0},{name:"reserved",type:"USHORT",value:0},{name:"axisCount",type:"USHORT",value:t.axisSegmentMaps.length}]);for(let a=0;a<t.axisSegmentMaps.length;a++){let c=sE(a,t.axisSegmentMaps[a]);s.fields=s.fields.concat(c.fields)}return s}function aE(t,n,s){n||(n=0);let a=new V(t,n),c=a.parseUShort(),h=a.parseUShort();c!==1&&console.warn(`Unsupported avar table version ${c}.${h}`),a.skip("uShort",1);let d=a.parseUShort();G.argument(d===s.axes.length,"avar axis count must correspond to fvar axis count");let B=[];for(let w=0;w<d;w++){let x=[],C=a.parseUShort();for(let S=0;S<C;S++){let T=a.parseF2Dot14(),Y=a.parseF2Dot14();x.push({fromCoordinate:T,toCoordinate:Y})}B.push({axisValueMaps:x})}return{version:[c,h],axisSegmentMaps:B}}var Ec={make:oE,parse:aE};function AE(t,n,s,a){let c=new he.Parser(t,n),h=c.parseTupleVariationStore(c.relativeOffset,s.axes.length,"cvar",a),d=c.parseUShort(),B=c.parseUShort();return d!==1&&console.warn(`Unsupported cvar table version ${d}.${B}`),{version:[d,B],...h}}function lE(){console.warn("Writing of cvar tables is not yet supported.")}var wc={make:lE,parse:AE};function cE(t,n,s,a){let c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort();h!==1&&console.warn(`Unsupported gvar table version ${h}.${d}`);let B=c.parseUShort();B!==s.axes.length&&console.warn(`axisCount ${B} in gvar table does not match the number of axes ${s.axes.length} in the fvar table!`);let w=c.parseUShort(),x=c.parsePointer32(function(){return this.parseTupleRecords(w,B)}),C=c.parseTupleVariationStoreList(B,"gvar",a);return{version:[h,d],sharedTuples:x,glyphVariations:C}}function uE(){console.warn("Writing of gvar tables is not yet supported.")}var yc={make:uE,parse:cE};function hE(t,n){let s={},a=new he.Parser(t,n);s.version=a.parseUShort(),G.argument(s.version<=1,"Unsupported gasp table version."),s.numRanges=a.parseUShort(),s.gaspRanges=[];for(let c=0;c<s.numRanges;c++)s.gaspRanges[c]={rangeMaxPPEM:a.parseUShort(),rangeGaspBehavior:a.parseUShort()};return s}function fE(t){let n=new $.Table("gasp",[{name:"version",type:"USHORT",value:1},{name:"numRanges",type:"USHORT",value:t.numRanges}]);for(let s in t.gaspRanges)n.fields.push({name:"rangeMaxPPEM",type:"USHORT",value:t.gaspRanges[s].rangeMaxPPEM}),n.fields.push({name:"rangeGaspBehavior",type:"USHORT",value:t.gaspRanges[s].rangeGaspBehavior});return n}var Cc={parse:hE,make:fE};function pE(t,n){let s=new Map,a=t.buffer,c=new V(t,n);if(c.parseUShort()!==0)return s;c.relativeOffset=c.parseOffset32();let d=t.byteOffset+n+c.relativeOffset,B=c.parseUShort(),w=new Map;for(let x=0;x<B;x++){let C=c.parseUShort(),S=c.parseUShort(),T=d+c.parseOffset32(),Y=c.parseULong(),U=w.get(T);U===void 0&&(U=new Uint8Array(a,T,Y),w.set(T,U));for(let L=C;L<=S;L++)s.set(L,U)}return s}function dE(t){let n=Array.from(t.keys()).sort(),s=[],a=[],c=new Map,h=0,d={endGlyphID:null};for(let T=0,Y=n.length;T<Y;T++){let U=n[T],L=t.get(U),ee=c.get(L);ee===void 0&&(ee=h,a.push(L),c.set(L,ee),h+=L.byteLength),U-1===d.endGlyphID&&ee===d.svgDocOffset?d.endGlyphID=U:(d={startGlyphID:U,endGlyphID:U,svgDocOffset:ee,svgDocLength:L.byteLength},s.push(d))}let B=s.length,w=a.length,x=2+B*12,C=new Array(4+B*4+w),S=0;C[S++]={name:"version",type:"USHORT",value:0},C[S++]={name:"svgDocumentListOffset",type:"ULONG",value:10},C[S++]={name:"reserved",type:"ULONG",value:0},C[S++]={name:"numEntries",type:"USHORT",value:B};for(let T=0;T<B;T++){let Y="documentRecord_"+T,{startGlyphID:U,endGlyphID:L,svgDocOffset:ee,svgDocLength:Te}=s[T];C[S++]={name:Y+"_startGlyphID",type:"USHORT",value:U},C[S++]={name:Y+"_endGlyphID",type:"USHORT",value:L},C[S++]={name:Y+"_svgDocOffset",type:"ULONG",value:x+ee},C[S++]={name:Y+"_svgDocLength",type:"ULONG",value:Te}}for(let T=0;T<w;T++)C[S++]={name:"svgDoc_"+T,type:"LITERAL",value:a[T]};return new $.Table("SVG ",C)}var bc={make:dE,parse:pE};function xc(t){return Math.log(t)/Math.log(2)|0}function _o(t){for(;t.length%4!==0;)t.push(0);let n=0;for(let s=0;s<t.length;s+=4)n+=(t[s]<<24)+(t[s+1]<<16)+(t[s+2]<<8)+t[s+3];return n%=Math.pow(2,32),n}function Qc(t,n,s,a){return new $.Record("Table Record",[{name:"tag",type:"TAG",value:t!==void 0?t:""},{name:"checkSum",type:"ULONG",value:n!==void 0?n:0},{name:"offset",type:"ULONG",value:s!==void 0?s:0},{name:"length",type:"ULONG",value:a!==void 0?a:0}])}function vc(t){let n=new $.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);n.tables=t,n.numTables=t.length;let s=Math.pow(2,xc(n.numTables));n.searchRange=16*s,n.entrySelector=xc(s),n.rangeShift=n.numTables*16-n.searchRange;let a=[],c=[],h=n.sizeOf()+Qc().sizeOf()*n.numTables;for(;h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0});for(let d=0;d<t.length;d+=1){let B=t[d];G.argument(B.tableName.length===4,"Table name"+B.tableName+" is invalid.");let w=B.sizeOf(),x=Qc(B.tableName,_o(B.encode()),h,w);for(a.push({name:x.tag+" Table Record",type:"RECORD",value:x}),c.push({name:B.tableName+" table",type:"RECORD",value:B}),h+=w,G.argument(!isNaN(h),"Something went wrong calculating the offset.");h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0})}return a.sort(function(d,B){return d.value.tag>B.value.tag?1:-1}),n.fields=n.fields.concat(a),n.fields=n.fields.concat(c),n}function Ic(t,n,s){for(let a=0;a<n.length;a+=1){let c=t.charToGlyphIndex(n[a]);if(c>0)return t.glyphs.get(c).getMetrics()}return s}function gE(t){let n=0;for(let s=0;s<t.length;s+=1)n+=t[s];return n/t.length}function mE(t){let n=[],s=[],a=[],c=[],h=[],d=[],B=[],w,x=0,C=0,S=0,T=0,Y=0;for(let ot=0;ot<t.glyphs.length;ot+=1){let Nt=t.glyphs.get(ot),zt=Nt.unicode|0;if(isNaN(Nt.advanceWidth))throw new Error("Glyph "+Nt.name+" ("+ot+"): advanceWidth is not a number.");(w>zt||w===void 0)&&zt>0&&(w=zt),x<zt&&(x=zt);let ar=jo.getUnicodeRange(zt);if(ar<32)C|=1<<ar;else if(ar<64)S|=1<<ar-32;else if(ar<96)T|=1<<ar-64;else if(ar<123)Y|=1<<ar-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(Nt.name===".notdef")continue;let Mr=Nt.getMetrics();n.push(Mr.xMin),s.push(Mr.yMin),a.push(Mr.xMax),c.push(Mr.yMax),d.push(Mr.leftSideBearing),B.push(Mr.rightSideBearing),h.push(Nt.advanceWidth)}let U={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,c),advanceWidthMax:Math.max.apply(null,h),advanceWidthAvg:gE(h),minLeftSideBearing:Math.min.apply(null,d),maxLeftSideBearing:Math.max.apply(null,d),minRightSideBearing:Math.min.apply(null,B)};U.ascender=t.ascender,U.descender=t.descender;let L=0;t.weightClass>=600&&(L|=t.macStyleValues.BOLD),t.italicAngle<0&&(L|=t.macStyleValues.ITALIC);let ee=Ac.make({flags:3,unitsPerEm:t.unitsPerEm,xMin:U.xMin,yMin:U.yMin,xMax:U.xMax,yMax:U.yMax,lowestRecPPEM:3,macStyle:L,createdTimestamp:t.createdTimestamp}),Te=lc.make({ascender:U.ascender,descender:U.descender,advanceWidthMax:U.advanceWidthMax,minLeftSideBearing:U.minLeftSideBearing,minRightSideBearing:U.minRightSideBearing,xMaxExtent:U.maxLeftSideBearing+(U.xMax-U.xMin),numberOfHMetrics:t.glyphs.length}),xe=hc.make(t.glyphs.length),Re=jo.make(Object.assign({xAvgCharWidth:Math.round(U.advanceWidthAvg),usFirstCharIndex:w,usLastCharIndex:x,ulUnicodeRange1:C,ulUnicodeRange2:S,ulUnicodeRange3:T,ulUnicodeRange4:Y,sTypoAscender:U.ascender,sTypoDescender:U.descender,sTypoLineGap:0,usWinAscent:U.yMax,usWinDescent:Math.abs(U.yMin),ulCodePageRange1:1,sxHeight:Ic(t,"xyvw",{yMax:Math.round(U.ascender/2)}).yMax,sCapHeight:Ic(t,"HIKLEFJMNTZBDPRAGOQSUVWXY",U).yMax,usDefaultChar:t.hasChar(" ")?32:0,usBreakChar:t.hasChar(" ")?32:0},t.tables.os2)),Je=cc.make(t.glyphs),$e=Wl.make(t.glyphs),nt=t.getEnglishName("fontFamily"),st=t.getEnglishName("fontSubfamily"),Bt=nt+" "+st,sr=t.getEnglishName("postScriptName");sr||(sr=nt.replace(/\s/g,"")+"-"+st);let Ve={};for(let ot in t.names)Ve[ot]=t.names[ot];Ve.unicode=Ve.unicode||{},Ve.macintosh=Ve.macintosh||{},Ve.windows=Ve.windows||{};let Vt=t.names.unicode||{},Dt=t.names.macintosh||{},Se=t.names.windows||{};for(let ot in Ve){if(Ve[ot]=Ve[ot]||{},!Ve[ot].uniqueID){let Nt=t.getEnglishName("manufacturer")||"";Ve[ot].uniqueID={en:`${Nt}: ${Bt}`}}Ve[ot].postScriptName||(Ve[ot].postScriptName={en:sr})}Ve.unicode.preferredFamily||(Ve.unicode.preferredFamily=Vt.fontFamily||Dt.fontFamily||Se.fontFamily),Ve.macintosh.preferredFamily||(Ve.macintosh.preferredFamily=Dt.fontFamily||Vt.fontFamily||Se.fontFamily),Ve.windows.preferredFamily||(Ve.windows.preferredFamily=Se.fontFamily||Vt.fontFamily||Dt.fontFamily),Ve.unicode.preferredSubfamily||(Ve.unicode.preferredSubfamily=Vt.fontSubfamily||Dt.fontSubfamily||Se.fontSubfamily),Ve.macintosh.preferredSubfamily||(Ve.macintosh.preferredSubfamily=Dt.fontSubfamily||Vt.fontSubfamily||Se.fontSubfamily),Ve.windows.preferredSubfamily||(Ve.windows.preferredSubfamily=Se.fontSubfamily||Vt.fontSubfamily||Dt.fontSubfamily);let we=[],Ce=dn.make(Ve,we),vt=we.length>0?uc.make(we):void 0,$r=fc.make(t),vs=Jo.make(t.glyphs,{version:t.getEnglishName("version"),fullName:Bt,familyName:nt,weightName:st,postScriptName:sr,unitsPerEm:t.unitsPerEm,fontBBox:[0,U.yMin,U.ascender,U.advanceWidthMax],topDict:t.tables.cff&&t.tables.cff.topDict||{}}),mi=t.metas&&Object.keys(t.metas).length>0?dc.make(t.metas):void 0,or=[ee,Te,xe,Re,Ce,$e,$r,vs,Je];vt&&or.push(vt);let Mt={gsub:pc,cpal:Xl,colr:gc,stat:Bc,avar:Ec,cvar:wc,fvar:mc,gvar:yc,gasp:Cc,svg:bc},Xt={avar:[t.tables.fvar],fvar:[t.names]};for(let ot in Mt){let Nt=t.tables[ot];if(Nt){let zt=Mt[ot].make.call(t,Nt,...Xt[ot]||[]);zt&&or.push(zt)}}mi&&or.push(mi);let It=vc(or),jt=It.encode(),Ut=_o(jt),kt=It.fields,gt=!1;for(let ot=0;ot<kt.length;ot+=1)if(kt[ot].name==="head table"){kt[ot].value.checkSumAdjustment=2981146554-Ut,gt=!0;break}if(!gt)throw new Error("Could not find head table with checkSum to adjust.");return It}var BE={make:vc,fontToTable:mE,computeCheckSum:_o};function Zo(t,n){let s=0,a=t.length-1;for(;s<=a;){let c=s+a>>>1,h=t[c].tag;if(h===n)return c;h<n?s=c+1:a=c-1}return-s-1}function Fc(t,n){let s=0,a=t.length-1;for(;s<=a;){let c=s+a>>>1,h=t[c];if(h===n)return c;h<n?s=c+1:a=c-1}return-s-1}function Tc(t,n){let s,a=0,c=t.length-1;for(;a<=c;){let h=a+c>>>1;s=t[h];let d=s.start;if(d===n)return s;d<n?a=h+1:c=h-1}if(a>0)return s=t[a-1],n>s.end?0:s}function Sc(t,n){this.font=t,this.tableName=n}Sc.prototype={searchTag:Zo,binSearch:Fc,getTable:function(t){let n=this.font.tables[this.tableName];return!n&&t&&(n=this.font.tables[this.tableName]=this.createDefaultTable()),n},getScriptNames:function(){let t=this.getTable();return t?t.scripts.map(function(n){return n.tag}):[]},getDefaultScriptName:function(){let t=this.getTable();if(!t)return;let n=!1;for(let s=0;s<t.scripts.length;s++){let a=t.scripts[s].tag;if(a==="DFLT")return a;a==="latn"&&(n=!0)}if(n)return"latn"},getScriptTable:function(t,n){let s=this.getTable(n);if(s){t=t||"DFLT";let a=s.scripts,c=Zo(s.scripts,t);if(c>=0)return a[c].script;if(n){let h={tag:t,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return a.splice(-1-c,0,h),h.script}}},getLangSysTable:function(t,n,s){let a=this.getScriptTable(t,s);if(a){if(!n||n==="dflt"||n==="DFLT")return a.defaultLangSys;let c=Zo(a.langSysRecords,n);if(c>=0)return a.langSysRecords[c].langSys;if(s){let h={tag:n,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return a.langSysRecords.splice(-1-c,0,h),h.langSys}}},getFeatureTable:function(t,n,s,a){let c=this.getLangSysTable(t,n,a);if(c){let h,d=c.featureIndexes,B=this.font.tables[this.tableName].features;for(let w=0;w<d.length;w++)if(h=B[d[w]],h.tag===s)return h.feature;if(a){let w=B.length;return G.assert(w===0||s>=B[w-1].tag,"Features must be added in alphabetical order."),h={tag:s,feature:{params:0,lookupListIndexes:[]}},B.push(h),d.push(w),h.feature}}},getLookupTables:function(t,n,s,a,c){let h=this.getFeatureTable(t,n,s,c),d=[];if(h){let B,w=h.lookupListIndexes,x=this.font.tables[this.tableName].lookups;for(let C=0;C<w.length;C++)B=x[w[C]],B.lookupType===a&&d.push(B);if(d.length===0&&c){B={lookupType:a,lookupFlag:0,subtables:[],markFilteringSet:void 0};let C=x.length;return x.push(B),w.push(C),[B]}}return d},getGlyphClass:function(t,n){switch(t.format){case 1:return t.startGlyph<=n&&n<t.startGlyph+t.classes.length?t.classes[n-t.startGlyph]:0;case 2:{let s=Tc(t.ranges,n);return s?s.classId:0}}},getCoverageIndex:function(t,n){switch(t.format){case 1:{let s=Fc(t.glyphs,n);return s>=0?s:-1}case 2:{let s=Tc(t.ranges,n);return s?s.index+n-s.start:-1}}},expandCoverage:function(t){if(t.format===1)return t.glyphs;{let n=[],s=t.ranges;for(let a=0;a<s.length;a++){let c=s[a],h=c.start,d=c.end;for(let B=h;B<=d;B++)n.push(B)}return n}}};var ms=Sc;function En(t){ms.call(this,t,"gpos")}En.prototype=ms.prototype,En.prototype.init=function(){let t=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(t)},En.prototype.getKerningValue=function(t,n,s){for(let a=0;a<t.length;a++){let c=t[a].subtables;for(let h=0;h<c.length;h++){let d=c[h],B=this.getCoverageIndex(d.coverage,n);if(!(B<0))switch(d.posFormat){case 1:{let w=d.pairSets[B];for(let x=0;x<w.length;x++){let C=w[x];if(C.secondGlyph===s)return C.value1&&C.value1.xAdvance||0}break}case 2:{let w=this.getGlyphClass(d.classDef1,n),x=this.getGlyphClass(d.classDef2,s),C=d.classRecords[w][x];return C.value1&&C.value1.xAdvance||0}}}}return 0},En.prototype.getKerningTables=function(t,n){if(this.font.tables.gpos)return this.getLookupTables(t,n,"kern",2)};var EE=En;function wE(t,n){let s=t.length;if(s!==n.length)return!1;for(let a=0;a<s;a++)if(t[a]!==n[a])return!1;return!0}function yE(t,n,s){let a=0,c=t.length-1,h=null;for(;a<=c;){let d=Math.floor((a+c)/2),B=t[d],w=B[n];if(w<s)a=d+1;else if(w>s)c=d-1;else{h=B;break}}return h}function CE(t,n,s){let a=0,c=t.length-1;for(;a<=c;){let h=Math.floor((a+c)/2),d=t[h];if(d[n]<s)a=h+1;else if(d[n]>s)c=h-1;else return h}return-1}function bE(t,n,s){let a=0,c=t.length,h=(d,B)=>d[n]-B[n];for(;a<c;){let d=a+c>>>1;h(t[d],s)<0?a=d+1:c=d}return t.splice(a,0,s),a}function Dc(t){return t[0]===31&&t[1]===139&&t[2]===8}function xE(t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=10,a=t.byteLength-8,c=n.getInt8(3);if(c&4&&(s+=2+n.getUint16(s,!0)),c&8)for(;s<a&&t[s++]!==0;);if(c&16)for(;s<a&&t[s++]!==0;);if(c&2&&(s+=2),s>=a)throw new Error("Can't find compressed blocks");let h=n.getUint32(n.byteLength-4,!0);return fe(t.subarray(s,a),new Uint8Array(h))}function Mc(t){return{x:t.x,y:t.y,onCurve:t.onCurve,lastPointOfContour:t.lastPointOfContour}}function QE(t){return{glyphIndex:t.glyphIndex,xScale:t.xScale,scale01:t.scale01,scale10:t.scale10,yScale:t.yScale,dx:t.dx,dy:t.dy}}function Wt(t){ms.call(this,t,"gsub")}function Xo(t,n,s){let a=t.subtables;for(let c=0;c<a.length;c++){let h=a[c];if(h.substFormat===n)return h}if(s)return a.push(s),s}Wt.prototype=ms.prototype,Wt.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Wt.prototype.getSingle=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,1);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;if(w.substFormat===1){let S=w.deltaGlyphId;for(C=0;C<x.length;C++){let T=x[C];a.push({sub:T,by:T+S})}}else{let S=w.substitute;for(C=0;C<x.length;C++)a.push({sub:x[C],by:S[C]})}}}return a},Wt.prototype.getMultiple=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,2);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;for(C=0;C<x.length;C++){let S=x[C],T=w.sequences[C];a.push({sub:S,by:T})}}}return a},Wt.prototype.getAlternates=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,3);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.alternateSets;for(let S=0;S<x.length;S++)a.push({sub:x[S],by:C[S]})}}return a},Wt.prototype.getLigatures=function(t,n,s){let a=[],c=this.getLookupTables(n,s,t,4);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.ligatureSets;for(let S=0;S<x.length;S++){let T=x[S],Y=C[S];for(let U=0;U<Y.length;U++){let L=Y[U];a.push({sub:[T].concat(L.components),by:L.ligGlyph})}}}}return a},Wt.prototype.addSingle=function(t,n,s,a){let c=this.getLookupTables(s,a,t,1,!0)[0],h=Xo(c,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});G.assert(h.coverage.format===1,"Single: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.substitute.splice(B,0,0)),h.substitute[B]=n.by},Wt.prototype.addMultiple=function(t,n,s,a){G.assert(n.by instanceof Array&&n.by.length>1,'Multiple: "by" must be an array of two or more ids');let c=this.getLookupTables(s,a,t,2,!0)[0],h=Xo(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});G.assert(h.coverage.format===1,"Multiple: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.sequences.splice(B,0,0)),h.sequences[B]=n.by},Wt.prototype.addAlternate=function(t,n,s,a){let c=this.getLookupTables(s,a,t,3,!0)[0],h=Xo(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});G.assert(h.coverage.format===1,"Alternate: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.alternateSets.splice(B,0,0)),h.alternateSets[B]=n.by},Wt.prototype.addLigature=function(t,n,s,a){let c=this.getLookupTables(s,a,t,4,!0)[0],h=c.subtables[0];h||(h={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},c.subtables[0]=h),G.assert(h.coverage.format===1,"Ligature: unable to modify coverage table format "+h.coverage.format);let d=n.sub[0],B=n.sub.slice(1),w={ligGlyph:n.by,components:B},x=this.binSearch(h.coverage.glyphs,d);if(x>=0){let C=h.ligatureSets[x];for(let S=0;S<C.length;S++)if(wE(C[S].components,B))return;C.push(w)}else x=-1-x,h.coverage.glyphs.splice(x,0,d),h.ligatureSets.splice(x,0,[w])},Wt.prototype.getFeature=function(t,n,s){if(/ss\d\d/.test(t))return this.getSingle(t,n,s);switch(t){case"aalt":case"salt":return this.getSingle(t,n,s).concat(this.getAlternates(t,n,s));case"dlig":case"liga":case"rlig":return this.getLigatures(t,n,s);case"ccmp":return this.getMultiple(t,n,s).concat(this.getLigatures(t,n,s));case"stch":return this.getMultiple(t,n,s)}},Wt.prototype.add=function(t,n,s,a){if(/ss\d\d/.test(t))return this.addSingle(t,n,s,a);switch(t){case"aalt":case"salt":return typeof n.by=="number"?this.addSingle(t,n,s,a):this.addAlternate(t,n,s,a);case"dlig":case"liga":case"rlig":return this.addLigature(t,n,s,a);case"ccmp":return n.by instanceof Array?this.addMultiple(t,n,s,a):this.addLigature(t,n,s,a)}};var vE=Wt,Uc=class{constructor(t){this.defaultValue=255,this.font=t}cpal(){return this.font.tables&&this.font.tables.cpal?this.font.tables.cpal:!1}getAll(t){let n=[],s=this.cpal();if(!s)return n;for(let a=0;a<s.colorRecordIndices.length;a++){let c=s.colorRecordIndices[a],h=[];for(let d=c;d<c+s.numPaletteEntries;d++)h.push(Mi(s.colorRecords[d],t||"hexa"));n.push(h)}return n}toCPALcolor(t){return Array.isArray(t)?t.map(n=>ps(n,"raw")):ps(t,"raw")}fillPalette(t,n=[],s=this.cpal().numPaletteEntries){return t=Number.isInteger(t)?this.get(t,"raw"):t,Object.assign(Array(s).fill(this.defaultValue),this.toCPALcolor(t).concat(this.toCPALcolor(n)))}extend(t){if(this.ensureCPAL(Array(t).fill(this.defaultValue)))return;let n=this.cpal(),s=n.numPaletteEntries+t,a=this.getAll().map(c=>this.fillPalette(c,[],s));n.numPaletteEntries=s,n.colorRecords=this.toCPALcolor(a.flat()),this.updateIndices()}get(t,n="hexa"){return this.getAll(n)[t]||null}getColor(t,n=0,s="hexa"){return Ro(this.font,t,n,s)}setColor(t,n,s=0){t=parseInt(t),s=parseInt(s);let a=this.getAll("raw"),c=a[s];if(!c)throw Error(`paletteIndex ${s} out of range`);let h=this.cpal(),d=h.numPaletteEntries;Array.isArray(n)||(n=[n]),n.length+t>d&&(this.extend(n.length+t-d),a=this.getAll("raw"),c=a[s]);for(let B=0;B<n.length;B++)c[B+t]=this.toCPALcolor(n[B]);h.colorRecords=a.flat(),this.updateIndices()}add(t){if(this.ensureCPAL(t))return;let n=this.cpal(),s=n.numPaletteEntries;t&&t.length?(t=this.toCPALcolor(t),t.length>s?this.extend(t.length-s):t.length<s&&(t=this.fillPalette(t)),n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...t)):(n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...Array(s).fill(this.defaultValue)))}delete(t){let n=this.getAll("raw");delete n[t];let s=this.cpal();s.colorRecordIndices.pop(),s.colorRecords=n.flat()}deleteColor(t,n){if(t===n)throw Error("replacementIndex cannot be the same as colorIndex");let s=this.cpal(),a=this.getAll("raw"),c=[];if(n>s.numPaletteEntries-1)throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${s.numPaletteEntries-1}, replacementIndex: ${n})`);for(let B=0;B<a.length;B++){let x=a[B].filter((C,S)=>S!==t);c.push(x)}let h=this.font.tables.colr;if(h){let B=h.layerRecords;for(let w=0;w<B.length;w++){let x=B[w].paletteIndex;if(x>t)B[w].paletteIndex-=1;else if(x===t){let C=0;for(let S=0;S<a.length;S++)if(n>t&&n<=t+a[S].length){C++;break}B[w].paletteIndex=n-C}}this.font.tables.colr={...h,layerRecords:B}}let d=c.flat();for(let B=0;B<a.length;B++)s.colorRecordIndices[B]-=B;s.numPaletteEntries=Math.max(0,s.numPaletteEntries-1),s.colorRecords=this.toCPALcolor(d)}ensureCPAL(t){return this.cpal()?!1:(!t||!t.length?t=[this.defaultValue]:t=this.toCPALcolor(t),this.font.tables.cpal={version:0,numPaletteEntries:t.length,colorRecords:t,colorRecordIndices:[0]},!0)}updateIndices(){let t=this.cpal(),n=Math.ceil(t.colorRecords.length/t.numPaletteEntries);t.colorRecordIndices=[];for(let s=0;s<n;s++)t.colorRecordIndices.push(s*t.numPaletteEntries)}},IE=class{constructor(t){this.font=t}ensureCOLR(){return this.font.tables.colr||(this.font.tables.colr={version:0,baseGlyphRecords:[],layerRecords:[]}),this.font}get(t){let n=this.font,s=[],a=n.tables.colr,c=n.tables.cpal;if(!a||!c)return s;let h=yE(a.baseGlyphRecords,"glyphID",t);if(!h)return s;let d=h.firstLayerIndex,B=h.numLayers;for(let w=0;w<B;w++){let x=a.layerRecords[d+w];s.push({glyph:n.glyphs.get(x.glyphID),paletteIndex:x.paletteIndex})}return s}add(t,n,s){let a=this.get(t);n=Array.isArray(n)?n:[n],s===void 0||s===1/0||s>a.length?s=a.length:s<0&&(s=a.length+1+s%(a.length+1),s>=a.length+1&&(s-=a.length+1));let c=[];for(let h=0;h<s;h++){let d=Number.isInteger(a[h].glyph)?a[h].glyph:a[h].glyph.index;c.push({glyphID:d,paletteIndex:a[h].paletteIndex})}for(let h of n){let d=Number.isInteger(h.glyph)?h.glyph:h.glyph.index;c.push({glyphID:d,paletteIndex:h.paletteIndex})}for(let h=s;h<a.length;h++){let d=Number.isInteger(a[h].glyph)?a[h].glyph:a[h].glyph.index;c.push({glyphID:d,paletteIndex:a[h].paletteIndex})}this.updateColrTable(t,c)}setPaletteIndex(t,n,s){let a=this.get(t);a[n]?(a=a.map((c,h)=>({glyphID:c.glyph.index,paletteIndex:h===n?s:c.paletteIndex})),this.updateColrTable(t,a)):console.error("Invalid layer index")}remove(t,n,s=n){let a=this.get(t);a=a.map(c=>({glyphID:c.glyph.index,paletteIndex:c.paletteIndex})),a.splice(n,s-n+1),this.updateColrTable(t,a)}updateColrTable(t,n){this.ensureCOLR();let a=this.font.tables.colr,c=CE(a.baseGlyphRecords,"glyphID",t);if(c===-1){let C={glyphID:t,firstLayerIndex:a.layerRecords.length,numLayers:0};c=bE(a.baseGlyphRecords,"glyphID",C)}let d=a.baseGlyphRecords[c],B=d.numLayers,w=n.length,x=w-B;if(x>0){let C=n.slice(B).map(S=>({glyphID:S.glyphID,paletteIndex:S.paletteIndex}));a.layerRecords.splice(d.firstLayerIndex+B,0,...C)}else x<0&&a.layerRecords.splice(d.firstLayerIndex+w,-x);for(let C=0;C<Math.min(B,w);C++)a.layerRecords[d.firstLayerIndex+C]={glyphID:n[C].glyphID,paletteIndex:n[C].paletteIndex};if(d.numLayers=w,x!==0)for(let C=0;C<a.baseGlyphRecords.length;C++){let S=a.baseGlyphRecords[C];C===c||S.firstLayerIndex<d.firstLayerIndex||(a.baseGlyphRecords[C].firstLayerIndex+=x)}}},FE=class{constructor(t){this.font=t,this.cache=new WeakMap}get(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.image}getAsync(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.promise}getOrCreateSvgImageCacheEntry(t){let n=this.font.tables.svg;if(n===void 0)return;let s=n.get(t);if(s===void 0)return;let a=this.cache.get(s);a===void 0&&(a=TE(s),this.cache.set(s,a));let c=a.images.get(t);return c===void 0&&(c=SE(this.font,a.template,t),c.promise.then(h=>{if(c.image=h,typeof this.font.onGlyphUpdated=="function")try{this.font.onGlyphUpdated(t)}catch(d){console.error("font.onGlyphUpdated",t,d)}}),a.images.set(t,c)),c}};function TE(t){return{template:DE(t).then(kE),images:new Map}}function SE(t,n,s){return{promise:n.then(a=>{let c;typeof a=="string"?c=a:(a[4]=s,c=a.join(""));let h=YE(c,t.unitsPerEm);return h.image.decode().then(()=>h)}),image:void 0}}var DE=typeof DecompressionStream=="function"?UE:ME;function ME(t){try{return Promise.resolve(new TextDecoder().decode(Dc(t)?xE(t):t))}catch(n){return Promise.reject(n)}}function UE(t){if(Dc(t))return new Response(new Response(t).body.pipeThrough(new DecompressionStream("gzip"))).text();try{return Promise.resolve(new TextDecoder().decode(t))}catch(n){return Promise.reject(n)}}function kE(t){let n=t.indexOf("<svg"),s=t.indexOf(">",n+4)+1;if(/ id=['"]glyph\d+['"]/.test(t.substring(n,s)))return t;let a=t.lastIndexOf("</svg>");return[t.substring(0,s),"<defs>",t.substring(s,a),'</defs><use href="#glyph',"",'"/>',t.substring(a)]}function YE(t,n){let a=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,c=a.viewBox.baseVal,h=a.width.baseVal,d=a.height.baseVal,B=1,w=1;c.width>0&&c.height>0&&(h.unitType===1?(B=h.valueInSpecifiedUnits/c.width,w=d.unitType===1?d.valueInSpecifiedUnits/c.height:B):d.unitType===1?(w=d.valueInSpecifiedUnits/c.height,B=w):n&&(B=n/c.width,w=n/c.height));let x=document.createElement("div");x.style.position="fixed",x.style.visibility="hidden",x.appendChild(a),document.body.appendChild(x);let C=a.getBBox();document.body.removeChild(x);let S=(C.x-c.x)*B,T=(c.y-C.y)*w,Y=C.width*B,U=C.height*w;a.setAttribute("viewBox",[C.x,C.y,C.width,C.height].join(" ")),B!==1&&a.setAttribute("width",Y),w!==1&&a.setAttribute("height",U);let L=new Image(Y,U);return L.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(a.outerHTML),{leftSideBearing:S,baseline:T,image:L}}var zo=new WeakMap;function kc(t,n,s,a,c){let h;return(n&a)>0?(h=t.parseByte(),(n&c)===0&&(h=-h),h=s+h):(n&c)>0?h=s:h=s+t.parseShort(),h}function Yc(t,n,s){let a=new he.Parser(n,s);t._numberOfContours=a.parseShort(),t._xMin=a.parseShort(),t._yMin=a.parseShort(),t._xMax=a.parseShort(),t._yMax=a.parseShort();let c,h;if(t._numberOfContours>0){let d=t.endPointIndices=[];for(let w=0;w<t._numberOfContours;w+=1)d.push(a.parseUShort());t.instructionLength=a.parseUShort(),t.instructions=[];for(let w=0;w<t.instructionLength;w+=1)t.instructions.push(a.parseByte());let B=d[d.length-1]+1;c=[];for(let w=0;w<B;w+=1)if(h=a.parseByte(),c.push(h),(h&8)>0){let x=a.parseByte();for(let C=0;C<x;C+=1)c.push(h),w+=1}if(G.argument(c.length===B,"Bad flags."),d.length>0){let w=[],x;if(B>0){for(let T=0;T<B;T+=1)h=c[T],x={},x.onCurve=!!(h&1),x.lastPointOfContour=d.indexOf(T)>=0,w.push(x);let C=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.x=kc(a,h,C,2,16),C=x.x;let S=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.y=kc(a,h,S,4,32),S=x.y}t.points=w}else t.points=[]}else if(t._numberOfContours===0)t.points=[];else{t.isComposite=!0,t.points=[],t.components=[];let d=!0;for(;d;){c=a.parseUShort();let B={glyphIndex:a.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(c&1)>0?(c&2)>0?(B.dx=a.parseShort(),B.dy=a.parseShort()):B.matchedPoints=[a.parseUShort(),a.parseUShort()]:(c&2)>0?(B.dx=a.parseChar(),B.dy=a.parseChar()):B.matchedPoints=[a.parseByte(),a.parseByte()],(c&8)>0?B.xScale=B.yScale=a.parseF2Dot14():(c&64)>0?(B.xScale=a.parseF2Dot14(),B.yScale=a.parseF2Dot14()):(c&128)>0&&(B.xScale=a.parseF2Dot14(),B.scale01=a.parseF2Dot14(),B.scale10=a.parseF2Dot14(),B.yScale=a.parseF2Dot14()),t.components.push(B),d=!!(c&32)}if(c&256){t.instructionLength=a.parseUShort(),t.instructions=[];for(let B=0;B<t.instructionLength;B+=1)t.instructions.push(a.parseByte())}}}function Bs(t,n){let s=[];for(let a=0;a<t.length;a+=1){let c=t[a],h={x:n.xScale*c.x+n.scale10*c.y+n.dx,y:n.scale01*c.x+n.yScale*c.y+n.dy,onCurve:c.onCurve,lastPointOfContour:c.lastPointOfContour};s.push(h)}return s}function OE(t){let n=[],s=[];for(let a=0;a<t.length;a+=1){let c=t[a];s.push(c),c.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n}function qo(t){let n=new z;if(!t)return n;let s=OE(t);for(let a=0;a<s.length;++a){let c=s[a],h=c[c.length-1],d=c[0];if(h.onCurve)n.moveTo(h.x,h.y);else if(d.onCurve)n.moveTo(d.x,d.y);else{let B={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5};n.moveTo(B.x,B.y)}for(let B=0;B<c.length;++B)if(h=d,d=c[(B+1)%c.length],h.onCurve)n.lineTo(h.x,h.y);else{let w=d;d.onCurve||(w={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5}),n.quadraticCurveTo(h.x,h.y,w.x,w.y)}n.closePath()}return n}function Oc(t,n){if(n.isComposite){zo.has(t)||zo.set(t,new Set);let s=zo.get(t);s.add(n.index);try{for(let a=0;a<n.components.length;a+=1){let c=n.components[a];if(s.has(c.glyphIndex))continue;let h=t.get(c.glyphIndex);if(h.getPath(),h.points){let d;if(c.matchedPoints===void 0)d=Bs(h.points,c);else{if(c.matchedPoints[0]>n.points.length-1||c.matchedPoints[1]>h.points.length-1)throw Error("Matched points out of range in "+n.name);let B=n.points[c.matchedPoints[0]],w=h.points[c.matchedPoints[1]],x={xScale:c.xScale,scale01:c.scale01,scale10:c.scale10,yScale:c.yScale,dx:0,dy:0};w=Bs([w],x)[0],x.dx=B.x-w.x,x.dy=B.y-w.y,d=Bs(h.points,x)}n.points=n.points.concat(d)}}}finally{s.delete(n.index)}}return qo(n.points)}function NE(t,n,s,a){let c=new dr.GlyphSet(a);for(let h=0;h<s.length-1;h+=1){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(a,h,Yc,t,n+d,Oc)):c.push(h,dr.glyphLoader(a,h))}return c}function RE(t,n,s,a){let c=new dr.GlyphSet(a);return a._push=function(h){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(a,h,Yc,t,n+d,Oc)):c.push(h,dr.glyphLoader(a,h))},c}function GE(t,n,s,a,c){return c.lowMemory?RE(t,n,s,a):NE(t,n,s,a)}var Nc={getPath:qo,parse:GE},LE=class{constructor(t){this.font=t}normalizeCoordTags(t){for(let n in t)if(n.length<4){let s=n.padEnd(4," ");t[s]===void 0&&(t[s]=t[n]),delete t[n]}}getNormalizedCoords(t){t||(t=this.font.variation.get());let n=[];this.normalizeCoordTags(t);for(let s=0;s<this.fvar().axes.length;s++){let a=this.fvar().axes[s],c=t[a.tag];c===void 0&&(c=a.defaultValue),c<a.defaultValue?n.push((c-a.defaultValue+Number.EPSILON)/(a.defaultValue-a.minValue+Number.EPSILON)):n.push((c-a.defaultValue+Number.EPSILON)/(a.maxValue-a.defaultValue+Number.EPSILON))}if(this.avar())for(let s=0;s<this.avar().axisSegmentMaps.length;s++){let a=this.avar().axisSegmentMaps[s];for(let c=0;c<a.axisValueMaps.length;c++){let h=a.axisValueMaps[c];if(c>=1&&n[s]<h.fromCoordinate){let d=a.axisValueMaps[c-1];n[s]=((n[s]-d.fromCoordinate)*(h.toCoordinate-d.toCoordinate)+Number.EPSILON)/(h.fromCoordinate-d.fromCoordinate+Number.EPSILON)+d.toCoordinate;break}}}return n}interpolatePoints(t,n,s){if(t.length===0)return;let a=0;for(;a<t.length;){let c=a,h=a,d=t[h];for(;!d.lastPointOfContour;)d=t[++h];for(;a<=h&&!s[a];)a++;if(a>h)continue;let B=a,w=a;for(a++;a<=h;)s[a]&&(this.deltaInterpolate(w+1,a-1,w,a,n,t),w=a),a++;w===B?this.deltaShift(c,h,w,n,t):(this.deltaInterpolate(w+1,h,w,B,n,t),B>0&&this.deltaInterpolate(c,B-1,w,B,n,t)),a=h+1}}deltaInterpolate(t,n,s,a,c,h){if(t>n)return;let d=["x","y"];for(let w=0;w<d.length;w++){let x=d[w];if(c[s][x]>c[a][x]){var B=s;s=a,a=B}let C=c[s][x],S=c[a][x],T=h[s][x],Y=h[a][x];if(C!==S||T===Y){let U=C===S?0:(Y-T)/(S-C);for(let L=t;L<=n;L++){let ee=c[L][x];ee<=C?ee+=T-C:ee>=S?ee+=Y-S:ee=T+(ee-C)*U,h[L][x]=ee}}}}deltaShift(t,n,s,a,c){let h=c[s].x-a[s].x,d=c[s].y-a[s].y;if(!(h===0&&d===0))for(let B=t;B<=n;B++)B!==s&&(c[B].x+=h,c[B].y+=d)}transformComponents(t,n,s,a,c,h){let d=0;for(let B=0;B<t.components.length;B++){let w=t.components[B],x=this.font.glyphs.get(w.glyphIndex),C=QE(w),S=a.indexOf(B);S>-1&&(C.dx+=Math.round(c.deltas[S]*h),C.dy+=Math.round(c.deltasY[S]*h));let T=Bs(this.getTransform(x,s).points,C);n.splice(d,T.length,...T),d+=x.points.length}}applyTupleVariationStore(t,n,s,a="gvar",c={}){s||(s=this.font.variation.get());let h=this.getNormalizedCoords(s),{headers:d,sharedPoints:B}=t,w=this.fvar().axes.length,x;a==="gvar"?x=n.map(Mc):a==="cvar"&&(x=[...n]);for(let C=0;C<d.length;C++){let S=d[C],T=1;for(let U=0;U<w;U++){let L=[0];switch(a){case"gvar":L=S.peakTuple?S.peakTuple:this.gvar().sharedTuples[S.sharedTupleRecordsIndex];break;case"cvar":L=S.peakTuple;break}if(L[U]!==0){if(h[U]===0){T=0;break}if(S.intermediateStartTuple)if(h[U]<S.intermediateStartTuple[U]||h[U]>S.intermediateEndTuple[U]){T=0;break}else h[U]<L[U]?T=T*(h[U]-S.intermediateStartTuple[U]+Number.EPSILON)/(L[U]-S.intermediateStartTuple[U]+Number.EPSILON):T=T*(S.intermediateEndTuple[U]-h[U]+Number.EPSILON)/(S.intermediateEndTuple[U]-L[U]+Number.EPSILON);else{if(h[U]<Math.min(0,L[U])||h[U]>Math.max(0,L[U])){T=0;break}T=(T*h[U]+Number.EPSILON)/(L[U]+Number.EPSILON)}}}if(T===0)continue;let Y=S.privatePoints.length?S.privatePoints:B;if(a==="gvar"&&c.glyph&&c.glyph.isComposite)this.transformComponents(c.glyph,x,s,Y,S,T);else if(Y.length===0)for(let U=0;U<x.length;U++){let L=x[U];a==="gvar"?x[U]={x:Math.round(L.x+S.deltas[U]*T),y:Math.round(L.y+S.deltasY[U]*T),onCurve:L.onCurve,lastPointOfContour:L.lastPointOfContour}:a==="cvar"&&(x[U]=Math.round(L+S.deltas[U]*T))}else{let U;a==="gvar"?U=x.map(Mc):a==="cvar"&&(U=x);let L=Array(n.length).fill(!1);for(let ee=0;ee<Y.length;ee++){let Te=Y[ee];if(Te<n.length){let xe=U[Te];a==="gvar"?(L[Te]=!0,xe.x+=S.deltas[ee]*T,xe.y+=S.deltasY[ee]*T):a==="cvar"&&(x[Te]=Math.round(xe+S.deltas[ee]*T))}}if(a==="gvar"){this.interpolatePoints(U,x,L);for(let ee=0;ee<n.length;ee++){let Te=U[ee].x-x[ee].x,xe=U[ee].y-x[ee].y;x[ee].x=Math.round(x[ee].x+Te),x[ee].y=Math.round(x[ee].y+xe)}}}}return x}getTransform(t,n){Number.isInteger(t)&&(t=this.font.glyphs.get(t));let s=t.getBlendPath,a=!!(t.points&&t.points.length),c=t;if(s||a){if(n||(n=this.font.variation.get()),a){let h=this.gvar()&&this.gvar().glyphVariations[t.index];if(h){let d=t.points,B=this.applyTupleVariationStore(h,d,n,"gvar",{glyph:t});c=new Ui(Object.assign({},t,{points:B,path:qo(B)}))}}else if(s){let h=t.getBlendPath(n);c=new Ui(Object.assign({},t,{path:h}))}}return this.font.tables.hvar&&(t._advanceWidth=typeof t._advanceWidth<"u"?t._advanceWidth:t.advanceWidth,t.advanceWidth=c.advanceWidth=Math.round(t._advanceWidth+this.getVariableAdjustment(c.index,"hvar","advanceWidth",n)),t._leftSideBearing=typeof t._leftSideBearing<"u"?t._leftSideBearing:t.leftSideBearing,t.leftSideBearing=c.leftSideBearing=Math.round(t._leftSideBearing+this.getVariableAdjustment(c.index,"hvar","lsb",n))),c}getCvarTransform(t){let n=this.font.tables.cvt,s=this.cvar();return!n||!n.length||!s||!s.headers.length?n:this.applyTupleVariationStore(s,n,t,"cvar")}getVariableAdjustment(t,n,s,a){a=a||this.font.variation.get();let c,h,d=this.font.tables[n];if(!d)throw Error(`trying to get variation adjustment from non-existent table "${d}"`);if(!d.itemVariationStore)throw Error(`trying to get variation adjustment from table "${d}" which does not have an itemVariationStore`);let B=d[s]&&d[s].map.length;if(B){let w=t;w>=B&&(w=B-1),{outerIndex:c,innerIndex:h}=d[s].map[w]}else c=0,h=t;return this.getDelta(d.itemVariationStore,c,h,a)}getDelta(t,n,s,a){if(n>=t.itemVariationSubtables.length)return 0;let c=t.itemVariationSubtables[n];if(s>=c.deltaSets.length)return 0;let h=c.deltaSets[s],d=this.getBlendVector(t,n,a),B=0;for(let w=0;w<c.regionIndexes.length;w++)B+=h[w]*d[w];return B}getBlendVector(t,n,s){s||(s=this.font.variation.get());let a=t.itemVariationSubtables[n],c=this.getNormalizedCoords(s),h=[];for(let d=0;d<a.regionIndexes.length;d++){let B=1,w=a.regionIndexes[d],x=t.variationRegions[w].regionAxes;for(let C=0;C<x.length;C++){let S=x[C],T;S.startCoord>S.peakCoord||S.peakCoord>S.endCoord||S.startCoord<0&&S.endCoord>0&&S.peakCoord!==0||S.peakCoord===0?T=1:c[C]<S.startCoord||c[C]>S.endCoord?T=0:c[C]===S.peakCoord?T=1:c[C]<S.peakCoord?T=(c[C]-S.startCoord+Number.EPSILON)/(S.peakCoord-S.startCoord+Number.EPSILON):T=(S.endCoord-c[C]+Number.EPSILON)/(S.endCoord-S.peakCoord+Number.EPSILON),B*=T}h[d]=B}return h}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},PE=class{constructor(t){this.font=t,this.process=new LE(this.font),this.activateDefaultVariation(),this.getTransform=this.process.getTransform.bind(this.process)}activateDefaultVariation(){let t=this.getDefaultInstanceIndex();t>-1?this.set(t):this.set(this.getDefaultCoordinates())}getDefaultCoordinates(){return this.fvar().axes.reduce((t,n)=>(t[n.tag]=n.defaultValue,t),{})}getDefaultInstanceIndex(){let t=this.getDefaultCoordinates(),n=this.getInstanceIndex(t);return n<0&&(n=this.fvar().instances.findIndex(s=>s.name&&s.name.en==="Regular")),n}getInstanceIndex(t){return this.fvar().instances.findIndex(n=>Object.keys(t).every(s=>n.coordinates[s]===t[s]))}getInstance(t){return this.fvar().instances&&this.fvar().instances[t]}set(t){let n;if(Number.isInteger(t)){let s=this.getInstance(t);if(!s)throw Error(`Invalid instance index ${t}`);n={...s.coordinates}}else n=t,this.process.normalizeCoordTags(n);n=Object.assign({},this.font.defaultRenderOptions.variation,n),this.font.defaultRenderOptions=Object.assign({},this.font.defaultRenderOptions,{variation:n})}get(){return Object.assign({},this.font.defaultRenderOptions.variation)}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},Rc=1e6,Es=64,ws=1e4,Gc,di,Lc,Ko;function Pc(t){this.font=t,this.getCommands=function(n){return Nc.getPath(n).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function HE(t){return t}function Hc(t){return Math.sign(t)*Math.round(Math.abs(t))}function WE(t){return Math.sign(t)*Math.round(Math.abs(t*2))/2}function JE(t){return Math.sign(t)*(Math.round(Math.abs(t)+.5)-.5)}function VE(t){return Math.sign(t)*Math.ceil(Math.abs(t))}function jE(t){return Math.sign(t)*Math.floor(Math.abs(t))}var Wc=function(t){let n=this.srPeriod,s=this.srPhase,a=this.srThreshold,c=1;return t<0&&(t=-t,c=-1),t+=a-s,t=Math.trunc(t/n)*n,t+=s,t<0?s*c:t*c},mr={x:1,y:0,axis:"x",distance:function(t,n,s,a){return(s?t.xo:t.x)-(a?n.xo:n.x)},interpolate:function(t,n,s,a){let c,h,d,B,w,x,C;if(!a||a===this){if(c=t.xo-n.xo,h=t.xo-s.xo,w=n.x-n.xo,x=s.x-s.xo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.x=t.xo+(w+x)/2;return}t.x=t.xo+(w*B+x*d)/C;return}if(c=a.distance(t,n,!0,!0),h=a.distance(t,s,!0,!0),w=a.distance(n,n,!1,!0),x=a.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){mr.setRelative(t,t,(w+x)/2,a,!0);return}mr.setRelative(t,t,(w*B+x*d)/C,a,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(t,n,s,a,c){if(!a||a===this){t.x=(c?n.xo:n.x)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y;t.x=B+(t.y-w)/a.normalSlope},slope:0,touch:function(t){t.xTouched=!0},touched:function(t){return t.xTouched},untouch:function(t){t.xTouched=!1}},Sr={x:0,y:1,axis:"y",distance:function(t,n,s,a){return(s?t.yo:t.y)-(a?n.yo:n.y)},interpolate:function(t,n,s,a){let c,h,d,B,w,x,C;if(!a||a===this){if(c=t.yo-n.yo,h=t.yo-s.yo,w=n.y-n.yo,x=s.y-s.yo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.y=t.yo+(w+x)/2;return}t.y=t.yo+(w*B+x*d)/C;return}if(c=a.distance(t,n,!0,!0),h=a.distance(t,s,!0,!0),w=a.distance(n,n,!1,!0),x=a.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){Sr.setRelative(t,t,(w+x)/2,a,!0);return}Sr.setRelative(t,t,(w*B+x*d)/C,a,!0)},normalSlope:0,setRelative:function(t,n,s,a,c){if(!a||a===this){t.y=(c?n.yo:n.y)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y;t.y=w+a.normalSlope*(t.x-B)},slope:Number.POSITIVE_INFINITY,touch:function(t){t.yTouched=!0},touched:function(t){return t.yTouched},untouch:function(t){t.yTouched=!1}};Object.freeze(mr),Object.freeze(Sr);function wn(t,n){this.x=t,this.y=n,this.axis=void 0,this.slope=n/t,this.normalSlope=-t/n,Object.freeze(this)}wn.prototype.distance=function(t,n,s,a){return this.x*mr.distance(t,n,s,a)+this.y*Sr.distance(t,n,s,a)},wn.prototype.interpolate=function(t,n,s,a){let c,h,d,B,w,x,C;if(d=a.distance(t,n,!0,!0),B=a.distance(t,s,!0,!0),c=a.distance(n,n,!1,!0),h=a.distance(s,s,!1,!0),w=Math.abs(d),x=Math.abs(B),C=w+x,C===0){this.setRelative(t,t,(c+h)/2,a,!0);return}this.setRelative(t,t,(c*x+h*w)/C,a,!0)},wn.prototype.setRelative=function(t,n,s,a,c){a=a||this;let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*a.x,w=d+s*a.y,x=a.normalSlope,C=this.slope,S=t.x,T=t.y;t.x=(C*S-x*B+w-T)/(C-x),t.y=C*(t.x-S)+T},wn.prototype.touch=function(t){t.xTouched=!0,t.yTouched=!0};function yn(t,n){let s=Math.sqrt(t*t+n*n);return t/=s,n/=s,t===1&&n===0?mr:t===0&&n===1?Sr:new wn(t,n)}function Dr(t,n,s,a){this.x=this.xo=Math.round(t*64)/64,this.y=this.yo=Math.round(n*64)/64,this.lastPointOfContour=s,this.onCurve=a,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Dr.prototype.nextTouched=function(t){let n=this.nextPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.nextPointOnContour;return n},Dr.prototype.prevTouched=function(t){let n=this.prevPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.prevPointOnContour;return n};var Cn=Object.freeze(new Dr(0,0)),_E={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function jr(t,n){switch(this.env=t,this.stack=[],this.prog=n,t){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=mr,this.round=Hc}}Pc.prototype.exec=function(t,n){if(typeof n!="number")throw new Error("Point size is not a number!");if(this._errorState>2)return;let s=this.font,a=this._prepState;if(!a||a.ppem!==n){let c=this._fpgmState;if(!c){jr.prototype=_E,c=this._fpgmState=new jr("fpgm",s.tables.fpgm),c.funcs=[],c.font=s,c.instructionCount=0,c.callDepth=0;try{di(c)}catch(d){console.log("Hinting error in FPGM:"+d),this._errorState=3;return}}jr.prototype=c,a=this._prepState=new jr("prep",s.tables.prep),a.ppem=n,a.instructionCount=0,a.callDepth=0;let h=s.variation&&s.variation.process.getCvarTransform()||s.tables.cvt;if(h){let d=a.cvt=new Array(h.length),B=n/s.unitsPerEm;for(let w=0;w<h.length;w++)d[w]=h[w]*B}else a.cvt=[];try{di(a)}catch(d){this._errorState<2&&console.log("Hinting error in PREP:"+d),this._errorState=2}}if(!(this._errorState>1))try{return Lc(t,a)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}},Lc=function(t,n){let s=n.ppem/n.font.unitsPerEm,a=s,c=t.components,h,d,B;if(jr.prototype=n,!c)B=new jr("glyf",t.instructions),B.instructionCount=0,B.callDepth=0,Ko(t,B,s,a),d=B.gZone;else{let w=n.font;d=[],h=[];for(let x=0;x<c.length;x++){let C=c[x],S=w.glyphs.get(C.glyphIndex);B=new jr("glyf",S.instructions),B.instructionCount=0,B.callDepth=0,Ko(S,B,s,a);let T=Math.round(C.dx*s),Y=Math.round(C.dy*a),U=B.gZone,L=B.contours;for(let Te=0;Te<U.length;Te++){let xe=U[Te];xe.xTouched=xe.yTouched=!1,xe.xo=xe.x=xe.x+T,xe.yo=xe.y=xe.y+Y}let ee=d.length;d.push.apply(d,U);for(let Te=0;Te<L.length;Te++)h.push(L[Te]+ee)}t.instructions&&!B.inhibitGridFit&&(B=new jr("glyf",t.instructions),B.gZone=B.z0=B.z1=B.z2=d,B.contours=h,d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(B),d.length-=2)}return d},Ko=function(t,n,s,a){let c=t.points||[],h=c.length,d=n.gZone=n.z0=n.z1=n.z2=[],B=n.contours=[],w;for(let S=0;S<h;S++)w=c[S],d[S]=new Dr(w.x*s,w.y*a,w.lastPointOfContour,w.onCurve);let x,C;for(let S=0;S<h;S++)w=d[S],x||(x=w,B.push(S)),w.lastPointOfContour?(w.nextPointOnContour=x,x.prevPointOnContour=w,x=void 0):(C=d[S+1],w.nextPointOnContour=C,C.prevPointOnContour=w);n.inhibitGridFit||(d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(n),d.length-=2)},di=function(t){let n=t.prog;if(!n)return;let s=n.length,a;for(t.ip=0;t.ip<s;t.ip++){if(++t.instructionCount>Rc)throw new Error("Hinting instructions exceeded maximum of "+Rc);if(a=Gc[n[t.ip]],!a)throw new Error("unknown instruction: 0x"+Number(n[t.ip]).toString(16));a(t)}};function ys(t){let n=t.tZone=new Array(t.gZone.length);for(let s=0;s<n.length;s++)n[s]=new Dr(0,0)}function Jc(t,n){let s=t.prog,a=t.ip,c=1,h;do if(h=s[++a],h===88)c++;else if(h===89)c--;else if(h===64)a+=s[a+1]+1;else if(h===65)a+=2*s[a+1]+1;else if(h>=176&&h<=183)a+=h-176+1;else if(h>=184&&h<=191)a+=(h-184+1)*2;else if(n&&c===1&&h===27)break;while(c>0);t.ip=a}function Vc(t,n){n.fv=n.pv=n.dpv=t}function jc(t,n){n.pv=n.dpv=t}function _c(t,n){n.fv=t}function Zc(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.pv=n.dpv=yn(B,w)}function Xc(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.fv=yn(B,w)}function ZE(t){let n=t.stack,s=n.pop(),a=n.pop();t.pv=t.dpv=yn(a,s)}function XE(t){let n=t.stack,s=n.pop(),a=n.pop();t.fv=yn(a,s)}function zE(t){let n=t.stack,s=t.pv;n.push(s.x*16384),n.push(s.y*16384)}function qE(t){let n=t.stack,s=t.fv;n.push(s.x*16384),n.push(s.y*16384)}function KE(t){t.fv=t.pv}function $E(t){let n=t.stack,s=n.pop(),a=n.pop(),c=n.pop(),h=n.pop(),d=n.pop(),B=t.z0,w=t.z1,x=B[s],C=B[a],S=w[c],T=w[h],Y=t.z2[d],U=x.x,L=x.y,ee=C.x,Te=C.y,xe=S.x,Re=S.y,Je=T.x,$e=T.y,nt=(U-ee)*(Re-$e)-(L-Te)*(xe-Je),st=U*Te-L*ee,Bt=xe*$e-Re*Je;Y.x=(st*(xe-Je)-Bt*(U-ee))/nt,Y.y=(st*(Re-$e)-Bt*(L-Te))/nt}function e1(t){t.rp0=t.stack.pop()}function t1(t){t.rp1=t.stack.pop()}function r1(t){t.rp2=t.stack.pop()}function i1(t){let n=t.stack.pop();switch(t.zp0=n,n){case 0:t.tZone||ys(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function n1(t){let n=t.stack.pop();switch(t.zp1=n,n){case 0:t.tZone||ys(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function s1(t){let n=t.stack.pop();switch(t.zp2=n,n){case 0:t.tZone||ys(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function o1(t){let n=t.stack.pop();switch(t.zp0=t.zp1=t.zp2=n,n){case 0:t.tZone||ys(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function a1(t){t.loop=t.stack.pop(),t.loop>ws&&(t.loop=ws)}function A1(t){t.round=Hc}function l1(t){t.round=JE}function c1(t){let n=t.stack.pop();t.minDis=n/64}function u1(t){Jc(t,!1)}function h1(t){let n=t.stack.pop();t.ip+=n-1}function f1(t){let n=t.stack.pop();t.cvCutIn=n/64}function p1(t){let n=t.stack;n.push(n[n.length-1])}function $o(t){t.stack.pop()}function d1(t){t.stack.length=0}function g1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s),n.push(a)}function m1(t){let n=t.stack;n.push(n.length)}function B1(t){let n=t.stack,s=n.pop(),a=n.pop();if(a>ws&&(a=ws),++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let c=t.ip,h=t.prog;t.prog=t.funcs[s];for(let d=0;d<a;d++)di(t);t.ip=c,t.prog=h,t.callDepth--}function E1(t){let n=t.stack.pop();if(++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let s=t.ip,a=t.prog;t.prog=t.funcs[n],di(t),t.ip=s,t.prog=a,t.callDepth--}function w1(t){let n=t.stack,s=n.pop();n.push(n[n.length-s])}function y1(t){let n=t.stack,s=n.pop();n.push(n.splice(n.length-s,1)[0])}function C1(t){if(t.env!=="fpgm")throw new Error("FDEF not allowed here");let n=t.stack,s=t.prog,a=t.ip,c=n.pop(),h=a;for(;s[++a]!==45;);t.ip=a,t.funcs[c]=s.slice(h+1,a)}function zc(t,n){let s=n.stack.pop(),a=n.z0[s],c=n.fv,h=n.pv,d=h.distance(a,Cn);t&&(d=n.round(d)),c.setRelative(a,Cn,d,h),c.touch(a),n.rp0=n.rp1=s}function qc(t,n){let s=n.z2,a=s.length-2,c,h,d;for(let B=0;B<a;B++)c=s[B],!t.touched(c)&&(h=c.prevTouched(t),h!==c&&(d=c.nextTouched(t),h===d&&t.setRelative(c,c,t.distance(h,h,!1,!0),t,!0),t.interpolate(c,h,d,t)))}function Kc(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=n.loop,w=n.z2;for(;B--;){let x=s.pop(),C=w[x],S=d.distance(c,c,!1,!0);h.setRelative(C,C,S,d),h.touch(C)}n.loop=1}function $c(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=s.pop(),w=n.z2[n.contours[B]],x=w,C=d.distance(c,c,!1,!0);do x!==c&&h.setRelative(x,x,C,d),x=x.nextPointOnContour;while(x!==w)}function eu(t,n){let s=n.stack,a=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[a],h=n.fv,d=n.pv,B=s.pop(),w;switch(B){case 0:w=n.tZone;break;case 1:w=n.gZone;break;default:throw new Error("Invalid zone")}let x,C=d.distance(c,c,!1,!0),S=w.length-2;for(let T=0;T<S;T++)x=w[T],h.setRelative(x,x,C,d)}function b1(t){let n=t.stack,s=t.loop,a=t.fv,c=n.pop()/64,h=t.z2;for(;s--;){let d=n.pop(),B=h[d];a.setRelative(B,B,c),a.touch(B)}t.loop=1}function x1(t){let n=t.stack,s=t.rp1,a=t.rp2,c=t.loop,h=t.z0[s],d=t.z1[a],B=t.fv,w=t.dpv,x=t.z2;for(;c--;){let C=n.pop(),S=x[C];B.interpolate(S,h,d,w),B.touch(S)}t.loop=1}function tu(t,n){let s=n.stack,a=s.pop()/64,c=s.pop(),h=n.z1[c],d=n.z0[n.rp0],B=n.fv,w=n.pv;B.setRelative(h,d,a,w),B.touch(h),n.rp1=n.rp0,n.rp2=c,t&&(n.rp0=c)}function Q1(t){let n=t.stack,s=t.rp0,a=t.z0[s],c=t.loop,h=t.fv,d=t.pv,B=t.z1;for(;c--;){let w=n.pop(),x=B[w];h.setRelative(x,a,0,d),h.touch(x)}t.loop=1}function v1(t){t.round=WE}function ru(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z0[c],d=n.fv,B=n.pv,w=n.cvt[a],x=B.distance(h,Cn);t&&(Math.abs(x-w)<n.cvCutIn&&(x=w),x=n.round(x)),d.setRelative(h,Cn,x,B),n.zp0===0&&(h.xo=h.x,h.yo=h.y),d.touch(h),n.rp0=n.rp1=c}function I1(t){let n=t.prog,s=t.ip,a=t.stack,c=n[++s];for(let h=0;h<c;h++)a.push(n[++s]);t.ip=s}function F1(t){let n=t.ip,s=t.prog,a=t.stack,c=s[++n];for(let h=0;h<c;h++){let d=s[++n]<<8|s[++n];d&32768&&(d=-((d^65535)+1)),a.push(d)}t.ip=n}function T1(t){let n=t.stack,s=t.store;s||(s=t.store=[]);let a=n.pop(),c=n.pop();s[c]=a}function S1(t){let n=t.stack,s=t.store,a=n.pop(),c=s&&s[a]||0;n.push(c)}function D1(t){let n=t.stack,s=n.pop(),a=n.pop();t.cvt[a]=s/64}function M1(t){let n=t.stack,s=n.pop();n.push(t.cvt[s]*64)}function iu(t,n){let s=n.stack,a=s.pop(),c=n.z2[a];s.push(n.dpv.distance(c,Cn,t,!1)*64)}function nu(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z1[a],d=n.z0[c],B=n.dpv.distance(d,h,t,t);n.stack.push(Math.round(B*64))}function U1(t){t.stack.push(t.ppem)}function k1(t){t.autoFlip=!0}function Y1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a<s?1:0)}function O1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a<=s?1:0)}function N1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a>s?1:0)}function R1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a>=s?1:0)}function G1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s===a?1:0)}function L1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s!==a?1:0)}function P1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?1:0)}function H1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?0:1)}function W1(t){let n=t.stack.pop(),s;n||Jc(t,!0)}function J1(t){}function V1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s&&a?1:0)}function j1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(s||a?1:0)}function _1(t){let n=t.stack,s=n.pop();n.push(s?0:1)}function ea(t,n){let s=n.stack,a=s.pop(),c=n.fv,h=n.pv,d=n.ppem,B=n.deltaBase+(t-1)*16,w=n.deltaShift,x=n.z0;for(let C=0;C<a;C++){let S=s.pop(),T=s.pop();if(B+((T&240)>>4)!==d)continue;let U=(T&15)-8;U>=0&&U++;let L=x[S];c.setRelative(L,L,U*w,h)}}function Z1(t){let s=t.stack.pop();t.deltaBase=s}function X1(t){let s=t.stack.pop();t.deltaShift=Math.pow(.5,s)}function z1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a+s)}function q1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a-s)}function K1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a*64/s)}function $1(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(a*s/64)}function ew(t){let n=t.stack,s=n.pop();n.push(Math.abs(s))}function tw(t){let n=t.stack,s=n.pop();n.push(-s)}function rw(t){let n=t.stack,s=n.pop();n.push(Math.floor(s/64)*64)}function iw(t){let n=t.stack,s=n.pop();n.push(Math.ceil(s/64)*64)}function Cs(t,n){let s=n.stack,a=s.pop();s.push(n.round(a/64)*64)}function nw(t){let n=t.stack,s=n.pop(),a=n.pop();t.cvt[a]=s*t.ppem/t.font.unitsPerEm}function ta(t,n){let s=n.stack,a=s.pop(),c=n.ppem,h=n.deltaBase+(t-1)*16,d=n.deltaShift;for(let B=0;B<a;B++){let w=s.pop(),x=s.pop();if(h+((x&240)>>4)!==c)continue;let S=(x&15)-8;S>=0&&S++;let T=S*d;n.cvt[w]+=T}}function sw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=.5;break;case 64:s=1;break;case 128:s=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid SROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function ow(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=Math.sqrt(2)/2;break;case 64:s=Math.sqrt(2);break;case 128:s=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid S45ROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function aw(t){t.round=HE}function Aw(t){t.round=VE}function lw(t){t.round=jE}function cw(t){let n=t.stack.pop()}function su(t,n){let s=n.stack,a=s.pop(),c=s.pop(),h=n.z2[a],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.dpv=yn(B,w)}function uw(t){let n=t.stack,s=n.pop(),a=0;s&1&&(a=35),s&32&&(a|=4096),n.push(a)}function hw(t){let n=t.stack,s=n.pop(),a=n.pop(),c=n.pop();n.push(a),n.push(s),n.push(c)}function fw(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(Math.max(a,s))}function pw(t){let n=t.stack,s=n.pop(),a=n.pop();n.push(Math.min(a,s))}function dw(t){let n=t.stack.pop()}function gw(t){let n=t.stack.pop(),s=t.stack.pop();switch(n){case 1:t.inhibitGridFit=!!s;return;case 2:t.ignoreCvt=!!s;return;default:throw new Error("invalid INSTCTRL[] selector")}}function _r(t,n){let s=n.stack,a=n.prog,c=n.ip;for(let h=0;h<t;h++)s.push(a[++c]);n.ip=c}function Zr(t,n){let s=n.ip,a=n.prog,c=n.stack;for(let h=0;h<t;h++){let d=a[++s]<<8|a[++s];d&32768&&(d=-((d^65535)+1)),c.push(d)}n.ip=s}function Ie(t,n,s,a,c,h){let d=h.stack,B=t&&d.pop(),w=d.pop(),x=h.rp0,C=h.z0[x],S=h.z1[w],T=h.minDis,Y=h.fv,U=h.dpv,L,ee,Te,xe;ee=L=U.distance(S,C,!0,!0),Te=ee>=0?1:-1,ee=Math.abs(ee),t&&(xe=h.cvt[B],a&&Math.abs(ee-xe)<h.cvCutIn&&(ee=xe)),s&&ee<T&&(ee=T),a&&(ee=h.round(ee)),Y.setRelative(S,C,Te*ee,U),Y.touch(S),h.rp1=h.rp0,h.rp2=w,n&&(h.rp0=w)}Gc=[Vc.bind(void 0,Sr),Vc.bind(void 0,mr),jc.bind(void 0,Sr),jc.bind(void 0,mr),_c.bind(void 0,Sr),_c.bind(void 0,mr),Zc.bind(void 0,0),Zc.bind(void 0,1),Xc.bind(void 0,0),Xc.bind(void 0,1),ZE,XE,zE,qE,KE,$E,e1,t1,r1,i1,n1,s1,o1,a1,A1,l1,c1,u1,h1,f1,void 0,void 0,p1,$o,d1,g1,m1,w1,y1,void 0,void 0,void 0,B1,E1,C1,void 0,zc.bind(void 0,0),zc.bind(void 0,1),qc.bind(void 0,Sr),qc.bind(void 0,mr),Kc.bind(void 0,0),Kc.bind(void 0,1),$c.bind(void 0,0),$c.bind(void 0,1),eu.bind(void 0,0),eu.bind(void 0,1),b1,x1,tu.bind(void 0,0),tu.bind(void 0,1),Q1,v1,ru.bind(void 0,0),ru.bind(void 0,1),I1,F1,T1,S1,D1,M1,iu.bind(void 0,0),iu.bind(void 0,1),void 0,nu.bind(void 0,0),nu.bind(void 0,1),U1,void 0,k1,void 0,void 0,Y1,O1,N1,R1,G1,L1,P1,H1,W1,J1,V1,j1,_1,ea.bind(void 0,1),Z1,X1,z1,q1,K1,$1,ew,tw,rw,iw,Cs.bind(void 0,0),Cs.bind(void 0,1),Cs.bind(void 0,2),Cs.bind(void 0,3),void 0,void 0,void 0,void 0,nw,ea.bind(void 0,2),ea.bind(void 0,3),ta.bind(void 0,1),ta.bind(void 0,2),ta.bind(void 0,3),sw,ow,void 0,void 0,aw,void 0,Aw,lw,$o,$o,void 0,void 0,void 0,void 0,void 0,cw,su.bind(void 0,0),su.bind(void 0,1),uw,void 0,hw,fw,pw,dw,gw,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),Zr.bind(void 0,1),Zr.bind(void 0,2),Zr.bind(void 0,3),Zr.bind(void 0,4),Zr.bind(void 0,5),Zr.bind(void 0,6),Zr.bind(void 0,7),Zr.bind(void 0,8),Ie.bind(void 0,0,0,0,0,0),Ie.bind(void 0,0,0,0,0,1),Ie.bind(void 0,0,0,0,0,2),Ie.bind(void 0,0,0,0,0,3),Ie.bind(void 0,0,0,0,1,0),Ie.bind(void 0,0,0,0,1,1),Ie.bind(void 0,0,0,0,1,2),Ie.bind(void 0,0,0,0,1,3),Ie.bind(void 0,0,0,1,0,0),Ie.bind(void 0,0,0,1,0,1),Ie.bind(void 0,0,0,1,0,2),Ie.bind(void 0,0,0,1,0,3),Ie.bind(void 0,0,0,1,1,0),Ie.bind(void 0,0,0,1,1,1),Ie.bind(void 0,0,0,1,1,2),Ie.bind(void 0,0,0,1,1,3),Ie.bind(void 0,0,1,0,0,0),Ie.bind(void 0,0,1,0,0,1),Ie.bind(void 0,0,1,0,0,2),Ie.bind(void 0,0,1,0,0,3),Ie.bind(void 0,0,1,0,1,0),Ie.bind(void 0,0,1,0,1,1),Ie.bind(void 0,0,1,0,1,2),Ie.bind(void 0,0,1,0,1,3),Ie.bind(void 0,0,1,1,0,0),Ie.bind(void 0,0,1,1,0,1),Ie.bind(void 0,0,1,1,0,2),Ie.bind(void 0,0,1,1,0,3),Ie.bind(void 0,0,1,1,1,0),Ie.bind(void 0,0,1,1,1,1),Ie.bind(void 0,0,1,1,1,2),Ie.bind(void 0,0,1,1,1,3),Ie.bind(void 0,1,0,0,0,0),Ie.bind(void 0,1,0,0,0,1),Ie.bind(void 0,1,0,0,0,2),Ie.bind(void 0,1,0,0,0,3),Ie.bind(void 0,1,0,0,1,0),Ie.bind(void 0,1,0,0,1,1),Ie.bind(void 0,1,0,0,1,2),Ie.bind(void 0,1,0,0,1,3),Ie.bind(void 0,1,0,1,0,0),Ie.bind(void 0,1,0,1,0,1),Ie.bind(void 0,1,0,1,0,2),Ie.bind(void 0,1,0,1,0,3),Ie.bind(void 0,1,0,1,1,0),Ie.bind(void 0,1,0,1,1,1),Ie.bind(void 0,1,0,1,1,2),Ie.bind(void 0,1,0,1,1,3),Ie.bind(void 0,1,1,0,0,0),Ie.bind(void 0,1,1,0,0,1),Ie.bind(void 0,1,1,0,0,2),Ie.bind(void 0,1,1,0,0,3),Ie.bind(void 0,1,1,0,1,0),Ie.bind(void 0,1,1,0,1,1),Ie.bind(void 0,1,1,0,1,2),Ie.bind(void 0,1,1,0,1,3),Ie.bind(void 0,1,1,1,0,0),Ie.bind(void 0,1,1,1,0,1),Ie.bind(void 0,1,1,1,0,2),Ie.bind(void 0,1,1,1,0,3),Ie.bind(void 0,1,1,1,1,0),Ie.bind(void 0,1,1,1,1,1),Ie.bind(void 0,1,1,1,1,2),Ie.bind(void 0,1,1,1,1,3)];var mw=Pc;function Oi(t){this.char=t,this.state={},this.activeState=null}function ra(t,n,s){this.contextName=s,this.startIndex=t,this.endOffset=n}function Bw(t,n,s){this.contextName=t,this.openRange=null,this.ranges=[],this.checkStart=n,this.checkEnd=s}function St(t,n){this.context=t,this.index=n,this.length=t.length,this.current=t[n],this.backtrack=t.slice(0,n),this.lookahead=t.slice(n+1)}function bs(t){this.eventId=t,this.subscribers=[]}function Ew(t){let n=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];for(let a=0;a<n.length;a++){let c=n[a];Object.defineProperty(this.events,c,{value:new bs(c)})}if(t)for(let a=0;a<n.length;a++){let c=n[a],h=t[c];typeof h=="function"&&this.events[c].subscribe(h)}let s=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];for(let a=0;a<s.length;a++){let c=s[a];this.events[c].subscribe(this.updateContextsRanges)}}function dt(t){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ew.call(this,t)}Oi.prototype.setState=function(t,n){return this.state[t]=n,this.activeState={key:t,value:this.state[t]},this.activeState},Oi.prototype.getState=function(t){return this.state[t]||null},dt.prototype.inboundIndex=function(t){return t>=0&&t<this.tokens.length},dt.prototype.composeRUD=function(t){let s=t.map(c=>this[c[0]].apply(this,c.slice(1).concat(!0))),a=c=>typeof c=="object"&&Object.prototype.hasOwnProperty.call(c,"FAIL");if(s.every(a))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:s.filter(a)};this.dispatch("composeRUD",[s.filter(c=>!a(c))])},dt.prototype.replaceRange=function(t,n,s,a){n=n!==null?n:this.tokens.length;let c=s.every(h=>h instanceof Oi);if(!isNaN(t)&&this.inboundIndex(t)&&c){let h=this.tokens.splice.apply(this.tokens,[t,n].concat(s));return a||this.dispatch("replaceToken",[t,n,s]),[h,s]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},dt.prototype.replaceToken=function(t,n,s){if(!isNaN(t)&&this.inboundIndex(t)&&n instanceof Oi){let a=this.tokens.splice(t,1,n);return s||this.dispatch("replaceToken",[t,n]),[a[0],n]}else return{FAIL:"replaceToken: invalid token or index."}},dt.prototype.removeRange=function(t,n,s){n=isNaN(n)?this.tokens.length:n;let a=this.tokens.splice(t,n);return s||this.dispatch("removeRange",[a,t,n]),a},dt.prototype.removeToken=function(t,n){if(!isNaN(t)&&this.inboundIndex(t)){let s=this.tokens.splice(t,1);return n||this.dispatch("removeToken",[s,t]),s}else return{FAIL:"removeToken: invalid token index."}},dt.prototype.insertToken=function(t,n,s){return t.every(c=>c instanceof Oi)?(this.tokens.splice.apply(this.tokens,[n,0].concat(t)),s||this.dispatch("insertToken",[t,n]),t):{FAIL:"insertToken: invalid token(s)."}},dt.prototype.registerModifier=function(t,n,s){this.events.newToken.subscribe(function(a,c){let h=[a,c],d=n===null||n.apply(this,h)===!0,B=[a,c];if(d){let w=s.apply(this,B);a.setState(t,w)}}),this.registeredModifiers.push(t)},bs.prototype.subscribe=function(t){return typeof t=="function"?this.subscribers.push(t)-1:{FAIL:`invalid '${this.eventId}' event handler`}},bs.prototype.unsubscribe=function(t){this.subscribers.splice(t,1)},St.prototype.setCurrentIndex=function(t){this.index=t,this.current=this.context[t],this.backtrack=this.context.slice(0,t),this.lookahead=this.context.slice(t+1)},St.prototype.get=function(t){switch(!0){case t===0:return this.current;case(t<0&&Math.abs(t)<=this.backtrack.length):return this.backtrack.slice(t)[0];case(t>0&&t<=this.lookahead.length):return this.lookahead[t-1];default:return null}},dt.prototype.rangeToText=function(t){if(t instanceof ra)return this.getRangeTokens(t).map(n=>n.char).join("")},dt.prototype.getText=function(){return this.tokens.map(t=>t.char).join("")},dt.prototype.getContext=function(t){let n=this.registeredContexts[t];return n||null},dt.prototype.on=function(t,n){let s=this.events[t];return s?s.subscribe(n):null},dt.prototype.dispatch=function(t,n){let s=this.events[t];if(s instanceof bs)for(let a=0;a<s.subscribers.length;a++)s.subscribers[a].apply(this,n||[])},dt.prototype.registerContextChecker=function(t,n,s){if(this.getContext(t))return{FAIL:`context name '${t}' is already registered.`};if(typeof n!="function")return{FAIL:"missing context start check."};if(typeof s!="function")return{FAIL:"missing context end check."};let a=new Bw(t,n,s);return this.registeredContexts[t]=a,this.contextCheckers.push(a),a},dt.prototype.getRangeTokens=function(t){let n=t.startIndex+t.endOffset;return[].concat(this.tokens.slice(t.startIndex,n))},dt.prototype.getContextRanges=function(t){let n=this.getContext(t);return n?n.ranges:{FAIL:`context checker '${t}' is not registered.`}},dt.prototype.resetContextsRanges=function(){let t=this.registeredContexts;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let s=t[n];s.ranges=[]}},dt.prototype.updateContextsRanges=function(){this.resetContextsRanges();let t=this.tokens.map(n=>n.char);for(let n=0;n<t.length;n++){let s=new St(t,n);this.runContextCheck(s)}this.dispatch("updateContextsRanges",[this.registeredContexts])},dt.prototype.setEndOffset=function(t,n){let s=this.getContext(n).openRange.startIndex,a=new ra(s,t,n),c=this.getContext(n).ranges;return a.rangeId=`${n}.${c.length}`,c.push(a),this.getContext(n).openRange=null,a},dt.prototype.runContextCheck=function(t){let n=t.index;for(let s=0;s<this.contextCheckers.length;s++){let a=this.contextCheckers[s],c=a.contextName,h=this.getContext(c).openRange;if(!h&&a.checkStart(t)&&(h=new ra(n,null,c),this.getContext(c).openRange=h,this.dispatch("contextStart",[c,n])),h&&a.checkEnd(t)){let d=n-h.startIndex+1,B=this.setEndOffset(d,c);this.dispatch("contextEnd",[c,B])}}},dt.prototype.tokenize=function(t){this.tokens=[],this.resetContextsRanges();let n=Array.from(t);this.dispatch("start");for(let s=0;s<n.length;s++){let a=n[s],c=new St(n,s);this.dispatch("next",[c]),this.runContextCheck(c);let h=new Oi(a);this.tokens.push(h),this.dispatch("newToken",[h,c])}return this.dispatch("end",[this.tokens]),this.tokens};var ww=dt;function Xr(t){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(t)}function ou(t){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(t)}function zr(t){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(t)}function xs(t){return/[\u0E00-\u0E7F]/.test(t)}function Qs(t){return/[A-z]/.test(t)}function yw(t){return/\s/.test(t)}function Jt(t){this.font=t,this.features={}}function qr(t){this.id=t.id,this.tag=t.tag,this.substitution=t.substitution}function Kr(t,n){if(!t)return-1;switch(n.format){case 1:return n.glyphs.indexOf(t);case 2:{let s=n.ranges;for(let a=0;a<s.length;a++){let c=s[a];if(t>=c.start&&t<=c.end){let h=t-c.start;return c.index+h}}break}default:return-1}return-1}function Cw(t,n){return Kr(t,n.coverage)===-1?null:t+n.deltaGlyphId}function bw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.substitute[s]}function ia(t,n){let s=[];for(let a=0;a<t.length;a++){let c=t[a],h=n.current;h=Array.isArray(h)?h[0]:h;let d=Kr(h,c);d!==-1&&s.push(d)}return s.length!==t.length?-1:s}function xw(t,n){let s=n.inputCoverage.length+n.lookaheadCoverage.length+n.backtrackCoverage.length;if(t.context.length<s)return[];let a=ia(n.inputCoverage,t);if(a===-1)return[];let c=n.inputCoverage.length-1;if(t.lookahead.length<n.lookaheadCoverage.length)return[];let h=t.lookahead.slice(c);for(;h.length&&zr(h[0].char);)h.shift();let d=new St(h,0),B=ia(n.lookaheadCoverage,d),w=[].concat(t.backtrack);for(w.reverse();w.length&&zr(w[0].char);)w.shift();if(w.length<n.backtrackCoverage.length)return[];let x=new St(w,0),C=ia(n.backtrackCoverage,x),S=a.length===n.inputCoverage.length&&B.length===n.lookaheadCoverage.length&&C.length===n.backtrackCoverage.length,T=[];if(S)for(let Y=0;Y<n.lookupRecords.length;Y++){let U=n.lookupRecords[Y],L=U.lookupListIndex,ee=this.getLookupByIndex(L);for(let Te=0;Te<ee.subtables.length;Te++){let xe=ee.subtables[Te],Re,Je=this.getSubstitutionType(ee,xe);if(Je==="71"?(Je=this.getSubstitutionType(xe,xe.extension),Re=this.getLookupMethod(xe,xe.extension),xe=xe.extension):Re=this.getLookupMethod(ee,xe),Je==="12"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else if(Je==="21"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else throw new Error(`Substitution type ${Je} is not supported in chaining substitution`)}}return T}function Qw(t,n){let s=t.current,a=Kr(s,n.coverage);if(a===-1)return null;let c,h=n.ligatureSets[a];for(let d=0;d<h.length;d++){c=h[d];for(let B=0;B<c.components.length;B++){let w=t.lookahead[B],x=c.components[B];if(w!==x)break;if(B===c.components.length-1)return c}}return null}function vw(t,n){let s=t.current;if(Kr(s,n.coverage)===-1)return null;for(let c of n.ruleSets)for(let h of c){let d=!0;for(let B=0;B<h.input.length;B++)if(t.lookahead[B]!==h.input[B]){d=!1;break}if(d){let B=[];B.push(s);for(let x=0;x<h.input.length;x++)B.push(h.input[x]);let w=(x,C)=>{let{lookupListIndex:S,sequenceIndex:T}=C,{subtables:Y}=this.getLookupByIndex(S);for(let U of Y)Kr(x[T],U.coverage)!==-1&&(x[T]=U.deltaGlyphId)};for(let x=0;x<h.lookupRecords.length;x++){let C=h.lookupRecords[x];w(B,C)}return B}}return null}function Iw(t,n){if(t.context.length<n.coverages.length)return[];for(let a=0;a<n.coverages.length;a++){let c=t.get(a);if(c=Array.isArray(c)?c[0]:c,Kr(c,n.coverages[a])===-1)return[]}let s=[];for(let a=0;a<n.lookupRecords.length;a++){let c=n.lookupRecords[a],h=c.lookupListIndex,d=this.getLookupByIndex(h);for(let B=0;B<d.subtables.length;B++){let w=d.subtables[B],x,C=this.getSubstitutionType(d,w);if(C==="71"?(C=this.getSubstitutionType(w,w.extension),x=this.getLookupMethod(w,w.extension),w=w.extension):x=this.getLookupMethod(d,w),C==="12"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}else if(C==="21"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}}}return s}function Fw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.sequences[s]}Jt.prototype.getDefaultScriptFeaturesIndexes=function(){let t=this.font.tables.gsub.scripts;for(let n=0;n<t.length;n++){let s=t[n];if(s.tag==="DFLT")return s.script.defaultLangSys.featureIndexes}return[]},Jt.prototype.getScriptFeaturesIndexes=function(t){if(!this.font.tables.gsub)return[];if(!t)return this.getDefaultScriptFeaturesIndexes();let s=this.font.tables.gsub.scripts;for(let a=0;a<s.length;a++){let c=s[a];if(c.tag===t&&c.script.defaultLangSys)return c.script.defaultLangSys.featureIndexes;{let h=c.langSysRecords;if(h)for(let d=0;d<h.length;d++){let B=h[d];if(B.tag===t)return B.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},Jt.prototype.mapTagsToFeatures=function(t,n){let s={};for(let a=0;a<t.length;a++){let c=t[a].tag,h=t[a].feature;s[c]=h}this.features[n].tags=s},Jt.prototype.getScriptFeatures=function(t){let n=this.features[t];if(Object.prototype.hasOwnProperty.call(this.features,t))return n;let s=this.getScriptFeaturesIndexes(t);if(!s)return null;let a=this.font.tables.gsub;return n=s.map(c=>a.features[c]),this.features[t]=n,this.mapTagsToFeatures(n,t),n},Jt.prototype.getSubstitutionType=function(t,n){let s=t.lookupType.toString(),a=n.substFormat.toString();return s+a},Jt.prototype.getLookupMethod=function(t,n){let s=this.getSubstitutionType(t,n);switch(s){case"11":return a=>Cw.apply(this,[a,n]);case"12":return a=>bw.apply(this,[a,n]);case"63":return a=>xw.apply(this,[a,n]);case"41":return a=>Qw.apply(this,[a,n]);case"21":return a=>Fw.apply(this,[a,n]);case"51":return a=>vw.apply(this,[a,n]);case"53":return a=>Iw.apply(this,[a,n]);default:throw new Error(`substitutionType : ${s} lookupType: ${t.lookupType} - substFormat: ${n.substFormat} is not yet supported`)}},Jt.prototype.lookupFeature=function(t){let n=t.contextParams,s=n.index,a=this.getFeature({tag:t.tag,script:t.script});if(!a)return new Error(`font '${(this.font.names.unicode||this.font.names.windows||this.font.names.macintosh).fullName.en}' doesn't support feature '${t.tag}' for script '${t.script}'.`);let c=this.getFeatureLookups(a),h=[].concat(n.context);for(let d=0;d<c.length;d++){let B=c[d],w=this.getLookupSubtables(B);for(let x=0;x<w.length;x++){let C=w[x],S=this.getSubstitutionType(B,C),T;S==="71"?(S=this.getSubstitutionType(C,C.extension),T=this.getLookupMethod(C,C.extension),C=C.extension):T=this.getLookupMethod(B,C);let Y;switch(S){case"11":Y=T(n.current),Y&&h.splice(s,1,new qr({id:11,tag:t.tag,substitution:Y}));break;case"12":Y=T(n.current),Y&&h.splice(s,1,new qr({id:12,tag:t.tag,substitution:Y}));break;case"63":Y=T(n),Array.isArray(Y)&&Y.length&&h.splice(s,1,new qr({id:63,tag:t.tag,substitution:Y}));break;case"41":Y=T(n),Y&&h.splice(s,1,new qr({id:41,tag:t.tag,substitution:Y}));break;case"21":Y=T(n.current),Y&&h.splice(s,1,new qr({id:21,tag:t.tag,substitution:Y}));break;case"51":case"53":Y=T(n),Array.isArray(Y)&&Y.length&&h.splice(s,1,new qr({id:parseInt(S),tag:t.tag,substitution:Y}));break}n=new St(h,s),!(Array.isArray(Y)&&!Y.length)&&(Y=null)}}return h.length?h:null},Jt.prototype.supports=function(t){if(!t.script)return!1;this.getScriptFeatures(t.script);let n=Object.prototype.hasOwnProperty.call(this.features,t.script);if(!t.tag)return n;let s=this.features[t.script].some(a=>a.tag===t.tag);return n&&s},Jt.prototype.getLookupSubtables=function(t){return t.subtables||null},Jt.prototype.getLookupByIndex=function(t){return this.font.tables.gsub.lookups[t]||null},Jt.prototype.getFeatureLookups=function(t){return t.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Jt.prototype.getFeature=function(n){if(!this.font)return{FAIL:"No font was found"};Object.prototype.hasOwnProperty.call(this.features,n.script)||this.getScriptFeatures(n.script);let s=this.features[n.script];return s?s.tags[n.tag]?this.features[n.script].tags[n.tag]:null:{FAIL:`No feature for script ${n.script}`}};var Tw=Jt;function Sw(t){let n=t.current,s=t.get(-1);return s===null&&Xr(n)||!Xr(s)&&Xr(n)}function Dw(t){let n=t.get(1);return n===null||!Xr(n)}var Mw={startCheck:Sw,endCheck:Dw};function Uw(t){let n=t.current,s=t.get(-1);return(Xr(n)||zr(n))&&!Xr(s)}function kw(t){let n=t.get(1);switch(!0){case n===null:return!0;case(!Xr(n)&&!zr(n)):{let s=yw(n);if(!s)return!0;if(s){let a=!1;if(a=t.lookahead.some(c=>Xr(c)||zr(c)),!a)return!0}break}default:return!1}}var Yw={startCheck:Uw,endCheck:kw};function Ow(t,n,s){n[s].setState(t.tag,t.substitution)}function Nw(t,n,s){n[s].setState(t.tag,t.substitution)}function na(t,n,s){for(let a=0;a<t.substitution.length;a++){let c=t.substitution[a],h=n[s+a];if(Array.isArray(c)){c.length?h.setState(t.tag,c[0]):h.setState("deleted",!0);continue}h.setState(t.tag,c)}}function Rw(t,n,s){let a=n[s];a.setState(t.tag,t.substitution.ligGlyph);let c=t.substitution.components.length;for(let h=0;h<c;h++)a=n[s+h+1],a.setState("deleted",!0)}var au={11:Ow,12:Nw,63:na,41:Rw,51:na,53:na};function Gw(t,n,s){t instanceof qr&&au[t.id]&&au[t.id](t,n,s)}var gi=Gw;function Lw(t){let n=[].concat(t.backtrack);for(let s=n.length-1;s>=0;s--){let a=n[s],c=ou(a),h=zr(a);if(!c&&!h)return!0;if(c)return!1}return!1}function Pw(t){if(ou(t.current))return!1;for(let n=0;n<t.lookahead.length;n++){let s=t.lookahead[n];if(!zr(s))return!0}return!1}function Hw(t){let n="arab",s=this.featuresTags[n],a=this.tokenizer.getRangeTokens(t);if(a.length===1)return;let c=new St(a.map(d=>d.getState("glyphIndex")),0),h=new St(a.map(d=>d.char),0);for(let d=0;d<a.length;d++){let B=a[d];if(zr(B.char))continue;c.setCurrentIndex(d),h.setCurrentIndex(d);let w=0;Lw(h)&&(w|=1),Pw(h)&&(w|=2);let x;switch(w){case 1:x="fina";break;case 2:x="init";break;case 3:x="medi";break}if(s.indexOf(x)===-1)continue;let C=this.query.lookupFeature({tag:x,script:n,contextParams:c});if(C instanceof Error){console.info(C.message);continue}for(let S=0;S<C.length;S++){let T=C[S];T instanceof qr&&(gi(T,a,S),c.context[S]=T.substitution)}}}var Ww=Hw;function Au(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function Jw(t){let n="arab",s=this.tokenizer.getRangeTokens(t),a=Au(s);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=Au(s)}}}var Vw=Jw;function jw(t){return t.index===0&&t.context.length>1}function _w(t){return t.index===t.context.length-1}var Zw={startCheck:jw,endCheck:_w};function lu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function Xw(t){let n="delf",s="ccmp",a=this.tokenizer.getRangeTokens(t),c=lu(a);for(let h=0;h<c.context.length;h++){if(!this.query.getFeature({tag:s,script:n,contextParams:c}))continue;c.setCurrentIndex(h);let d=this.query.lookupFeature({tag:s,script:n,contextParams:c});if(d.length){for(let B=0;B<d.length;B++){let w=d[B];gi(w,a,h)}c=lu(a)}}}var zw=Xw;function qw(t){let n=t.current,s=t.get(-1);return s===null&&Qs(n)||!Qs(s)&&Qs(n)}function Kw(t){let n=t.get(1);return n===null||!Qs(n)}var $w={startCheck:qw,endCheck:Kw};function cu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ey(t){let n="latn",s=this.tokenizer.getRangeTokens(t),a=cu(s);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=cu(s)}}}var ty=ey;function ry(t){let n=t.current,s=t.get(-1);return s===null&&xs(n)||!xs(s)&&xs(n)}function iy(t){let n=t.get(1);return n===null||!xs(n)}var ny={startCheck:ry,endCheck:iy};function uu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function sy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=uu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"ccmp",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=uu(s,c)}}}var oy=sy;function hu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ay(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=hu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=hu(s,c)}}}var Ay=ay;function fu(t,n){let s=t.map(a=>a.activeState.value);return new St(s,n||0)}function ly(t){let n="thai",s=this.tokenizer.getRangeTokens(t),a=fu(s,0);for(let c=0;c<a.context.length;c++){a.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:a});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}a=fu(s,c)}}}var cy=ly;function sa(t){if(t===null)return!1;let n=t.codePointAt(0);return n>=6155&&n<=6157||n>=65024&&n<=65039||n>=917760&&n<=917999}function uy(t){let n=t.current,s=t.get(1);return s===null&&sa(n)||sa(s)}function hy(t){let n=t.get(1);return n===null||!sa(n)}var fy={startCheck:uy,endCheck:hy};function py(t){let n=this.query.font,s=this.tokenizer.getRangeTokens(t);if(s[1].setState("deleted",!0),n.tables.cmap&&n.tables.cmap.varSelectorList){let a=s[0].char.codePointAt(0),c=s[1].char.codePointAt(0),h=n.tables.cmap.varSelectorList[c];if(h!==void 0&&h.nonDefaultUVS){let d=h.nonDefaultUVS.uvsMappings;if(d[a]){let B=d[a].glyphID;n.glyphs.glyphs[B]!==void 0&&s[0].setState("glyphIndex",B)}}}}var dy=py;function Zt(t){this.baseDir=t||"ltr",this.tokenizer=new ww,this.featuresTags={}}Zt.prototype.setText=function(t){this.text=t},Zt.prototype.contextChecks={ccmpReplacementCheck:Zw,latinWordCheck:$w,arabicWordCheck:Mw,arabicSentenceCheck:Yw,thaiWordCheck:ny,unicodeVariationSequenceCheck:fy};function Ni(t){let n=this.contextChecks[`${t}Check`];return this.tokenizer.registerContextChecker(t,n.startCheck,n.endCheck)}function gy(){return Ni.call(this,"ccmpReplacement"),Ni.call(this,"latinWord"),Ni.call(this,"arabicWord"),Ni.call(this,"arabicSentence"),Ni.call(this,"thaiWord"),Ni.call(this,"unicodeVariationSequence"),this.tokenizer.tokenize(this.text)}function my(){let t=this.tokenizer.getContextRanges("arabicSentence");for(let n=0;n<t.length;n++){let s=t[n],a=this.tokenizer.getRangeTokens(s);this.tokenizer.replaceRange(s.startIndex,s.endOffset,a.reverse())}}Zt.prototype.registerFeatures=function(t,n){let s=n.filter(a=>this.query.supports({script:t,tag:a}));Object.prototype.hasOwnProperty.call(this.featuresTags,t)?this.featuresTags[t]=this.featuresTags[t].concat(s):this.featuresTags[t]=s},Zt.prototype.applyFeatures=function(t,n){if(!t)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Tw(t));for(let s=0;s<n.length;s++){let a=n[s];this.query.supports({script:a.script})&&this.registerFeatures(a.script,a.tags)}},Zt.prototype.registerModifier=function(t,n,s){this.tokenizer.registerModifier(t,n,s)};function bn(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function By(){if(!Object.prototype.hasOwnProperty.call(this.featuresTags,"arab"))return;bn.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let s=0;s<n.length;s++){let a=n[s];Ww.call(this,a)}}function Ey(){bn.call(this);let t=this.tokenizer.getContextRanges("ccmpReplacement");for(let n=0;n<t.length;n++){let s=t[n];zw.call(this,s)}}function wy(){if(!this.hasFeatureEnabled("arab","rlig"))return;bn.call(this);let t=this.tokenizer.getContextRanges("arabicWord");for(let n=0;n<t.length;n++){let s=t[n];Vw.call(this,s)}}function yy(){if(!this.hasFeatureEnabled("latn","liga"))return;bn.call(this);let t=this.tokenizer.getContextRanges("latinWord");for(let n=0;n<t.length;n++){let s=t[n];ty.call(this,s)}}function Cy(){let t=this.tokenizer.getContextRanges("unicodeVariationSequence");for(let n=0;n<t.length;n++){let s=t[n];dy.call(this,s)}}function by(){bn.call(this);let t=this.tokenizer.getContextRanges("thaiWord");for(let n=0;n<t.length;n++){let s=t[n];this.hasFeatureEnabled("thai","liga")&&Ay.call(this,s),this.hasFeatureEnabled("thai","rlig")&&cy.call(this,s),this.hasFeatureEnabled("thai","ccmp")&&oy.call(this,s)}}Zt.prototype.checkContextReady=function(t){return!!this.tokenizer.getContext(t)},Zt.prototype.applyFeaturesToContexts=function(){this.checkContextReady("ccmpReplacement")&&Ey.call(this),this.checkContextReady("arabicWord")&&(By.call(this),wy.call(this)),this.checkContextReady("latinWord")&&yy.call(this),this.checkContextReady("arabicSentence")&&my.call(this),this.checkContextReady("thaiWord")&&by.call(this),this.checkContextReady("unicodeVariationSequence")&&Cy.call(this)},Zt.prototype.hasFeatureEnabled=function(t,n){return(this.featuresTags[t]||[]).indexOf(n)!==-1},Zt.prototype.processText=function(t){(!this.text||this.text!==t)&&(this.setText(t),gy.call(this),this.applyFeaturesToContexts())},Zt.prototype.getBidiText=function(t){return this.processText(t),this.tokenizer.getText()},Zt.prototype.getTextGlyphs=function(t){this.processText(t);let n=[];for(let s=0;s<this.tokenizer.tokens.length;s++){let a=this.tokenizer.tokens[s];if(a.state.deleted)continue;let c=a.activeState.value;n.push(Array.isArray(c)?c[0]:c)}return n};var xy=Zt;function oa(t){return{fontFamily:{en:t.familyName||" "},fontSubfamily:{en:t.styleName||" "},fullName:{en:t.fullName||t.familyName+" "+t.styleName},postScriptName:{en:t.postScriptName||(t.familyName+t.styleName).replace(/\s/g,"")},designer:{en:t.designer||" "},designerURL:{en:t.designerURL||" "},manufacturer:{en:t.manufacturer||" "},manufacturerURL:{en:t.manufacturerURL||" "},license:{en:t.license||" "},licenseURL:{en:t.licenseURL||" "},version:{en:t.version||"Version 0.1"},description:{en:t.description||" "},copyright:{en:t.copyright||" "},trademark:{en:t.trademark||" "}}}function et(t){if(t=t||{},t.tables=t.tables||{},!t.empty){if(!t.familyName)throw new Error("When creating a new Font object, familyName is required.");if(!t.styleName)throw new Error("When creating a new Font object, styleName is required.");if(!t.unitsPerEm)throw new Error("When creating a new Font object, unitsPerEm is required.");if(!t.ascender)throw new Error("When creating a new Font object, ascender is required.");if(t.descender>0)throw new Error("When creating a new Font object, negative descender value is required.");this.names={},this.names.unicode=oa(t),this.names.macintosh=oa(t),this.names.windows=oa(t),this.unitsPerEm=t.unitsPerEm||1e3,this.ascender=t.ascender,this.descender=t.descender,this.createdTimestamp=t.createdTimestamp,this.italicAngle=t.italicAngle||0,this.weightClass=t.weightClass||0;let n=0;t.fsSelection?n=t.fsSelection:(this.italicAngle<0?n|=this.fsSelectionValues.ITALIC:this.italicAngle>0&&(n|=this.fsSelectionValues.OBLIQUE),this.weightClass>=600&&(n|=this.fsSelectionValues.BOLD),n===0&&(n=this.fsSelectionValues.REGULAR)),(!t.panose||!Array.isArray(t.panose))&&(t.panose=[0,0,0,0,0,0,0,0,0]),this.tables=Object.assign(t.tables,{os2:Object.assign({usWeightClass:t.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:t.widthClass||this.usWidthClasses.MEDIUM,bFamilyType:t.panose[0]||0,bSerifStyle:t.panose[1]||0,bWeight:t.panose[2]||0,bProportion:t.panose[3]||0,bContrast:t.panose[4]||0,bStrokeVariation:t.panose[5]||0,bArmStyle:t.panose[6]||0,bLetterform:t.panose[7]||0,bMidline:t.panose[8]||0,bXHeight:t.panose[9]||0,fsSelection:n},t.tables.os2)})}this.supported=!0,this.glyphs=new dr.GlyphSet(this,t.glyphs||[]),this.encoding=new Jl(this),this.position=new EE(this),this.substitution=new vE(this),this.tables=this.tables||{},this.tables=new Proxy(this.tables,{set:(n,s,a)=>(n[s]=a,n.fvar&&(n.gvar||n.cff2)&&!this.variation&&(this.variation=new PE(this)),!0)}),this.palettes=new Uc(this),this.layers=new IE(this),this.svgImages=new FE(this),this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:this.outlinesFormat==="truetype"?this._hinting=new mw(this):null}})}et.prototype.hasChar=function(t){return this.encoding.charToGlyphIndex(t)>0},et.prototype.charToGlyphIndex=function(t){return this.encoding.charToGlyphIndex(t)},et.prototype.charToGlyph=function(t){let n=this.charToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.updateFeatures=function(t){return this.defaultRenderOptions.features.map(n=>n.script==="latn"?{script:"latn",tags:n.tags.filter(s=>t[s])}:n)},et.prototype.stringToGlyphIndexes=function(t,n){let s=new xy,a=h=>this.charToGlyphIndex(h.char);s.registerModifier("glyphIndex",null,a);let c=n?this.updateFeatures(n.features):this.defaultRenderOptions.features;return s.applyFeatures(this,c),s.getTextGlyphs(t)},et.prototype.stringToGlyphs=function(t,n){let s=this.stringToGlyphIndexes(t,n),a=s.length,c=new Array(a),h=this.glyphs.get(0);for(let d=0;d<a;d+=1)c[d]=this.glyphs.get(s[d])||h;return c},et.prototype.nameToGlyphIndex=function(t){return this.glyphNames.nameToGlyphIndex(t)},et.prototype.nameToGlyph=function(t){let n=this.nameToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.glyphIndexToName=function(t){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(t):""},et.prototype.getKerningValue=function(t,n){t=t.index||t,n=n.index||n;let s=this.position.defaultKerningTables;return s?this.position.getKerningValue(s,t,n):this.kerningPairs[t+","+n]||0},et.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]},{script:"thai",tags:["liga","rlig","ccmp"]}],hinting:!1,usePalette:0,drawLayers:!0,drawSVG:!0},et.prototype.forEachGlyph=function(t,n,s,a,c,h){n=n!==void 0?n:0,s=s!==void 0?s:0,a=a!==void 0?a:72,c=Object.assign({},this.defaultRenderOptions,c);let d=1/this.unitsPerEm*a,B=this.stringToGlyphs(t,c),w;if(c.kerning){let x=c.script||this.position.getDefaultScriptName();w=this.position.getKerningTables(x,c.language)}for(let x=0;x<B.length;x+=1){let C=B[x];if(h.call(this,C,n,s,a,c),C.advanceWidth&&(n+=C.advanceWidth*d),c.kerning&&x<B.length-1){let S=w?this.position.getKerningValue(w,C.index,B[x+1].index):this.getKerningValue(C,B[x+1]);n+=S*d}c.letterSpacing?n+=c.letterSpacing*a:c.tracking&&(n+=c.tracking/1e3*a)}return n},et.prototype.getPath=function(t,n,s,a,c){c=Object.assign({},this.defaultRenderOptions,c);let h=new z;if(h._layers=[],rc(this,h,a),h.stroke){let d=1/(h.unitsPerEm||1e3)*a;h.strokeWidth*=d}return this.forEachGlyph(t,n,s,a,c,(d,B,w,x)=>{let C=d.getPath(B,w,x,c,this);if(c.drawSVG||c.drawLayers){let S=C._layers;if(S&&S.length){for(let T=0;T<S.length;T++){let Y=S[T];h._layers.push(Y)}return}}h.extend(C)}),h},et.prototype.getPaths=function(t,n,s,a,c){c=Object.assign({},this.defaultRenderOptions,c);let h=[];return this.forEachGlyph(t,n,s,a,c,function(d,B,w,x){let C=d.getPath(B,w,x,c,this);h.push(C)}),h},et.prototype.getAdvanceWidth=function(t,n,s){return s=Object.assign({},this.defaultRenderOptions,s),this.forEachGlyph(t,0,0,n,s,function(){})},et.prototype.draw=function(t,n,s,a,c,h){this.getPath(n,s,a,c,h).draw(t)},et.prototype.drawPoints=function(t,n,s,a,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,a,c,h,function(d,B,w,x){d.drawPoints(t,B,w,x,h,this)})},et.prototype.drawMetrics=function(t,n,s,a,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,a,c,h,function(d,B,w,x){d.drawMetrics(t,B,w,x)})},et.prototype.getEnglishName=function(t){let n=(this.names.unicode||this.names.macintosh||this.names.windows)[t];if(n)return n.en},et.prototype.validate=function(){let t=[],n=this;function s(c,h){c||(console.warn(`[opentype.js] ${h}`),t.push(h))}function a(c){let h=n.getEnglishName(c);s(h&&h.trim().length>0,"No English "+c+" specified.")}if(a("fontFamily"),a("weightName"),a("manufacturer"),a("copyright"),a("version"),s(this.unitsPerEm>0,"No unitsPerEm specified."),this.tables.colr){let c=this.tables.colr.baseGlyphRecords,h=-1;for(let d=0;d<c.length;d++){let B=c[d].glyphID;if(s(h<c[d].glyphID,`baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${B} comes after ${h}`),h>c[d].glyphID)break;h=B}}return t},et.prototype.toTables=function(){return BE.fontToTable(this)},et.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},et.prototype.toArrayBuffer=function(){let n=this.toTables().encode(),s=new ArrayBuffer(n.length),a=new Uint8Array(s);for(let c=0;c<n.length;c++)a[c]=n[c];return s},et.prototype.download=function(){console.error("DEPRECATED: platform-specific actions are to be implemented on user-side")},et.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},et.prototype.macStyleValues={BOLD:1,ITALIC:2,UNDERLINE:4,OUTLINED:8,SHADOW:16,CONDENSED:32,EXTENDED:64},et.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},et.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var pu=et;function Qy(t,n){let s=new he.Parser(t,n),a=s.parseUShort(),c=s.parseUShort();a!==1&&console.warn(`Unsupported hvar table version ${a}.${c}`);let h=[a,c],d=s.parsePointer32(function(){return this.parseItemVariationStore()}),B=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),w=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),x=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()});return{version:h,itemVariationStore:d,advanceWidth:B,lsb:w,rsb:x}}function vy(){console.warn("Writing of hvar tables is not yet supported.")}var Iy={make:vy,parse:Qy},Fy=function(){return{coverage:this.parsePointer(V.coverage),attachPoints:this.parseList(V.pointer(V.uShortList))}},Ty=function(){var t=this.parseUShort();if(G.argument(t===1||t===2||t===3,"Unsupported CaretValue table version."),t===1)return{coordinate:this.parseShort()};if(t===2)return{pointindex:this.parseShort()};if(t===3)return{coordinate:this.parseShort()}},Sy=function(){return this.parseList(V.pointer(Ty))},Dy=function(){return{coverage:this.parsePointer(V.coverage),ligGlyphs:this.parseList(V.pointer(Sy))}},My=function(){return this.parseUShort(),this.parseList(V.pointer(V.coverage))};function Uy(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);G.argument(a===1||a===1.2||a===1.3,"Unsupported GDEF table version.");var c={version:a,classDef:s.parsePointer(V.classDef),attachList:s.parsePointer(Fy),ligCaretList:s.parsePointer(Dy),markAttachClassDef:s.parsePointer(V.classDef)};return a>=1.2&&(c.markGlyphSets=s.parsePointer(My)),c}var ky={parse:Uy},nr=new Array(10);nr[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{posFormat:1,coverage:this.parsePointer(V.coverage),value:this.parseValueRecord()};if(s===2)return{posFormat:2,coverage:this.parsePointer(V.coverage),values:this.parseValueRecordList()};G.assert(!1,"0x"+n.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},nr[2]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();G.assert(s===1||s===2,"0x"+n.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");let a=this.parsePointer(V.coverage),c=this.parseUShort(),h=this.parseUShort();if(s===1)return{posFormat:s,coverage:a,valueFormat1:c,valueFormat2:h,pairSets:this.parseList(V.pointer(V.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}})))};if(s===2){let d=this.parsePointer(V.classDef),B=this.parsePointer(V.classDef),w=this.parseUShort(),x=this.parseUShort();return{posFormat:s,coverage:a,valueFormat1:c,valueFormat2:h,classDef1:d,classDef2:B,class1Count:w,class2Count:x,classRecords:this.parseList(w,V.list(x,function(){return{value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}}))}}},nr[3]=function(){return{error:"GPOS Lookup 3 not supported"}},nr[4]=function(){return{error:"GPOS Lookup 4 not supported"}},nr[5]=function(){return{error:"GPOS Lookup 5 not supported"}},nr[6]=function(){return{error:"GPOS Lookup 6 not supported"}},nr[7]=function(){return{error:"GPOS Lookup 7 not supported"}},nr[8]=function(){return{error:"GPOS Lookup 8 not supported"}},nr[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function Yy(t,n){n=n||0;let s=new V(t,n),a=s.parseVersion(1);return G.argument(a===1||a===1.1,"Unsupported GPOS table version "+a),a===1?{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr)}:{version:a,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr),variations:s.parseFeatureVariationsList()}}var Oy=new Array(10);function Ny(t){return new $.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,Oy)}])}var Ry={parse:Yy,make:Ny};function Gy(t){let n={};t.skip("uShort");let s=t.parseUShort();G.argument(s===0,"Unsupported kern sub-table version."),t.skip("uShort",2);let a=t.parseUShort();t.skip("uShort",3);for(let c=0;c<a;c+=1){let h=t.parseUShort(),d=t.parseUShort(),B=t.parseShort();n[h+","+d]=B}return n}function Ly(t){let n={};t.skip("uShort"),t.parseULong()>1&&console.warn("Only the first kern subtable is supported."),t.skip("uLong");let c=t.parseUShort()&255;if(t.skip("uShort"),c===0){let h=t.parseUShort();t.skip("uShort",3);for(let d=0;d<h;d+=1){let B=t.parseUShort(),w=t.parseUShort(),x=t.parseShort();n[B+","+w]=x}}return n}function Py(t,n){let s=new he.Parser(t,n),a=s.parseUShort();if(a===0)return Gy(s);if(a===1)return Ly(s);throw new Error("Unsupported kern table version ("+a+").")}var Hy={parse:Py};function Wy(t,n,s,a){let c=new he.Parser(t,n),h=a?c.parseUShort:c.parseULong,d=[];for(let B=0;B<s+1;B+=1){let w=h.call(c);a&&(w*=2),d.push(w)}return d}var Jy={parse:Wy};function du(t,n){let s=[],a=12;for(let c=0;c<n;c+=1){let h=he.getTag(t,a),d=he.getULong(t,a+4),B=he.getULong(t,a+8),w=he.getULong(t,a+12);s.push({tag:h,checksum:d,offset:B,length:w,compression:!1}),a+=16}return s}function Vy(t,n){let s=[],a=44;for(let c=0;c<n;c+=1){let h=he.getTag(t,a),d=he.getULong(t,a+4),B=he.getULong(t,a+8),w=he.getULong(t,a+12),x;B<w?x="WOFF":x=!1,s.push({tag:h,offset:d,compression:x,compressedLength:B,length:w}),a+=20}return s}function ze(t,n){if(n.compression==="WOFF"){let s=new Uint8Array(t.buffer,n.offset+2,n.compressedLength-2),a=new Uint8Array(n.length);if(fe(s,a),a.byteLength!==n.length)throw new Error("Decompression error: "+n.tag+" decompressed length doesn't match recorded length");return{data:new DataView(a.buffer,0),offset:0}}else return{data:t,offset:n.offset}}function jy(t,n={}){let s,a,c=new pu({empty:!0});t.constructor!==ArrayBuffer&&(t=new Uint8Array(t).buffer);let h=new DataView(t,0),d,B=[],w=he.getTag(h,0);if(w==="\0\0\0"||w==="true"||w==="typ1")c.outlinesFormat="truetype",d=he.getUShort(h,4),B=du(h,d);else if(w==="OTTO")c.outlinesFormat="cff",d=he.getUShort(h,4),B=du(h,d);else if(w==="wOFF"){let Se=he.getTag(h,4);if(Se==="\0\0\0")c.outlinesFormat="truetype";else if(Se==="OTTO")c.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+w);d=he.getUShort(h,12),B=Vy(h,d)}else if(w==="wOF2"){let Se="https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025";throw new Error("WOFF2 require an external decompressor library, see examples at: "+Se)}else throw new Error("Unsupported OpenType signature "+w);let x,C,S,T,Y,U,L,ee,Te,xe,Re,Je,$e,nt,st,Bt,sr,Ve;for(let Se=0;Se<d;Se+=1){let we=B[Se],Ce;switch(we.tag){case"avar":L=we;break;case"cmap":Ce=ze(h,we),c.tables.cmap=Wl.parse(Ce.data,Ce.offset),c.encoding=new Vl(c.tables.cmap);break;case"cvt ":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.cvt=Ve.parseShortList(we.length/2);break;case"fvar":S=we;break;case"STAT":T=we;break;case"gvar":Y=we;break;case"cvar":U=we;break;case"fpgm":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.fpgm=Ve.parseByteList(we.length);break;case"head":Ce=ze(h,we),c.tables.head=Ac.parse(Ce.data,Ce.offset),c.unitsPerEm=c.tables.head.unitsPerEm,s=c.tables.head.indexToLocFormat;break;case"hhea":Ce=ze(h,we),c.tables.hhea=lc.parse(Ce.data,Ce.offset),c.ascender=c.tables.hhea.ascender,c.descender=c.tables.hhea.descender,c.numberOfHMetrics=c.tables.hhea.numberOfHMetrics;break;case"HVAR":$e=we;break;case"hmtx":Je=we;break;case"ltag":Ce=ze(h,we),a=uc.parse(Ce.data,Ce.offset);break;case"COLR":Ce=ze(h,we),c.tables.colr=gc.parse(Ce.data,Ce.offset);break;case"CPAL":Ce=ze(h,we),c.tables.cpal=Xl.parse(Ce.data,Ce.offset);break;case"maxp":Ce=ze(h,we),c.tables.maxp=hc.parse(Ce.data,Ce.offset),c.numGlyphs=c.tables.maxp.numGlyphs;break;case"name":Bt=we;break;case"OS/2":Ce=ze(h,we),c.tables.os2=jo.parse(Ce.data,Ce.offset);break;case"post":Ce=ze(h,we),c.tables.post=fc.parse(Ce.data,Ce.offset),c.glyphNames=new No(c.tables.post);break;case"prep":Ce=ze(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.prep=Ve.parseByteList(we.length);break;case"glyf":ee=we;break;case"loca":st=we;break;case"CFF ":x=we;break;case"CFF2":C=we;break;case"kern":nt=we;break;case"GDEF":Te=we;break;case"GPOS":xe=we;break;case"GSUB":Re=we;break;case"meta":sr=we;break;case"gasp":try{Ce=ze(h,we),c.tables.gasp=Cc.parse(Ce.data,Ce.offset)}catch(vt){console.warn("Failed to parse gasp table, skipping."),console.warn(vt)}break;case"SVG ":Ce=ze(h,we),c.tables.svg=bc.parse(Ce.data,Ce.offset);break;default:break}}let Vt=ze(h,Bt);if(c.tables.name=dn.parse(Vt.data,Vt.offset,a),c.names=c.tables.name,ee&&st){let Se=s===0,we=ze(h,st),Ce=Jy.parse(we.data,we.offset,c.numGlyphs,Se),vt=ze(h,ee);c.glyphs=Nc.parse(vt.data,vt.offset,Ce,c,n)}else if(x){let Se=ze(h,x);Jo.parse(Se.data,Se.offset,c,n)}else if(C){let Se=ze(h,C);Jo.parse(Se.data,Se.offset,c,n)}else throw new Error("Font doesn't contain TrueType, CFF or CFF2 outlines.");let Dt=ze(h,Je);if(cc.parse(c,Dt.data,Dt.offset,c.numberOfHMetrics,c.numGlyphs,c.glyphs,n),J0(c,n),nt){let Se=ze(h,nt);c.kerningPairs=Hy.parse(Se.data,Se.offset)}else c.kerningPairs={};if(Te){let Se=ze(h,Te);c.tables.gdef=ky.parse(Se.data,Se.offset)}if(xe){let Se=ze(h,xe);c.tables.gpos=Ry.parse(Se.data,Se.offset),c.position.init()}if(Re){let Se=ze(h,Re);c.tables.gsub=pc.parse(Se.data,Se.offset)}if(S){let Se=ze(h,S);c.tables.fvar=mc.parse(Se.data,Se.offset,c.names)}if(T){let Se=ze(h,T);c.tables.stat=Bc.parse(Se.data,Se.offset,c.tables.fvar)}if(Y){S||console.warn("This font provides a gvar table, but no fvar table, which is required for variable fonts."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=ze(h,Y);c.tables.gvar=yc.parse(Se.data,Se.offset,c.tables.fvar,c.glyphs)}if(U){S||console.warn("This font provides a cvar table, but no fvar table, which is required for variable fonts."),c.tables.cvt||console.warn("This font provides a cvar table, but no cvt table which could be made variable."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=ze(h,U);c.tables.cvar=wc.parse(Se.data,Se.offset,c.tables.fvar,c.tables.cvt||[])}if(L){S||console.warn("This font provides an avar table, but no fvar table, which is required for variable fonts.");let Se=ze(h,L);c.tables.avar=Ec.parse(Se.data,Se.offset,c.tables.fvar)}if($e){S||console.warn("This font provides an HVAR table, but no fvar table, which is required for variable fonts."),Je||console.warn("This font provides an HVAR table, but no hmtx table to vary.");let Se=ze(h,$e);c.tables.hvar=Iy.parse(Se.data,Se.offset,c.tables.fvar)}if(sr){let Se=ze(h,sr);c.tables.meta=dc.parse(Se.data,Se.offset),c.metas=c.tables.meta}return c.palettes=new Uc(c),c}function _y(){console.error("DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675")}function Zy(){console.error('DEPRECATED! migrate to: opentype.parse(require("fs").readFileSync(url), opt)')}return u(f)})();(function(r,e){typeof define=="function"&&define.amd?define(e):typeof vo=="object"&&vo.exports?vo.exports=e():r.opentype=e()})(typeof self<"u"?self:Q0,()=>({...x0,default:x0}))});var Mu=xn(Du(),1),{program:LT,createCommand:PT,createArgument:HT,createOption:WT,CommanderError:JT,InvalidArgumentError:VT,InvalidOptionArgumentError:jT,Command:Gi,Argument:_T,Option:Li,Help:ZT}=Mu.default;var Ms=["https://meta.fabricmc.net","https://meta2.fabricmc.net","https://meta3.fabricmc.net"],mC=["https://maven.fabricmc.net","https://maven2.fabricmc.net","https://maven3.fabricmc.net"],BC=0;async function Pi(){return Ys(Ms,"/v2/versions/game")}async function Us(){return Ys(Ms,"/v2/versions/loader")}function Uu(r,e){return r.stable?e.find(i=>i.stable).version:e[0].version}async function ku(){return Ys(Ms,"/v2/versions/yarn")}async function Yu(r){return Ys(Ms,"/v2/versions/yarn/"+r)}function EC(){return Gu("/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml")}function Ou(){return Gu("/net/fabricmc/fabric-language-kotlin/maven-metadata.xml")}async function ks(r){let i=(await EC()).filter(o=>CC(o,r)).pop();if(!i)throw new Error(`Could not find a valid Fabric API version for Minecraft ${r}`);return i}function wC(r){return yC(r)[0]}function yC(r){return r.split("-")[0].split(".").map(i=>parseInt(i))}function CC(r,e){if(!e)return!1;if(e=="1.18")return r=="0.44.0+1.18";let i=e;if(["1.14","1.15","1.16","1.17","1.18","1.19","1.20","20w14infinite","1.18_experimental"].forEach(u=>{e.startsWith(u)&&(i=u)}),wC(e)>=26){let u=e.indexOf("-");var l=e.substring(0,u===-1?e.length:u);i=l}return e.endsWith("_unobfuscated")?i="1.21.11_unobfuscated":e.startsWith("25w14craftmine")?i="25w14craftmine":e.startsWith("22w13oneblockatatime")?i="22w13oneblockatatime":e.startsWith("25w")?i="1.21.11":e.startsWith("24w")?i="1.21.4":e.startsWith("23w")?i="1.20.5":e.startsWith("22w")?i="1.19.3":e.startsWith("1.18.2")?i="1.18.2":e.startsWith("1.19.1")?i="1.19.1":e.startsWith("1.19.2")?i="1.19.2":e.startsWith("1.19.3")?i="1.19.3":e.startsWith("1.19.4")?i="1.19.4":e.startsWith("1.20.1")?i="1.20.1":e.startsWith("1.20.2")?i="1.20.2":e.startsWith("1.20.3")?i="1.20.3":e.startsWith("1.20.4")?i="1.20.4":e.startsWith("1.20.5")?i="1.20.5":e.startsWith("1.20.6")?i="1.20.6":e.startsWith("1.21.6")?i="1.21.6":e.startsWith("1.21.7")?i="1.21.7":e.startsWith("1.21.8")?i="1.21.8":e.startsWith("1.21.9")?i="1.21.9":e.startsWith("1.21.10")?i="1.21.10":e.startsWith("1.21.11")?i="1.21.11":e.startsWith("1.21.5")?i="1.21.5":e.startsWith("1.21.4")?i="1.21.4":e.startsWith("1.21.3")?i="1.21.3":e.startsWith("1.21.2")?i="1.21.2":e.startsWith("1.21.1")?i="1.21.1":e.startsWith("1.21")?i="1.21":e.startsWith("21w")?i="1.18":e.startsWith("20w")?i="1.17":(e.startsWith("19w")||e.startsWith("18w"))&&(i="1.14"),r.endsWith("-"+i)||r.endsWith("+"+i)}var Nu=r=>{let i=new DOMParser().parseFromString(r,"text/xml");return Array.from(i.getElementsByTagName("version")).map(o=>o.childNodes[0].nodeValue)};function Ru(r){Nu=r}async function Gu(r){let e=await bC(mC,r);return Nu(e)}async function Ys(r,e){return await(await Lu(r,e)).json()}async function bC(r,e){return await(await Lu(r,e)).text()}async function Lu(r,e){let i;for(var o of[5e3,3e4])for(var A of r){let l=A+e;try{let u=await fetch(l,{signal:AbortSignal.timeout(o)});if(u.ok)return BC=r.indexOf(A),u;throw new Error(`HTTP ${u.status} ${u.statusText}`.trim())}catch(u){i??=u instanceof Error?u.message:String(u),console.error(u)}}throw new Error(`Failed to fetch: ${r[0]+e}. ${i}`)}var Ls=class extends Error{constructor(r){super(r),this.name="Eta Error"}},Wu=class extends Ls{constructor(r){super(r),this.name="EtaParser Error"}},xC=class extends Ls{constructor(r){super(r),this.name="EtaRuntime Error"}};var QC=class extends Ls{constructor(r){super(r),this.name="EtaNameResolution Error"}};function vn(r,e,i){let o=e.slice(0,i).split(/\n/),A=o.length,l=o[A-1].length+1;throw r+=" at line "+A+" col "+l+`:
|
|
131
131
|
|
|
132
132
|
`+e.split(/\n/)[A-1]+`
|
|
133
133
|
`+Array(l).join(" ")+"^",new Wu(r)}function vC(r,e,i,o){let A=e.split(`
|
|
@@ -1137,4 +1137,4 @@ This template is available under the CC0 license. Feel free to learn from it and
|
|
|
1137
1137
|
`)+i,A=o+1,o=r.indexOf(`
|
|
1138
1138
|
`,A)}while(o!==-1);return l+=r.slice(A),l}var Ug=(r=0)=>e=>`\x1B[${e+r}m`,Al=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,ll=(r=0)=>(e,i,o)=>`\x1B[${38+r};2;${e};${i};${o}m`,J2=r=>`\x1B[58;5;${r<90?r-30:r-90+8}m`,rt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],underlineDouble:["4:2",24],underlineCurly:["4:3",24],underlineDotted:["4:4",24],underlineDashed:["4:5",24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},underlineColor:{underlineBlack:["58;5;0",59],underlineRed:["58;5;1",59],underlineGreen:["58;5;2",59],underlineYellow:["58;5;3",59],underlineBlue:["58;5;4",59],underlineMagenta:["58;5;5",59],underlineCyan:["58;5;6",59],underlineWhite:["58;5;7",59],underlineBlackBright:["58;5;8",59],underlineGray:["58;5;8",59],underlineGrey:["58;5;8",59],underlineRedBright:["58;5;9",59],underlineGreenBright:["58;5;10",59],underlineYellowBright:["58;5;11",59],underlineBlueBright:["58;5;12",59],underlineMagentaBright:["58;5;13",59],underlineCyanBright:["58;5;14",59],underlineWhiteBright:["58;5;15",59]}},Uk=Object.keys(rt.modifier),V2=Object.keys(rt.color),j2=Object.keys(rt.bgColor),kk=Object.keys(rt.underlineColor),Yk=[...V2,...j2];function _2(){let r=new Map;for(let[e,i]of Object.entries(rt)){for(let[o,A]of Object.entries(i))rt[o]={open:`\x1B[${A[0]}m`,close:`\x1B[${A[1]}m`},i[o]=rt[o],r.set(Number.parseInt(A[0],10),A[1]);Object.defineProperty(rt,e,{value:i,enumerable:!1})}return Object.defineProperty(rt,"codes",{value:r,enumerable:!1}),rt.color.close="\x1B[39m",rt.bgColor.close="\x1B[49m",rt.underlineColor.close="\x1B[59m",rt.color.ansi=Ug(),rt.color.ansi256=Al(),rt.color.ansi16m=ll(),rt.bgColor.ansi=Ug(10),rt.bgColor.ansi256=Al(10),rt.bgColor.ansi16m=ll(10),rt.underlineColor.ansi=J2,rt.underlineColor.ansi256=Al(20),rt.underlineColor.ansi16m=ll(20),Object.defineProperties(rt,{rgbToAnsi256:{value(e,i,o){return e===i&&i===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(i/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(e){let i=/[\da-f]{6}|[\da-f]{3}/i.exec(e.toString(16));if(!i)return[0,0,0];let[o]=i;o.length===3&&(o=[...o].map(l=>l+l).join(""));let A=Number.parseInt(o,16);return[A>>16&255,A>>8&255,A&255]},enumerable:!1},hexToAnsi256:{value:e=>rt.rgbToAnsi256(...rt.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let i,o,A;if(e>=232)i=((e-232)*10+8)/255,o=i,A=i;else{e-=16;let f=e%36;i=Math.floor(e/36)/5,o=Math.floor(f/6)/5,A=f%6/5}let l=Math.max(i,o,A)*2;if(l===0)return 30;let u=30+(Math.round(A)<<2|Math.round(o)<<1|Math.round(i));return l===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,i,o)=>rt.ansi256ToAnsi(rt.rgbToAnsi256(e,i,o)),enumerable:!1},hexToAnsi:{value:e=>rt.ansi256ToAnsi(rt.hexToAnsi256(e)),enumerable:!1}}),rt}var Z2=_2(),Qr=Z2;import cl from"node:process";import X2 from"node:os";import kg from"node:tty";function $t(r,e=globalThis.Deno?globalThis.Deno.args:cl.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",o=e.indexOf(i+r),A=e.indexOf("--");return o!==-1&&(A===-1||o<A)}var{env:ct}=cl,go;$t("no-color")||$t("no-colors")||$t("color=false")||$t("color=never")?go=0:($t("color")||$t("colors")||$t("color=true")||$t("color=always"))&&(go=1);function Og(){return/^\d+$/.test(ct.FORCE_COLOR)}function z2(){if("FORCE_COLOR"in ct){if(ct.FORCE_COLOR==="false")return 0;if(ct.FORCE_COLOR==="true"||ct.FORCE_COLOR.length===0)return 1;if(Og())return Math.min(Number.parseInt(ct.FORCE_COLOR,10),3)}}function q2(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function K2(r,{streamIsTTY:e,sniffFlags:i=!0}={}){let o=z2();o!==void 0&&(go=o);let A=i?go:o;if(A===0)return 0;if(i){if($t("color=16m")||$t("color=full")||$t("color=truecolor"))return 3;if($t("color=256"))return 2}if(A!==void 0&&Og())return A;if("TF_BUILD"in ct&&"AGENT_NAME"in ct)return 1;if(r&&!e&&A===void 0)return 0;let l=A||0;if(ct.TERM==="dumb")return l;if(cl.platform==="win32"){let u=X2.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in ct)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in ct)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in ct)||ct.CI_NAME==="codeship"?1:l;if("TEAMCITY_VERSION"in ct)return/^(?:9\.0*[1-9]\d*\.|\d{2,}\.)/.test(ct.TEAMCITY_VERSION)?1:0;if(ct.COLORTERM==="truecolor"||ct.TERM==="xterm-kitty"||ct.TERM==="xterm-ghostty"||ct.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ct){let u=Number.parseInt((ct.TERM_PROGRAM_VERSION||"").split(".",1)[0],10);switch(ct.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(?:color)?$/i.test(ct.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ct.TERM)||"COLORTERM"in ct?1:l}function Yg(r,e={}){let i=K2(r,{streamIsTTY:r&&r.isTTY,...e});return q2(i)}var $2={stdout:Yg({isTTY:kg.isatty(1)}),stderr:Yg({isTTY:kg.isatty(2)})},Ng=$2;var{stdout:Rg,stderr:Gg}=Ng,Zn=Symbol("GENERATOR"),Xn=Symbol("STYLER"),Bo=Symbol("IS_EMPTY"),mo=Symbol("LEVEL"),zn=Object.create(null),Lg=r=>{if(!Number.isSafeInteger(r)||r<0||r>3)throw new Error("The `level` should be an integer from 0 to 3")},eI={enumerable:!0,get(){return this[mo]},set(r){Lg(r),this[mo]=r}},tI=(r,e={})=>{e.level!==void 0&&Lg(e.level);let i=Rg?Rg.level:0;r[mo]=e.level===void 0?i:e.level};var rI=r=>{let e=(...i)=>i.join(" ");return tI(e,r),Object.setPrototypeOf(e,qn.prototype),e};function qn(r){return rI(r)}Object.setPrototypeOf(qn.prototype,Function.prototype);for(let[r,e]of Object.entries(Qr))zn[r]={get(){let i=hl(this,Pg(e.open,e.close,this[Xn]),this[Bo]);return Object.defineProperty(this,r,{value:i}),i}};zn.visible={get(){let r=hl(this,this[Xn],!0);return Object.defineProperty(this,"visible",{value:r}),r}};var iI=(r,e)=>{let i=Qr[e];if(r==="rgb"){let A=(u,f,p)=>i.ansi(Qr.rgbToAnsi(u,f,p));return[A,A,(u,f,p)=>i.ansi256(Qr.rgbToAnsi256(u,f,p)),i.ansi16m]}if(r==="hex"){let A=u=>i.ansi(Qr.hexToAnsi(u));return[A,A,u=>i.ansi256(Qr.hexToAnsi256(u)),u=>i.ansi16m(...Qr.hexToRgb(u))]}let o=A=>i.ansi(Qr.ansi256ToAnsi(A));return[o,o,i.ansi256,i.ansi256]},nI=["rgb","hex","ansi256"];for(let r of nI){let e=r[0].toUpperCase()+r.slice(1);for(let[i,o]of[[r,"color"],["bg"+e,"bgColor"],["underline"+e,"underlineColor"]]){let{close:A}=Qr[o],l=iI(r,o);zn[i]={get(){let u=function(f,p,g){let m=l[this.level](f,p,g);return hl(this,Pg(m,A,this[Xn]),this[Bo])};return Object.defineProperty(this,i,{value:u}),u}}}}var sI=Object.defineProperties(()=>{},{...zn,level:{enumerable:!0,get(){return this[Zn].level},set(r){this[Zn].level=r}}}),Pg=(r,e,i)=>{let o,A;return i===void 0?(o=r,A=e):(o=i.openAll+r,A=e+i.closeAll),{open:r,close:e,openAll:o,closeAll:A,parent:i}},hl=(r,e,i)=>{let o=(...A)=>A.length===1?ul(o,""+A[0]):A.length===2?ul(o,`${A[0]??""} ${A[1]??""}`):ul(o,A.join(" "));return Object.setPrototypeOf(o,sI),o[Zn]=r[Zn]??r,o[Xn]=e,o[Bo]=i,o},ul=(r,e)=>{if(r[Zn][mo]<=0||!e)return r[Bo]?"":e;let i=r[Xn];if(i===void 0)return e;let{openAll:o,closeAll:A}=i;if(e.includes("\x1B"))for(;i!==void 0;)e=Dg(e,i.close,i.open),i=i.parent;let l=e.indexOf(`
|
|
1139
1139
|
`);return l!==-1&&(e=Mg(e,A,o,l)),o+e+A};Object.defineProperties(qn.prototype,{...zn,level:eI});var oI=qn(),Jk=qn({level:Gg?Gg.level:0});var Eo=oI;import{readdir as aI,stat as _k}from"node:fs/promises";async function Hg(r){return(await aI(r)).length===0}var Wg="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BxAAVAZgAH8GYwBzBCoAXAcDAJgFBwCABYwAjAVwAHUF5f21BTMAYQhRAFsFygA/BRX//QWMAFwDAwCuBGYAawMDALIEpgCyBQT/3QRzAHAEGAAxBL8AiAQcAF8EswBaBGIAWQQRAFUEP//dBJ8AkQI+ALUDOv+nBFIAogIxAKwGNwBwBDAAggQ1AFIERwB6BCkAQgPYAIID5QAmA8UAPwQpAGgD5AAiBXkAPgS5ACcEKv/YBE4AegLuAAADXwFiAu4ABgTIAFQCZAAAAecAYAT8AH0GWQAnBOUAOQUWAHADPAFOBRQAcgRzAN4GXQBjBDcAgwSfABQD2AAwA1UAcAZdAGMFBP/dA0YARAPYAEcFNQFVBTUBmgRzAMEEKQAABY0AQAH+AI8EcwFoBTUBdwQ1AC8En//7BTUAoAU1AKAFNQCgBDEATgXaAGgF2gBoBdoAaAXaAGgF2gBoBdoAaAiyAAkE0gBMBP8AogT/AKIE/wCiBP8AogRfAEMEXwBDBF8AQwRfAEMFxv/RBmAAfwZjAHMGYwBzBmMAcwZjAHMGYwBzA9gAMQZjACkF5f21BeX9tQXl/bUF5f21BRX//QQqAGADjAAuBBgAMQQYADEEGAAxBBgAMQQYADEEGAAxB0sAPwQcAF8EYgBZBGIAWQRiAFkEYgBZAj7/6AI+AGcCPv+CAj7/wAQSAFYEMAB4BDUAUgQ1AFIENQBSBDUAUgQ1AFID2AAyBDUAFgQpAGgEKQBoBCkAaAQpAGgEKv/YBEcAkgQq/9gF2gBoBBgAMQXaAGgEGAAxBdoAaAQYADEE0gBMBBwAXwTSAEwEHABfBNIATAQcAF8E0gBMBBwAXwXGALUGogBaBcb/0QTSAFoE/wCiBGIAWQT/AKIEYgBZBP8AogRiAFkE/wCiBGIAWQT/AKIEYgBZBXAATAQ//90FcABMBD//3QVwAEwEP//dBXAATAQ//90GJQCcBJ8AkQYl/9wEn//+BF8AQwI+/1wEXwBDAj7/2wRfAEMCPv9kBF8AQwI+/9QEXwBDAj4AtQkDAEMEPgCkBVIARQM6/7kE4wDSBFIAogRSAIAEaABmAjEArARoAGYCMQBjBGgAZgO3AKwEaABmAykArARo/14B0f+GBmAAfwQwAIIGYAB/BDAAggZgAH8EMACCBPgATgZgAH8EMACCBmMAcwQ1AFIGYwBzBDUAUgZjAHMENQBSCY0AgwctAFIFBwCAA9gAggUHAIAD2AA/BQcAgAPYAIIFjACMA+UAJgWMAIwD5QAmBYwAjAPlACYFjACMA+UAJgVwAHUDxQA/BXAAdQUdAD8FcAAkA8UAPwXl/bUEKQBNBeX9tQQpAGgF5f21BCkAVQXl/bUEKQBoBeX9tQQpAGgF5f21BCkAaAhRAFsFeQA+BRX//QQq/9gFFf/9BYwAXAROAHoFjABcBE4AegWMAFwETgB6BBEBPgNq/4cF2gBnBBgAPwiyAAkHSwA/BmMAKQQ1ABYFjACMA+UAJgVwAHUDxQA/Azr/uQSmALIEcwDzBHMBGARzAKoEcwE3BHMA+gRzAQcEcwCkBHMAtARzAdIEcwB8BdoAaAH+AI4GUACPB90AwwYNAEkHAwBkBs0AMQeuAEUCPv9nBdoAaAULAMEE7gC4BlsAQwT/AKIFjABcBiUAnAZjAHMEXwBDBOMA0gWE//MHEABUBmAAfwXDAFwGYwBzB0QAaQQqAFwF+gCGBXAAdQUV//0FGwBeBcoAPwVkACUHrgA/BF8AQwUV//0EQwAxA+8AlAQwAIICPgC0BCkATgRDADEEsQBtA+QAIgQ1AFID7wCUBBwAAAQwAIIE4gBBAj4AtQRSAHoD5AAnBCkAbwPkACIEHP/1BDUAUgUGABAENQAfBBwAAgQ1AFIDxQBCBCkATgTsAFUEuQAnBK8AKwYVACwCPv/ABCkATgQ1AFIEKQBOBhUALAT/AKIGzQAqBO4AuATSAE0FjACMBF8AQwRfAEMFUgBFCAAAEgfRACwGxgAqBREAqAUV//oF1gBwBdoAaATWALAFCwDBBO4AuAYlAF4E/wCiBuD/+gTPADwF+wCEBfsAhAURAKgF6QAKBxAAVAYlAJwGYwBzB0QAaQQqAFwE0gBMBXAAdQUV//oFGwBeBcoAPwYwAHAE8ABwB0AAcAeoAHAGFAAmCJoAsATWALAFPABzCQsAnAUHAEYEGAAxBDUAOwQIAIADwwCGBL4AIgRiAFkFdgAiA4QAPgUYAGIFGABiA/AAlAUtAAoF4AASBHoATwS7AFIFLQDaBEcAegQcAF8DxQA/BCr/2AZ7AEgEuQAnBPMArwRFAEwGLQB0BlgAdAT4ABQGUwCHA+8AhwQbAF4HOABLBAv/8ARiAFkEe/+4A8MAhgQbAE8D5QAmAj4AtQI+/8ADOv+nBx4ADAYxAFsEn/+4A/AAlAQq/9gE8wCKBO4AuAPDAIYIUQBbBXkAPghRAFsFeQA+CFEAWwV5AD4FFf/9BCr/2AOIAC0HEABEBxAARAUE/90BcQA2AXEANgJkADYDJgBPAyYAfwNLADYExgA3BMYAOwMZALoFZwCqCe4AnQFxACQCpgAkAw0AFAMNAFUDmQBsBOL/ZAZ9//kENwDOB+oAqgZZAGwJgwBcBOL/2AaQAFID6f/yCUIAfwlQACYHEABOB64APwRlADsFNQCgBTUAoAU1AKAFNQCgBBIAcQZbAEMHRABpBfoAhgPYADIE3AAMBrIAjwWZADgE9QB0BBUAWgMNABQDDQAhBav/6QWrAoIFqwJ+Bav/6wWrAn4Fq//oBeABbAUkAYIFJAFyBccAOAUkAXoFJAFlBAAAHAVFAEwFPwBMBAAAgANVAHAB/gCNAxsBEAMbAU0DGwFNAj4AtQU1APYCZABKBTUBcAABAAACTwDEAAcAcgAFAAIAHgBFAI0AAACKDgwABAABAAAAJgHOAAMAAQQDAAIADAAAAAMAAQQFAAIAEAAMAAMAAQQGAAIADAAcAAMAAQQHAAIAEAAoAAMAAQQIAAIAEAA4AAMAAQQJAAAA1ABIAAMAAQQJAAEAGAEcAAMAAQQJAAIADgE0AAMAAQQJAAMAOAFCAAMAAQQJAAQAKAF6AAMAAQQJAAUAcAGiAAMAAQQJAAYAJgISAAMAAQQJAAgAEgI4AAMAAQQJAAkAFAJKAAMAAQQJAAoBOAJeAAMAAQQJAAsAUgOWAAMAAQQJAAwAUgOWAAMAAQQJAA0BIgPoAAMAAQQJAA4ANgUKAAMAAQQKAAIADAAAAAMAAQQLAAIAEAVAAAMAAQQMAAIADAAAAAMAAQQOAAIADAVQAAMAAQQQAAIADgVcAAMAAQQTAAIAEgVqAAMAAQQUAAIADAAAAAMAAQQVAAIAEAV8AAMAAQQWAAIADAAAAAMAAQQZAAIADgWMAAMAAQQbAAIAEAWaAAMAAQQdAAIADAAAAAMAAQQfAAIADAAAAAMAAQQkAAIADgWqAAMAAQQtAAIADgW4AAMAAQgKAAIADAAAAAMAAQgWAAIADAAAAAMAAQwKAAIADAAAAAMAAQwMAAIADAAAAE4AbwByAG0AYQBsAG8AYgB5AQ0AZQBqAG4A6QBuAG8AcgBtAGEAbABTAHQAYQBuAGQAYQByAGQDmgOxA70DvwO9A7kDugOsAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMwAgAEoAZQBmAGYAIABEAGEAdgBpAHMAIAAoAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgApACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAUgBlAGcAdQBsAGEAcgAxAC4AMQA7AEwATwBVAEQAOwBDAG8AbQBpAGMAUgBlAGwAaQBlAGYALQBSAGUAZwB1AGwAYQByAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADQALgA3AC0ANQBkADUAYgApADsAZwBmAHQAbwBvAGwAcwBbADAALgA5AC4AMwAyAF0AQwBvAG0AaQBjAFIAZQBsAGkAZQBmAC0AUgBlAGcAdQBsAGEAcgBMAG8AdQBkAGkAZgBpAGUAcgBKAGUAZgBmACAARABhAHYAaQBzAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAaQBzACAAYQAgAHQAeQBwAGUAZgBhAGMAZQAgAGQAZQBzAGkAZwBuAGUAZAAgAHQAbwAgAGIAZQAgAG0AZQB0AHIAaQBjAGEAbABsAHkAIABlAHEAdQBpAHYAYQBsAGUAbgB0ACAAdABvACAAdABoAGUAIABwAG8AcAB1AGwAYQByACAAQwBvAG0AaQBjACAAUwBhAG4AcwAgAE0AUwAuACAARwBvACAAdABvACAAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBsAG8AdQBkAGkAZgBpAGUAcgAvAEMAbwBtAGkAYwAtAFIAZQBsAGkAZQBmACAAZgBvAHIAIABtAG8AcgBlACAAaQBuAGYAbwAuAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAE4AbwByAG0AYQBhAGwAaQBOAG8AcgBtAOEAbABOAG8AcgBtAGEAbABlAFMAdABhAG4AZABhAGEAcgBkAE4AbwByAG0AYQBsAG4AeQQeBDEESwRHBD0ESwQ5AE4AbwByAG0A4QBsAG4AZQBOAGEAdgBhAGQAbgBvAEEAcgByAHUAbgB0AGEAAgAAAAAAAP+fAK8AAAAAAAAAAAAAAAAAAAAAAAAAAAJPAAABAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEArACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEDAIoBBACDAJMA8gDzAI0BBQCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBBgEHAQgBCQEKAQsA/QD+AQwBDQEOAQ8A/wEAARABEQESAQEBEwEUARUBFgEXARgBGQEaARsBHAEdAR4A+AD5AR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4A+gDXAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AOIA4wE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTACwALEBTQFOAU8BUAFRAVIBUwFUAVUBVgD7APwA5ADlAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwAuwFtAW4BbwFwAOYA5wFxAKYBcgFzAXQBdQF2AXcBeAF5AXoBewF8ANgA4QDaANsA3ADdAOAA2QDfAX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4AnwGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsACXAbEBsgGzAJsBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInALIAswIoAikAtgC3AMQAtAC1AMUAggDCAIcAqwDGAioCKwC+AL8CLAItALwCLgD3Ai8CMAIxAjICMwI0AjUAjAI2AjcCOAI5AjoCOwCYAKgAmgCZAO8ApQCSAJwApwCPAJQAlQI8Aj0CPgI/AkACQQJCAkMCRAC5AkUCRgJHAMAAwQJIAkkCSgJLAkwCTQJOAk8CUAJRBmdseXBoMgtoeXBoZW5taW51cwlvdmVyc2NvcmUDbXUxB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleARDZG90BGNkb3QGRGNhcm9uBmRjYXJvbgZEc2xhc2gHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERWRvdARlZG90B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4BEdkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljBkxhY3V0ZQZsYWN1dGUITGNlZGlsbGEIbGNlZGlsbGEGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQhOY2VkaWxsYQhuY2VkaWxsYQZOY2Fyb24GbmNhcm9uC25hcG9zdHJvcGhlA0VuZwNlbmcHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUJT2RibGFjdXRlCW9kYmxhY3V0ZQZSYWN1dGUGcmFjdXRlCFJjZWRpbGxhCHJjZWRpbGxhBlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAhUY2VkaWxsYQh0Y2VkaWxsYQZUY2Fyb24GdGNhcm9uBFRiYXIEdGJhcgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nCVVkYmxhY3V0ZQl1ZGJsYWN1dGUHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUEWmRvdAR6ZG90BWxvbmdzCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcFdG9ub3MNZGllcmVzaXN0b25vcwpBbHBoYXRvbm9zCWFub3RlbGVpYQxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVhbHBoYQRiZXRhBWdhbW1hBWRlbHRhB2Vwc2lsb24EemV0YQNldGEFdGhldGEEaW90YQVrYXBwYQZsYW1iZGECbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zCWFmaWkxMDAyMwlhZmlpMTAwNTEJYWZpaTEwMDUyCWFmaWkxMDA1MwlhZmlpMTAwNTQJYWZpaTEwMDU1CWFmaWkxMDA1NglhZmlpMTAwNTcJYWZpaTEwMDU4CWFmaWkxMDA1OQlhZmlpMTAwNjAJYWZpaTEwMDYxCWFmaWkxMDA2MglhZmlpMTAxNDUJYWZpaTEwMDE3CWFmaWkxMDAxOAlhZmlpMTAwMTkJYWZpaTEwMDIwCWFmaWkxMDAyMQlhZmlpMTAwMjIJYWZpaTEwMDI0CWFmaWkxMDAyNQlhZmlpMTAwMjYJYWZpaTEwMDI3CWFmaWkxMDAyOAlhZmlpMTAwMjkJYWZpaTEwMDMwCWFmaWkxMDAzMQlhZmlpMTAwMzIJYWZpaTEwMDMzCWFmaWkxMDAzNAlhZmlpMTAwMzUJYWZpaTEwMDM2CWFmaWkxMDAzNwlhZmlpMTAwMzgJYWZpaTEwMDM5CWFmaWkxMDA0MAlhZmlpMTAwNDEJYWZpaTEwMDQyCWFmaWkxMDA0MwlhZmlpMTAwNDQJYWZpaTEwMDQ1CWFmaWkxMDA0NglhZmlpMTAwNDcJYWZpaTEwMDQ4CWFmaWkxMDA0OQlhZmlpMTAwNjUJYWZpaTEwMDY2CWFmaWkxMDA2NwlhZmlpMTAwNjgJYWZpaTEwMDY5CWFmaWkxMDA3MAlhZmlpMTAwNzIJYWZpaTEwMDczCWFmaWkxMDA3NAlhZmlpMTAwNzUJYWZpaTEwMDc2CWFmaWkxMDA3NwlhZmlpMTAwNzgJYWZpaTEwMDc5CWFmaWkxMDA4MAlhZmlpMTAwODEJYWZpaTEwMDgyCWFmaWkxMDA4MwlhZmlpMTAwODQJYWZpaTEwMDg1CWFmaWkxMDA4NglhZmlpMTAwODcJYWZpaTEwMDg4CWFmaWkxMDA4OQlhZmlpMTAwOTAJYWZpaTEwMDkxCWFmaWkxMDA5MglhZmlpMTAwOTMJYWZpaTEwMDk0CWFmaWkxMDA5NQlhZmlpMTAwOTYJYWZpaTEwMDk3CWFmaWkxMDA3MQlhZmlpMTAwOTkJYWZpaTEwMTAwCWFmaWkxMDEwMQlhZmlpMTAxMDIJYWZpaTEwMTAzCWFmaWkxMDEwNAlhZmlpMTAxMDUJYWZpaTEwMTA2CWFmaWkxMDEwNwlhZmlpMTAxMDgJYWZpaTEwMTA5CWFmaWkxMDExMAlhZmlpMTAxOTMJYWZpaTEwMDUwCWFmaWkxMDA5OAZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlCWFmaWkwMDIwOA11bmRlcnNjb3JlZGJsBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsCXJhZGljYWxleAluc3VwZXJpb3IJYWZpaTA4OTQxBnBlc2V0YQRFdXJvCWFmaWk2MTI0OAlhZmlpNjEyODkJYWZpaTYxMzUyB3VuaTIxMjADT2htCWVzdGltYXRlZAlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwd1bmkyNTAwB3VuaTI1MDIHdW5pMjUwQwd1bmkyNTEwB3VuaTI1MTQHdW5pMjUxOAZIMjIwNzMGSDE4NTQzBkgxODU1MQZIMTg1MzMKb3BlbmJ1bGxldAd1bmkyNjZBBmdseXBoMAlzZnRoeXBoZW4GbWlkZG90BXVGMDAzBXVGMDA0BXVGMDA1DGRvdHRlZGlhY3V0ZQpOYW1lTWUuNTkxCk5hbWVNZS4zMzkKTmFtZU1lLjU1OQBLuADIUlixAQGOWbABuQgACABjcLEAB0K1AD4uHgQAKrEAB0JACkMEMwgjCBUHBAoqsQAHQkAKRwI7BisGHAUECiqxAAtCvREADQAJAAWAAAQACyqxAA9CvQBAAEAAQABAAAQACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVlACkUCNQYlBhcFBA4quAH/hbAEjbECAESzBWQGAEREAA==";var Ll=xn(Rm(),1),Uo=xn(b0(),1),D0=xn(v0(),1);import{Buffer as S0}from"node:buffer";var dT=Eo.bold.red,gT=Eo.bold.yellow,mT=Eo.bold.green,Fo="Mojang Mappings",Pl="Generate Unique Mod Icon",To="Kotlin Programming Language",So="Data Generation",Do="Split client and common sources",Mo="Gradle Kotlin DSL",Io=new Map([["kotlin",To],["datagen",So],["splitSources",Do],["mojangMappings",Fo],["gradleKotlin",Mo]]);function M0(){return new Gi().name("init").description("Generate a new fabric project").option("-y, --defaultOptions","Use defaults for options that are not specified").option("--allow-non-empty-dir","Allow generating into a directory that already contains files. Existing files with the same path will be overwritten").addOption(new Li("-n, --name <name>","The name of the mod")).addOption(new Li("-m, --modid <modid>","The modid of the mod")).addOption(new Li("-p, --packageName <packageName>","The package name of the mod")).addOption(new Li("-v, --version <version>","The minecraft version")).addOption(new Li("-o, --option <advancedOption>","Specify an advanced option, one of: "+Array.from(Io.keys()).join(", ")).argParser((r,e=[])=>[...e,r]).hideHelp()).argument("[dir]","The output directory").action(async(r,e)=>{await wT(e,r)})}Ru(r=>new rn({parseTagValue:!1,isArray:i=>i==="version"}).parse(r).metadata.versioning.versions.version);var Hl=Uo.registerFont("",Hi),BT=Uint8Array.from(S0.from(Wg,"base64"));Hl.font=D0.parse(BT.buffer);Hl.loaded=!0;function ET(r,e){return{config:e,writer:{write:async(i,o,A)=>{await xT(r,i,o,A)}},canvas:{create(i,o){let A=Uo.make(i,o);return{getContext:l=>A.getContext(l),getPng:()=>{let l=new Ll.PNG({width:A.width,height:A.height});return l.data=S0.from(A.data),Uint8Array.from(Ll.PNG.sync.write(l)).buffer},measureText(l,u){let f=Hl.font,p=l._font.size,g=0,m=0,E=0,b=f.stringToGlyphs(u);for(let y of b){let Q=y.getMetrics();g+=y.advanceWidth,m=Math.max(m,Q.yMax),E=Math.min(E,Q.yMin)}return{width:g/f.unitsPerEm*p,ascent:Math.abs(m/f.unitsPerEm*p),descent:Math.abs(E/f.unitsPerEm*p)}}}}}}}async function wT(r,e){let i=await yT(e);r.allowNonEmptyDir||await Hg(i)||un("The target directory must be empty (use --allow-non-empty-dir to generate into it anyway)");let o=await CT(Jr.basename(i),r);console.log(gT("Generating mod template...")),await Th(ET(i,o)),console.log(mT("Done!"))}async function yT(r){if(r==null)return Jr.resolve(hT());let e=Jr.resolve(r);return await T0(e,{recursive:!0}),e}async function CT(r,e){let i=Sa();bT(e);let o=e.name??(e.defaultOptions?r:await rs({type:"text",message:"Choose a name",initial:r,validate:E=>E.length>=2||"The name must have at least 2 characters"})),A=e.modid??(e.defaultOptions?Fa(o):await rs({type:"text",message:"Choose a unique modid",initial:Fa(o),validate:E=>{if(E.length<2||E.length>64)return"The modid must have between 2 and 64 characters";let b=Ia(E);return b==null?!0:b.join(", ")}})),l=e.packageName??(e.defaultOptions?In(A):await rs({type:"text",message:"Choose a package name",initial:th((fT.FABRIC_MOD_GENERATOR_GLOBAL_PACKAGE_PREFIX??"")+A),format:E=>In(E),validate:E=>{let b=In(E),y=Js(b);return y.length==0?!0:y.join(", ")}})),u=await i,f;e.version!=null?(f=e.version,u.map(E=>E.version).includes(f)||un(`The minecraft version ${f} does not exist.`)):e.defaultOptions?f=u.find(E=>E.stable).version:f=await rs({type:"select",message:"Select the minecraft version",choices:u.map(E=>({title:E.version,value:E.version})),initial:Math.max(0,u.findIndex(E=>E.stable))});let p=e.option?.map(E=>(Io.has(E)||un(`Unknown option ${E} must be one of: ${Array.from(Io.keys()).join(", ")}`),Io.get(E))),g=I0(f).filter(E=>E.selected).map(E=>E.value),m=e.defaultOptions?[...g,...p??[]]:p??await rs({type:"multiselect",message:"Advanced options",choices:I0(f)});return{modid:A,minecraftVersion:f,projectName:o,packageName:l,mojmap:Ei(f)||m.includes(Fo),useKotlin:m.includes(To),dataGeneration:m.includes(So),splitSources:m.includes(Do),gradleKotlin:m.includes(Mo),uniqueModIcon:m.includes(Pl)}}function bT(r){if(r.modid!=null){let e=Ia(r.modid);e!=null&&un(e.join(", "))}if(r.packageName!=null){let e=Js(r.packageName);e.length>0&&un(e.join(", "))}}async function rs(r){return(await(0,F0.default)({...r,name:"value"},{onCancel:()=>un("Project generation cancelled")})).value}function I0(r){let e=[];return e.push({title:Pl,value:Pl,selected:!0}),e.push({title:To,value:To}),Ei(r)||e.push({title:Fo,value:Fo,selected:!0}),Ps(r)&&e.push({title:So,value:So}),Hs(r)&&e.push({title:Do,value:Do,selected:!0}),e.push({title:Mo,value:Mo}),e}async function xT(r,e,i,o){let A=Jr.join(r,e);await T0(Jr.dirname(A),{recursive:!0}),await uT(A,typeof i=="string"?i:new Uint8Array(i),{mode:o?.executable?484:void 0})}function un(r){console.error(dT(r)),pT(1)}var QT="1.18-SNAPSHOT",vT={getGameVersions:Pi,getLoaderVersions:Us,getYarnVersions:ku,getApiVersionForMinecraft:ks,minecraftIsUnobfuscated:Ei};function U0(){return new Gi().name("versions").description("Show the recommended Fabric versions for a Minecraft version").option("--json","Print the recommended versions as JSON").argument("[minecraftVersion]","The Minecraft version").action(async(r,e)=>{let i=await IT(r);console.log(e.json?TT(i):FT(i))})}async function IT(r,e=vT){let[i,o,A]=await Promise.all([e.getGameVersions(),e.getLoaderVersions(),e.getYarnVersions()]),l=i.find(E=>E.stable);if(!l)throw new Error("Could not find a stable Minecraft version.");let u=i[0]?.stable?void 0:i[0],f=r??l.version;ST(f,i,u?.version);let p=o.find(E=>E.stable);if(!p)throw new Error("Could not find a stable Fabric Loader version.");let g=e.minecraftIsUnobfuscated(f),m={minecraft_version:f,loader_version:p.version,loom_version:QT,fabric_api_version:await e.getApiVersionForMinecraft(f)};return g||(m.yarn_mappings=A.find(E=>E.gameVersion===f)?.version??"unknown"),m}function FT(r){let e=[`minecraft_version=${r.minecraft_version}`];return r.yarn_mappings&&e.push(`yarn_mappings=${r.yarn_mappings}`),e.push(`loader_version=${r.loader_version}`),e.push(`loom_version=${r.loom_version}`),e.push(`fabric_api_version=${r.fabric_api_version}`),e.join(`
|
|
1140
|
-
`)}function TT(r){return JSON.stringify(r,null,2)}function ST(r,e,i){let o=e.find(A=>A.version===r);if(!o)throw new Error(`Unknown Minecraft version: ${r}`);if(!o.stable&&o.version!==i)throw new Error(`Minecraft version ${r} is not supported. Only stable versions and the latest snapshot are supported.`)}var DT="0.1.
|
|
1140
|
+
`)}function TT(r){return JSON.stringify(r,null,2)}function ST(r,e,i){let o=e.find(A=>A.version===r);if(!o)throw new Error(`Unknown Minecraft version: ${r}`);if(!o.stable&&o.version!==i)throw new Error(`Minecraft version ${r} is not supported. Only stable versions and the latest snapshot are supported.`)}var DT="0.1.493",ko=new Gi().name("fabric").version(DT).description("A set of command line tools to aid Fabric mod development").action(()=>{ko.outputHelp()});ko.addCommand(M0());ko.addCommand(U0());await ko.parseAsync();
|