=o.wsize?(r.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),r.arraySet(o.window,t,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,U,2,0),y=0,C=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&y)<<8)+(y>>8))%31){e.msg="incorrect header check",n.mode=u;break}if(8!=(15&y)){e.msg="unknown compression method",n.mode=u;break}if(C-=4,P=8+(15&(y>>>=4)),0===n.wbits)n.wbits=P;else if(P>n.wbits){e.msg="invalid window size",n.mode=u;break}n.dmax=1<>8&1),512&n.flags&&(U[0]=255&y,U[1]=y>>>8&255,n.check=a(n.check,U,2,0)),y=0,C=0,n.mode=3;case 3:for(;C<32;){if(0===p)break e;p--,y+=f[d++]<>>8&255,U[2]=y>>>16&255,U[3]=y>>>24&255,n.check=a(n.check,U,4,0)),y=0,C=0,n.mode=4;case 4:for(;C<16;){if(0===p)break e;p--,y+=f[d++]<>8),512&n.flags&&(U[0]=255&y,U[1]=y>>>8&255,n.check=a(n.check,U,2,0)),y=0,C=0,n.mode=5;case 5:if(1024&n.flags){for(;C<16;){if(0===p)break e;p--,y+=f[d++]<>>8&255,n.check=a(n.check,U,2,0)),y=0,C=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((v=n.length)>p&&(v=p),v&&(n.head&&(P=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,f,d,v,P)),512&n.flags&&(n.check=a(n.check,f,v,d)),p-=v,d+=v,n.length-=v),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===p)break e;v=0;do{P=f[d+v++],n.head&&P&&n.length<65536&&(n.head.name+=String.fromCharCode(P))}while(P&&v>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=c;break;case 10:for(;C<32;){if(0===p)break e;p--,y+=f[d++]<>>=7&C,C-=7&C,n.mode=27;break}for(;C<3;){if(0===p)break e;p--,y+=f[d++]<>>=1)){case 0:n.mode=14;break;case 1:if(I(n),n.mode=20,6===t){y>>>=2,C-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=u}y>>>=2,C-=2;break;case 14:for(y>>>=7&C,C-=7&C;C<32;){if(0===p)break e;p--,y+=f[d++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=u;break}if(n.length=65535&y,y=0,C=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(v=n.length){if(v>p&&(v=p),v>m&&(v=m),0===v)break e;r.arraySet(h,f,d,v,g),p-=v,d+=v,m-=v,g+=v,n.length-=v;break}n.mode=c;break;case 17:for(;C<14;){if(0===p)break e;p--,y+=f[d++]<>>=5,C-=5,n.ndist=1+(31&y),y>>>=5,C-=5,n.ncode=4+(15&y),y>>>=4,C-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=u;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,C-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,L={bits:n.lenbits},F=s(0,n.lens,0,19,n.lencode,0,n.work,L),n.lenbits=L.bits,F){e.msg="invalid code lengths set",n.mode=u;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,x=65535&M,!((S=M>>>24)<=C);){if(0===p)break e;p--,y+=f[d++]<>>=S,C-=S,n.lens[n.have++]=x;else{if(16===x){for(N=S+2;C>>=S,C-=S,0===n.have){e.msg="invalid bit length repeat",n.mode=u;break}P=n.lens[n.have-1],v=3+(3&y),y>>>=2,C-=2}else if(17===x){for(N=S+3;C>>=S)),y>>>=3,C-=3}else{for(N=S+7;C>>=S)),y>>>=7,C-=7}if(n.have+v>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=u;break}for(;v--;)n.lens[n.have++]=P}}if(n.mode===u)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=u;break}if(n.lenbits=9,L={bits:n.lenbits},F=s(1,n.lens,0,n.nlen,n.lencode,0,n.work,L),n.lenbits=L.bits,F){e.msg="invalid literal/lengths set",n.mode=u;break}if(n.distbits=6,n.distcode=n.distdyn,L={bits:n.distbits},F=s(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,L),n.distbits=L.bits,F){e.msg="invalid distances set",n.mode=u;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(p>=6&&m>=258){e.next_out=g,e.avail_out=m,e.next_in=d,e.avail_in=p,n.hold=y,n.bits=C,o(e,B),g=e.next_out,h=e.output,m=e.avail_out,d=e.next_in,f=e.input,p=e.avail_in,y=n.hold,C=n.bits,n.mode===c&&(n.back=-1);break}for(n.back=0;k=(M=n.lencode[y&(1<>>16&255,x=65535&M,!((S=M>>>24)<=C);){if(0===p)break e;p--,y+=f[d++]<>D)])>>>16&255,x=65535&M,!(D+(S=M>>>24)<=C);){if(0===p)break e;p--,y+=f[d++]<>>=D,C-=D,n.back+=D}if(y>>>=S,C-=S,n.back+=S,n.length=x,0===k){n.mode=26;break}if(32&k){n.back=-1,n.mode=c;break}if(64&k){e.msg="invalid literal/length code",n.mode=u;break}n.extra=15&k,n.mode=22;case 22:if(n.extra){for(N=n.extra;C>>=n.extra,C-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;k=(M=n.distcode[y&(1<>>16&255,x=65535&M,!((S=M>>>24)<=C);){if(0===p)break e;p--,y+=f[d++]<>D)])>>>16&255,x=65535&M,!(D+(S=M>>>24)<=C);){if(0===p)break e;p--,y+=f[d++]<>>=D,C-=D,n.back+=D}if(y>>>=S,C-=S,n.back+=S,64&k){e.msg="invalid distance code",n.mode=u;break}n.offset=x,n.extra=15&k,n.mode=24;case 24:if(n.extra){for(N=n.extra;C>>=n.extra,C-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=u;break}n.mode=25;case 25:if(0===m)break e;if(v=B-m,n.offset>v){if((v=n.offset-v)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=u;break}v>n.wnext?(v-=n.wnext,w=n.wsize-v):w=n.wnext-v,v>n.length&&(v=n.length),Q=n.window}else Q=h,w=g-n.offset,v=n.length;v>m&&(v=m),m-=v,n.length-=v;do{h[g++]=Q[w++]}while(--v);0===n.length&&(n.mode=21);break;case 26:if(0===m)break e;h[g++]=n.length,m--,n.mode=21;break;case 27:if(n.wrap){for(;C<32;){if(0===p)break e;p--,y|=f[d++]<=1&&0===N[S];S--);if(k>S&&(k=S),0===S)return u[A++]=20971520,u[A++]=20971520,h.bits=1,0;for(Q=1;Q0&&(0===e||1!==S))return-1;for(M[1]=0,v=1;v852||2===e&&R>592)return 1;for(;;){b=v-D,f[w]I?(C=U[O+f[w]],E=F[L+f[w]]):(C=96,E=0),d=1<>D)+(g-=d)]=b<<24|C<<16|E}while(0!==g);for(d=1<>=1;if(0!==d?(P&=d-1,P+=d):P=0,w++,0===--N[v]){if(v===S)break;v=t[n+f[w]]}if(v>k&&(P&m)!==p){for(0===D&&(D=k),y+=Q,T=1<<(x=v-D);x+D852||2===e&&R>592)return 1;u[p=P&m]=k<<24|x<<16|y-A}}return 0!==P&&(u[y+P]=v-D<<24|64<<16),h.bits=k,0}},38990(e){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},85805(e,t,n){"use strict";var r=n(92937);function i(e){for(var t=e.length;--t>=0;)e[t]=0}var a=256,o=286,s=30,l=15,c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);i(h);var d=new Array(60);i(d);var g=new Array(512);i(g);var p=new Array(256);i(p);var m=new Array(29);i(m);var y,I,b,C=new Array(s);function StaticTreeDesc(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function TreeDesc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function E(e){return e<256?g[e]:g[256+(e>>>7)]}function B(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function v(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1}function S(e,t,n){var r,i,a=new Array(16),o=0;for(r=1;r<=l;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Q(a[s]++,s))}}function k(e){var t;for(t=0;t8?B(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function D(e,t,n,r){var i=2*t,a=2*n;return e[i]>1;n>=1;n--)T(e,a,n);i=c;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],T(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,T(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,o,s,c=t.dyn_tree,u=t.max_code,A=t.stat_desc.static_tree,f=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,g=t.stat_desc.max_length,p=0;for(a=0;a<=l;a++)e.bl_count[a]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=c[2*c[2*(r=e.heap[n])+1]+1]+1)>g&&(a=g,p++),c[2*r+1]=a,r>u||(e.bl_count[a]++,o=0,r>=d&&(o=h[r-d]),s=c[2*r],e.opt_len+=s*(a+o),f&&(e.static_len+=s*(A[2*r+1]+o)));if(0!==p){do{for(a=g-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[g]--,p-=2}while(p>0);for(a=g;0!==a;a--)for(r=e.bl_count[a];0!==r;)(i=e.heap[--n])>u||(c[2*i+1]!==a&&(e.opt_len+=(a-c[2*i+1])*c[2*i],c[2*i+1]=a),r--)}}(e,t),S(a,u,e.bl_count)}function F(e,t,n){var r,i,a=-1,o=t[1],s=0,l=7,c=4;for(0===o&&(l=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=t[2*(r+1)+1],++s>=7;r0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t=3&&0===e.bl_tree[2*f[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=n+5,n+4<=i&&-1!==t?M(e,t,n,r):4===e.strategy||o===i?(v(e,2+(r?1:0),3),R(e,h,d)):(v(e,4+(r?1:0),3),function(e,t,n,r){var i;for(v(e,t-257,5),v(e,n-1,5),v(e,r-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(p[n]+a+1)]++,e.dyn_dtree[2*E(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){v(e,2,3),w(e,256,h),function(e){16===e.bi_valid?(B(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},19222(e){"use strict";e.exports=function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},26929(e){e.exports=function(e){var i=[];return e.replace(n,function(e,n,a){var o=n.toLowerCase();for(a=function(e){var t=e.match(r);return t?t.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([n].concat(a.splice(0,2))),o="l",n="m"==n?"l":"L");;){if(a.length==t[o])return a.unshift(n),i.push(a);if(a.length=48&&i<=57)return!0;var o=e.charCodeAt(2);return i===r&&o>=48&&o<=57}return a===r?(i=e.charCodeAt(1))>=48&&i<=57:a>=48&&a<=57}(e))return!1;for((o=e.charCodeAt(c))!==n&&o!==t||c++;c57);)c+=1;if(o=e.charCodeAt(c),s=e.charCodeAt(c+1),o===r&&s>=48&&s<=57)for(c+=2;c57);)c+=1;if(o=e.charCodeAt(c),s=e.charCodeAt(c+1),l=e.charCodeAt(c+2),(o===i||o===a)&&(s>=48&&s<=57||(s===n||s===t)&&l>=48&&l<=57))for(c+=s===n||s===t?3:2;c57);)c+=1;return{number:e.slice(0,c),unit:e.slice(c)}}},64964(e,t,n){var r=n(70198),i=n(96827).EventEmitter;function Queue(e){if(!(this instanceof Queue))return new Queue(e);i.call(this),e=e||{},this.concurrency=e.concurrency||1/0,this.timeout=e.timeout||0,this.autostart=e.autostart||!1,this.results=e.results||null,this.pending=0,this.session=0,this.running=!1,this.jobs=[],this.timers={}}e.exports=Queue,e.exports.default=Queue,r(Queue,i);["pop","shift","indexOf","lastIndexOf"].forEach(function(e){Queue.prototype[e]=function(){return Array.prototype[e].apply(this.jobs,arguments)}}),Queue.prototype.slice=function(e,t){return this.jobs=this.jobs.slice(e,t),this},Queue.prototype.reverse=function(){return this.jobs.reverse(),this};function a(){for(var e in this.timers){var t=this.timers[e];delete this.timers[e],clearTimeout(t)}}function o(e){var t=this;function n(e){t.end(e)}this.on("error",n),this.on("end",function r(i){t.removeListener("error",n),t.removeListener("end",r),e(i,this.results)})}function s(e){this.session++,this.running=!1,this.emit("end",e)}["push","unshift","splice"].forEach(function(e){Queue.prototype[e]=function(){var t=Array.prototype[e].apply(this.jobs,arguments);return this.autostart&&this.start(),t}}),Object.defineProperty(Queue.prototype,"length",{get:function(){return this.pending+this.jobs.length}}),Queue.prototype.start=function(e){if(e&&o.call(this,e),this.running=!0,!(this.pending>=this.concurrency))if(0!==this.jobs.length){var t=this,n=this.jobs.shift(),r=!0,i=this.session,a=null,l=!1,c=null,u=n.hasOwnProperty("timeout")?n.timeout:this.timeout;u&&(a=setTimeout(function(){l=!0,t.listeners("timeout").length>0?t.emit("timeout",f,n):f()},u),this.timers[a]=a),this.results&&(c=this.results.length,this.results[c]=null),this.pending++,t.emit("start",n);var A=n(f);A&&A.then&&"function"==typeof A.then&&A.then(function(e){return f(null,e)}).catch(function(e){return f(e||!0)}),this.running&&this.jobs.length>0&&this.start()}else 0===this.pending&&s.call(this);function f(e,o){r&&t.session===i&&(r=!1,t.pending--,null!==a&&(delete t.timers[a],clearTimeout(a)),e?t.emit("error",e,n):!1===l&&(null!==c&&(t.results[c]=Array.prototype.slice.call(arguments,1)),t.emit("success",o,n)),t.session===i&&(0===t.pending&&0===t.jobs.length?s.call(t):t.running&&t.start()))}},Queue.prototype.stop=function(){this.running=!1},Queue.prototype.end=function(e){a.call(this),this.jobs.length=0,this.pending=0,s.call(this,e)}},43065(e){function Tree(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Data(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Tree,this.dtree=new Tree}var t=new Tree,n=new Tree,r=new Uint8Array(30),i=new Uint16Array(30),a=new Uint8Array(30),o=new Uint16Array(30),s=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=new Tree,c=new Uint8Array(320);function u(e,t,n,r){var i,a;for(i=0;i>>=1,t}function d(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function g(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function p(e,t,n){var r,i,a,o,u,A;for(r=d(e,5,257),i=d(e,5,1),a=d(e,4,4),o=0;o<19;++o)c[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(t,n),u(r,i,4,3),u(a,o,2,1),r[28]=0,i[28]=258,e.exports=function(e,r){var i,a,o=new Data(e,r);do{switch(i=h(o),d(o,2,0)){case 0:a=y(o);break;case 1:a=m(o,t,n);break;case 2:p(o,o.ltree,o.dtree),a=m(o,o.ltree,o.dtree);break;default:a=-3}if(0!==a)throw new Error("Data error")}while(!i);return o.destLen1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}}},90100(e){const t=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],n=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r};e.exports={swap32LE:e=>{t&&(e=>{const t=e.length;for(let r=0;rk,YW:()=>c,vv:()=>jR,EY:()=>s,Ss:()=>o,x8:()=>JR});var r={};n.r(r),n.d(r,{Canvas:()=>v,Checkbox:()=>m,Circle:()=>w,ClipPath:()=>D,Defs:()=>b,Document:()=>k,Ellipse:()=>Q,FieldSet:()=>d,G:()=>i,Image:()=>C,ImageBackground:()=>E,Line:()=>h,LinearGradient:()=>R,Link:()=>l,List:()=>y,Marker:()=>F,Note:()=>u,Page:()=>c,Path:()=>A,Polygon:()=>S,Polyline:()=>x,RadialGradient:()=>P,Rect:()=>f,Select:()=>p,Stop:()=>I,Svg:()=>a,Text:()=>s,TextInput:()=>g,TextInstance:()=>T,Tspan:()=>B,View:()=>o});const i="G",a="SVG",o="VIEW",s="TEXT",l="LINK",c="PAGE",u="NOTE",A="PATH",f="RECT",h="LINE",d="FIELD_SET",g="TEXT_INPUT",p="SELECT",m="CHECKBOX",y="LIST",I="STOP",b="DEFS",C="IMAGE",E="IMAGE_BACKGROUND",B="TSPAN",v="CANVAS",w="CIRCLE",Q="ELLIPSE",S="POLYGON",k="DOCUMENT",x="POLYLINE",D="CLIP_PATH",T="TEXT_INSTANCE",R="LINEAR_GRADIENT",P="RADIAL_GRADIENT",F="MARKER";var L=n(64964),N=n(63696);n(52405);const M={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"};class DecodeStream{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=M[t]||t;let n=this.readBuffer(e);try{return new TextDecoder(t).decode(n)}catch(e){return n}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}}DecodeStream.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let e of Object.getOwnPropertyNames(DataView.prototype))if("get"===e.slice(0,3)){let t=e.slice(3).replace("Ui","UI");"Float32"===t?t="Float":"Float64"===t&&(t="Double");let n=DecodeStream.TYPES[t];DecodeStream.prototype["read"+t+(1===n?"":"BE")]=function(){const t=this.view[e](this.pos,!1);return this.pos+=n,t},1!==n&&(DecodeStream.prototype["read"+t+"LE"]=function(){const t=this.view[e](this.pos,!0);return this.pos+=n,t})}const U=new TextEncoder,O=18==new Uint8Array(new Uint16Array([4660]).buffer)[0];class EncodeStream{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let n;switch(t){case"utf16le":case"utf16-le":case"ucs2":n=_(e,O);break;case"utf16be":case"utf16-be":n=_(e,!O);break;case"utf8":n=U.encode(e);break;case"ascii":n=function(e){let t=new Uint8Array(e.length);for(let n=0;n>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=255&e}writeUInt24LE(e){this.buffer[this.pos++]=255&e,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t>8|(255&i)<<8),n[r]=i}return new Uint8Array(n.buffer)}for(let e of Object.getOwnPropertyNames(DataView.prototype))if("set"===e.slice(0,3)){let t=e.slice(3).replace("Ui","UI");"Float32"===t?t="Float":"Float64"===t&&(t="Double");let n=DecodeStream.TYPES[t];EncodeStream.prototype["write"+t+(1===n?"":"BE")]=function(t){this.view[e](this.pos,t,!1),this.pos+=n},1!==n&&(EncodeStream.prototype["write"+t+"LE"]=function(t){this.view[e](this.pos,t,!0),this.pos+=n})}class Base{fromBuffer(e){let t=new DecodeStream(e);return this.decode(t)}toBuffer(e){let t=this.size(e),n=new Uint8Array(t),r=new EncodeStream(n);return this.encode(r,e),n}}class NumberT extends Base{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,"8"!==this.type[this.type.length-1]&&(this.fn+=this.endian)}size(){return DecodeStream.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}}const G=new NumberT("UInt8"),z=new NumberT("UInt16","BE"),H=z,W=new NumberT("UInt16","LE"),Y=new NumberT("UInt24","BE"),J=(new NumberT("UInt24","LE"),new NumberT("UInt32","BE")),j=J,K=new NumberT("UInt32","LE"),V=new NumberT("Int8"),q=new NumberT("Int16","BE"),X=(new NumberT("Int16","LE"),new NumberT("Int24","BE"),new NumberT("Int24","LE"),new NumberT("Int32","BE"));new NumberT("Int32","LE"),new NumberT("Float","BE"),new NumberT("Float","LE"),new NumberT("Double","BE"),new NumberT("Double","LE");class Fixed extends NumberT{constructor(e,t,n=e>>1){super(`Int${e}`,t),this._point=1<=this.length)){if(null==this.items[e]){const{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){const e=[];for(let t=0,n=this.length;t=55296&&r<=56319&&te&&e[t],i)):r.version=this.type.decode(e),this.versions.header&&this._parseFields(e,r,this.versions.header);const a=this.versions[r.version];if(null==a)throw new Error(`Unknown version ${r.version}`);return a instanceof VersionedStruct?a.decode(e,t):(this._parseFields(e,r,a),null!=this.process&&this.process.call(r,e),r)}size(e,t,n=!0){let r,i;if(!e)throw new Error("Not a fixed size");null!=this.preEncode&&this.preEncode.call(e);const a={parent:t,val:e,pointerSize:0};let o=0;if("string"!=typeof this.type&&(o+=this.type.size(e.version,a)),this.versions.header)for(r in this.versions.header)i=this.versions.header[r],null!=i.size&&(o+=i.size(e[r],a));const s=this.versions[e.version];if(null==s)throw new Error(`Unknown version ${e.version}`);for(r in s)i=s[r],null!=i.size&&(o+=i.size(e[r],a));return n&&(o+=a.pointerSize),o}encode(e,t,n){let r,i;null!=this.preEncode&&this.preEncode.call(t,e);const a={pointers:[],startOffset:e.pos,parent:n,val:t,pointerSize:0};if(a.pointerOffset=e.pos+this.size(t,a,!1),"string"!=typeof this.type&&this.type.encode(e,t.version),this.versions.header)for(r in this.versions.header)i=this.versions.header[r],null!=i.encode&&i.encode(e,t[r],a);const o=this.versions[t.version];for(r in o)i=o[r],null!=i.encode&&i.encode(e,t[r],a);let s=0;for(;s{if(null!=n)return n;const{pos:r}=e;return e.pos=a,n=this.type.decode(e,t),e.pos=r,n};return this.options.lazy?new PropertyDescriptor({get:r}):r()}return a}size(e,t){const n=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:r}=this;if(null==r){if(!(e instanceof VoidPointer))throw new Error("Must be a VoidPointer");({type:r}=e),e=e.value}if(e&&t){let i=r.size(e,n);t.pointerSize+=i}return this.offsetType.size()}encode(e,t,n){let r;const i=n;if(null==t)return void this.offsetType.encode(e,this.options.nullValue);switch(this.options.type){case"local":r=n.startOffset;break;case"immediate":r=e.pos+this.offsetType.size(t,i);break;case"parent":r=(n=n.parent).startOffset;break;default:for(r=0;n.parent;)n=n.parent}this.options.relativeTo&&(r+=this.relativeToGetter(i.val)),this.offsetType.encode(e,n.pointerOffset-r);let{type:a}=this;if(null==a){if(!(t instanceof VoidPointer))throw new Error("Must be a VoidPointer");({type:a}=t),t=t.value}return n.pointers.push({type:a,val:t,parent:i}),n.pointerOffset+=a.size(t,i)}}class VoidPointer{constructor(e,t){this.type=e,this.value=t}}function re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function __decorate(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}Object.create;Object.create;"function"==typeof SuppressedError&&SuppressedError;var ie=n(62757),ae=n(37322),oe=n(54111);function se(e){return e&&e.__esModule?e.default:e}var le;le=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const ce=new oe(ae.toByteArray("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")),ue=Math.log2||(e=>Math.log(e)/Math.LN2),fe=e=>ue(e)+1|0,he=fe(se(le).categories.length-1),de=fe(se(le).combiningClasses.length-1),ge=fe(se(le).scripts.length-1),pe=fe(se(le).eaw.length-1),me=de+ge+pe+10,ye=ge+pe+10,be=pe+10,ve=(1<>me&ve]}function ze(e){const t=ce.get(e);return se(le).combiningClasses[t>>ye&we]}function je(e){const t=ce.get(e);return se(le).scripts[t>>be&ke]}function qe(e){return"Nd"===_e(e)}function $e(e){const t=_e(e);return"Mn"===t||"Me"===t||"Mc"===t}var et={getCategory:_e,getCombiningClass:ze,getScript:je,getEastAsianWidth:function(e){const t=ce.get(e);return se(le).eaw[t>>10&xe]},getNumericValue:function(e){let t=ce.get(e),n=1023&t;if(0===n)return null;if(n<=50)return n-1;if(n<480){return((n>>4)-12)/(1+(15&n))}if(n<768){t=(n>>5)-14;let e=2+(31&n);for(;e>0;)t*=10,e--;return t}{t=(n>>2)-191;let e=1+(3&n);for(;e>0;)t*=60,e--;return t}},isAlphabetic:function(e){const t=_e(e);return"Lu"===t||"Ll"===t||"Lt"===t||"Lm"===t||"Lo"===t||"Nl"===t},isDigit:qe,isPunctuation:function(e){const t=_e(e);return"Pc"===t||"Pd"===t||"Pe"===t||"Pf"===t||"Pi"===t||"Po"===t||"Ps"===t},isLowerCase:function(e){return"Ll"===_e(e)},isUpperCase:function(e){return"Lu"===_e(e)},isTitleCase:function(e){return"Lt"===_e(e)},isWhiteSpace:function(e){const t=_e(e);return"Zs"===t||"Zl"===t||"Zp"===t},isBaseForm:function(e){const t=_e(e);return"Nd"===t||"No"===t||"Nl"===t||"Lu"===t||"Ll"===t||"Lt"===t||"Lm"===t||"Lo"===t||"Me"===t||"Mc"===t},isMark:$e},tt=n(81338),nt=n(19999),rt=n(43065),it=n(45286);function at(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}function ot(e){return e&&e.__esModule?e.default:e}var st={};at(st,"logErrors",()=>lt),at(st,"registerFormat",()=>ut),at(st,"create",()=>ft),at(st,"defaultLanguage",()=>ht),at(st,"setDefaultLanguage",()=>dt);let lt=!1,ct=[];function ut(e){ct.push(e)}function ft(e,t){for(let n=0;n0?t[0]:"value";if(n.has(r))return n.get(r);let i=e.apply(this,t);return n.set(r,i),i}return Object.defineProperty(this,t,{value:r}),r}}}}let pt=new Struct({firstCode:H,entryCount:H,idDelta:q,idRangeOffset:H}),mt=new Struct({startCharCode:j,endCharCode:j,glyphID:j}),yt=new Struct({startUnicodeValue:Y,additionalCount:G}),bt=new Struct({unicodeValue:Y,glyphID:H}),vt=new ArrayT(yt,j),wt=new ArrayT(bt,j),kt=new Struct({varSelector:Y,defaultUVS:new Pointer(j,vt,{type:"parent"}),nonDefaultUVS:new Pointer(j,wt,{type:"parent"})}),xt=new VersionedStruct(H,{0:{length:H,language:H,codeMap:new LazyArray(G,256)},2:{length:H,language:H,subHeaderKeys:new ArrayT(H,256),subHeaderCount:e=>Math.max.apply(Math,e.subHeaderKeys),subHeaders:new LazyArray(pt,"subHeaderCount"),glyphIndexArray:new LazyArray(H,"subHeaderCount")},4:{length:H,language:H,segCountX2:H,segCount:e=>e.segCountX2>>1,searchRange:H,entrySelector:H,rangeShift:H,endCode:new LazyArray(H,"segCount"),reservedPad:new Reserved(H),startCode:new LazyArray(H,"segCount"),idDelta:new LazyArray(q,"segCount"),idRangeOffset:new LazyArray(H,"segCount"),glyphIndexArray:new LazyArray(H,e=>(e.length-e._currentOffset)/2)},6:{length:H,language:H,firstCode:H,entryCount:H,glyphIndices:new LazyArray(H,"entryCount")},8:{reserved:new Reserved(H),length:j,language:H,is32:new LazyArray(G,8192),nGroups:j,groups:new LazyArray(mt,"nGroups")},10:{reserved:new Reserved(H),length:j,language:j,firstCode:j,entryCount:j,glyphIndices:new LazyArray(H,"numChars")},12:{reserved:new Reserved(H),length:j,language:j,nGroups:j,groups:new LazyArray(mt,"nGroups")},13:{reserved:new Reserved(H),length:j,language:j,nGroups:j,groups:new LazyArray(mt,"nGroups")},14:{length:j,numRecords:j,varSelectors:new LazyArray(kt,"numRecords")}}),_t=new Struct({platformID:H,encodingID:H,table:new Pointer(j,xt,{type:"parent",lazy:!0})});var zt=new Struct({version:H,numSubtables:H,tables:new ArrayT(_t,"numSubtables")}),jt=new Struct({version:X,revision:X,checkSumAdjustment:j,magicNumber:j,flags:H,unitsPerEm:H,created:new ArrayT(X,2),modified:new ArrayT(X,2),xMin:q,yMin:q,xMax:q,yMax:q,macStyle:new Bitfield(H,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:H,fontDirectionHint:q,indexToLocFormat:q,glyphDataFormat:q}),qt=new Struct({version:X,ascent:q,descent:q,lineGap:q,advanceWidthMax:H,minLeftSideBearing:q,minRightSideBearing:q,xMaxExtent:q,caretSlopeRise:q,caretSlopeRun:q,caretOffset:q,reserved:new Reserved(q,4),metricDataFormat:q,numberOfMetrics:H});let $t=new Struct({advance:H,bearing:q});var en=new Struct({metrics:new LazyArray($t,e=>e.parent.hhea.numberOfMetrics),bearings:new LazyArray(q,e=>e.parent.maxp.numGlyphs-e.parent.hhea.numberOfMetrics)}),tn=new Struct({version:X,numGlyphs:H,maxPoints:H,maxContours:H,maxComponentPoints:H,maxComponentContours:H,maxZones:H,maxTwilightPoints:H,maxStorage:H,maxFunctionDefs:H,maxInstructionDefs:H,maxStackElements:H,maxSizeOfInstructions:H,maxComponentElements:H,maxComponentDepth:H});function nn(e,t,n=0){return 1===e&&cn[n]?cn[n]:ln[e][t]}const rn=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),an={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"},on=new Map;function sn(e){let t=on.get(e);if(t)return t;let n=an[e];if(n){let t=new Map;for(let e=0;enn(e.platformID,e.encodingID,e.languageID)),{type:"parent",relativeTo:e=>e.parent.stringOffset,allowNull:!1})}),hn=new Struct({length:H,tag:new Pointer(H,new StringT("length","utf16be"),{type:"parent",relativeTo:e=>e.stringOffset})});var dn=new VersionedStruct(H,{0:{count:H,stringOffset:H,records:new ArrayT(fn,"count")},1:{count:H,stringOffset:H,records:new ArrayT(fn,"count"),langTagCount:H,langTags:new ArrayT(hn,"langTagCount")}}),gn=dn;const pn=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];dn.process=function(e){var t={};for(let e of this.records){let n=un[e.platformID][e.languageID];null==n&&null!=this.langTags&&e.languageID>=32768&&(n=this.langTags[e.languageID-32768].tag),null==n&&(n=e.platformID+"-"+e.languageID);let r=e.nameID>=256?"fontFeatures":pn[e.nameID]||e.nameID;null==t[r]&&(t[r]={});let i=t[r];e.nameID>=256&&(i=i[e.nameID]||(i[e.nameID]={})),"string"!=typeof e.string&&"string"==typeof i[n]||(i[n]=e.string)}this.records=t},dn.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let e=[];for(let t in this.records){let n=this.records[t];"fontFeatures"!==t&&(e.push({platformID:3,encodingID:1,languageID:1033,nameID:pn.indexOf(t),length:2*n.en.length,string:n.en}),"postscriptName"===t&&e.push({platformID:1,encodingID:0,languageID:0,nameID:pn.indexOf(t),length:n.en.length,string:n.en}))}this.records=e,this.count=e.length,this.stringOffset=dn.size(this,null,!1)};var mn=new VersionedStruct(H,{header:{xAvgCharWidth:q,usWeightClass:H,usWidthClass:H,fsType:new Bitfield(H,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:q,ySubscriptYSize:q,ySubscriptXOffset:q,ySubscriptYOffset:q,ySuperscriptXSize:q,ySuperscriptYSize:q,ySuperscriptXOffset:q,ySuperscriptYOffset:q,yStrikeoutSize:q,yStrikeoutPosition:q,sFamilyClass:q,panose:new ArrayT(G,10),ulCharRange:new ArrayT(j,4),vendorID:new StringT(4),fsSelection:new Bitfield(H,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:H,usLastCharIndex:H},0:{},1:{typoAscender:q,typoDescender:q,typoLineGap:q,winAscent:H,winDescent:H,codePageRange:new ArrayT(j,2)},2:{typoAscender:q,typoDescender:q,typoLineGap:q,winAscent:H,winDescent:H,codePageRange:new ArrayT(j,2),xHeight:q,capHeight:q,defaultChar:H,breakChar:H,maxContent:H},5:{typoAscender:q,typoDescender:q,typoLineGap:q,winAscent:H,winDescent:H,codePageRange:new ArrayT(j,2),xHeight:q,capHeight:q,defaultChar:H,breakChar:H,maxContent:H,usLowerOpticalPointSize:H,usUpperOpticalPointSize:H}});let yn=mn.versions;yn[3]=yn[4]=yn[2];var bn=mn,vn=new VersionedStruct($,{header:{italicAngle:$,underlinePosition:q,underlineThickness:q,isFixedPitch:j,minMemType42:j,maxMemType42:j,minMemType1:j,maxMemType1:j},1:{},2:{numberOfGlyphs:H,glyphNameIndex:new ArrayT(H,"numberOfGlyphs"),names:new ArrayT(new StringT(G))},2.5:{numberOfGlyphs:H,offsets:new ArrayT(G,"numberOfGlyphs")},3:{},4:{map:new ArrayT(j,e=>e.parent.maxp.numGlyphs)}}),wn=new Struct({controlValues:new ArrayT(q)}),kn=new Struct({instructions:new ArrayT(G)});let xn=new VersionedStruct("head.indexToLocFormat",{0:{offsets:new ArrayT(H)},1:{offsets:new ArrayT(j)}});xn.process=function(){if(0===this.version&&!this._processed){for(let e=0;e>>=1;this._processed=!1}};var zn=xn,jn=new Struct({controlValueProgram:new ArrayT(G)}),qn=new ArrayT(new BufferT);class $n{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let n=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(0===n)return[];let r,i=e.readUInt8();if(1===i)r=G;else if(2===i)r=H;else if(3===i)r=Y;else{if(4!==i)throw new Error(`Bad offset size in CFFIndex: ${i} ${e.pos}`);r=j}let a=[],o=e.pos+(n+1)*i-1,s=r.decode(e);for(let i=0;i>4;if(15===r)break;t+=er[r];let i=15&n;if(15===i)break;t+=er[i]}return parseFloat(t)}return null}static size(e){if(e.forceLarge&&(e=32768),(0|e)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}return-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let n=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(n);if((0|n)===n)return-107<=n&&n<=107?e.writeUInt8(n+139):108<=n&&n<=1131?(n-=108,e.writeUInt8(247+(n>>8)),e.writeUInt8(255&n)):-1131<=n&&n<=-108?(n=-n-108,e.writeUInt8(251+(n>>8)),e.writeUInt8(255&n)):-32768<=n&&n<=32767?(e.writeUInt8(28),e.writeInt16BE(n)):(e.writeUInt8(29),e.writeInt32BE(n));{e.writeUInt8(30);let t=""+n;for(let n=0;nthis.decodeOperands(e[i],t,n,[r]));if(null!=e.decode)return e.decode(t,n,r);switch(e){case"number":case"offset":case"sid":return r[0];case"boolean":return!!r[0];default:return r}}encodeOperands(e,t,n,r){return Array.isArray(e)?r.map((r,i)=>this.encodeOperands(e[i],t,n,r)[0]):null!=e.encode?e.encode(t,r,n):"number"==typeof r?[r]:"boolean"==typeof r?[+r]:Array.isArray(r)?r:[r]}decode(e,t){let n=e.pos+t.length,r={},i=[];Object.defineProperties(r,{parent:{value:t},_startOffset:{value:e.pos}});for(let e in this.fields){let t=this.fields[e];r[t[1]]=t[3]}for(;e.posn[0]},super.decode(e,t,n)}encode(e,t,n){if(!e)return this.offsetType={size:()=>0},this.size(t,n),[new ar(0)];let r=null;return this.offsetType={encode:(e,t)=>r=t},super.encode(e,t,n),[new ar(r)]}constructor(e,t={}){null==t.type&&(t.type="global"),super(null,e,t)}}class ar{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}}var or=new rr([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",class{static decode(e,t,n){let r=n.pop();for(;n.length>r;)n.pop()}},null],[19,"Subrs",new ir(new $n,{type:"local"}),null]]),sr=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let lr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],cr=[".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"],ur=new Struct({reserved:new Reserved(H),reqFeatureIndex:H,featureCount:H,featureIndexes:new ArrayT(H,"featureCount")}),fr=new Struct({tag:new StringT(4),langSys:new Pointer(H,ur,{type:"parent"})}),hr=new Struct({defaultLangSys:new Pointer(H,ur),count:H,langSysRecords:new ArrayT(fr,"count")}),dr=new Struct({tag:new StringT(4),script:new Pointer(H,hr,{type:"parent"})}),gr=new ArrayT(dr,H),pr=new Struct({version:H,nameID:H}),mr=new Struct({featureParams:new Pointer(H,pr),lookupCount:H,lookupListIndexes:new ArrayT(H,"lookupCount")}),yr=new Struct({tag:new StringT(4),feature:new Pointer(H,mr,{type:"parent"})}),br=new ArrayT(yr,H),vr=new Struct({markAttachmentType:G,flags:new Bitfield(G,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function wr(e){let t=new Struct({lookupType:H,flags:vr,subTableCount:H,subTables:new ArrayT(new Pointer(H,e),"subTableCount"),markFilteringSet:new Optional(H,e=>e.flags.flags.useMarkFilteringSet)});return new LazyArray(new Pointer(H,t),H)}let kr=new Struct({start:H,end:H,startCoverageIndex:H}),xr=new VersionedStruct(H,{1:{glyphCount:H,glyphs:new ArrayT(H,"glyphCount")},2:{rangeCount:H,rangeRecords:new ArrayT(kr,"rangeCount")}}),_r=new Struct({start:H,end:H,class:H}),zr=new VersionedStruct(H,{1:{startGlyph:H,glyphCount:H,classValueArray:new ArrayT(H,"glyphCount")},2:{classRangeCount:H,classRangeRecord:new ArrayT(_r,"classRangeCount")}}),jr=new Struct({a:H,b:H,deltaFormat:H}),qr=new Struct({sequenceIndex:H,lookupListIndex:H}),$r=new Struct({glyphCount:H,lookupCount:H,input:new ArrayT(H,e=>e.glyphCount-1),lookupRecords:new ArrayT(qr,"lookupCount")}),ei=new ArrayT(new Pointer(H,$r),H),ti=new Struct({glyphCount:H,lookupCount:H,classes:new ArrayT(H,e=>e.glyphCount-1),lookupRecords:new ArrayT(qr,"lookupCount")}),ni=new ArrayT(new Pointer(H,ti),H),ri=new VersionedStruct(H,{1:{coverage:new Pointer(H,xr),ruleSetCount:H,ruleSets:new ArrayT(new Pointer(H,ei),"ruleSetCount")},2:{coverage:new Pointer(H,xr),classDef:new Pointer(H,zr),classSetCnt:H,classSet:new ArrayT(new Pointer(H,ni),"classSetCnt")},3:{glyphCount:H,lookupCount:H,coverages:new ArrayT(new Pointer(H,xr),"glyphCount"),lookupRecords:new ArrayT(qr,"lookupCount")}}),ii=new Struct({backtrackGlyphCount:H,backtrack:new ArrayT(H,"backtrackGlyphCount"),inputGlyphCount:H,input:new ArrayT(H,e=>e.inputGlyphCount-1),lookaheadGlyphCount:H,lookahead:new ArrayT(H,"lookaheadGlyphCount"),lookupCount:H,lookupRecords:new ArrayT(qr,"lookupCount")}),ai=new ArrayT(new Pointer(H,ii),H),oi=new VersionedStruct(H,{1:{coverage:new Pointer(H,xr),chainCount:H,chainRuleSets:new ArrayT(new Pointer(H,ai),"chainCount")},2:{coverage:new Pointer(H,xr),backtrackClassDef:new Pointer(H,zr),inputClassDef:new Pointer(H,zr),lookaheadClassDef:new Pointer(H,zr),chainCount:H,chainClassSet:new ArrayT(new Pointer(H,ai),"chainCount")},3:{backtrackGlyphCount:H,backtrackCoverage:new ArrayT(new Pointer(H,xr),"backtrackGlyphCount"),inputGlyphCount:H,inputCoverage:new ArrayT(new Pointer(H,xr),"inputGlyphCount"),lookaheadGlyphCount:H,lookaheadCoverage:new ArrayT(new Pointer(H,xr),"lookaheadGlyphCount"),lookupCount:H,lookupRecords:new ArrayT(qr,"lookupCount")}}),si=new Fixed(16,"BE",14),li=new Struct({startCoord:si,peakCoord:si,endCoord:si}),ci=new Struct({axisCount:H,regionCount:H,variationRegions:new ArrayT(new ArrayT(li,"axisCount"),"regionCount")}),ui=new Struct({shortDeltas:new ArrayT(q,e=>e.parent.shortDeltaCount),regionDeltas:new ArrayT(V,e=>e.parent.regionIndexCount-e.parent.shortDeltaCount),deltas:e=>e.shortDeltas.concat(e.regionDeltas)}),Ai=new Struct({itemCount:H,shortDeltaCount:H,regionIndexCount:H,regionIndexes:new ArrayT(H,"regionIndexCount"),deltaSets:new ArrayT(ui,"itemCount")}),fi=new Struct({format:H,variationRegionList:new Pointer(j,ci),variationDataCount:H,itemVariationData:new ArrayT(new Pointer(j,Ai),"variationDataCount")}),hi=new VersionedStruct(H,{1:{axisIndex:H,axisIndex:H,filterRangeMinValue:si,filterRangeMaxValue:si}}),di=new Struct({conditionCount:H,conditionTable:new ArrayT(new Pointer(j,hi),"conditionCount")}),gi=new Struct({featureIndex:H,alternateFeatureTable:new Pointer(j,mr,{type:"parent"})}),pi=new Struct({version:$,substitutionCount:H,substitutions:new ArrayT(gi,"substitutionCount")}),mi=new Struct({conditionSet:new Pointer(j,di,{type:"parent"}),featureTableSubstitution:new Pointer(j,pi,{type:"parent"})}),yi=new Struct({majorVersion:H,minorVersion:H,featureVariationRecordCount:j,featureVariationRecords:new ArrayT(mi,"featureVariationRecordCount")});class Ii{decode(e,t,n){return this.predefinedOps[n[0]]?this.predefinedOps[n[0]]:this.type.decode(e,t,n)}size(e,t){return this.type.size(e,t)}encode(e,t,n){let r=this.predefinedOps.indexOf(t);return-1!==r?r:this.type.encode(e,t,n)}constructor(e,t){this.predefinedOps=e,this.type=t}}let bi=new Struct({first:H,nLeft:G}),Ci=new Struct({first:H,nLeft:H}),Ei=new VersionedStruct(new class extends NumberT{decode(e){return 127&G.decode(e)}constructor(){super("UInt8")}},{0:{nCodes:G,codes:new ArrayT(G,"nCodes")},1:{nRanges:G,ranges:new ArrayT(bi,"nRanges")}}),Bi=new Ii([lr,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"]],new ir(Ei,{lazy:!0}));class vi extends ArrayT{decode(e,t){let n=ee(this.length,e,t),r=0,i=[];for(;re.parent.CharStrings.length-1)},1:{ranges:new vi(bi,e=>e.parent.CharStrings.length-1)},2:{ranges:new vi(Ci,e=>e.parent.CharStrings.length-1)}}),Qi=new Ii([cr,[".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"],[".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"]],new ir(wi,{lazy:!0})),Si=new Struct({first:H,fd:G}),ki=new Struct({first:j,fd:H}),xi=new VersionedStruct(G,{0:{fds:new ArrayT(G,e=>e.parent.CharStrings.length)},3:{nRanges:H,ranges:new ArrayT(Si,"nRanges"),sentinel:H},4:{nRanges:j,ranges:new ArrayT(ki,"nRanges"),sentinel:j}}),Di=new ir(or);class Ti{decode(e,t,n){return t.length=n[0],Di.decode(e,t,[n[1]])}size(e,t){return[or.size(e,t,!1),Di.size(e,t)[0]]}encode(e,t,n){return[or.size(t,n,!1),Di.encode(e,t,n)[0]]}}let Ri=new rr([[18,"Private",new Ti,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),Pi=new rr([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",Qi,cr],[16,"Encoding",Bi,lr],[17,"CharStrings",new ir(new $n),null],[18,"Private",new Ti,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new ir(xi),null],[[12,36],"FDArray",new ir(new $n(Ri)),null],[[12,38],"FontName","sid",null]]),Fi=new Struct({length:H,itemVariationStore:fi}),Li=new rr([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new ir(new $n),null],[[12,37],"FDSelect",new ir(xi),null],[[12,36],"FDArray",new ir(new $n(Ri)),null],[24,"vstore",new ir(Fi),null],[25,"maxstack","number",193]]);var Ni=new VersionedStruct(Z,{1:{hdrSize:G,offSize:G,nameIndex:new $n(new StringT("length")),topDictIndex:new $n(Pi),stringIndex:new $n(new StringT("length")),globalSubrIndex:new $n},2:{hdrSize:G,length:H,topDict:Li,globalSubrIndex:new $n}});class Mi{static decode(e){return new Mi(e)}decode(){this.stream.pos;let e=Ni.decode(this.stream);for(let t in e){let n=e[t];this[t]=n}if(this.version<2){if(1!==this.topDictIndex.length)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this}string(e){return this.version>=2?null:e=2)return null;if(this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(0===e)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let n=0;n>1;if(e=t[i+1].first))return t[i].fd;n=i+1}}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}}var Ui=Mi;let Oi=new Struct({glyphIndex:H,vertOriginY:q});var _i=new Struct({majorVersion:H,minorVersion:H,defaultVertOriginY:q,numVertOriginYMetrics:H,metrics:new ArrayT(Oi,"numVertOriginYMetrics")});let Gi=new Struct({height:G,width:G,horiBearingX:V,horiBearingY:V,horiAdvance:G,vertBearingX:V,vertBearingY:V,vertAdvance:G}),zi=new Struct({height:G,width:G,bearingX:V,bearingY:V,advance:G}),Hi=new Struct({glyph:H,xOffset:V,yOffset:V});class Wi{}class Yi{}new VersionedStruct("version",{1:{metrics:zi,data:Wi},2:{metrics:zi,data:Yi},5:{data:Yi},6:{metrics:Gi,data:Wi},7:{metrics:Gi,data:Yi},8:{metrics:zi,pad:new Reserved(G),numComponents:H,components:new ArrayT(Hi,"numComponents")},9:{metrics:Gi,pad:new Reserved(G),numComponents:H,components:new ArrayT(Hi,"numComponents")},17:{metrics:zi,dataLen:j,data:new BufferT("dataLen")},18:{metrics:Gi,dataLen:j,data:new BufferT("dataLen")},19:{dataLen:j,data:new BufferT("dataLen")}});let Ji=new Struct({ascender:V,descender:V,widthMax:G,caretSlopeNumerator:V,caretSlopeDenominator:V,caretOffset:V,minOriginSB:V,minAdvanceSB:V,maxBeforeBL:V,minAfterBL:V,pad:new Reserved(V,2)}),ji=new Struct({glyphCode:H,offset:H}),Ki=new VersionedStruct(H,{header:{imageFormat:H,imageDataOffset:j},1:{offsetArray:new ArrayT(j,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},2:{imageSize:j,bigMetrics:Gi},3:{offsetArray:new ArrayT(H,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},4:{numGlyphs:j,glyphArray:new ArrayT(ji,e=>e.numGlyphs+1)},5:{imageSize:j,bigMetrics:Gi,numGlyphs:j,glyphCodeArray:new ArrayT(H,"numGlyphs")}}),Vi=new Struct({firstGlyphIndex:H,lastGlyphIndex:H,subtable:new Pointer(j,Ki)}),qi=new Struct({indexSubTableArray:new Pointer(j,new ArrayT(Vi,1),{type:"parent"}),indexTablesSize:j,numberOfIndexSubTables:j,colorRef:j,hori:Ji,vert:Ji,startGlyphIndex:H,endGlyphIndex:H,ppemX:G,ppemY:G,bitDepth:G,flags:new Bitfield(G,["horizontal","vertical"])});var Xi=new Struct({version:j,numSizes:j,sizes:new ArrayT(qi,"numSizes")});let Zi=new Struct({ppem:H,resolution:H,imageOffsets:new ArrayT(new Pointer(j,"void"),e=>e.parent.parent.maxp.numGlyphs+1)});var $i=new Struct({version:H,flags:new Bitfield(H,["renderOutlines"]),numImgTables:j,imageTables:new ArrayT(new Pointer(j,Zi),"numImgTables")});let ea=new Struct({gid:H,paletteIndex:H}),ta=new Struct({gid:H,firstLayerIndex:H,numLayers:H});var na=new Struct({version:H,numBaseGlyphRecords:H,baseGlyphRecord:new Pointer(j,new ArrayT(ta,"numBaseGlyphRecords")),layerRecords:new Pointer(j,new ArrayT(ea,"numLayerRecords"),{lazy:!0}),numLayerRecords:H});let ra=new Struct({blue:G,green:G,red:G,alpha:G});var ia=new VersionedStruct(H,{header:{numPaletteEntries:H,numPalettes:H,numColorRecords:H,colorRecords:new Pointer(j,new ArrayT(ra,"numColorRecords")),colorRecordIndices:new ArrayT(H,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new Pointer(j,new ArrayT(j,"numPalettes")),offsetPaletteLabelArray:new Pointer(j,new ArrayT(H,"numPalettes")),offsetPaletteEntryLabelArray:new Pointer(j,new ArrayT(H,"numPaletteEntries"))}});let aa=new VersionedStruct(H,{1:{coordinate:q},2:{coordinate:q,referenceGlyph:H,baseCoordPoint:H},3:{coordinate:q,deviceTable:new Pointer(H,jr)}}),oa=new Struct({defaultIndex:H,baseCoordCount:H,baseCoords:new ArrayT(new Pointer(H,aa),"baseCoordCount")}),sa=new Struct({tag:new StringT(4),minCoord:new Pointer(H,aa,{type:"parent"}),maxCoord:new Pointer(H,aa,{type:"parent"})}),la=new Struct({minCoord:new Pointer(H,aa),maxCoord:new Pointer(H,aa),featMinMaxCount:H,featMinMaxRecords:new ArrayT(sa,"featMinMaxCount")}),ca=new Struct({tag:new StringT(4),minMax:new Pointer(H,la,{type:"parent"})}),ua=new Struct({baseValues:new Pointer(H,oa),defaultMinMax:new Pointer(H,la),baseLangSysCount:H,baseLangSysRecords:new ArrayT(ca,"baseLangSysCount")}),fa=new Struct({tag:new StringT(4),script:new Pointer(H,ua,{type:"parent"})}),ha=new ArrayT(fa,H),da=new ArrayT(new StringT(4),H),ga=new Struct({baseTagList:new Pointer(H,da),baseScriptList:new Pointer(H,ha)});var pa=new VersionedStruct(j,{header:{horizAxis:new Pointer(H,ga),vertAxis:new Pointer(H,ga)},65536:{},65537:{itemVariationStore:new Pointer(j,fi)}});let ma=new ArrayT(H,H),ya=new Struct({coverage:new Pointer(H,xr),glyphCount:H,attachPoints:new ArrayT(new Pointer(H,ma),"glyphCount")}),ba=new VersionedStruct(H,{1:{coordinate:q},2:{caretValuePoint:H},3:{coordinate:q,deviceTable:new Pointer(H,jr)}}),Ca=new ArrayT(new Pointer(H,ba),H),va=new Struct({coverage:new Pointer(H,xr),ligGlyphCount:H,ligGlyphs:new ArrayT(new Pointer(H,Ca),"ligGlyphCount")}),wa=new Struct({markSetTableFormat:H,markSetCount:H,coverage:new ArrayT(new Pointer(j,xr),"markSetCount")});var Qa=new VersionedStruct(j,{header:{glyphClassDef:new Pointer(H,zr),attachList:new Pointer(H,ya),ligCaretList:new Pointer(H,va),markAttachClassDef:new Pointer(H,zr)},65536:{},65538:{markGlyphSetsDef:new Pointer(H,wa)},65539:{markGlyphSetsDef:new Pointer(H,wa),itemVariationStore:new Pointer(j,fi)}});let Sa=new Bitfield(H,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),ka={xPlacement:q,yPlacement:q,xAdvance:q,yAdvance:q,xPlaDevice:new Pointer(H,jr,{type:"global",relativeTo:e=>e.rel}),yPlaDevice:new Pointer(H,jr,{type:"global",relativeTo:e=>e.rel}),xAdvDevice:new Pointer(H,jr,{type:"global",relativeTo:e=>e.rel}),yAdvDevice:new Pointer(H,jr,{type:"global",relativeTo:e=>e.rel})};class xa{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let n={rel:()=>t._startOffset},r=t[this.key];for(let e in r)r[e]&&(n[e]=ka[e]);return new Struct(n)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let n=this.buildStruct(t).decode(e,t);return delete n.rel,n}constructor(e="valueFormat"){this.key=e}}let Fa=new Struct({secondGlyph:H,value1:new xa("valueFormat1"),value2:new xa("valueFormat2")}),Na=new ArrayT(Fa,H),_a=new Struct({value1:new xa("valueFormat1"),value2:new xa("valueFormat2")}),Ga=new VersionedStruct(H,{1:{xCoordinate:q,yCoordinate:q},2:{xCoordinate:q,yCoordinate:q,anchorPoint:H},3:{xCoordinate:q,yCoordinate:q,xDeviceTable:new Pointer(H,jr),yDeviceTable:new Pointer(H,jr)}}),za=new Struct({entryAnchor:new Pointer(H,Ga,{type:"parent"}),exitAnchor:new Pointer(H,Ga,{type:"parent"})}),Ya=new Struct({class:H,markAnchor:new Pointer(H,Ga,{type:"parent"})}),ja=new ArrayT(Ya,H),Ka=new ArrayT(new Pointer(H,Ga),e=>e.parent.classCount),Va=new ArrayT(Ka,H),qa=new ArrayT(new Pointer(H,Ga),e=>e.parent.parent.classCount),$a=new ArrayT(qa,H),eo=new ArrayT(new Pointer(H,$a),H),to=new VersionedStruct("lookupType",{1:new VersionedStruct(H,{1:{coverage:new Pointer(H,xr),valueFormat:Sa,value:new xa},2:{coverage:new Pointer(H,xr),valueFormat:Sa,valueCount:H,values:new LazyArray(new xa,"valueCount")}}),2:new VersionedStruct(H,{1:{coverage:new Pointer(H,xr),valueFormat1:Sa,valueFormat2:Sa,pairSetCount:H,pairSets:new LazyArray(new Pointer(H,Na),"pairSetCount")},2:{coverage:new Pointer(H,xr),valueFormat1:Sa,valueFormat2:Sa,classDef1:new Pointer(H,zr),classDef2:new Pointer(H,zr),class1Count:H,class2Count:H,classRecords:new LazyArray(new LazyArray(_a,"class2Count"),"class1Count")}}),3:{format:H,coverage:new Pointer(H,xr),entryExitCount:H,entryExitRecords:new ArrayT(za,"entryExitCount")},4:{format:H,markCoverage:new Pointer(H,xr),baseCoverage:new Pointer(H,xr),classCount:H,markArray:new Pointer(H,ja),baseArray:new Pointer(H,Va)},5:{format:H,markCoverage:new Pointer(H,xr),ligatureCoverage:new Pointer(H,xr),classCount:H,markArray:new Pointer(H,ja),ligatureArray:new Pointer(H,eo)},6:{format:H,mark1Coverage:new Pointer(H,xr),mark2Coverage:new Pointer(H,xr),classCount:H,mark1Array:new Pointer(H,ja),mark2Array:new Pointer(H,Va)},7:ri,8:oi,9:{posFormat:H,lookupType:H,extension:new Pointer(j,null)}});to.versions[9].extension.type=to;var no=new VersionedStruct(j,{header:{scriptList:new Pointer(H,gr),featureList:new Pointer(H,br),lookupList:new Pointer(H,new wr(to))},65536:{},65537:{featureVariations:new Pointer(j,yi)}});let ro=new ArrayT(H,H),io=ro,ao=new Struct({glyph:H,compCount:H,components:new ArrayT(H,e=>e.compCount-1)}),oo=new ArrayT(new Pointer(H,ao),H),so=new VersionedStruct("lookupType",{1:new VersionedStruct(H,{1:{coverage:new Pointer(H,xr),deltaGlyphID:q},2:{coverage:new Pointer(H,xr),glyphCount:H,substitute:new LazyArray(H,"glyphCount")}}),2:{substFormat:H,coverage:new Pointer(H,xr),count:H,sequences:new LazyArray(new Pointer(H,ro),"count")},3:{substFormat:H,coverage:new Pointer(H,xr),count:H,alternateSet:new LazyArray(new Pointer(H,io),"count")},4:{substFormat:H,coverage:new Pointer(H,xr),count:H,ligatureSets:new LazyArray(new Pointer(H,oo),"count")},5:ri,6:oi,7:{substFormat:H,lookupType:H,extension:new Pointer(j,null)},8:{substFormat:H,coverage:new Pointer(H,xr),backtrackCoverage:new ArrayT(new Pointer(H,xr),"backtrackGlyphCount"),lookaheadGlyphCount:H,lookaheadCoverage:new ArrayT(new Pointer(H,xr),"lookaheadGlyphCount"),glyphCount:H,substitutes:new ArrayT(H,"glyphCount")}});so.versions[7].extension.type=so;var lo=new VersionedStruct(j,{header:{scriptList:new Pointer(H,gr),featureList:new Pointer(H,br),lookupList:new Pointer(H,new wr(so))},65536:{},65537:{featureVariations:new Pointer(j,yi)}});let co=new ArrayT(H,H),uo=new Struct({shrinkageEnableGSUB:new Pointer(H,co),shrinkageDisableGSUB:new Pointer(H,co),shrinkageEnableGPOS:new Pointer(H,co),shrinkageDisableGPOS:new Pointer(H,co),shrinkageJstfMax:new Pointer(H,new wr(to)),extensionEnableGSUB:new Pointer(H,co),extensionDisableGSUB:new Pointer(H,co),extensionEnableGPOS:new Pointer(H,co),extensionDisableGPOS:new Pointer(H,co),extensionJstfMax:new Pointer(H,new wr(to))}),Ao=new ArrayT(new Pointer(H,uo),H),fo=new Struct({tag:new StringT(4),jstfLangSys:new Pointer(H,Ao)}),ho=new Struct({extenderGlyphs:new Pointer(H,new ArrayT(H,H)),defaultLangSys:new Pointer(H,Ao),langSysCount:H,langSysRecords:new ArrayT(fo,"langSysCount")}),go=new Struct({tag:new StringT(4),script:new Pointer(H,ho,{type:"parent"})});var po=new Struct({version:j,scriptCount:H,scriptList:new ArrayT(go,"scriptCount")});let mo=new Struct({entry:new class{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return ee(this._size,null,t)}constructor(e){this._size=e}}(e=>1+((48&e.parent.entryFormat)>>4)),outerIndex:e=>e.entry>>1+(15&e.parent.entryFormat),innerIndex:e=>e.entry&(1<<1+(15&e.parent.entryFormat))-1}),yo=new Struct({entryFormat:H,mapCount:H,mapData:new ArrayT(mo,"mapCount")});var Io=new Struct({majorVersion:H,minorVersion:H,itemVariationStore:new Pointer(j,fi),advanceWidthMapping:new Pointer(j,yo),LSBMapping:new Pointer(j,yo),RSBMapping:new Pointer(j,yo)});let bo=new Struct({format:j,length:j,offset:j}),Co=new Struct({reserved:new Reserved(H,2),cbSignature:j,signature:new BufferT("cbSignature")});var Eo=new Struct({ulVersion:j,usNumSigs:H,usFlag:H,signatures:new ArrayT(bo,"usNumSigs"),signatureBlocks:new ArrayT(Co,"usNumSigs")});let Bo=new Struct({rangeMaxPPEM:H,rangeGaspBehavior:new Bitfield(H,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var vo=new Struct({version:H,numRanges:H,gaspRanges:new ArrayT(Bo,"numRanges")});let wo=new Struct({pixelSize:G,maximumWidth:G,widths:new ArrayT(G,e=>e.parent.parent.maxp.numGlyphs)});var Qo=new Struct({version:H,numRecords:q,sizeDeviceRecord:X,records:new ArrayT(wo,"numRecords")});let So=new Struct({left:H,right:H,value:q}),ko=new Struct({firstGlyph:H,nGlyphs:H,offsets:new ArrayT(H,"nGlyphs"),max:e=>e.offsets.length&&Math.max.apply(Math,e.offsets)}),xo=new Struct({off:e=>e._startOffset-e.parent.parent._startOffset,len:e=>((e.parent.leftTable.max-e.off)/e.parent.rowWidth+1)*(e.parent.rowWidth/2),values:new LazyArray(q,"len")}),Do=new VersionedStruct("format",{0:{nPairs:H,searchRange:H,entrySelector:H,rangeShift:H,pairs:new ArrayT(So,"nPairs")},2:{rowWidth:H,leftTable:new Pointer(H,ko,{type:"parent"}),rightTable:new Pointer(H,ko,{type:"parent"}),array:new Pointer(H,xo,{type:"parent"})},3:{glyphCount:H,kernValueCount:G,leftClassCount:G,rightClassCount:G,flags:G,kernValue:new ArrayT(q,"kernValueCount"),leftClass:new ArrayT(G,"glyphCount"),rightClass:new ArrayT(G,"glyphCount"),kernIndex:new ArrayT(G,e=>e.leftClassCount*e.rightClassCount)}}),To=new VersionedStruct("version",{0:{subVersion:H,length:H,format:G,coverage:new Bitfield(G,["horizontal","minimum","crossStream","override"]),subtable:Do,padding:new Reserved(G,e=>e.length-e._currentOffset)},1:{length:j,coverage:new Bitfield(G,[null,null,null,null,null,"variation","crossStream","vertical"]),format:G,tupleIndex:H,subtable:Do,padding:new Reserved(G,e=>e.length-e._currentOffset)}});var Ro=new VersionedStruct(H,{0:{nTables:H,tables:new ArrayT(To,"nTables")},1:{reserved:new Reserved(H),nTables:j,tables:new ArrayT(To,"nTables")}}),Po=new Struct({version:H,numGlyphs:H,yPels:new ArrayT(G,"numGlyphs")}),Fo=new Struct({version:H,fontNumber:j,pitch:H,xHeight:H,style:H,typeFamily:H,capHeight:H,symbolSet:H,typeface:new StringT(16),characterComplement:new StringT(8),fileName:new StringT(6),strokeWeight:new StringT(1),widthType:new StringT(1),serifStyle:G,reserved:new Reserved(G)});let Lo=new Struct({bCharSet:G,xRatio:G,yStartRatio:G,yEndRatio:G}),No=new Struct({yPelHeight:H,yMax:q,yMin:q}),Mo=new Struct({recs:H,startsz:G,endsz:G,entries:new ArrayT(No,"recs")});var Uo=new Struct({version:H,numRecs:H,numRatios:H,ratioRanges:new ArrayT(Lo,"numRatios"),offsets:new ArrayT(H,"numRatios"),groups:new ArrayT(Mo,"numRecs")}),Oo=new Struct({version:H,ascent:q,descent:q,lineGap:q,advanceHeightMax:q,minTopSideBearing:q,minBottomSideBearing:q,yMaxExtent:q,caretSlopeRise:q,caretSlopeRun:q,caretOffset:q,reserved:new Reserved(q,4),metricDataFormat:q,numberOfMetrics:H});let _o=new Struct({advance:H,bearing:q});var Go=new Struct({metrics:new LazyArray(_o,e=>e.parent.vhea.numberOfMetrics),bearings:new LazyArray(q,e=>e.parent.maxp.numGlyphs-e.parent.vhea.numberOfMetrics)});let zo=new Fixed(16,"BE",14),Ho=new Struct({fromCoord:zo,toCoord:zo}),Wo=new Struct({pairCount:H,correspondence:new ArrayT(Ho,"pairCount")});var Yo=new Struct({version:$,axisCount:j,segment:new ArrayT(Wo,"axisCount")});class Jo{getItem(e){if(null==this._items[e]){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,n){this.type=e,this.stream=t,this.parent=n,this.base=this.stream.pos,this._items=[]}}class jo extends ArrayT{decode(e,t){return new Jo(this.type,e,t)}constructor(e){super(e,0)}}let Vo=function(e=H){e=new class Shadow{decode(e,t){return t=t.parent.parent,this.type.decode(e,t)}size(e,t){return t=t.parent.parent,this.type.size(e,t)}encode(e,t,n){return n=n.parent.parent,this.type.encode(e,t,n)}constructor(e){this.type=e}}(e);let t=new Struct({unitSize:H,nUnits:H,searchRange:H,entrySelector:H,rangeShift:H}),n=new Struct({lastGlyph:H,firstGlyph:H,value:e}),r=new Struct({lastGlyph:H,firstGlyph:H,values:new Pointer(H,new ArrayT(e,e=>e.lastGlyph-e.firstGlyph+1),{type:"parent"})}),i=new Struct({glyph:H,value:e});return new VersionedStruct(H,{0:{values:new jo(e)},2:{binarySearchHeader:t,segments:new ArrayT(n,e=>e.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new ArrayT(r,e=>e.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new ArrayT(i,e=>e.binarySearchHeader.nUnits)},8:{firstGlyph:H,count:H,values:new ArrayT(e,"count")}})};function qo(e={},t=H){let n=Object.assign({newState:H,flags:H},e),r=new Struct(n),i=new jo(new ArrayT(H,e=>e.nClasses));return new Struct({nClasses:j,classTable:new Pointer(j,new Vo(t)),stateArray:new Pointer(j,i),entryTable:new Pointer(j,new jo(r))})}let Xo=new VersionedStruct("format",{0:{deltas:new ArrayT(q,32)},1:{deltas:new ArrayT(q,32),mappingData:new Vo(H)},2:{standardGlyph:H,controlPoints:new ArrayT(H,32)},3:{standardGlyph:H,controlPoints:new ArrayT(H,32),mappingData:new Vo(H)}});var Zo=new Struct({version:$,format:H,defaultBaseline:H,subtable:Xo});let $o=new Struct({setting:H,nameIndex:q,name:e=>e.parent.parent.parent.name.records.fontFeatures[e.nameIndex]}),es=new Struct({feature:H,nSettings:H,settingTable:new Pointer(j,new ArrayT($o,"nSettings"),{type:"parent"}),featureFlags:new Bitfield(G,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:G,nameIndex:q,name:e=>e.parent.parent.name.records.fontFeatures[e.nameIndex]});var ts=new Struct({version:$,featureNameCount:H,reserved1:new Reserved(H),reserved2:new Reserved(j),featureNames:new ArrayT(es,"featureNameCount")});let ns=new Struct({axisTag:new StringT(4),minValue:$,defaultValue:$,maxValue:$,flags:H,nameID:H,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID]}),rs=new Struct({nameID:H,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID],flags:H,coord:new ArrayT($,e=>e.parent.axisCount),postscriptNameID:new Optional(H,e=>e.parent.instanceSize-e._currentOffset>0)});var is=new Struct({version:$,offsetToData:H,countSizePairs:H,axisCount:H,axisSize:H,instanceCount:H,instanceSize:H,axis:new ArrayT(ns,"axisCount"),instance:new ArrayT(rs,"instanceCount")});let as=new Fixed(16,"BE",14);let os=new Struct({version:H,reserved:new Reserved(H),axisCount:H,globalCoordCount:H,globalCoords:new Pointer(j,new ArrayT(new ArrayT(as,"axisCount"),"globalCoordCount")),glyphCount:H,flags:H,offsetToData:j,offsets:new ArrayT(new Pointer(class{static decode(e,t){return t.flags?e.readUInt32BE():2*e.readUInt16BE()}},"void",{relativeTo:e=>e.offsetToData,allowNull:!1}),e=>e.glyphCount+1)});var ss=os;let ls=new Struct({length:H,coverage:H,subFeatureFlags:j,stateTable:new function(e={}){let t=new Struct({version:()=>8,firstGlyph:H,values:new ArrayT(G,H)}),n=Object.assign({newStateOffset:H,newState:e=>(e.newStateOffset-(e.parent.stateArray.base-e.parent._startOffset))/e.parent.nClasses,flags:H},e),r=new Struct(n),i=new jo(new ArrayT(G,e=>e.nClasses));return new Struct({nClasses:H,classTable:new Pointer(H,t),stateArray:new Pointer(H,i),entryTable:new Pointer(H,new jo(r))})}}),cs=new Struct({justClass:j,beforeGrowLimit:$,beforeShrinkLimit:$,afterGrowLimit:$,afterShrinkLimit:$,growFlags:H,shrinkFlags:H}),us=new ArrayT(cs,j),As=new VersionedStruct("actionType",{0:{lowerLimit:$,upperLimit:$,order:H,glyphs:new ArrayT(H,H)},1:{addGlyph:H},2:{substThreshold:$,addGlyph:H,substGlyph:H},3:{},4:{variationAxis:j,minimumLimit:$,noStretchValue:$,maximumLimit:$},5:{flags:H,glyph:H}}),fs=new Struct({actionClass:H,actionType:H,actionLength:j,actionData:As,padding:new Reserved(G,e=>e.actionLength-e._currentOffset)}),hs=new ArrayT(fs,j),ds=new Struct({lookupTable:new Vo(new Pointer(H,hs))}),gs=new Struct({classTable:new Pointer(H,ls,{type:"parent"}),wdcOffset:H,postCompensationTable:new Pointer(H,ds,{type:"parent"}),widthDeltaClusters:new Vo(new Pointer(H,us,{type:"parent",relativeTo:e=>e.wdcOffset}))});var ps=new Struct({version:j,format:H,horizontal:new Pointer(H,gs),vertical:new Pointer(H,gs)});let ms={action:H},ys={markIndex:H,currentIndex:H},Is={currentInsertIndex:H,markedInsertIndex:H},bs=new Struct({items:new jo(new Pointer(j,new Vo))}),Cs=new VersionedStruct("type",{0:{stateTable:new qo},1:{stateTable:new qo(ys),substitutionTable:new Pointer(j,bs)},2:{stateTable:new qo(ms),ligatureActions:new Pointer(j,new jo(j)),components:new Pointer(j,new jo(H)),ligatureList:new Pointer(j,new jo(H))},4:{lookupTable:new Vo},5:{stateTable:new qo(Is),insertionActions:new Pointer(j,new jo(H))}}),Es=new Struct({length:j,coverage:Y,type:G,subFeatureFlags:j,table:Cs,padding:new Reserved(G,e=>e.length-e._currentOffset)}),Bs=new Struct({featureType:H,featureSetting:H,enableFlags:j,disableFlags:j}),vs=new Struct({defaultFlags:j,chainLength:j,nFeatureEntries:j,nSubtables:j,features:new ArrayT(Bs,"nFeatureEntries"),subtables:new ArrayT(Es,"nSubtables")});var ws=new Struct({version:H,unused:new Reserved(H),nChains:j,chains:new ArrayT(vs,"nChains")});let Qs=new Struct({left:q,top:q,right:q,bottom:q});var Ss=new Struct({version:$,format:H,lookupTable:new Vo(Qs)});let ks={};var xs=ks;ks.cmap=zt,ks.head=jt,ks.hhea=qt,ks.hmtx=en,ks.maxp=tn,ks.name=gn,ks["OS/2"]=bn,ks.post=vn,ks.fpgm=kn,ks.loca=zn,ks.prep=jn,ks["cvt "]=wn,ks.glyf=qn,ks["CFF "]=Ui,ks.CFF2=Ui,ks.VORG=_i,ks.EBLC=Xi,ks.CBLC=ks.EBLC,ks.sbix=$i,ks.COLR=na,ks.CPAL=ia,ks.BASE=pa,ks.GDEF=Qa,ks.GPOS=no,ks.GSUB=lo,ks.JSTF=po,ks.HVAR=Io,ks.DSIG=Eo,ks.gasp=vo,ks.hdmx=Qo,ks.kern=Ro,ks.LTSH=Po,ks.PCLT=Fo,ks.VDMX=Uo,ks.vhea=Oo,ks.vmtx=Go,ks.avar=Yo,ks.bsln=Zo,ks.feat=ts,ks.fvar=is,ks.gvar=ss,ks.just=ps,ks.morx=ws,ks.opbd=Ss;let Ds=new Struct({tag:new StringT(4),checkSum:j,offset:new Pointer(j,"void",{type:"global"}),length:j}),Ts=new Struct({tag:new StringT(4),numTables:H,searchRange:H,entrySelector:H,rangeShift:H,tables:new ArrayT(Ds,"numTables")});Ts.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e},Ts.preEncode=function(){if(!Array.isArray(this.tables)){let e=[];for(let t in this.tables){let n=this.tables[t];n&&e.push({tag:t,checkSum:0,offset:new VoidPointer(xs[t],n),length:xs[t].size(n)})}this.tables=e}this.tag="true",this.numTables=this.tables.length;let e=Math.floor(Math.log(this.numTables)/Math.LN2),t=Math.pow(2,e);this.searchRange=16*t,this.entrySelector=Math.log(t)/Math.LN2,this.rangeShift=16*this.numTables-this.searchRange};var Rs=Ts;function Ps(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,a=t(e[i]);if(a<0)r=i-1;else{if(!(a>0))return i;n=i+1}}return-1}function Fs(e,t){let n=[];for(;e>4,n[r++]=(15&a)<<4|o>>2,n[r++]=(3&o)<<6|63&s}return n}class Os{findSubtable(e,t){for(let[n,r]of t)for(let t of e.tables)if(t.platformID===n&&t.encodingID===r)return t.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let n=this.getVariationSelector(e,t);if(n)return n}let n=this.cmap;switch(n.version){case 0:return n.codeMap.get(e)||0;case 4:{let t=0,r=n.segCount-1;for(;t<=r;){let i=t+r>>1;if(en.endCode.get(i))){let t,r=n.idRangeOffset.get(i);if(0===r)t=e+n.idDelta.get(i);else{let a=r/2+(e-n.startCode.get(i))-(n.segCount-i);t=n.glyphIndexArray.get(a)||0,0!==t&&(t+=n.idDelta.get(i))}return 65535&t}t=i+1}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return n.glyphIndices.get(e-n.firstCode)||0;case 12:case 13:{let t=0,r=n.nGroups-1;for(;t<=r;){let i=t+r>>1,a=n.groups.get(i);if(ea.endCharCode))return 12===n.version?a.glyphID+(e-a.startCharCode):a.glyphID;t=i+1}}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${n.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let n=this.uvs.varSelectors.toArray(),r=Ps(n,e=>t-e.varSelector),i=n[r];return-1!==r&&i.defaultUVS&&(r=Ps(i.defaultUVS,t=>et.startUnicodeValue+t.additionalCount?1:0)),-1!==r&&i.nonDefaultUVS&&(r=Ps(i.nonDefaultUVS,t=>e-t.unicodeValue),-1!==r)?i.nonDefaultUVS[r].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return Fs(0,e.codeMap.length);case 4:{let t=[],n=e.endCode.toArray();for(let r=0;r=r.glyphID&&e<=r.glyphID+(r.endCharCode-r.startCharCode)&&n.push(r.startCharCode+(e-r.glyphID));return n}case 13:{let n=[];for(let r of t.groups.toArray())e===r.glyphID&&n.push(...Fs(r.startCharCode,r.endCharCode+1));return n}default:throw new Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let e=sn(nn(t.platformID,t.encodingID,t.table.language-1));e&&(this.cmap=t.table,this.encoding=e)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}}__decorate([gt],Os.prototype,"getCharacterSet",null),__decorate([gt],Os.prototype,"codePointsForGlyph",null);class _s{process(e,t){for(let n=0;n=0&&(i=a.pairs[n].value);break;case 2:let o=0,s=0;o=e>=a.leftTable.firstGlyph&&e=a.rightTable.firstGlyph&&t=a.glyphCount||t>=a.glyphCount)return 0;i=a.kernValue[a.kernIndex[a.leftClass[e]*a.rightClassCount+a.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${r.format}`)}r.coverage.override?n=i:n+=i}return n}constructor(e){this.kern=e.kern}}class Gs{positionGlyphs(e,t){let n=0,r=0;for(let i=0;i1&&(a.minX+=(i.codePoints.length-1)*a.width/i.codePoints.length);let o=-t[n].xAdvance,s=0,l=this.font.unitsPerEm/16;for(let i=n+1;i<=r;i++){let n=e[i],r=n.cbox,c=t[i],u=this.getCombiningClass(n.codePoints[0]);if("Not_Reordered"!==u){switch(c.xOffset=c.yOffset=0,u){case"Double_Above":case"Double_Below":c.xOffset+=a.minX-r.width/2-r.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":c.xOffset+=a.minX-r.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":c.xOffset+=a.maxX-r.width-r.minX;break;default:c.xOffset+=a.minX+(a.width-r.width)/2-r.minX}switch(u){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==u&&"Attached_Below"!==u||(a.minY+=l),c.yOffset=-a.minY-r.maxY,a.minY+=r.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==u&&"Attached_Above_Right"!==u||(a.maxY+=l),c.yOffset=a.maxY-r.minY,a.maxY+=r.height}c.xAdvance=c.yAdvance=0,c.xOffset+=o,c.yOffset+=s}else o-=c.xAdvance,s-=c.yAdvance}}getCombiningClass(e){let t=ze(e);if(3584==(-256&e))if("Not_Reordered"===t)switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===e)return"Below_Right";switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return t}constructor(e){this.font=e}}class zs{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(ethis.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(tthis.maxY&&(this.maxY=t))}copy(){return new zs(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,n=-1/0,r=-1/0){this.minX=e,this.minY=t,this.maxX=n,this.maxY=r}}const Hs={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},Ws={};for(let e in Hs){let t=Hs[e];if(Array.isArray(t))for(let n of t)Ws[n]=e;else Ws[t]=e}const Ys={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function Js(e){return Ys[e]?"rtl":"ltr"}class js{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new zs,t=0,n=0;for(let r=0;r[Vs[e].code,Vs[e][t]],Xs={rlig:qs("ligatures","requiredLigatures"),clig:qs("ligatures","contextualLigatures"),dlig:qs("ligatures","rareLigatures"),hlig:qs("ligatures","historicalLigatures"),liga:qs("ligatures","commonLigatures"),hist:qs("ligatures","historicalLigatures"),smcp:qs("lowerCase","lowerCaseSmallCaps"),pcap:qs("lowerCase","lowerCasePetiteCaps"),frac:qs("fractions","diagonalFractions"),dnom:qs("fractions","diagonalFractions"),numr:qs("fractions","diagonalFractions"),afrc:qs("fractions","verticalFractions"),case:qs("caseSensitiveLayout","caseSensitiveLayout"),ccmp:qs("unicodeDecomposition","canonicalComposition"),cpct:qs("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:qs("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:qs("contextualAlternates","swashAlternates"),cswh:qs("contextualAlternates","contextualSwashAlternates"),curs:qs("cursiveConnection","cursive"),c2pc:qs("upperCase","upperCasePetiteCaps"),c2sc:qs("upperCase","upperCaseSmallCaps"),init:qs("smartSwash","wordInitialSwashes"),fin2:qs("smartSwash","wordFinalSwashes"),medi:qs("smartSwash","nonFinalSwashes"),med2:qs("smartSwash","nonFinalSwashes"),fin3:qs("smartSwash","wordFinalSwashes"),fina:qs("smartSwash","wordFinalSwashes"),pkna:qs("kanaSpacing","proportionalKana"),half:qs("textSpacing","halfWidthText"),halt:qs("textSpacing","altHalfWidthText"),hkna:qs("alternateKana","alternateHorizKana"),vkna:qs("alternateKana","alternateVertKana"),ital:qs("italicCJKRoman","CJKItalicRoman"),lnum:qs("numberCase","upperCaseNumbers"),onum:qs("numberCase","lowerCaseNumbers"),mgrk:qs("mathematicalExtras","mathematicalGreek"),calt:qs("contextualAlternates","contextualAlternates"),vrt2:qs("verticalSubstitution","substituteVerticalForms"),vert:qs("verticalSubstitution","substituteVerticalForms"),tnum:qs("numberSpacing","monospacedNumbers"),pnum:qs("numberSpacing","proportionalNumbers"),sups:qs("verticalPosition","superiors"),subs:qs("verticalPosition","inferiors"),ordn:qs("verticalPosition","ordinals"),pwid:qs("textSpacing","proportionalText"),hwid:qs("textSpacing","halfWidthText"),qwid:qs("textSpacing","quarterWidthText"),twid:qs("textSpacing","thirdWidthText"),fwid:qs("textSpacing","proportionalText"),palt:qs("textSpacing","altProportionalText"),trad:qs("characterShape","traditionalCharacters"),smpl:qs("characterShape","simplifiedCharacters"),jp78:qs("characterShape","JIS1978Characters"),jp83:qs("characterShape","JIS1983Characters"),jp90:qs("characterShape","JIS1990Characters"),jp04:qs("characterShape","JIS2004Characters"),expt:qs("characterShape","expertCharacters"),hojo:qs("characterShape","hojoCharacters"),nlck:qs("characterShape","NLCCharacters"),tnam:qs("characterShape","traditionalNamesCharacters"),ruby:qs("rubyKana","rubyKana"),titl:qs("styleOptions","titlingCaps"),zero:qs("typographicExtras","slashedZero"),ss01:qs("stylisticAlternatives","stylisticAltOne"),ss02:qs("stylisticAlternatives","stylisticAltTwo"),ss03:qs("stylisticAlternatives","stylisticAltThree"),ss04:qs("stylisticAlternatives","stylisticAltFour"),ss05:qs("stylisticAlternatives","stylisticAltFive"),ss06:qs("stylisticAlternatives","stylisticAltSix"),ss07:qs("stylisticAlternatives","stylisticAltSeven"),ss08:qs("stylisticAlternatives","stylisticAltEight"),ss09:qs("stylisticAlternatives","stylisticAltNine"),ss10:qs("stylisticAlternatives","stylisticAltTen"),ss11:qs("stylisticAlternatives","stylisticAltEleven"),ss12:qs("stylisticAlternatives","stylisticAltTwelve"),ss13:qs("stylisticAlternatives","stylisticAltThirteen"),ss14:qs("stylisticAlternatives","stylisticAltFourteen"),ss15:qs("stylisticAlternatives","stylisticAltFifteen"),ss16:qs("stylisticAlternatives","stylisticAltSixteen"),ss17:qs("stylisticAlternatives","stylisticAltSeventeen"),ss18:qs("stylisticAlternatives","stylisticAltEighteen"),ss19:qs("stylisticAlternatives","stylisticAltNineteen"),ss20:qs("stylisticAlternatives","stylisticAltTwenty")};for(let e=1;e<=99;e++)Xs[`cv${`00${e}`.slice(-2)}`]=[Vs.characterAlternatives.code,e];let Zs={};for(let e in Xs){let t=Xs[e];null==Zs[t[0]]&&(Zs[t[0]]={}),Zs[t[0]][t[1]]=e}function $s(e){let[t,n]=e;if(isNaN(t))var r=Vs[t]&&Vs[t].code;else r=t;if(isNaN(n))var i=Vs[t]&&Vs[t][n];else i=n;return[r,i]}class el{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let r=0,i=this.table.binarySearchHeader.nUnits-1;for(;r<=i;){var t=r+i>>1;if(65535===(n=this.table.segments[t]).firstGlyph)return null;if(en.lastGlyph))return 2===this.table.version?n.value:n.values[e-n.firstGlyph];r=t+1}}return null}case 6:{let r=0,i=this.table.binarySearchHeader.nUnits-1;for(;r<=i;){var n;t=r+i>>1;if(65535===(n=this.table.segments[t]).glyph)return null;if(en.glyph))return n.value;r=t+1}}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let n of this.table.segments)if(2===this.table.version&&n.value===e)t.push(...Fs(n.firstGlyph,n.lastGlyph+1));else for(let r=0;r=-1;){let t=null,o=1,s=!0;i===e.length||-1===i?o=0:(t=e[i],65535===t.id?o=2:(o=this.lookupTable.lookup(t.id),null==o&&(o=1)));let l=this.stateTable.stateArray.getItem(r)[o],c=this.stateTable.entryTable.getItem(l);0!==o&&2!==o&&(n(t,c,i),s=!(16384&c.flags)),r=c.newState,s&&(i+=a)}return e}traverse(e,t=0,n=new Set){if(n.has(t))return;n.add(t);let{nClasses:r,stateArray:i,entryTable:a}=this.stateTable,o=i.getItem(t);for(let t=4;t=0;)65535===e[n].id&&e.splice(n,1),n--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,4===this.subtable.type)return void this.processNoncontextualSubstitutions(this.subtable,this.glyphs);this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let n=this.getStateMachine(e),r=this.getProcessor(),i=!!(this.subtable.coverage&nl);return n.process(this.glyphs,i,r)}getStateMachine(e){return new tl(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,n){32768&t.flags&&(this.firstGlyph=n),8192&t.flags&&(this.lastGlyph=n),function(e,t,n,r){switch(t){case 0:return e;case 1:return il(e,[n,1],[r,0]);case 2:return il(e,[n,0],[r,1]);case 3:return il(e,[n,1],[r,1]);case 4:return il(e,[n,2],[r,0]);case 5:return il(e,[n,2],[r,0],!0,!1);case 6:return il(e,[n,0],[r,2]);case 7:return il(e,[n,0],[r,2],!1,!0);case 8:return il(e,[n,1],[r,2]);case 9:return il(e,[n,1],[r,2],!1,!0);case 10:return il(e,[n,2],[r,1]);case 11:return il(e,[n,2],[r,1],!0,!1);case 12:return il(e,[n,2],[r,2]);case 13:return il(e,[n,2],[r,2],!0,!1);case 14:return il(e,[n,2],[r,2],!1,!0);case 15:return il(e,[n,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${t}`)}}(this.glyphs,15&t.flags,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,n){let r=this.subtable.table.substitutionTable.items;if(65535!==t.markIndex){let n=r.getItem(t.markIndex),a=new el(n);e=this.glyphs[this.markedGlyph],(i=a.lookup(e.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(i,e.codePoints))}if(65535!==t.currentIndex){let a=r.getItem(t.currentIndex),o=new el(a);var i;e=this.glyphs[n],(i=o.lookup(e.id))&&(this.glyphs[n]=this.font.getGlyph(i,e.codePoints))}32768&t.flags&&(this.markedGlyph=n)}processLigature(e,t,n){if(32768&t.flags&&this.ligatureStack.push(n),8192&t.flags){let e=this.subtable.table.ligatureActions,n=this.subtable.table.components,r=this.subtable.table.ligatureList,i=t.action,a=!1,o=0,s=[],l=[];for(;!a;){let t=this.ligatureStack.pop();s.unshift(...this.glyphs[t].codePoints);let c=e.getItem(i++);a=!!(2147483648&c);let u=!!(1073741824&c),A=(1073741823&c)<<2>>2;if(A+=this.glyphs[t].id,o+=n.getItem(A),a||u){let e=r.getItem(o);this.glyphs[t]=this.font.getGlyph(e,s),l.push(t),o=0,s=[]}else this.glyphs[t]=this.font.getGlyph(65535)}this.ligatureStack.push(...l)}}processNoncontextualSubstitutions(e,t,n){let r=new el(e.table.lookupTable);for(n=0;n>>5,n=!!(1024&t.flags);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,e,n)}if(65535!==t.currentInsertIndex){let e=(992&t.flags)>>>5,r=!!(2048&t.flags);this._insertGlyphs(n,t.currentInsertIndex,e,r)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let n of t.features)e.push([n.featureType,n.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){this.inputCache={};for(let e of this.morx.chains){let t=e.defaultFlags;for(let n of e.subtables)n.subFeatureFlags&t&&this.generateInputsForSubtable(n)}}generateInputsForSubtable(e){if(2!==e.type)return;if(!!(e.coverage&nl))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let t=this.getStateMachine(e),n=this.getProcessor(),r=[],i=[];this.glyphs=[],t.traverse({enter:(e,t)=>{let a=this.glyphs;i.push({glyphs:a.slice(),ligatureStack:this.ligatureStack.slice()});let o=this.font.getGlyph(e);r.push(o),a.push(r[r.length-1]),n(a[a.length-1],t,a.length-1);let s=0,l=0;for(let e=0;ee.id),t=this.inputCache[l];t?t.push(e):this.inputCache[l]=[e]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=i.pop()),r.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}}function il(e,t,n,r=!1,i=!1){let a=e.splice(n[0]-(n[1]-1),n[1]);i&&a.reverse();let o=e.splice(t[0],t[1],...a);return r&&o.reverse(),e.splice(n[0]-(t[1]-1),0,...o),e}__decorate([gt],rl.prototype,"getStateMachine",null);class al{substitute(e){"rtl"===e.direction&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,function(e){let t={};for(let n in e){let r;(r=Xs[n])&&(null==t[r[0]]&&(t[r[0]]={}),t[r[0]][r[1]]=e[n])}return t}(e.features))}getAvailableFeatures(e,t){return function(e){let t={};if(Array.isArray(e))for(let n=0;n0&&e.applyFeatures(r,t,n)}constructor(e,t,n){this.font=e,this.script=t,this.direction=n,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const sl=["rvrn"],ll=["ccmp","locl","rlig","mark","mkmk"],cl=["frac","numr","dnom"],ul=["calt","clig","liga","rclt","curs","kern"],fl={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class hl{static plan(e,t,n){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,n),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...sl,...fl[e.direction]],local:cl})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...ll,...ul]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let e=0;e0&&qe(t[r-1].codePoints[0]);)t[r-1].features.numr=!0,t[r-1].features.frac=!0,r--;for(;ithis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,n=this.increment(e);return this.index=t,n}peekIndex(e=1){let t=this.index;this.increment(e);let n=this.index;return this.index=t,n}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}}const $l=["DFLT","dflt","latn"];class ec{findScript(e){if(null==this.table.scriptList)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let e of this.table.scriptList)if(e.tag===t)return e;return null}selectScript(e,t,n){let r,i=!1;if(!this.script||e!==this.scriptTag){if(r=this.findScript(e),r||(r=this.findScript($l)),!r)return this.scriptTag;this.scriptTag=r.tag,this.script=r.script,this.language=null,this.languageTag=null,i=!0}if(n&&n===this.direction||(this.direction=n||Js(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let e of this.script.langSysRecords)if(e.tag===t){this.language=e.langSys,this.languageTag=e.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),i=!0}if(i&&(this.features={},this.language))for(let e of this.language.featureIndexes){let t=this.table.featureList[e],n=this.substituteFeatureForVariations(e);this.features[t.tag]=n||t.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let n=[];for(let r of e){let e=this.features[r];if(e)for(let i of e.lookupListIndexes)t&&-1!==t.indexOf(i)||n.push({feature:r,index:i,lookup:this.table.lookupList.get(i)})}return n.sort((e,t)=>e.index-t.index),n}substituteFeatureForVariations(e){if(-1===this.variationsIndex)return null;let t=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let n of t)if(n.featureIndex===e)return n.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let n=t.featureVariationRecords;for(let t=0;t{let n=e.axisIndexe===t.id)}sequenceMatchIndices(e,t){return this.match(e,t,(e,t)=>this.currentFeature in t.features&&e===t.id,[])}coverageSequenceMatches(e,t){return this.match(e,t,(e,t)=>this.coverageIndex(e,t.id)>=0)}getClassID(e,t){switch(t.version){case 1:let n=e-t.startGlyph;if(n>=0&&ne===this.getClassID(t.id,n))}applyContext(e){let t,n;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),-1===t)return!1;n=e.ruleSets[t];for(let e of n)if(this.sequenceMatches(1,e.input))return this.applyLookupList(e.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))return!1;if(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),-1===t)return!1;n=e.classSet[t];for(let t of n)if(this.classSequenceMatches(1,t.classes,e.classDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords)}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),-1===t)return!1;let n=e.chainRuleSets[t];for(let e of n)if(this.sequenceMatches(-e.backtrack.length,e.backtrack)&&this.sequenceMatches(1,e.input)&&this.sequenceMatches(1+e.input.length,e.lookahead))return this.applyLookupList(e.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let r=e.chainClassSet[t];if(!r)return!1;for(let t of r)if(this.classSequenceMatches(-t.backtrack.length,t.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,t.input,e.inputClassDef)&&this.classSequenceMatches(1+t.input.length,t.lookahead,e.lookaheadClassDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords)}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class tc{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let n=ec.prototype.getClassID(e,t.glyphClassDef);this.isBase=1===n,this.isLigature=2===n,this.isMark=3===n,this.markAttachmentType=t.markAttachClassDef?ec.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every($e),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new tc(this._font,this.id,this.codePoints,this.features)}constructor(e,t,n=[],r){if(this._font=e,this.codePoints=n,this.id=t,this.features={},Array.isArray(r))for(let e=0;e4352<=e&&e<=4447||43360<=e&&e<=43388)(e)?1:(e=>4448<=e&&e<=4519||55216<=e&&e<=55238)(e)?2:(e=>4520<=e&&e<=4607||55243<=e&&e<=55291)(e)?3:(e=>e-rc<11173&&(e-rc)%28==0)(e)?4:(e=>rc<=e&&e<=55204)(e)?5:(e=>12334<=e&&e<=12335)(e)?6:0}const lc=1,cc=2,uc=4,Ac=5,fc=[[[0,0],[0,1],[0,0],[0,0],[lc,2],[lc,3],[Ac,0]],[[0,0],[0,1],[cc,2],[0,0],[lc,2],[lc,3],[Ac,0]],[[0,0],[0,1],[0,0],[cc,3],[lc,2],[lc,3],[uc,0]],[[0,0],[0,1],[0,0],[0,0],[lc,2],[lc,3],[uc,0]]];function hc(e,t,n){return new tc(e,e.glyphForCodePoint(t).id,[t],n)}function dc(e,t,n){let r=e[t],i=r.codePoints[0]-rc,a=oc+i%28;i=i/28|0;let o=ic+i/21|0,s=ac+i%21;if(!n.hasGlyphForCodePoint(o)||!n.hasGlyphForCodePoint(s)||a!==oc&&!n.hasGlyphForCodePoint(a))return t;let l=hc(n,o,r.features);l.features.ljmo=!0;let c=hc(n,s,r.features);c.features.vjmo=!0;let u=[l,c];if(a>oc){let e=hc(n,a,r.features);e.features.tjmo=!0,u.push(e)}return e.splice(t,1,...u),t+u.length-1}function gc(e,t,n){let r,i,a,o,s=e[t],l=sc(e[t].codePoints[0]),c=e[t-1].codePoints[0],u=sc(c);if(4===u&&3===l)r=c,o=s;else{2===l?(i=e[t-1],a=s):(i=e[t-2],a=e[t-1],o=s);let n=i.codePoints[0],c=a.codePoints[0];(e=>ic<=e&&e<=4370)(n)&&(e=>ac<=e&&e<=4469)(c)&&(r=rc+28*(21*(n-ic)+(c-ac)))}let A=o&&o.codePoints[0]||oc;if(null!=r&&(A===oc||(e=>1<=e&&e<=4546)(A))){let i=r+(A-oc);if(n.hasGlyphForCodePoint(i)){let r=2===u?3:2;return e.splice(t-r+1,r,hc(n,i,s.features)),t-r+1}}return i&&(i.features.ljmo=!0),a&&(a.features.vjmo=!0),o&&(o.features.tjmo=!0),4===u?(dc(e,t-1,n),t+1):t}function pc(e,t,n){let r=e[t],i=e[t].codePoints[0];if(0===n.glyphForCodePoint(i).advanceWidth)return;let a=function(e){switch(sc(e)){case 4:case 5:return 1;case 2:return 2;case 3:return 3}}(e[t-1].codePoints[0]);return e.splice(t,1),e.splice(t-a,0,r)}function mc(e,t,n){let r=e[t],i=e[t].codePoints[0];if(n.hasGlyphForCodePoint(9676)){let a=hc(n,9676,r.features),o=0===n.glyphForCodePoint(i).advanceWidth?t:t+1;e.splice(o,0,a),t++}return t}var yc;yc=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var Ic;Ic=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const bc={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},Cc={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},Ec=bc.C|bc.Ra|bc.CM|bc.V|bc.Placeholder|bc.Dotted_Circle,Bc=bc.ZWJ|bc.ZWNJ,vc=bc.H|bc.Coeng,wc={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:Cc.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:Cc.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:Cc.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:Cc.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:Cc.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:Cc.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:Cc.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:Cc.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:Cc.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:Cc.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:Cc.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Qc={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:Sc}=ot(Ic),kc=new oe(Us("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")),xc=new tt(ot(yc));class Dc extends hl{static planFeatures(e){var t;e.addStage(Fc),e.addStage(["locl","ccmp"]),e.addStage(_c),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(Gc),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=(t=e.script,Ws[t]),e.indicConfig=wc[e.unicodeScript]||wc.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&"2"!==e.script[e.script.length-1]}static assignFeatures(e,t){for(let n=t.length-1;n>=0;n--){let r=t[n].codePoints[0],i=Qc[r]||Sc[r];if(i){let r=i.map(r=>{let i=e.font.glyphForCodePoint(r);return new tc(e.font,i.id,[r],t[n].features)});t.splice(n,1,...r)}}}}function Tc(e){return kc.get(e.codePoints[0])>>8}function Rc(e){return 1<<(255&kc.get(e.codePoints[0]))}re(Dc,"zeroMarkWidths","NONE");class Pc{constructor(e,t,n,r){this.category=e,this.position=t,this.syllableType=n,this.syllable=r}}function Fc(e,t){let n=0,r=0;for(let[e,i,a]of xc.match(t.map(Tc))){if(e>r){++n;for(let i=r;iA);break}case"First":u=o;for(let e=u+1;en&&!(Lc(t[r])||e&&t[r].shaperInfo.category===bc.H);r--);if(t[r].shaperInfo.category!==bc.H&&r>n){let e=t[n];t.splice(n,0,...t.splice(n+1,r-n)),t[r]=e}break}}let h=Cc.Start;for(let e=o;eo;r--)if(t[r-1].shaperInfo.position!==Cc.Pre_M){n.position=t[r-1].shaperInfo.position;break}}else n.position!==Cc.SMVD&&(h=n.position)}let d=u;for(let e=u+1;ee.shaperInfo.position-t.shaperInfo.position),t.splice(o,g.length,...g);for(let e=o;eo&&!Lc(t[r]))}}}function Gc(e,t,n){let r=n.indicConfig,i=e._layoutEngine.engine.GSUBProcessor.features;for(let e=0,a=zc(t,0);e=Cc.Base_C){if(o&&s+1Cc.Base_C&&s--;break}if(s===a&&ee&&!(t[r].shaperInfo.category&(bc.M|vc));)r--;Mc(t[r])&&t[r].shaperInfo.position!==Cc.Pre_M?r+1e;n--)if(t[n-1].shaperInfo.position===Cc.Pre_M){let e=n-1;ee&&t[n].shaperInfo.position===Cc.SMVD;)n--;if(Mc(t[n]))for(let e=s+1;ee&&!(t[i-1].shaperInfo.category&(bc.M|vc));)i--;if(i>e&&t[i-1].shaperInfo.category===bc.M){let e=r;for(let n=s+1;ne&&Mc(t[i-1])&&i=e.length)return t;let n=e[t].shaperInfo.syllable;for(;++t=0;n--){let r=t[n].codePoints[0];if(Wc[r]){let i=Wc[r].map(r=>{let i=e.font.glyphForCodePoint(r);return new tc(e.font,i.id,[r],t[n].features)});t.splice(n,1,...i)}}}}function Kc(e){return Yc.get(e.codePoints[0])}re(jc,"zeroMarkWidths","BEFORE_GPOS");class Vc{constructor(e,t,n){this.category=e,this.syllableType=t,this.syllable=n}}function qc(e,t){let n=0;for(let[e,r,i]of Jc.match(t.map(Kc))){++n;for(let a=e;a<=r;a++)t[a].shaperInfo=new Vc(Hc[Kc(t[a])],i[0],n);let a="R"===t[e].shaperInfo.category?1:Math.min(3,r-e);for(let n=e;n1)for(a=r+1;a=e.length)return t;let n=e[t].shaperInfo.syllable;for(;++t{let n=new tc(this.font,e,void 0,r);return n.shaperInfo=i.shaperInfo,n.isLigated=i.isLigated,n.ligatureComponent=t+1,n.substituted=!0,n.isMultiplied=!0,n});return this.glyphs.splice(this.glyphIterator.index+1,0,...a),!0}return!1}case 3:{let e=this.coverageIndex(t.coverage);if(-1!==e){let n=0;return this.glyphIterator.cur.id=t.alternateSet.get(e)[n],!0}return!1}case 4:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(let r of t.ligatureSets.get(e)){let e=this.sequenceMatchIndices(1,r.components);if(!e)continue;let t=this.glyphIterator.cur,i=t.codePoints.slice();for(let t of e)i.push(...this.glyphs[t].codePoints);let a=new tc(this.font,r.glyph,i,t.features);a.shaperInfo=t.shaperInfo,a.isLigated=!0,a.substituted=!0;let o=t.isMark;for(let t=0;t=0;t--)this.glyphs.splice(e[t],1);return this.glyphs[this.glyphIterator.index]=a,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`GSUB lookupType ${e} is not supported`)}}}class ou extends ec{applyPositionValue(e,t){let n=this.positions[this.glyphIterator.peekIndex(e)];null!=t.xAdvance&&(n.xAdvance+=t.xAdvance),null!=t.yAdvance&&(n.yAdvance+=t.yAdvance),null!=t.xPlacement&&(n.xOffset+=t.xPlacement),null!=t.yPlacement&&(n.yOffset+=t.yPlacement);let r=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;r&&i&&(t.xPlaDevice&&(n.xOffset+=r.getDelta(i,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(n.yOffset+=r.getDelta(i,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(n.xAdvance+=r.getDelta(i,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(n.yAdvance+=r.getDelta(i,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(e))}return!0}case 2:{let e=this.glyphIterator.peek();if(!e)return!1;let r=this.coverageIndex(t.coverage);if(-1===r)return!1;switch(t.version){case 1:let i=t.pairSets.get(r);for(let t of i)if(t.secondGlyph===e.id)return this.applyPositionValue(0,t.value1),this.applyPositionValue(1,t.value2),!0;return!1;case 2:let a=this.getClassID(this.glyphIterator.cur.id,t.classDef1),o=this.getClassID(e.id,t.classDef2);if(-1===a||-1===o)return!1;var n=t.classRecords.get(a).get(o);return this.applyPositionValue(0,n.value1),this.applyPositionValue(1,n.value2),!0}}case 3:{let e=this.glyphIterator.peekIndex(),n=this.glyphs[e];if(!n)return!1;let r=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!r||!r.exitAnchor)return!1;let i=t.entryExitRecords[this.coverageIndex(t.coverage,n.id)];if(!i||!i.entryAnchor)return!1;let a,o=this.getAnchor(i.entryAnchor),s=this.getAnchor(r.exitAnchor),l=this.positions[this.glyphIterator.index],c=this.positions[e];switch(this.direction){case"ltr":l.xAdvance=s.x+l.xOffset,a=o.x+c.xOffset,c.xAdvance-=a,c.xOffset-=a;break;case"rtl":a=s.x+l.xOffset,l.xAdvance-=a,l.xOffset-=a,c.xAdvance=o.x+c.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=e,l.yOffset=o.y-s.y):(n.cursiveAttachment=this.glyphIterator.index,l.yOffset=s.y-o.y),!0}case 4:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let n=this.glyphIterator.index;for(;--n>=0&&(this.glyphs[n].isMark||this.glyphs[n].ligatureComponent>0););if(n<0)return!1;let r=this.coverageIndex(t.baseCoverage,this.glyphs[n].id);if(-1===r)return!1;let i=t.markArray[e],a=t.baseArray[r][i.class];return this.applyAnchor(i,a,n),!0}case 5:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let n=this.glyphIterator.index;for(;--n>=0&&this.glyphs[n].isMark;);if(n<0)return!1;let r=this.coverageIndex(t.ligatureCoverage,this.glyphs[n].id);if(-1===r)return!1;let i=t.ligatureArray[r],a=this.glyphIterator.cur,o=this.glyphs[n],s=o.ligatureID&&o.ligatureID===a.ligatureID&&a.ligatureComponent>0?Math.min(a.ligatureComponent,o.codePoints.length)-1:o.codePoints.length-1,l=t.markArray[e],c=i[s][l.class];return this.applyAnchor(l,c,n),!0}case 6:{let e=this.coverageIndex(t.mark1Coverage);if(-1===e)return!1;let n=this.glyphIterator.peekIndex(-1),r=this.glyphs[n];if(!r||!r.isMark)return!1;let i=this.glyphIterator.cur,a=!1;if(i.ligatureID===r.ligatureID?i.ligatureID?i.ligatureComponent===r.ligatureComponent&&(a=!0):a=!0:(i.ligatureID&&!i.ligatureComponent||r.ligatureID&&!r.ligatureComponent)&&(a=!0),!a)return!1;let o=this.coverageIndex(t.mark2Coverage,r.id);if(-1===o)return!1;let s=t.mark1Array[e],l=t.mark2Array[o][s.class];return this.applyAnchor(s,l,n),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,n){let r=this.getAnchor(t),i=this.getAnchor(e.markAnchor),a=(this.positions[n],this.positions[this.glyphIterator.index]);a.xOffset=r.x-i.x,a.yOffset=r.y-i.y,this.glyphIterator.cur.markAttachment=n}getAnchor(e){let t=e.xCoordinate,n=e.yCoordinate,r=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;return r&&i&&(e.xDeviceTable&&(t+=r.getDelta(i,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(n+=r.getDelta(i,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:n}}applyFeatures(e,t,n){super.applyFeatures(e,t,n);for(var r=0;rnew tc(this.font,e.id,[...e.codePoints]));let t=null;this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=function(e){Array.isArray(e)||(e=[e]);for(let t of e){let e=iu[t];if(e)return e}return hl}(t),this.plan=new ol(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let t in this.plan.allFeatures)e.features[t]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(e=>this.font.getGlyph(e.id,e.codePoints)))}position(e){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),"rtl"===e.direction&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;tnew Ks(e.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),t||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new Gs(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),t&&t.kern||!1===e.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new _s(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let n=this.font.glyphForCodePoint(32);for(let r=0;r>16;if(0===t)switch(e>>8){case 0:return 173===e;case 3:return 847===e;case 6:return 1564===e;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||65279===e;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let n=[];return this.engine&&n.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&-1===n.indexOf("kern")&&n.push("kern"),n}stringsForGlyph(e){let t=new Set,n=this.font._cmapProcessor.codePointsForGlyph(e);for(let e of n)t.add(String.fromCodePoint(e));if(this.engine&&this.engine.stringsForGlyph)for(let n of this.engine.stringsForGlyph(e))t.add(n);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new al(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new su(this.font))}}const cu={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class uu{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){let e=this.commands.map(e=>{let t=e.args.map(e=>Math.round(100*e)/100);return`${cu[e.command]}${t.join(" ")}`});return e.join("")}get cbox(){if(!this._cbox){let e=new zs;for(let t of this.commands)for(let n=0;nMath.pow(1-e,3)*f[p]+3*Math.pow(1-e,2)*e*h[p]+3*(1-e)*Math.pow(e,2)*d[p]+Math.pow(e,3)*g[p];for(let m of this.commands)switch(m.command){case"moveTo":case"lineTo":let[y,I]=m.args;e.addPoint(y,I),t=y,n=I;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===m.command)var[i,a,o,s]=m.args,l=t+2/3*(i-t),c=n+2/3*(a-n),u=o+2/3*(i-o),A=s+2/3*(a-s);else var[l,c,u,A,o,s]=m.args;e.addPoint(o,s);for(var f=[t,n],h=[l,c],d=[u,A],g=[o,s],p=0;p<=1;p++){let t=6*f[p]-12*h[p]+6*d[p],n=-3*f[p]+9*h[p]-9*d[p]+3*g[p];if(m=3*h[p]-3*f[p],0===n){if(0===t)continue;let n=-m/t;0[e*o+n*s+i,t*o+r*s+a])}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),n=Math.sin(e);return this.transform(t,n,-n,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let e of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])uu.prototype[e]=function(...t){return this._bbox=this._cbox=null,this.commands.push({command:e,args:t}),this};var Au=[".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"];class fu{_getPath(){return new uu}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id0)r=Math.abs(t.typoAscender-t.typoDescender),i=t.typoAscender-e.maxY;else{let{hhea:t}=this._font;var r=Math.abs(t.ascent-t.descent),i=t.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:r,leftBearing:n,topBearing:i}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return Au[this.id];case 2:let t=e.glyphNameIndex[this.id];return t0&&this.codePoints.every($e),this.isLigature=this.codePoints.length>1}}__decorate([gt],fu.prototype,"cbox",null),__decorate([gt],fu.prototype,"bbox",null),__decorate([gt],fu.prototype,"path",null),__decorate([gt],fu.prototype,"advanceWidth",null),__decorate([gt],fu.prototype,"advanceHeight",null),__decorate([gt],fu.prototype,"name",null);let hu=new Struct({numberOfContours:q,xMin:q,yMin:q,xMax:q,yMax:q});class du{copy(){return new du(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,n=0,r=0){this.onCurve=e,this.endContour=t,this.x=n,this.y=r}}class gu{constructor(e,t,n){this.glyphID=e,this.dx=t,this.dy=n,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class pu extends fu{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let n=hu.decode(t),r=new zs(n.xMin,n.yMin,n.xMax,n.yMax);return Object.freeze(r)}_parseGlyphCoord(e,t,n,r){if(n){var i=e.readUInt8();r||(i=-i),i+=t}else if(r)i=t;else i=t+e.readInt16BE();return i}_decode(){let e=this._font.loca.offsets[this.id];if(e===this._font.loca.offsets[this.id+1])return null;let t=this._font._getTableStream("glyf");t.pos+=e;let n=t.pos,r=hu.decode(t);return r.numberOfContours>0?this._decodeSimple(r,t):r.numberOfContours<0&&this._decodeComposite(r,t,n),r}_decodeSimple(e,t){e.points=[];let n=new ArrayT(H,e.numberOfContours).decode(t);e.instructions=new ArrayT(G,H).decode(t);let r=[],i=n[n.length-1]+1;for(;r.length=0,0,0);e.points.push(t)}let s=0;for(o=0;o>1,s.length=0}function v(e,t){h&&o.closePath(),o.moveTo(e,t),h=!0}let w=function(){for(;t.pos1&&E(),f+=s.shift(),v(A,f);break;case 5:for(;s.length>=2;)A+=s.shift(),f+=s.shift(),o.lineTo(A,f);break;case 6:case 7:for(S=6===p;s.length>=1;)S?A+=s.shift():f+=s.shift(),o.lineTo(A,f),S=!S;break;case 8:for(;s.length>0;)k=A+s.shift(),x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),A=D+s.shift(),f=T+s.shift(),o.bezierCurveTo(k,x,D,T,A,f);break;case 10:if(c=s.pop()+y,Q=m[c],Q){a[c]=!0;let e=t.pos,n=r;t.pos=Q.offset,r=Q.offset+Q.length,w(),t.pos=e,r=n}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;s.length>0&&E(),h&&(o.closePath(),h=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");b=s.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!C)throw new Error("blend operator in non-variation font");let t=C.getBlendVector(I,b),n=s.pop(),r=n*t.length,i=s.length-r,a=i-n;for(let e=0;e>3;break;case 21:s.length>2&&E(),A+=s.shift(),f+=s.shift(),v(A,f);break;case 22:s.length>1&&E(),A+=s.shift(),v(A,f);break;case 24:for(;s.length>=8;)k=A+s.shift(),x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),A=D+s.shift(),f=T+s.shift(),o.bezierCurveTo(k,x,D,T,A,f);A+=s.shift(),f+=s.shift(),o.lineTo(A,f);break;case 25:for(;s.length>=8;)A+=s.shift(),f+=s.shift(),o.lineTo(A,f);k=A+s.shift(),x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),A=D+s.shift(),f=T+s.shift(),o.bezierCurveTo(k,x,D,T,A,f);break;case 26:for(s.length%2&&(A+=s.shift());s.length>=4;)k=A,x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),A=D,f=T+s.shift(),o.bezierCurveTo(k,x,D,T,A,f);break;case 27:for(s.length%2&&(f+=s.shift());s.length>=4;)k=A+s.shift(),x=f,D=k+s.shift(),T=x+s.shift(),A=D+s.shift(),f=T,o.bezierCurveTo(k,x,D,T,A,f);break;case 28:s.push(t.readInt16BE());break;case 29:if(c=s.pop()+g,Q=d[c],Q){i[c]=!0;let e=t.pos,n=r;t.pos=Q.offset,r=Q.offset+Q.length,w(),t.pos=e,r=n}break;case 30:case 31:for(S=31===p;s.length>=4;)S?(k=A+s.shift(),x=f,D=k+s.shift(),T=x+s.shift(),f=T+s.shift(),A=D+(1===s.length?s.shift():0)):(k=A,x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),A=D+s.shift(),f=T+(1===s.length?s.shift():0)),o.bezierCurveTo(k,x,D,T,A,f),S=!S;break;case 12:switch(p=t.readUInt8(),p){case 3:let e=s.pop(),t=s.pop();s.push(e&&t?1:0);break;case 4:e=s.pop(),t=s.pop(),s.push(e||t?1:0);break;case 5:e=s.pop(),s.push(e?0:1);break;case 9:e=s.pop(),s.push(Math.abs(e));break;case 10:e=s.pop(),t=s.pop(),s.push(e+t);break;case 11:e=s.pop(),t=s.pop(),s.push(e-t);break;case 12:e=s.pop(),t=s.pop(),s.push(e/t);break;case 14:e=s.pop(),s.push(-e);break;case 15:e=s.pop(),t=s.pop(),s.push(e===t?1:0);break;case 18:s.pop();break;case 20:let r=s.pop(),i=s.pop();l[i]=r;break;case 21:i=s.pop(),s.push(l[i]||0);break;case 22:let a=s.pop(),c=s.pop(),u=s.pop(),h=s.pop();s.push(u<=h?a:c);break;case 23:s.push(Math.random());break;case 24:e=s.pop(),t=s.pop(),s.push(e*t);break;case 26:e=s.pop(),s.push(Math.sqrt(e));break;case 27:e=s.pop(),s.push(e,e);break;case 28:e=s.pop(),t=s.pop(),s.push(t,e);break;case 29:i=s.pop(),i<0?i=0:i>s.length-1&&(i=s.length-1),s.push(s[i]);break;case 30:let d=s.pop(),g=s.pop();if(g>=0)for(;g>0;){var n=s[d-1];for(let e=d-2;e>=0;e--)s[e+1]=s[e];s[0]=n,g--}else for(;g<0;){n=s[0];for(let e=0;e<=d;e++)s[e]=s[e+1];s[d-1]=n,g++}break;case 34:k=A+s.shift(),x=f,D=k+s.shift(),T=x+s.shift(),R=D+s.shift(),P=T,F=R+s.shift(),L=P,N=F+s.shift(),M=L,U=N+s.shift(),O=M,A=U,f=O,o.bezierCurveTo(k,x,D,T,R,P),o.bezierCurveTo(F,L,N,M,U,O);break;case 35:_=[];for(let e=0;e<=5;e++)A+=s.shift(),f+=s.shift(),_.push(A,f);o.bezierCurveTo(..._.slice(0,6)),o.bezierCurveTo(..._.slice(6)),s.shift();break;case 36:k=A+s.shift(),x=f+s.shift(),D=k+s.shift(),T=x+s.shift(),R=D+s.shift(),P=T,F=R+s.shift(),L=P,N=F+s.shift(),M=L+s.shift(),U=N+s.shift(),O=M,A=U,f=O,o.bezierCurveTo(k,x,D,T,R,P),o.bezierCurveTo(F,L,N,M,U,O);break;case 37:let m=A,y=f;_=[];for(let e=0;e<=4;e++)A+=s.shift(),f+=s.shift(),_.push(A,f);Math.abs(A-m)>Math.abs(f-y)?(A+=s.shift(),f=y):(A=m,f+=s.shift()),_.push(A,f),o.bezierCurveTo(..._.slice(0,6)),o.bezierCurveTo(..._.slice(6));break;default:throw new Error(`Unknown op: 12 ${p}`)}break;default:throw new Error(`Unknown op: ${p}`)}}else if(p<247)s.push(p-139);else if(p<251){var c=t.readUInt8();s.push(256*(p-247)+c+108)}else if(p<255){c=t.readUInt8();s.push(256*-(p-251)-c-108)}else s.push(t.readInt32BE()/65536)}};return w(),h&&o.closePath(),o}constructor(...e){super(...e),re(this,"type","CFF")}}let yu=new Struct({originX:H,originY:H,type:new StringT(4),data:new BufferT(e=>e.parent.buflen-e._currentOffset)});class Iu extends pu{getImageForSize(e){for(let n=0;n=e)break}let n=t.imageOffsets,r=n[this.id],i=n[this.id+1];return r===i?null:(this._font.stream.pos=r,yu.decode(this._font.stream,{buflen:i-r}))}render(e,t){let n=this.getImageForSize(t);if(null!=n){let r=t/this._font.unitsPerEm;e.image(n.data,{height:t,x:n.originX,y:(this.bbox.minY-n.originY)*r})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),re(this,"type","SBIX")}}class bu{constructor(e,t){this.glyph=e,this.color=t}}class Cu extends fu{_getBBox(){let e=new zs;for(let t=0;t>1;var i=t.baseGlyphRecord[e];if(this.idi.gid)){var a=i;break}n=e+1}}if(null==a){var o=this._font._getBaseGlyph(this.id);return[new bu(o,l={red:0,green:0,blue:0,alpha:255})]}let s=[];for(let n=a.firstLayerIndex;n=1&&t[n]=n.glyphCount)return;let r=n.offsets[e];if(r===n.offsets[e+1])return;let{stream:i}=this.font;if(i.pos=r,i.pos>=i.length)return;let a=i.readUInt16BE(),o=r+i.readUInt16BE();if(32768&a){var s=i.pos;i.pos=o;var l=this.decodePoints();o=i.pos,i.pos=s}let c=t.map(e=>e.copy());a&=4095;for(let e=0;e=n.globalCoordCount)throw new Error("Invalid gvar table");u=n.globalCoords[4095&r]}if(16384&r){var A=[];for(let e=0;ee.copy()),n=t.map(()=>!1);for(let r=0;rr[s])return 0;o=i[s]Math.max(0,t[s]))return 0;o=(o*i[s]+Number.EPSILON)/(t[s]+Number.EPSILON)}}return o}interpolateMissingDeltas(e,t,n){if(0===e.length)return;let r=0;for(;ra)continue;let s=r,l=r;for(r++;r<=a;)n[r]&&(this.deltaInterpolate(l+1,r-1,l,r,t,e),l=r),r++;l===s?this.deltaShift(i,a,l,t,e):(this.deltaInterpolate(l+1,a,l,s,t,e),s>0&&this.deltaInterpolate(i,s-1,l,s,t,e)),r=a+1}}deltaInterpolate(e,t,n,r,i,a){if(e>t)return;let o=["x","y"];for(let l=0;li[r][c]){var s=n;n=r,r=s}let u=i[n][c],A=i[r][c],f=a[n][c],h=a[r][c];if(u!==A||f===h){let n=u===A?0:(h-f)/(A-u);for(let r=e;r<=t;r++){let e=i[r][c];e<=u?e+=f-u:e>=A?e+=h-A:e=f+(e-u)*n,a[r][c]=e}}}}deltaShift(e,t,n,r,i){let a=i[n].x-r[n].x,o=i[n].y-r[n].y;if(0!==a||0!==o)for(let r=e;r<=t;r++)r!==n&&(i[r].x+=a,i[r].y+=o)}getAdvanceAdjustment(e,t){let n,r;if(t.advanceWidthMapping){let i=e;i>=t.advanceWidthMapping.mapCount&&(i=t.advanceWidthMapping.mapCount-1);t.advanceWidthMapping.entryFormat;({outerIndex:n,innerIndex:r}=t.advanceWidthMapping.mapData[i])}else n=0,r=e;return this.getDelta(t.itemVariationStore,n,r)}getDelta(e,t,n){if(t>=e.itemVariationData.length)return 0;let r=e.itemVariationData[t];if(n>=r.deltaSets.length)return 0;let i=r.deltaSets[n],a=this.getBlendVector(e,t),o=0;for(let e=0;en.peakCoord||n.peakCoord>n.endCoord||n.startCoord<0&&n.endCoord>0&&0!==n.peakCoord||0===n.peakCoord?1:r[e]n.endCoord?0:r[e]===n.peakCoord?1:r[e]=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}}let wu=new Struct({numberOfContours:q,xMin:q,yMin:q,xMax:q,yMax:q,endPtsOfContours:new ArrayT(H,"numberOfContours"),instructions:new ArrayT(G,H),flags:new ArrayT(G,0),xPoints:new ArrayT(vu,0),yPoints:new ArrayT(vu,0)});class Qu{encodeSimple(e,t=[]){let n=[],r=[],i=[],a=[],o=0,s=0,l=0,c=0,u=0;for(let t=0;t0&&(a.push(o),o=0),a.push(d),c=d),s=f,l=h,u++}"closePath"===A.command&&n.push(u-1)}e.commands.length>1&&"closePath"!==e.commands[e.commands.length-1].command&&n.push(u-1);let A=e.bbox,f={numberOfContours:n.length,xMin:A.minX,yMin:A.minY,xMax:A.maxX,yMax:A.maxY,endPtsOfContours:n,instructions:t,flags:a,xPoints:r,yPoints:i},h=wu.size(f),d=4-h%4,g=new EncodeStream(h+d);return wu.encode(g,f),0!==d&&g.fill(0,d),g.buffer}_encodePoint(e,t,n,r,i,a){let o=e-t;return e===t?r|=a:(-255<=o&&o<=255&&(r|=i,o<0?o=-o:r|=a),n.push(o)),r}}class Su extends Bu{_addGlyph(e){let t=this.font.getGlyph(e),n=t._decode(),r=this.font.loca.offsets[e],i=this.font.loca.offsets[e+1],a=this.font._getTableStream("glyf");a.pos+=r;let o=a.readBuffer(i-r);if(n&&n.numberOfContours<0){o=new Uint8Array(o);let t=new DataView(o.buffer);for(let r of n.components)e=this.includeGlyph(r.glyphID),t.setUint16(r.pos,e)}else n&&this.font._variationProcessor&&(o=this.glyphEncoder.encodeSimple(t.path,n.instructions));return this.glyf.push(o),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=o.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings;for(let e of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[e]=this.addString(this.cff.string(t[e]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let n={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return Ni.toBuffer(n)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}}class xu{static probe(e){let t=Ls.decode(e.slice(0,4));return"true"===t||"OTTO"===t||t===String.fromCharCode(0,1,0,0)}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(t){lt&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=Rs.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,n=this._getTableStream(e.tag),r=xs[e.tag].decode(n,this,e.length);return this.stream.pos=t,r}getName(e,t=this.defaultLanguage||ht){let n=this.name&&this.name.records[e];return n&&(n[t]||n[this.defaultLanguage]||n[ht]||n.en||n[Object.keys(n)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new zs(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new Os(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],n=e.length,r=0,i=-1,a=-1;for(;r<=n;){let o=0,s=0;if(r{let r=t.axisTag.trim();return r in e?Math.max(t.minValue,Math.min(t.maxValue,e[r])):t.defaultValue}),n=new DecodeStream(this.stream.buffer);n.pos=this._directoryPos;let r=new xu(n,t);return r._tables=this._tables,r}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return e||this.CFF2?(e||(e=this.fvar.axis.map(e=>e.defaultValue)),new Eu(this,e)):null}getFont(e){return this.getVariation(e)}constructor(e,t=null){re(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let e in this.directory.tables){let t=this.directory.tables[e];xs[e]&&t.length>0&&Object.defineProperty(this,e,{get:this._getTable.bind(this,t)})}}}__decorate([gt],xu.prototype,"bbox",null),__decorate([gt],xu.prototype,"_cmapProcessor",null),__decorate([gt],xu.prototype,"characterSet",null),__decorate([gt],xu.prototype,"_layoutEngine",null),__decorate([gt],xu.prototype,"variationAxes",null),__decorate([gt],xu.prototype,"namedVariations",null),__decorate([gt],xu.prototype,"_variationProcessor",null);let Du=new Struct({tag:new StringT(4),offset:new Pointer(j,"void",{type:"global"}),compLength:j,length:j,origChecksum:j}),Tu=new Struct({tag:new StringT(4),flavor:j,length:j,numTables:H,reserved:new Reserved(H),totalSfntSize:j,majorVersion:H,minorVersion:H,metaOffset:j,metaLength:j,metaOrigLength:j,privOffset:j,privLength:j,tables:new ArrayT(Du,"numTables")});Tu.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};var Ru=Tu;class Pu extends pu{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),re(this,"type","WOFF2")}}const Fu={decode(e){let t=0,n=[0,1,2,3,4];for(let r=0;r!(63&~e.flags)),tag:e=>e.customTag||Lu[63&e.flags],length:Fu,transformVersion:e=>e.flags>>>6&3,transformed:e=>"glyf"===e.tag||"loca"===e.tag?0===e.transformVersion:0!==e.transformVersion,transformLength:new Optional(Fu,e=>e.transformed)}),Mu=new Struct({tag:new StringT(4),flavor:j,length:j,numTables:H,reserved:new Reserved(H),totalSfntSize:j,totalCompressedSize:j,majorVersion:H,minorVersion:H,metaOffset:j,metaLength:j,metaOrigLength:j,privOffset:j,privLength:j,tables:new ArrayT(Nu,"numTables")});Mu.process=function(){let e={};for(let t=0;t>7);if(c&=127,c<10)n=0,l=zu(c,((14&c)<<7)+t.readUInt8());else if(c<20)n=zu(c,((c-10&14)<<7)+t.readUInt8()),l=0;else if(c<84){n=zu(c,1+(48&(o=c-20))+((s=t.readUInt8())>>4)),l=zu(c>>1,1+((12&o)<<2)+(15&s))}else if(c<120){var o;n=zu(c,1+((o=c-84)/12<<8)+t.readUInt8()),l=zu(c>>1,1+(o%12>>2<<8)+t.readUInt8())}else if(c<124){var s=t.readUInt8();let e=t.readUInt8();n=zu(c,(s<<4)+(e>>4)),l=zu(c>>1,((15&e)<<8)+t.readUInt8())}else n=zu(c,t.readUInt16BE()),l=zu(c>>1,t.readUInt16BE());i+=n,r+=l,a.push(new du(u,!1,i,r))}return a}let Wu=new VersionedStruct(j,{65536:{numFonts:j,offsets:new ArrayT(j,"numFonts")},131072:{numFonts:j,offsets:new ArrayT(j,"numFonts"),dsigTag:j,dsigLength:j,dsigOffset:j}});let Yu=new StringT(G),Ju=(new Struct({len:j,buf:new BufferT("len")}),new Struct({id:H,nameOffset:q,attr:G,dataOffset:Y,handle:j})),ju=new Struct({name:new StringT(4),maxTypeIndex:H,refList:new Pointer(H,new ArrayT(Ju,e=>e.maxTypeIndex+1),{type:"parent"})}),Ku=new Struct({length:H,types:new ArrayT(ju,e=>e.length+1)}),Vu=new Struct({reserved:new Reserved(G,24),typeList:new Pointer(H,Ku),nameListOffset:new Pointer(H,"void")}),qu=new Struct({dataOffset:j,map:new Pointer(j,Vu),dataLength:j,mapLength:j});ut(xu),ut(class extends xu{static probe(e){return"wOFF"===Ls.decode(e.slice(0,4))}_decodeDirectory(){this.directory=Ru.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t){if(this.stream.pos=t.offset,t.compLength0){let t=[],i=0;for(let n=0;ne[n]===t))return r}return null}get fonts(){let e=[];for(let t of this.header.offsets){let n=new DecodeStream(this.stream.buffer);n.pos=t,e.push(new xu(n))}return e}constructor(e){if(re(this,"type","TTC"),this.stream=e,"ttcf"!==e.readString(4))throw new Error("Not a TrueType collection");this.header=Wu.decode(e)}}),ut(class{static probe(e){let t=new DecodeStream(e);try{var n=qu.decode(t)}catch(e){return!1}for(let e of n.map.typeList.types)if("sfnt"===e.name)return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let n=this.header.dataOffset+t.dataOffset+4,r=new DecodeStream(this.stream.buffer.slice(n)),i=new xu(r);if(i.postscriptName===e||i.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&i.postscriptName.every((t,n)=>e[n]===t))return i}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let n=this.header.dataOffset+t.dataOffset+4,r=new DecodeStream(this.stream.buffer.slice(n));e.push(new xu(r))}return e}constructor(e){re(this,"type","DFont"),this.stream=e,this.header=qu.decode(this.stream);for(let e of this.header.map.typeList.types){for(let t of e.refList)t.nameOffset>=0?(this.stream.pos=t.nameOffset+this.header.map.nameListOffset,t.name=Yu.decode(this.stream)):t.name=null;"sfnt"===e.name&&(this.sfnt=e)}}});var Xu=n(19222),Zu=n(11679),$u=n(85347),eA=n(78717),tA=n(62094);function nA(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function rA(e,...t){if(!nA(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function iA(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function aA(e,t){rA(e);const n=t.outputLen;if(e.length68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function uA(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!nA(e))throw new Error("Uint8Array expected, got "+typeof e);e=pA(e)}return e}function AA(e,t){return e.buffer===t.buffer&&e.byteOffset{function n(n,...r){if(rA(n),!cA)throw new Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=r[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?rA(t):rA(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==r[1]&&rA(r[1]);const a=t(n,...r),o=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");rA(t)}};let s=!1;const l={encrypt(e,t){if(s)throw new Error("cannot encrypt() twice with same key + nonce");return s=!0,rA(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(rA(e),i&&e.length({s3:n<<31|r>>>1,s2:t<<31|n>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&(1&r))}),CA=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class GHASH{constructor(e,t){this.blockLen=mA,this.outputLen=mA,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,rA(e=uA(e),16);const n=lA(e);let r=n.getUint32(0,!1),i=n.getUint32(4,!1),a=n.getUint32(8,!1),o=n.getUint32(12,!1);const s=[];for(let e=0;e<128;e++)s.push({s0:CA(r),s1:CA(i),s2:CA(a),s3:CA(o)}),({s0:r,s1:i,s2:a,s3:o}=bA(r,i,a,o));const l=(c=t||1024)>65536?8:c>1024?4:2;var c;if(![1,2,4,8].includes(l))throw new Error("ghash: invalid window size, expected 2, 4 or 8");this.W=l;const u=128/l,A=this.windowSize=2**l,f=[];for(let e=0;e>>l-o-1&1))continue;const{s0:c,s1:u,s2:A,s3:f}=s[l*e+o];n^=c,r^=u,i^=A,a^=f}f.push({s0:n,s1:r,s2:i,s3:a})}this.t=f}_updateBlock(e,t,n,r){e^=this.s0,t^=this.s1,n^=this.s2,r^=this.s3;const{W:i,t:a,windowSize:o}=this;let s=0,l=0,c=0,u=0;const A=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const n=t>>>i*e&A,{s0:r,s1:h,s2:d,s3:g}=a[f*o+n];s^=r,l^=h,c^=d,u^=g,f+=1}}this.s0=s,this.s1=l,this.s2=c,this.s3=u}update(e){iA(this),rA(e=uA(e));const t=oA(e),n=Math.floor(e.length/mA),r=e.length%mA;for(let e=0;e>>1|n,n=(1&r)<<7}return e[0]^=225&-t,e}(pA(e));super(n,t),sA(n)}update(e){e=uA(e),iA(this);const t=oA(e),n=e.length%mA,r=Math.floor(e.length/mA);for(let e=0;ee(n,t.length).update(uA(t)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(t,n)=>e(t,n),t}EA((e,t)=>new GHASH(e,t)),EA((e,t)=>new Polyval(e,t));const BA=16;function vA(e){return e<<1^283&-(e>>7)}function wA(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(1&t),e=vA(e);return n}const QA=(()=>{const e=new Uint8Array(256);for(let t=0,n=1;t<256;t++,n^=vA(n))e[t]=n;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let r=e[255-n];r|=r<<8,t[e[n]]=255&(r^r>>4^r>>5^r>>6^r>>7^99)}return sA(e),t})(),SA=QA.map((e,t)=>QA.indexOf(t)),kA=e=>e<<24|e>>>8,xA=e=>e<<8|e>>>24;function DA(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((n,r)=>t(e[r])),r=n.map(xA),i=r.map(xA),a=i.map(xA),o=new Uint32Array(65536),s=new Uint32Array(65536),l=new Uint16Array(65536);for(let t=0;t<256;t++)for(let c=0;c<256;c++){const u=256*t+c;o[u]=n[t]^r[c],s[u]=i[t]^a[c],l[u]=e[t]<<8|e[c]}return{sbox:e,sbox2:l,T0:n,T1:r,T2:i,T3:a,T01:o,T23:s}}const TA=DA(QA,e=>wA(e,3)<<24|e<<16|e<<8|wA(e,2)),RA=DA(SA,e=>wA(e,11)<<24|wA(e,13)<<16|wA(e,9)<<8|wA(e,14)),PA=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=vA(n))e[t]=n;return e})();function FA(e){rA(e);const t=e.length;if(![16,24,32].includes(t))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:n}=TA,r=[];gA(e)||r.push(e=pA(e));const i=oA(e),a=i.length,o=e=>MA(n,e,e,e,e),s=new Uint32Array(t+28);s.set(i);for(let e=a;e6&&e%a===4&&(t=o(t)),s[e]=s[e-a]^t}return sA(...r),s}function LA(e){const t=FA(e),n=t.slice(),r=t.length,{sbox2:i}=TA,{T0:a,T1:o,T2:s,T3:l}=RA;for(let e=0;e>>8&255]^s[r>>>16&255]^l[r>>>24]}return n}function NA(e,t,n,r,i,a){return e[n<<8&65280|r>>>8&255]^t[i>>>8&65280|a>>>24&255]}function MA(e,t,n,r,i){return e[255&t|65280&n]|e[r>>>16&255|i>>>16&65280]<<16}function UA(e,t,n,r,i){const{sbox2:a,T01:o,T23:s}=TA;let l=0;t^=e[l++],n^=e[l++],r^=e[l++],i^=e[l++];const c=e.length/4-2;for(let a=0;a16)throw new Error("aes/pcks5: wrong padding");const i=e.subarray(0,-r);for(let t=0;t"DAC",length:z,tables:new ArrayT($A,e=>e.length/2)},tf=(e,t)=>e[t],nf=(e,t)=>e[t]<<8|e[t+1],rf=(e,t)=>e[t]|e[t+1]<<8,af=(e,t)=>uf(e,t)>>>0,of=(e,t)=>Af(e,t)>>>0,sf=e=>Array.from(e,e=>e.toString(16).padStart(2,"0")).join(""),lf=new TextDecoder("utf-8"),cf=e=>{const t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t);let r=0;return e.forEach(e=>{n.set(e,r),r+=e.length}),n},uf=(e,t)=>e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],Af=(e,t)=>e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;const ff={name:()=>"DHT",length:z,tables:new class HuffmanTableElements{decode(e,t){const n={};let r=e.buffer.slice(e.pos,e.pos+t.length-2);for(;r.length>0;){let e=1;const t=[],i=tf(r,0),a=r.slice(e,e+16);e+=16;for(const n of a)t.push(r.slice(e,e+n)),e+=n;r=r.slice(e),n[i]=cf(t)}return e.pos+=t.length-2,n}}},hf=ff,df={name:()=>"DQT",length:z,tables:new ArrayT(new Struct({identifier:new BufferT(1),data:new BufferT(64)}),e=>(e.length-2)/65)},gf={name:()=>"DRI",length:z,restartInterval:z},pf={name:()=>"EOI",afterEOI:new Reserved(G,1/0)},mf={"010e":"imageDescription","010f":"make","011a":"xResolution","011b":"yResolution","011c":"planarConfiguration","012d":"transferFunction","013b":"artist","013e":"whitePoint","013f":"primaryChromaticities","0100":"imageWidth","0101":"imageHeight","0102":"bitsPerSample","0103":"compression","0106":"photometricInterpretation","0110":"model","0111":"stripOffsets","0112":"orientation","0115":"samplesPerPixel","0116":"rowsPerStrip","0117":"stripByteCounts","0128":"resolutionUnit","0131":"software","0132":"dateTime","0201":"jpegInterchangeFormat","0202":"jpegInterchangeFormatLength","0211":"ycbCrCoefficients","0212":"ycbCrSubSampling","0213":"ycbCrPositioning","0214":"referenceBlackWhite","829a":"exposureTime","829d":"fNumber","920a":"focalLength","927c":"makerNote",8298:"copyright",8769:"exifIFDPointer",8822:"exposureProgram",8824:"spectralSensitivity",8825:"gpsInfoIFDPointer",8827:"photographicSensitivity",8828:"oecf",8830:"sensitivityType",8831:"standardOutputSensitivity",8832:"recommendedExposureIndex",8833:"isoSpeed",8834:"isoSpeedLatitudeyyy",8835:"isoSpeedLatitudezzz",9e3:"exifVersion",9003:"dateTimeOriginal",9004:"dateTimeDigitized",9101:"componentsConfiguration",9102:"compressedBitsPerPixel",9201:"shutterSpeedValue",9202:"apertureValue",9203:"brightnessValue",9204:"exposureBiasValue",9205:"maxApertureValue",9206:"subjectDistance",9207:"meteringMode",9208:"lightSource",9209:"flash",9214:"subjectArea",9286:"userComment",9290:"subSecTime",9291:"subSecTimeOriginal",9292:"subSecTimeDigitized",a000:"flashpixVersion",a001:"colorSpace",a002:"pixelXDimension",a003:"pixelYDimension",a004:"relatedSoundFile",a005:"interoperabilityIFDPointer",a20b:"flashEnergy",a20c:"spatialFrequencyResponse",a20e:"focalPlaneXResolution",a20f:"focalPlaneYResolution",a40a:"sharpness",a40b:"deviceSettingDescription",a40c:"subjectDistanceRange",a210:"focalPlaneResolutionUnit",a214:"subjectLocation",a215:"exposureIndex",a217:"sensingMethod",a300:"fileSource",a301:"sceneType",a302:"cfaPattern",a401:"customRendered",a402:"exposureMode",a403:"whiteBalance",a404:"digitalZoomRatio",a405:"focalLengthIn35mmFilm",a406:"sceneCaptureType",a407:"gainControl",a408:"contrast",a409:"saturation",a420:"imageUniqueID",a430:"cameraOwnerName",a431:"bodySerialNumber",a432:"lensSpecification",a433:"lensMake",a434:"lensModel",a435:"lensSerialNumber",a500:"gamma"},yf={"0000":"gpsVersionID","0001":"gpsLatitudeRef","0002":"gpsLatitude","0003":"gpsLongitudeRef","0004":"gpsLongitude","0005":"gpsAltitudeRef","0006":"gpsAltitude","0007":"gpsTimeStamp","0008":"gpsSatellites","0009":"gpsStatus","000a":"gpsMeasureMode","000b":"gpsDOP","000c":"gpsSpeedRef","000d":"gpsSpeed","000e":"gpsTrackRef","000f":"gpsTrack","0010":"gpsImgDirectionRef","0011":"gpsImgDirection","0012":"gpsMapDatum","0013":"gpsDestLatitudeRef","0014":"gpsDestLatitude","0015":"gpsDestLongitudeRef","0016":"gpsDestLongitude","0017":"gpsDestBearingRef","0018":"gpsDestBearing","0019":"gpsDestDistanceRef","001a":"gpsDestDistance","001b":"gpsProcessingMethod","001c":"gpsAreaInformation","001d":"gpsDateStamp","001e":"gpsDifferential","001f":"gpsHPositioningError"};class IDFEntries{constructor(e){this.bigEndian=e,this.bytes=[0,1,1,2,4,8,1,1,2,4,8,4,8]}_getTagValue(e,t,n){switch(t){case 2:return e.toString("ascii").replace(/\0+$/,"");case 129:return e.toString("utf8").replace(/\0+$/,"");case 7:return"0x"+e.toString("hex");default:return this._getTagValueForNumericalData(e,t,n)}}_getTagValueForNumericalData(e,t,n){const r=[],i=this.bytes[t];for(let a=0;athis.bigEndian?nf(e,t):rf(e,t),i=t=>this.bigEndian?af(e,t):of(e,t),a=t=>this.bigEndian?uf(e,t):Af(e,t);switch(t){case 1:return tf(e,n);case 3:return r(n);case 4:return i(n);case 5:return i(n)/i(n+4);case 9:return a(n);case 10:return a(n)/a(n+4)}}_decodeIDFEntries(e,t,n,r=!1){let i=2+n;const a={},o=t=>this.bigEndian?nf(e,t):rf(e,t),s=t=>this.bigEndian?af(e,t):of(e,t),l=o(n);for(let n=0;n4){const t=this.bigEndian?af(u,0):of(u,0);u=e.slice(t,t+c)}const A=this._getTagValue(u,r,l);a[t[this.bigEndian?sf(n):sf(n.reverse())]]=A,i+=12}return a}decode(e,t){const n=e.buffer.slice(e.pos-8),r=t.offsetToFirstIFD;if(r>n.length)return e.pos+=t.parent.length-16,{};const i=this._decodeIDFEntries(n,mf,r),{exifIFDPointer:a,gpsInfoIFDPointer:o}=i;if(a&&(i.subExif=this._decodeIDFEntries(n,mf,a)),o){const e=o;i.gpsInfo=this._decodeIDFEntries(n,yf,e,!0)}return e.pos+=t.parent.length-16,i}}const If={name:()=>"EXIF",length:z,identifier:new StringT(6),entries:new class TIFFHeader{decode(e,t){var n;const r="MM"===(n=e.buffer.slice(e.pos,e.pos+2),lf.decode(n));e.pos+=2;const i=(e=>new Struct({fortyTwo:e?z:W,offsetToFirstIFD:e?J:K,entries:new IDFEntries(e)}))(r).decode(e,t);return i.entries}}},bf=If,Cf={name:()=>"JFIF",length:z,identifier:new StringT(5),version:z,units:G,xDensity:z,yDensity:z,thumbnailWidth:G,thumbnailHeight:G};const Ef=new Struct({scanComponentSelector:G,entropyCodingTable:new BufferT(1)}),Bf={name:()=>"SOS",length:z,numberOfImageComponents:G,componentSpecifications:new ArrayT(Ef,e=>e.numberOfImageComponents),startOfSpectral:G,endOfSpectral:G,successiveApproximationBit:new BufferT(1),data:new class ImageData{decode(e){const t=e.buffer.slice(e.pos);let n=0,r=t.indexOf(255);for(;-1!==r;){n=r;const e=t[n+1];if(0!==e&&!(e>=208&&e<=215))break;r=t.indexOf(255,r+1)}return e.pos+=n,t.slice(0,n)}}},vf=Bf,wf=new Struct({id:G,samplingFactors:G,quantizationTableId:G}),Qf={name:()=>"SOF",length:z,precision:G,height:z,width:z,numberOfComponents:G,components:new ArrayT(wf,e=>e.numberOfComponents)},Sf={name:()=>"SOI"},kf={length:z,buf:new BufferT(e=>e.length-2)},xf=Array(63).fill(0).reduce((e,t,n)=>({...e,[n+65472]:kf}),{}),Df=new VersionedStruct(z,{...xf,65472:Qf,65473:Qf,65474:Qf,65475:Qf,65476:hf,65477:Qf,65478:Qf,65479:Qf,65481:Qf,65482:Qf,65483:Qf,65484:ef,65485:Qf,65486:Qf,65487:Qf,65496:Sf,65497:pf,65498:vf,65499:df,65501:gf,65504:Cf,65505:bf}),Tf=new ArrayT(Df),Rf=e=>Tf.fromBuffer(e).map(({version:e,...t})=>({type:e,...t}));var Pf={},Ff=Uint8Array,Lf=Uint16Array,Nf=Int32Array,Mf=new Ff([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Uf=new Ff([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Of=new Ff([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_f=function(e,t){for(var n=new Lf(31),r=0;r<31;++r)n[r]=t+=1<>1|(21845&jf)<<1;Kf=(61680&(Kf=(52428&Kf)>>2|(13107&Kf)<<2))>>4|(3855&Kf)<<4,Jf[jf]=((65280&Kf)>>8|(255&Kf)<<8)>>1}var Vf=function(e,t,n){for(var r=e.length,i=0,a=new Lf(t);i>l]=c}else for(o=new Lf(r),i=0;i>15-e[i]);return o},qf=new Ff(288);for(jf=0;jf<144;++jf)qf[jf]=8;for(jf=144;jf<256;++jf)qf[jf]=9;for(jf=256;jf<280;++jf)qf[jf]=7;for(jf=280;jf<288;++jf)qf[jf]=8;var Xf=new Ff(32);for(jf=0;jf<32;++jf)Xf[jf]=5;var Zf=Vf(qf,9,1),$f=Vf(Xf,5,1),eh=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},th=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},nh=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},rh=function(e){return(e+7)/8|0},ih=function(e,t,n){return(null==t||t<0)&&(t=0),(null==n||n>e.length)&&(n=e.length),new Ff(e.subarray(t,n))},ah=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],oh=function(e,t,n){var r=new Error(t||ah[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,oh),!n)throw r;return r},sh=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new Ff(0);var o=!n,s=o||2!=t.i,l=t.i;o&&(n=new Ff(3*i));var c=function(e){var t=n.length;if(e>t){var r=new Ff(Math.max(2*t,e));r.set(n),n=r}},u=t.f||0,A=t.p||0,f=t.b||0,h=t.l,d=t.d,g=t.m,p=t.n,m=8*i;do{if(!h){u=th(e,A,1);var y=th(e,A+1,3);if(A+=3,!y){var I=e[(D=rh(A)+4)-4]|e[D-3]<<8,b=D+I;if(b>i){l&&oh(0);break}s&&c(f+I),n.set(e.subarray(D,b),f),t.b=f+=I,t.p=A=8*b,t.f=u;continue}if(1==y)h=Zf,d=$f,g=9,p=5;else if(2==y){var C=th(e,A,31)+257,E=th(e,A+10,15)+4,B=C+th(e,A+5,31)+1;A+=14;for(var v=new Ff(B),w=new Ff(19),Q=0;Q>4)<16)v[Q++]=D;else{var R=0,P=0;for(16==D?(P=3+th(e,A,3),A+=2,R=v[Q-1]):17==D?(P=3+th(e,A,7),A+=3):18==D&&(P=11+th(e,A,127),A+=7);P--;)v[Q++]=R}}var F=v.subarray(0,C),L=v.subarray(C);g=eh(F),p=eh(L),h=Vf(F,g,1),d=Vf(L,p,1)}else oh(1);if(A>m){l&&oh(0);break}}s&&c(f+131072);for(var N=(1<>4;if((A+=15&R)>m){l&&oh(0);break}if(R||oh(2),O<256)n[f++]=O;else{if(256==O){U=A,h=null;break}var _=O-254;if(O>264){var G=Mf[Q=O-257];_=th(e,A,(1<>4;z||oh(3),A+=15&z;L=Yf[H];if(H>3){G=Uf[H];L+=nh(e,A)&(1<m){l&&oh(0);break}s&&c(f+131072);var W=f+_;if(f>4>7||(e[0]<<8|e[1])%31)&&oh(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&oh(6,"invalid zlib data: "+(32&e[1]?"need":"unexpected")+" dictionary"),2+(e[1]>>3&4)};function Ih(e,t){return sh(e,{i:2},t&&t.out,t&&t.dictionary)}function bh(e,t,n){return n||(n=t,t={}),"function"!=typeof n&&oh(7),mh(e,t,[hh,dh,function(){return[Ch]}],function(e){return gh(Ch(e.data[0],ph(e.data[1])))},5,n)}function Ch(e,t){return sh(e.subarray(yh(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}var Eh="undefined"!=typeof TextDecoder&&new TextDecoder;try{Eh.decode(lh,{stream:!0})}catch(qT){}"function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout&&setTimeout;const Bh=bh;class vh{static decode(e,t){throw new Error("PNG.decode not available in browser build")}static load(e){throw new Error("PNG.load not available in browser build")}constructor(e){let t;for(this.data=e,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){const e=this.readUInt32();let s="";for(t=0;t<4;t++)s+=String.fromCharCode(this.data[this.pos++]);switch(s){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(e);break;case"IDAT":for(t=0;t0)for(t=0;tthis.data.length)throw new Error("Incomplete or corrupt PNG file")}}read(e){const t=new Array(e);for(let n=0;n{if(t)throw t;const{width:r,height:i}=this,a=this.pixelBitlength/8,o=new Uint8Array(r*i*a),{length:s}=n;let l=0;function c(e,t,c,u,A=!1){const f=Math.ceil((r-e)/c),h=Math.ceil((i-t)/u),d=a*f,g=A?o:new Uint8Array(d*h);let p=0,m=0;for(;p(this.copyToImageData(t,n),e(t)))}}var wh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Qh=[],Sh=[],kh="undefined"!=typeof Uint8Array?Uint8Array:Array,xh=!1;function Dh(){xh=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Qh[t]=e[t],Sh[e.charCodeAt(t)]=t;Sh["-".charCodeAt(0)]=62,Sh["_".charCodeAt(0)]=63}function Th(e){return Qh[e>>18&63]+Qh[e>>12&63]+Qh[e>>6&63]+Qh[63&e]}function Rh(e,t,n){for(var r,i=[],a=t;al?l:s+o));return 1===r?(t=e[n-1],i+=Qh[t>>2],i+=Qh[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=Qh[t>>10],i+=Qh[t>>4&63],i+=Qh[t<<2&63],i+="="),a.push(i),a.join("")}function Fh(e,t,n,r,i){var a,o,s=8*i-r-1,l=(1<>1,u=-7,A=n?i-1:0,f=n?-1:1,h=e[t+A];for(A+=f,a=h&(1<<-u)-1,h>>=-u,u+=s;u>0;a=256*a+e[t+A],A+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=256*o+e[t+A],A+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,r),a-=c}return(h?-1:1)*o*Math.pow(2,a-r)}function Lh(e,t,n,r,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:a-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+A>=1?f/l:f*Math.pow(2,1-A))*l>=2&&(o++,l/=2),o+A>=u?(s=0,o=u):o+A>=1?(s=(t*l-1)*Math.pow(2,i),o+=A):(s=t*Math.pow(2,A-1)*Math.pow(2,i),o=0));i>=8;e[n+h]=255&s,h+=d,s/=256,i-=8);for(o=o<