x_ite 10.5.5 → 10.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +4 -4
  2. package/dist/assets/components/AnnotationComponent.js +2 -2
  3. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  4. package/dist/assets/components/CADGeometryComponent.js +2 -2
  5. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  6. package/dist/assets/components/CubeMapTexturingComponent.js +2 -2
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  8. package/dist/assets/components/DISComponent.js +2 -2
  9. package/dist/assets/components/DISComponent.min.js +2 -2
  10. package/dist/assets/components/EventUtilitiesComponent.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  12. package/dist/assets/components/Geometry2DComponent.js +2 -2
  13. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  14. package/dist/assets/components/GeospatialComponent.js +2 -2
  15. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  16. package/dist/assets/components/HAnimComponent.js +2 -2
  17. package/dist/assets/components/HAnimComponent.min.js +2 -2
  18. package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
  19. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  20. package/dist/assets/components/LayoutComponent.js +2 -2
  21. package/dist/assets/components/LayoutComponent.min.js +2 -2
  22. package/dist/assets/components/NURBSComponent.js +2 -2
  23. package/dist/assets/components/NURBSComponent.min.js +2 -2
  24. package/dist/assets/components/ParticleSystemsComponent.js +2 -2
  25. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  26. package/dist/assets/components/PickingComponent.js +2 -2
  27. package/dist/assets/components/PickingComponent.min.js +2 -2
  28. package/dist/assets/components/RigidBodyPhysicsComponent.js +2 -2
  29. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  30. package/dist/assets/components/ScriptingComponent.js +2 -2
  31. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  32. package/dist/assets/components/TextComponent.js +4 -4
  33. package/dist/assets/components/TextComponent.min.js +2 -2
  34. package/dist/assets/components/TextureProjectionComponent.js +2 -2
  35. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  36. package/dist/assets/components/Texturing3DComponent.js +10 -10
  37. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  38. package/dist/assets/components/VolumeRenderingComponent.js +2 -2
  39. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  40. package/dist/assets/components/X_ITEComponent.js +2 -2
  41. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  42. package/dist/example.html +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +57 -57
  45. package/dist/x_ite.min.js +2 -2
  46. package/dist/x_ite.min.mjs +2 -2
  47. package/dist/x_ite.mjs +57 -57
  48. package/dist/x_ite.zip +0 -0
  49. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- /* X_ITE v10.5.5 */
2
- const e=window[Symbol.for("X_ITE.X3D-10.5.5")];(()=>{var t={187:function(e,t,r){!function(e){var t,n;String.prototype.codePointAt||(t=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),n=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,s=t.charCodeAt(n);return s>=55296&&s<=56319&&r>n+1&&(a=t.charCodeAt(n+1))>=56320&&a<=57343?1024*(s-55296)+a-56320+65536:s}},t?t(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);var a=0,s=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var u=new o,l=new o,p=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array(30),f=new Uint16Array(30),d=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new o,v=new Uint8Array(320);function m(e,t,r,n){var a,s;for(a=0;a<r;++a)e[a]=0;for(a=0;a<30-r;++a)e[a+r]=a/r|0;for(s=n,a=0;a<30;++a)t[a]=s,s+=1<<e[a]}function y(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,r=0;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(t.table[5]=32,r=0;r<32;++r)t.trans[r]=r}var b=new Uint16Array(16);function S(e,t,r,n){var a,s;for(a=0;a<16;++a)e.table[a]=0;for(a=0;a<n;++a)e.table[t[r+a]]++;for(e.table[0]=0,s=0,a=0;a<16;++a)b[a]=s,s+=e.table[a];for(a=0;a<n;++a)t[r+a]&&(e.trans[b[t[r+a]]++]=a)}function x(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function T(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function U(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=0,n=0,a=0,s=e.tag;do{n=2*n+(1&s),s>>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=s,e.bitcount-=a,t.trans[r+n]}function k(e,t,r){var n,a,s,o,i,u;for(n=T(e,5,257),a=T(e,5,1),s=T(e,4,4),o=0;o<19;++o)v[o]=0;for(o=0;o<s;++o){var l=T(e,3,0);v[d[o]]=l}for(S(g,v,0,19),i=0;i<n+a;){var p=U(e,g);switch(p){case 16:var c=v[i-1];for(u=T(e,2,3);u;--u)v[i++]=c;break;case 17:for(u=T(e,3,3);u;--u)v[i++]=0;break;case 18:for(u=T(e,7,11);u;--u)v[i++]=0;break;default:v[i++]=p}}S(t,v,0,n),S(r,v,n,a)}function E(e,t,r){for(;;){var n,s,o,i,u=U(e,t);if(256===u)return a;if(u<256)e.dest[e.destLen++]=u;else for(n=T(e,p[u-=257],c[u]),s=U(e,r),i=o=e.destLen-T(e,h[s],f[s]);i<o+n;++i)e.dest[e.destLen++]=e.dest[i]}}function O(e){for(var t,r;e.bitcount>8;)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 s;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,a}function w(e,t){var r,n,o=new i(e,t);do{switch(r=x(o),T(o,2,0)){case 0:n=O(o);break;case 1:n=E(o,u,l);break;case 2:k(o,o.ltree,o.dtree),n=E(o,o.ltree,o.dtree);break;default:n=s}if(n!==a)throw new Error("Data error")}while(!r);return o.destLen<o.dest.length?"function"==typeof o.dest.slice?o.dest.slice(0,o.destLen):o.dest.subarray(0,o.destLen):o.dest}y(u,l),m(p,c,4,3),m(h,f,2,1),p[28]=0,c[28]=258;var R=w;function L(e,t,r,n,a){return Math.pow(1-a,3)*e+3*Math.pow(1-a,2)*a*t+3*(1-a)*Math.pow(a,2)*r+Math.pow(a,3)*n}function C(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function D(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function I(e){throw new Error(e)}function B(e,t){e||I(t)}C.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},C.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},C.prototype.addX=function(e){this.addPoint(e,null)},C.prototype.addY=function(e){this.addPoint(null,e)},C.prototype.addBezier=function(e,t,r,n,a,s,o,i){var u=[e,t],l=[r,n],p=[a,s],c=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var h=0;h<=1;h++){var f=6*u[h]-12*l[h]+6*p[h],d=-3*u[h]+9*l[h]-9*p[h]+3*c[h],g=3*l[h]-3*u[h];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var m=(-f+Math.sqrt(v))/(2*d);0<m&&m<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],m)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],m)));var y=(-f-Math.sqrt(v))/(2*d);0<y&&y<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],y)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],y)))}}else{if(0===f)continue;var b=-g/f;0<b&&b<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],b)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],b)))}}},C.prototype.addQuad=function(e,t,r,n,a,s){var o=e+2/3*(r-e),i=t+2/3*(n-t),u=o+1/3*(a-e),l=i+1/3*(s-t);this.addBezier(e,t,o,i,u,l,a,s)},D.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},D.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},D.prototype.curveTo=D.prototype.bezierCurveTo=function(e,t,r,n,a,s){this.commands.push({type:"C",x1:e,y1:t,x2:r,y2:n,x:a,y:s})},D.prototype.quadTo=D.prototype.quadraticCurveTo=function(e,t,r,n){this.commands.push({type:"Q",x1:e,y1:t,x:r,y:n})},D.prototype.close=D.prototype.closePath=function(){this.commands.push({type:"Z"})},D.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof C){var t=e;return this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close()}Array.prototype.push.apply(this.commands,e)},D.prototype.getBoundingBox=function(){for(var e=new C,t=0,r=0,n=0,a=0,s=0;s<this.commands.length;s++){var o=this.commands[s];switch(o.type){case"M":e.addPoint(o.x,o.y),t=n=o.x,r=a=o.y;break;case"L":e.addPoint(o.x,o.y),n=o.x,a=o.y;break;case"Q":e.addQuad(n,a,o.x1,o.y1,o.x,o.y),n=o.x,a=o.y;break;case"C":e.addBezier(n,a,o.x1,o.y1,o.x2,o.y2,o.x,o.y),n=o.x,a=o.y;break;case"Z":n=t,a=r;break;default:throw new Error("Unexpected path command "+o.type)}}return e.isEmpty()&&e.addPoint(0,0),e},D.prototype.draw=function(e){e.beginPath();for(var t=0;t<this.commands.length;t+=1){var r=this.commands[t];"M"===r.type?e.moveTo(r.x,r.y):"L"===r.type?e.lineTo(r.x,r.y):"C"===r.type?e.bezierCurveTo(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?e.quadraticCurveTo(r.x1,r.y1,r.x,r.y):"Z"===r.type&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},D.prototype.toPathData=function(e){function t(t){return Math.round(t)===t?""+Math.round(t):t.toFixed(e)}function r(){for(var e=arguments,r="",n=0;n<arguments.length;n+=1){var a=e[n];a>=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a<this.commands.length;a+=1){var s=this.commands[a];"M"===s.type?n+="M"+r(s.x,s.y):"L"===s.type?n+="L"+r(s.x,s.y):"C"===s.type?n+="C"+r(s.x1,s.y1,s.x2,s.y2,s.x,s.y):"Q"===s.type?n+="Q"+r(s.x1,s.y1,s.x,s.y):"Z"===s.type&&(n+="Z")}return n},D.prototype.toSVG=function(e){var t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&"black"!==this.fill&&(null===this.fill?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>"},D.prototype.toDOMElement=function(e){var t=this.toPathData(e),r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",t),r};var F={fail:I,argument:B,assert:B},G=32768,M=2147483648,N={},A={},P={};function _(e){return function(){return e}}A.BYTE=function(e){return F.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},P.BYTE=_(1),A.CHAR=function(e){return[e.charCodeAt(0)]},P.CHAR=_(1),A.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},P.CHARARRAY=function(e){return void 0===e?0:e.length},A.USHORT=function(e){return[e>>8&255,255&e]},P.USHORT=_(2),A.SHORT=function(e){return e>=G&&(e=-(2*G-e)),[e>>8&255,255&e]},P.SHORT=_(2),A.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},P.UINT24=_(3),A.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},P.ULONG=_(4),A.LONG=function(e){return e>=M&&(e=-(2*M-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONG=_(4),A.FIXED=A.ULONG,P.FIXED=P.ULONG,A.FWORD=A.SHORT,P.FWORD=P.SHORT,A.UFWORD=A.USHORT,P.UFWORD=P.USHORT,A.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONGDATETIME=_(8),A.TAG=function(e){return F.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},P.TAG=_(4),A.Card8=A.BYTE,P.Card8=P.BYTE,A.Card16=A.USHORT,P.Card16=P.USHORT,A.OffSize=A.BYTE,P.OffSize=P.BYTE,A.SID=A.USHORT,P.SID=P.USHORT,A.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?A.NUMBER16(e):A.NUMBER32(e)},P.NUMBER=function(e){return A.NUMBER(e).length},A.NUMBER16=function(e){return[28,e>>8&255,255&e]},P.NUMBER16=_(3),A.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},P.NUMBER32=_(5),A.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",s=0,o=t.length;s<o;s+=1){var i=t[s];a+="e"===i?"-"===t[++s]?"c":"b":"."===i?"a":"-"===i?"e":i}for(var u=[30],l=0,p=(a+=1&a.length?"f":"ff").length;l<p;l+=2)u.push(parseInt(a.substr(l,2),16));return u},P.REAL=function(e){return A.REAL(e).length},A.NAME=A.CHARARRAY,P.NAME=P.CHARARRAY,A.STRING=A.CHARARRAY,P.STRING=P.CHARARRAY,N.UTF8=function(e,t,r){for(var n=[],a=r,s=0;s<a;s++,t+=1)n[s]=e.getUint8(t);return String.fromCharCode.apply(null,n)},N.UTF16=function(e,t,r){for(var n=[],a=r/2,s=0;s<a;s++,t+=2)n[s]=e.getUint16(t);return String.fromCharCode.apply(null,n)},A.UTF16=function(e){for(var t=[],r=0;r<e.length;r+=1){var n=e.charCodeAt(r);t[t.length]=n>>8&255,t[t.length]=255&n}return t},P.UTF16=function(e){return 2*e.length};var H={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};N.MACSTRING=function(e,t,r,n){var a=H[n];if(void 0!==a){for(var s="",o=0;o<r;o++){var i=e.getUint8(t+o);s+=i<=127?String.fromCharCode(i):a[127&i]}return s}};var z,W="function"==typeof WeakMap&&new WeakMap,V=function(e){if(!z)for(var t in z={},H)z[t]=new String(t);var r=z[e];if(void 0!==r){if(W){var n=W.get(r);if(void 0!==n)return n}var a=H[e];if(void 0!==a){for(var s={},o=0;o<a.length;o++)s[a.charCodeAt(o)]=o+128;return W&&W.set(r,s),s}}};function q(e){return e>=-128&&e<=127}function X(e,t,r){for(var n=0,a=e.length;t<a&&n<64&&0===e[t];)++t,++n;return r.push(128|n-1),t}function j(e,t,r){for(var n=0,a=e.length,s=t;s<a&&n<64;){var o=e[s];if(!q(o))break;if(0===o&&s+1<a&&0===e[s+1])break;++s,++n}r.push(n-1);for(var i=t;i<s;++i)r.push(e[i]+256&255);return s}function Y(e,t,r){for(var n=0,a=e.length,s=t;s<a&&n<64;){var o=e[s];if(0===o)break;if(q(o)&&s+1<a&&q(e[s+1]))break;++s,++n}r.push(64|n-1);for(var i=t;i<s;++i){var u=e[i];r.push(u+65536>>8&255,u+256&255)}return s}A.MACSTRING=function(e,t){var r=V(t);if(void 0!==r){for(var n=[],a=0;a<e.length;a++){var s=e.charCodeAt(a);if(s>=128&&void 0===(s=r[s]))return;n[a]=s}return n}},P.MACSTRING=function(e,t){var r=A.MACSTRING(e,t);return void 0!==r?r.length:0},A.VARDELTAS=function(e){for(var t=0,r=[];t<e.length;){var n=e[t];t=0===n?X(e,t,r):n>=-128&&n<=127?j(e,t,r):Y(e,t,r)}return r},A.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a<e.length;a+=1){var s=A.OBJECT(e[a]);Array.prototype.push.apply(n,s),t+=s.length,r.push(t)}if(0===n.length)return[0,0];for(var o=[],i=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,A.BYTE,A.USHORT,A.UINT24,A.ULONG][i],l=0;l<r.length;l+=1){var p=u(r[l]);Array.prototype.push.apply(o,p)}return Array.prototype.concat(A.Card16(e.length),A.OffSize(i),o,n)},P.INDEX=function(e){return A.INDEX(e).length},A.DICT=function(e){for(var t=[],r=Object.keys(e),n=r.length,a=0;a<n;a+=1){var s=parseInt(r[a],0),o=e[s];t=(t=t.concat(A.OPERAND(o.value,o.type))).concat(A.OPERATOR(s))}return t},P.DICT=function(e){return A.DICT(e).length},A.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},A.OPERAND=function(e,t){var r=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)F.argument(e.length===t.length,"Not enough arguments given for type"+t),r=r.concat(A.OPERAND(e[n],t[n]));else if("SID"===t)r=r.concat(A.NUMBER(e));else if("offset"===t)r=r.concat(A.NUMBER32(e));else if("number"===t)r=r.concat(A.NUMBER(e));else{if("real"!==t)throw new Error("Unknown operand type "+t);r=r.concat(A.REAL(e))}return r},A.OP=A.BYTE,P.OP=P.BYTE;var Z="function"==typeof WeakMap&&new WeakMap;function Q(e,t,r){if(t.length&&("coverageFormat"!==t[0].name||1===t[0].value))for(var n=0;n<t.length;n+=1){var a=t[n];this[a.name]=a.value}if(this.tableName=e,this.fields=t,r)for(var s=Object.keys(r),o=0;o<s.length;o+=1){var i=s[o],u=r[i];void 0!==this[i]&&(this[i]=u)}}function K(e,t,r){void 0===r&&(r=t.length);var n=new Array(t.length+1);n[0]={name:e+"Count",type:"USHORT",value:r};for(var a=0;a<t.length;a++)n[a+1]={name:e+a,type:"USHORT",value:t[a]};return n}function J(e,t,r){var n=t.length,a=new Array(n+1);a[0]={name:e+"Count",type:"USHORT",value:n};for(var s=0;s<n;s++)a[s+1]={name:e+s,type:"TABLE",value:r(t[s],s)};return a}function $(e,t,r){var n=t.length,a=[];a[0]={name:e+"Count",type:"USHORT",value:n};for(var s=0;s<n;s++)a=a.concat(r(t[s],s));return a}function ee(e){1===e.format?Q.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(K("glyph",e.glyphs))):2===e.format?Q.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat($("rangeRecord",e.ranges,(function(e){return[{name:"startGlyphID",type:"USHORT",value:e.start},{name:"endGlyphID",type:"USHORT",value:e.end},{name:"startCoverageIndex",type:"USHORT",value:e.index}]})))):F.assert(!1,"Coverage format must be 1 or 2.")}function te(e){Q.call(this,"scriptListTable",$("scriptRecord",e,(function(e,t){var r=e.script,n=r.defaultLangSys;return F.assert(!!n,"Unable to write GSUB: script "+e.tag+" has no default language system."),[{name:"scriptTag"+t,type:"TAG",value:e.tag},{name:"script"+t,type:"TABLE",value:new Q("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Q("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:n.reqFeatureIndex}].concat(K("featureIndex",n.featureIndexes)))}].concat($("langSys",r.langSysRecords,(function(e,t){var r=e.langSys;return[{name:"langSysTag"+t,type:"TAG",value:e.tag},{name:"langSys"+t,type:"TABLE",value:new Q("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:r.reqFeatureIndex}].concat(K("featureIndex",r.featureIndexes)))}]}))))}]})))}function re(e){Q.call(this,"featureListTable",$("featureRecord",e,(function(e,t){var r=e.feature;return[{name:"featureTag"+t,type:"TAG",value:e.tag},{name:"feature"+t,type:"TABLE",value:new Q("featureTable",[{name:"featureParams",type:"USHORT",value:r.featureParams}].concat(K("lookupListIndex",r.lookupListIndexes)))}]})))}function ne(e,t){Q.call(this,"lookupListTable",J("lookup",e,(function(e){var r=t[e.lookupType];return F.assert(!!r,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new Q("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(J("subtable",e.subtables,r)))})))}A.CHARSTRING=function(e){if(Z){var t=Z.get(e);if(void 0!==t)return t}for(var r=[],n=e.length,a=0;a<n;a+=1){var s=e[a];r=r.concat(A[s.type](s.value))}return Z&&Z.set(e,r),r},P.CHARSTRING=function(e){return A.CHARSTRING(e).length},A.OBJECT=function(e){var t=A[e.type];return F.argument(void 0!==t,"No encoding function for type "+e.type),t(e.value)},P.OBJECT=function(e){var t=P[e.type];return F.argument(void 0!==t,"No sizeOf function for type "+e.type),t(e.value)},A.TABLE=function(e){for(var t=[],r=e.fields.length,n=[],a=[],s=0;s<r;s+=1){var o=e.fields[s],i=A[o.type];F.argument(void 0!==i,"No encoding function for field type "+o.type+" ("+o.name+")");var u=e[o.name];void 0===u&&(u=o.value);var l=i(u);"TABLE"===o.type?(a.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var p=0;p<n.length;p+=1){var c=a[p],h=t.length;F.argument(h<65536,"Table "+e.tableName+" too big."),t[c]=h>>8,t[c+1]=255&h,t=t.concat(n[p])}return t},P.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n<r;n+=1){var a=e.fields[n],s=P[a.type];F.argument(void 0!==s,"No sizeOf function for field type "+a.type+" ("+a.name+")");var o=e[a.name];void 0===o&&(o=a.value),t+=s(o),"TABLE"===a.type&&(t+=2)}return t},A.RECORD=A.TABLE,P.RECORD=P.TABLE,A.LITERAL=function(e){return e},P.LITERAL=function(e){return e.length},Q.prototype.encode=function(){return A.TABLE(this)},Q.prototype.sizeOf=function(){return P.TABLE(this)},ee.prototype=Object.create(Q.prototype),ee.prototype.constructor=ee,te.prototype=Object.create(Q.prototype),te.prototype.constructor=te,re.prototype=Object.create(Q.prototype),re.prototype.constructor=re,ne.prototype=Object.create(Q.prototype),ne.prototype.constructor=ne;var ae={Table:Q,Record:Q,Coverage:ee,ScriptList:te,FeatureList:re,LookupList:ne,ushortList:K,tableList:J,recordList:$};function se(e,t){return e.getUint8(t)}function oe(e,t){return e.getUint16(t,!1)}function ie(e,t){return e.getInt16(t,!1)}function ue(e,t){return e.getUint32(t,!1)}function le(e,t){return e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535}function pe(e,t){for(var r="",n=t;n<t+4;n+=1)r+=String.fromCharCode(e.getInt8(n));return r}function ce(e,t,r){for(var n=0,a=0;a<r;a+=1)n<<=8,n+=e.getUint8(t+a);return n}function he(e,t,r){for(var n=[],a=t;a<r;a+=1)n.push(e.getUint8(a));return n}function fe(e){for(var t="",r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return t}var de={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function ge(e,t){this.data=e,this.offset=t,this.relativeOffset=0}ge.prototype.parseByte=function(){var e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ge.prototype.parseChar=function(){var e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ge.prototype.parseCard8=ge.prototype.parseByte,ge.prototype.parseUShort=function(){var e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ge.prototype.parseCard16=ge.prototype.parseUShort,ge.prototype.parseSID=ge.prototype.parseUShort,ge.prototype.parseOffset16=ge.prototype.parseUShort,ge.prototype.parseShort=function(){var e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ge.prototype.parseF2Dot14=function(){var e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},ge.prototype.parseULong=function(){var e=ue(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ge.prototype.parseOffset32=ge.prototype.parseULong,ge.prototype.parseFixed=function(){var e=le(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ge.prototype.parseString=function(e){var t=this.data,r=this.offset+this.relativeOffset,n="";this.relativeOffset+=e;for(var a=0;a<e;a++)n+=String.fromCharCode(t.getUint8(r+a));return n},ge.prototype.parseTag=function(){return this.parseString(4)},ge.prototype.parseLongDateTime=function(){var e=ue(this.data,this.offset+this.relativeOffset+4);return e-=2082844800,this.relativeOffset+=8,e},ge.prototype.parseVersion=function(e){var t=oe(this.data,this.offset+this.relativeOffset),r=oe(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===e&&(e=4096),t+r/e/10},ge.prototype.skip=function(e,t){void 0===t&&(t=1),this.relativeOffset+=de[e]*t},ge.prototype.parseULongList=function(e){void 0===e&&(e=this.parseULong());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint32(n),n+=4;return this.relativeOffset+=4*e,t},ge.prototype.parseOffset16List=ge.prototype.parseUShortList=function(e){void 0===e&&(e=this.parseUShort());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint16(n),n+=2;return this.relativeOffset+=2*e,t},ge.prototype.parseShortList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getInt16(n),n+=2;return this.relativeOffset+=2*e,t},ge.prototype.parseByteList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint8(n++);return this.relativeOffset+=e,t},ge.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ge.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ge.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=Object.keys(t),a=0;a<e;a++){for(var s={},o=0;o<n.length;o++){var i=n[o],u=t[i];s[i]=u.call(this)}r[a]=s}return r},ge.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=Object.keys(t),a=0;a<e;a++){for(var s={},o=0;o<n.length;o++){var i=n[o],u=t[i];s[i]=u.call(this)}r[a]=s}return r},ge.prototype.parseStruct=function(e){if("function"==typeof e)return e.call(this);for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var a=t[n],s=e[a];r[a]=s.call(this)}return r},ge.prototype.parseValueRecord=function(e){if(void 0===e&&(e=this.parseUShort()),0!==e){var t={};return 1&e&&(t.xPlacement=this.parseShort()),2&e&&(t.yPlacement=this.parseShort()),4&e&&(t.xAdvance=this.parseShort()),8&e&&(t.yAdvance=this.parseShort()),16&e&&(t.xPlaDevice=void 0,this.parseShort()),32&e&&(t.yPlaDevice=void 0,this.parseShort()),64&e&&(t.xAdvDevice=void 0,this.parseShort()),128&e&&(t.yAdvDevice=void 0,this.parseShort()),t}},ge.prototype.parseValueRecordList=function(){for(var e=this.parseUShort(),t=this.parseUShort(),r=new Array(t),n=0;n<t;n++)r[n]=this.parseValueRecord(e);return r},ge.prototype.parsePointer=function(e){var t=this.parseOffset16();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),s=0;s<r;s++){var o=t[s];if(0!==o)if(this.relativeOffset=o,e){for(var i=this.parseOffset16List(),u=new Array(i.length),l=0;l<i.length;l++)this.relativeOffset=o+i[l],u[l]=e.call(this);a[s]=u}else a[s]=this.parseUShortList();else a[s]=void 0}return this.relativeOffset=n,a},ge.prototype.parseCoverage=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort(),r=this.parseUShort();if(1===t)return{format:1,glyphs:this.parseUShortList(r)};if(2===t){for(var n=new Array(r),a=0;a<r;a++)n[a]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},ge.prototype.parseClassDef=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===t)return{format:2,ranges:this.parseRecordList({start:ge.uShort,end:ge.uShort,classId:ge.uShort})};throw new Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},ge.list=function(e,t){return function(){return this.parseList(e,t)}},ge.list32=function(e,t){return function(){return this.parseList32(e,t)}},ge.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},ge.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},ge.pointer=function(e){return function(){return this.parsePointer(e)}},ge.pointer32=function(e){return function(){return this.parsePointer32(e)}},ge.tag=ge.prototype.parseTag,ge.byte=ge.prototype.parseByte,ge.uShort=ge.offset16=ge.prototype.parseUShort,ge.uShortList=ge.prototype.parseUShortList,ge.uLong=ge.offset32=ge.prototype.parseULong,ge.uLongList=ge.prototype.parseULongList,ge.struct=ge.prototype.parseStruct,ge.coverage=ge.prototype.parseCoverage,ge.classDef=ge.prototype.parseClassDef;var ve={reserved:ge.uShort,reqFeatureIndex:ge.uShort,featureIndexes:ge.uShortList};ge.prototype.parseScriptList=function(){return this.parsePointer(ge.recordList({tag:ge.tag,script:ge.pointer({defaultLangSys:ge.pointer(ve),langSysRecords:ge.recordList({tag:ge.tag,langSys:ge.pointer(ve)})})}))||[]},ge.prototype.parseFeatureList=function(){return this.parsePointer(ge.recordList({tag:ge.tag,feature:ge.pointer({featureParams:ge.offset16,lookupListIndexes:ge.uShortList})}))||[]},ge.prototype.parseLookupList=function(e){return this.parsePointer(ge.list(ge.pointer((function(){var t=this.parseUShort();F.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var r=this.parseUShort(),n=16&r;return{lookupType:t,lookupFlag:r,subtables:this.parseList(ge.pointer(e[t])),markFilteringSet:n?this.parseUShort():void 0}}))))||[]},ge.prototype.parseFeatureVariationsList=function(){return this.parsePointer32((function(){var e=this.parseUShort(),t=this.parseUShort();return F.argument(1===e&&t<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:ge.offset32,featureTableSubstitutionOffset:ge.offset32})}))||[]};var me={getByte:se,getCard8:se,getUShort:oe,getCard16:oe,getShort:ie,getULong:ue,getFixed:le,getTag:pe,getOffset:ce,getBytes:he,bytesToString:fe,Parser:ge};function ye(e,t){var r;t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=r=t.parseULong(),e.glyphIndexMap={};for(var n=0;n<r;n+=1)for(var a=t.parseULong(),s=t.parseULong(),o=t.parseULong(),i=a;i<=s;i+=1)e.glyphIndexMap[i]=o,o++}function be(e,t,r,n,a){var s;e.length=t.parseUShort(),e.language=t.parseUShort(),e.segCount=s=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new me.Parser(r,n+a+14),i=new me.Parser(r,n+a+16+2*s),u=new me.Parser(r,n+a+16+4*s),l=new me.Parser(r,n+a+16+6*s),p=n+a+16+8*s,c=0;c<s-1;c+=1)for(var h=void 0,f=o.parseUShort(),d=i.parseUShort(),g=u.parseShort(),v=l.parseUShort(),m=d;m<=f;m+=1)0!==v?(p=l.offset+l.relativeOffset-2,p+=v,p+=2*(m-d),0!==(h=me.getUShort(r,p))&&(h=h+g&65535)):h=m+g&65535,e.glyphIndexMap[m]=h}function Se(e,t){var r={};r.version=me.getUShort(e,t),F.argument(0===r.version,"cmap table version should be 0."),r.numTables=me.getUShort(e,t+2);for(var n=-1,a=r.numTables-1;a>=0;a-=1){var s=me.getUShort(e,t+4+8*a),o=me.getUShort(e,t+4+8*a+2);if(3===s&&(0===o||1===o||10===o)||0===s&&(0===o||1===o||2===o||3===o||4===o)){n=me.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var i=new me.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)ye(r,i);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,i,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ue(e){var t,r=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new ae.Table("cmap",n);for(a.segments=[],t=0;t<e.length;t+=1){for(var s=e.get(t),o=0;o<s.unicodes.length;o+=1)xe(a,s.unicodes[o],t);a.segments=a.segments.sort((function(e,t){return e.start-t.start}))}Te(a);var i=a.segments.length,u=0,l=[],p=[],c=[],h=[],f=[],d=[];for(t=0;t<i;t+=1){var g=a.segments[t];g.end<=65535&&g.start<=65535?(l=l.concat({name:"end_"+t,type:"USHORT",value:g.end}),p=p.concat({name:"start_"+t,type:"USHORT",value:g.start}),c=c.concat({name:"idDelta_"+t,type:"SHORT",value:g.delta}),h=h.concat({name:"idRangeOffset_"+t,type:"USHORT",value:g.offset}),void 0!==g.glyphId&&(f=f.concat({name:"glyph_"+t,type:"USHORT",value:g.glyphId}))):u+=1,r||void 0===g.glyphIndex||(d=(d=(d=d.concat({name:"cmap12Start_"+t,type:"ULONG",value:g.start})).concat({name:"cmap12End_"+t,type:"ULONG",value:g.end})).concat({name:"cmap12Glyph_"+t,type:"ULONG",value:g.glyphIndex}))}if(a.segCountX2=2*(i-u),a.searchRange=2*Math.pow(2,Math.floor(Math.log(i-u)/Math.log(2))),a.entrySelector=Math.log(a.searchRange/2)/Math.log(2),a.rangeShift=a.segCountX2-a.searchRange,a.fields=a.fields.concat(l),a.fields.push({name:"reservedPad",type:"USHORT",value:0}),a.fields=a.fields.concat(p),a.fields=a.fields.concat(c),a.fields=a.fields.concat(h),a.fields=a.fields.concat(f),a.cmap4Length=14+2*l.length+2+2*p.length+2*c.length+2*h.length+2*f.length,!r){var v=16+4*d.length;a.cmap12Offset=20+a.cmap4Length,a.fields=a.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:v},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:d.length/3}]),a.fields=a.fields.concat(d)}return a}var ke={parse:Se,make:Ue},Ee=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Oe=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],we=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Re=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function Le(e){this.font=e}function Ce(e){this.cmap=e}function De(e,t){this.encoding=e,this.charset=t}function Ie(e){switch(e.version){case 1:this.names=Re.slice();break;case 2:this.names=new Array(e.numberOfGlyphs);for(var t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<Re.length?this.names[t]=Re[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-Re.length];break;case 2.5:this.names=new Array(e.numberOfGlyphs);for(var r=0;r<e.numberOfGlyphs;r++)this.names[r]=Re[r+e.glyphNameIndex[r]];break;default:this.names=[]}}function Be(e){for(var t,r=e.tables.cmap.glyphIndexMap,n=Object.keys(r),a=0;a<n.length;a+=1){var s=n[a],o=r[s];(t=e.glyphs.get(o)).addUnicode(parseInt(s))}for(var i=0;i<e.glyphs.length;i+=1)t=e.glyphs.get(i),e.cffEncoding?e.isCIDFont?t.name="gid"+i:t.name=e.cffEncoding.charset[i]:e.glyphNames.names&&(t.name=e.glyphNames.glyphIndexToName(i))}function Fe(e){e._IndexToUnicodeMap={};for(var t=e.tables.cmap.glyphIndexMap,r=Object.keys(t),n=0;n<r.length;n+=1){var a=r[n],s=t[a];void 0===e._IndexToUnicodeMap[s]?e._IndexToUnicodeMap[s]={unicodes:[parseInt(a)]}:e._IndexToUnicodeMap[s].unicodes.push(parseInt(a))}}function Ge(e,t){t.lowMemory?Fe(e):Be(e)}function Me(e,t,r,n,a){e.beginPath(),e.moveTo(t,r),e.lineTo(n,a),e.stroke()}Le.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.font.glyphs;if(r)for(var n=0;n<r.length;n+=1)for(var a=r.get(n),s=0;s<a.unicodes.length;s+=1)if(a.unicodes[s]===t)return n;return null},Ce.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0},De.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.encoding[t];return this.charset.indexOf(r)},Ie.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},Ie.prototype.glyphIndexToName=function(e){return this.names[e]};var Ne={line:Me};function Ae(e,t){var r=t||new D;return{configurable:!0,get:function(){return"function"==typeof r&&(r=r()),r},set:function(e){r=e}}}function Pe(e){this.bindConstructorValues(e)}function _e(e,t,r){Object.defineProperty(e,t,{get:function(){return e.path,e[r]},set:function(t){e[r]=t},enumerable:!0,configurable:!0})}function He(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(var r=0;r<t.length;r++){var n=t[r];n.path.unitsPerEm=e.unitsPerEm,this.glyphs[r]=n}this.length=t&&t.length||0}function ze(e,t){return new Pe({index:t,font:e})}function We(e,t,r,n,a,s){return function(){var o=new Pe({index:t,font:e});return o.path=function(){r(o,n,a);var t=s(e.glyphs,o);return t.unitsPerEm=e.unitsPerEm,t},_e(o,"xMin","_xMin"),_e(o,"xMax","_xMax"),_e(o,"yMin","_yMin"),_e(o,"yMax","_yMax"),o}}function Ve(e,t,r,n){return function(){var a=new Pe({index:t,font:e});return a.path=function(){var t=r(e,a,n);return t.unitsPerEm=e.unitsPerEm,t},a}}Pe.prototype.bindConstructorValues=function(e){this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||void 0!==e.unicode?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",Ae(this,e.path))},Pe.prototype.addUnicode=function(e){0===this.unicodes.length&&(this.unicode=e),this.unicodes.push(e)},Pe.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Pe.prototype.getPath=function(e,t,r,n,a){var s,o;e=void 0!==e?e:0,t=void 0!==t?t:0,r=void 0!==r?r:72,n||(n={});var i=n.xScale,u=n.yScale;if(n.hinting&&a&&a.hinting&&(o=this.path&&a.hinting.exec(this,r)),o)s=a.hinting.getCommands(o),e=Math.round(e),t=Math.round(t),i=u=1;else{s=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*r;void 0===i&&(i=l),void 0===u&&(u=l)}for(var p=new D,c=0;c<s.length;c+=1){var h=s[c];"M"===h.type?p.moveTo(e+h.x*i,t+-h.y*u):"L"===h.type?p.lineTo(e+h.x*i,t+-h.y*u):"Q"===h.type?p.quadraticCurveTo(e+h.x1*i,t+-h.y1*u,e+h.x*i,t+-h.y*u):"C"===h.type?p.curveTo(e+h.x1*i,t+-h.y1*u,e+h.x2*i,t+-h.y2*u,e+h.x*i,t+-h.y*u):"Z"===h.type&&p.closePath()}return p},Pe.prototype.getContours=function(){if(void 0===this.points)return[];for(var e=[],t=[],r=0;r<this.points.length;r+=1){var n=this.points[r];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return F.argument(0===t.length,"There are still points left in the current contour."),e},Pe.prototype.getMetrics=function(){for(var e=this.path.commands,t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];"Z"!==a.type&&(t.push(a.x),r.push(a.y)),"Q"!==a.type&&"C"!==a.type||(t.push(a.x1),r.push(a.y1)),"C"===a.type&&(t.push(a.x2),r.push(a.y2))}var s={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,r),leftSideBearing:this.leftSideBearing};return isFinite(s.xMin)||(s.xMin=0),isFinite(s.xMax)||(s.xMax=this.advanceWidth),isFinite(s.yMin)||(s.yMin=0),isFinite(s.yMax)||(s.yMax=0),s.rightSideBearing=this.advanceWidth-s.leftSideBearing-(s.xMax-s.xMin),s},Pe.prototype.draw=function(e,t,r,n,a){this.getPath(t,r,n,a).draw(e)},Pe.prototype.drawPoints=function(e,t,r,n){function a(t,r,n,a){e.beginPath();for(var s=0;s<t.length;s+=1)e.moveTo(r+t[s].x*a,n+t[s].y*a),e.arc(r+t[s].x*a,n+t[s].y*a,2,0,2*Math.PI,!1);e.closePath(),e.fill()}t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24;for(var s=1/this.path.unitsPerEm*n,o=[],i=[],u=this.path,l=0;l<u.commands.length;l+=1){var p=u.commands[l];void 0!==p.x&&o.push({x:p.x,y:-p.y}),void 0!==p.x1&&i.push({x:p.x1,y:-p.y1}),void 0!==p.x2&&i.push({x:p.x2,y:-p.y2})}e.fillStyle="blue",a(o,t,r,s),e.fillStyle="red",a(i,t,r,s)},Pe.prototype.drawMetrics=function(e,t,r,n){var a;t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24,a=1/this.path.unitsPerEm*n,e.lineWidth=1,e.strokeStyle="black",Ne.line(e,t,-1e4,t,1e4),Ne.line(e,-1e4,r,1e4,r);var s=this.xMin||0,o=this.yMin||0,i=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;e.strokeStyle="blue",Ne.line(e,t+s*a,-1e4,t+s*a,1e4),Ne.line(e,t+i*a,-1e4,t+i*a,1e4),Ne.line(e,-1e4,r+-o*a,1e4,r+-o*a),Ne.line(e,-1e4,r+-u*a,1e4,r+-u*a),e.strokeStyle="green",Ne.line(e,t+l*a,-1e4,t+l*a,1e4)},He.prototype.get=function(e){if(void 0===this.glyphs[e]){this.font._push(e),"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());var t=this.glyphs[e],r=this.font._IndexToUnicodeMap[e];if(r)for(var n=0;n<r.unicodes.length;n++)t.addUnicode(r.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},He.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};var qe={GlyphSet:He,glyphLoader:ze,ttfGlyphLoader:We,cffGlyphLoader:Ve};function Xe(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r+=1)if(!Xe(e[r],t[r]))return!1;return!0}return!1}function je(e){return e.length<1240?107:e.length<33900?1131:32768}function Ye(e,t,r){var n,a,s=[],o=[],i=me.getCard16(e,t);if(0!==i){var u=me.getByte(e,t+2);n=t+(i+1)*u+2;for(var l=t+3,p=0;p<i+1;p+=1)s.push(me.getOffset(e,l,u)),l+=u;a=n+s[i]}else a=t+2;for(var c=0;c<s.length-1;c+=1){var h=me.getBytes(e,n+s[c],n+s[c+1]);r&&(h=r(h)),o.push(h)}return{objects:o,startOffset:t,endOffset:a}}function Ze(e,t){var r,n,a=[],s=me.getCard16(e,t);if(0!==s){var o=me.getByte(e,t+2);r=t+(s+1)*o+2;for(var i=t+3,u=0;u<s+1;u+=1)a.push(me.getOffset(e,i,o)),i+=o;n=r+a[s]}else n=t+2;return{offsets:a,startOffset:t,endOffset:n}}function Qe(e,t,r,n,a){var s=me.getCard16(r,n),o=0;0!==s&&(o=n+(s+1)*me.getByte(r,n+2)+2);var i=me.getBytes(r,o+t[e],o+t[e+1]);return a&&(i=a(i)),i}function Ke(e){for(var t="",r=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var a=e.parseByte(),s=a>>4,o=15&a;if(s===r)break;if(t+=n[s],o===r)break;t+=n[o]}return parseFloat(t)}function Je(e,t){if(28===t)return e.parseByte()<<8|e.parseByte();if(29===t)return e.parseByte()<<24|e.parseByte()<<16|e.parseByte()<<8|e.parseByte();if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r<e.length;r+=1){var n=e[r][0],a=e[r][1],s=void 0;if(s=1===a.length?a[0]:a,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=s}return t}function et(e,t,r){t=void 0!==t?t:0;var n=new me.Parser(e,t),a=[],s=[];for(r=void 0!==r?r:e.length;n.relativeOffset<r;){var o=n.parseByte();o<=21?(12===o&&(o=1200+n.parseByte()),a.push([o,s]),s=[]):s.push(Je(n,o))}return $e(a)}function tt(e,t){return t=t<=390?Ee[t]:e[t-391]}function rt(e,t,r){for(var n,a={},s=0;s<t.length;s+=1){var o=t[s];if(Array.isArray(o.type)){var i=[];i.length=o.type.length;for(var u=0;u<o.type.length;u++)void 0===(n=void 0!==e[o.op]?e[o.op][u]:void 0)&&(n=void 0!==o.value&&void 0!==o.value[u]?o.value[u]:null),"SID"===o.type[u]&&(n=tt(r,n)),i[u]=n;a[o.name]=i}else void 0===(n=e[o.op])&&(n=void 0!==o.value?o.value:null),"SID"===o.type&&(n=tt(r,n)),a[o.name]=n}return a}function nt(e,t){var r={};return r.formatMajor=me.getCard8(e,t),r.formatMinor=me.getCard8(e,t+1),r.size=me.getCard8(e,t+2),r.offsetSize=me.getCard8(e,t+3),r.startOffset=t,r.endOffset=t+4,r}var at=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],st=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function ot(e,t){return rt(et(e,0,e.byteLength),at,t)}function it(e,t,r,n){return rt(et(e,t,r),st,n)}function ut(e,t,r,n){for(var a=[],s=0;s<r.length;s+=1){var o=ot(new DataView(new Uint8Array(r[s]).buffer),n);o._subrs=[],o._subrsBias=0,o._defaultWidthX=0,o._nominalWidthX=0;var i=o.private[0],u=o.private[1];if(0!==i&&0!==u){var l=it(e,u+t,i,n);if(o._defaultWidthX=l.defaultWidthX,o._nominalWidthX=l.nominalWidthX,0!==l.subrs){var p=Ye(e,u+l.subrs+t);o._subrs=p.objects,o._subrsBias=je(o._subrs)}o._privateDict=l}a.push(o)}return a}function lt(e,t,r,n){var a,s,o=new me.Parser(e,t);r-=1;var i=[".notdef"],u=o.parseCard8();if(0===u)for(var l=0;l<r;l+=1)a=o.parseSID(),i.push(tt(n,a));else if(1===u)for(;i.length<=r;){a=o.parseSID(),s=o.parseCard8();for(var p=0;p<=s;p+=1)i.push(tt(n,a)),a+=1}else{if(2!==u)throw new Error("Unknown charset format "+u);for(;i.length<=r;){a=o.parseSID(),s=o.parseCard16();for(var c=0;c<=s;c+=1)i.push(tt(n,a)),a+=1}}return i}function pt(e,t,r){var n,a={},s=new me.Parser(e,t),o=s.parseCard8();if(0===o)for(var i=s.parseCard8(),u=0;u<i;u+=1)a[n=s.parseCard8()]=u;else{if(1!==o)throw new Error("Unknown encoding format "+o);var l=s.parseCard8();n=1;for(var p=0;p<l;p+=1)for(var c=s.parseCard8(),h=s.parseCard8(),f=c;f<=c+h;f+=1)a[f]=n,n+=1}return new De(a,r)}function ct(e,t,r){var n,a,s,o,i,u,l,p,c=new D,h=[],f=0,d=!1,g=!1,v=0,m=0;if(e.isCIDFont){var y=e.tables.cff.topDict._fdSelect[t.index],b=e.tables.cff.topDict._fdArray[y];i=b._subrs,u=b._subrsBias,l=b._defaultWidthX,p=b._nominalWidthX}else i=e.tables.cff.topDict._subrs,u=e.tables.cff.topDict._subrsBias,l=e.tables.cff.topDict._defaultWidthX,p=e.tables.cff.topDict._nominalWidthX;var S=l;function x(e,t){g&&c.closePath(),c.moveTo(e,t),g=!0}function T(){h.length%2!=0&&!d&&(S=h.shift()+p),f+=h.length>>1,h.length=0,d=!0}function U(r){for(var l,y,b,k,E,O,w,R,L,C,D,I,B=0;B<r.length;){var F=r[B];switch(B+=1,F){case 1:case 3:case 18:case 23:T();break;case 4:h.length>1&&!d&&(S=h.shift()+p,d=!0),m+=h.pop(),x(v,m);break;case 5:for(;h.length>0;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 6:for(;h.length>0&&(v+=h.shift(),c.lineTo(v,m),0!==h.length);)m+=h.shift(),c.lineTo(v,m);break;case 7:for(;h.length>0&&(m+=h.shift(),c.lineTo(v,m),0!==h.length);)v+=h.shift(),c.lineTo(v,m);break;case 8:for(;h.length>0;)n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 10:E=h.pop()+u,(O=i[E])&&U(O);break;case 11:return;case 12:switch(F=r[B],B+=1,F){case 35:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),m=I+h.shift(),h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 34:n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=m,v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 36:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 37:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),Math.abs(D-v)>Math.abs(I-m)?v=D+h.shift():m=I+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+F),h.length=0}break;case 14:h.length>0&&!d&&(S=h.shift()+p,d=!0),g&&(c.closePath(),g=!1);break;case 19:case 20:T(),B+=f+7>>3;break;case 21:h.length>2&&!d&&(S=h.shift()+p,d=!0),m+=h.pop(),x(v+=h.pop(),m);break;case 22:h.length>1&&!d&&(S=h.shift()+p,d=!0),x(v+=h.pop(),m);break;case 24:for(;h.length>2;)n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 25:for(;h.length>6;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 26:for(h.length%2&&(v+=h.shift());h.length>0;)n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s,m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 27:for(h.length%2&&(m+=h.shift());h.length>0;)n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o,c.curveTo(n,a,s,o,v,m);break;case 28:l=r[B],y=r[B+1],h.push((l<<24|y<<16)>>16),B+=2;break;case 29:E=h.pop()+e.gsubrsBias,(O=e.gsubrs[E])&&U(O);break;case 30:for(;h.length>0&&(n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m),0!==h.length);)n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),m=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m);break;case 31:for(;h.length>0&&(n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),m=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m),0!==h.length);)n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m);break;default:F<32?console.log("Glyph "+t.index+": unknown operator "+F):F<247?h.push(F-139):F<251?(l=r[B],B+=1,h.push(256*(F-247)+l+108)):F<255?(l=r[B],B+=1,h.push(256*-(F-251)-l-108)):(l=r[B],y=r[B+1],b=r[B+2],k=r[B+3],B+=4,h.push((l<<24|y<<16|b<<8|k)/65536))}}}return U(r),t.advanceWidth=S,c}function ht(e,t,r,n){var a,s=[],o=new me.Parser(e,t),i=o.parseCard8();if(0===i)for(var u=0;u<r;u++){if((a=o.parseCard8())>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else{if(3!==i)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+i);var l,p=o.parseCard16(),c=o.parseCard16();if(0!==c)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h=0;h<p;h++){if(a=o.parseCard8(),l=o.parseCard16(),a>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c<l;c++)s.push(a);c=l}if(l!==r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+l)}return s}function ft(e,t,r,n){r.tables.cff={};var a=nt(e,t),s=Ye(e,a.endOffset,me.bytesToString),o=Ye(e,s.endOffset),i=Ye(e,o.endOffset,me.bytesToString),u=Ye(e,i.endOffset);r.gsubrs=u.objects,r.gsubrsBias=je(r.gsubrs);var l=ut(e,t,o.objects,i.objects);if(1!==l.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var p=l[0];if(r.tables.cff.topDict=p,p._privateDict&&(r.defaultWidthX=p._privateDict.defaultWidthX,r.nominalWidthX=p._privateDict.nominalWidthX),void 0!==p.ros[0]&&void 0!==p.ros[1]&&(r.isCIDFont=!0),r.isCIDFont){var c=p.fdArray,h=p.fdSelect;if(0===c||0===h)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var f=Ye(e,c+=t),d=ut(e,t,f.objects,i.objects);p._fdArray=d,h+=t,p._fdSelect=ht(e,h,r.numGlyphs,d.length)}var g,v=t+p.private[1],m=it(e,v,p.private[0],i.objects);if(r.defaultWidthX=m.defaultWidthX,r.nominalWidthX=m.nominalWidthX,0!==m.subrs){var y=v+m.subrs,b=Ye(e,y);r.subrs=b.objects,r.subrsBias=je(r.subrs)}else r.subrs=[],r.subrsBias=0;n.lowMemory?(g=Ze(e,t+p.charStrings),r.nGlyphs=g.offsets.length):(g=Ye(e,t+p.charStrings),r.nGlyphs=g.objects.length);var S=lt(e,t+p.charset,r.nGlyphs,i.objects);if(0===p.encoding?r.cffEncoding=new De(Oe,S):1===p.encoding?r.cffEncoding=new De(we,S):r.cffEncoding=pt(e,t+p.encoding,S),r.encoding=r.encoding||r.cffEncoding,r.glyphs=new qe.GlyphSet(r),n.lowMemory)r._push=function(n){var a=Qe(n,g.offsets,e,t+p.charStrings);r.glyphs.push(n,qe.cffGlyphLoader(r,n,ct,a))};else for(var x=0;x<r.nGlyphs;x+=1){var T=g.objects[x];r.glyphs.push(x,qe.cffGlyphLoader(r,x,ct,T))}}function dt(e,t){var r,n=Ee.indexOf(e);return n>=0&&(r=n),(n=t.indexOf(e))>=0?r=n+Ee.length:(r=Ee.length+t.length,t.push(e)),r}function gt(){return new ae.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function vt(e){var t=new ae.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r<e.length;r+=1)t.names.push({name:"name_"+r,type:"NAME",value:e[r]});return t}function mt(e,t,r){for(var n={},a=0;a<e.length;a+=1){var s=e[a],o=t[s.name];void 0===o||Xe(o,s.value)||("SID"===s.type&&(o=dt(o,r)),n[s.op]={name:s.name,type:s.type,value:o})}return n}function yt(e,t){var r=new ae.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=mt(at,e,t),r}function bt(e){var t=new ae.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}function St(e){var t=new ae.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var r=0;r<e.length;r+=1)t.strings.push({name:"string_"+r,type:"STRING",value:e[r]});return t}function xt(){return new ae.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function Tt(e,t){for(var r=new ae.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<e.length;n+=1){var a=dt(e[n],t);r.fields.push({name:"glyph_"+n,type:"SID",value:a})}return r}function Ut(e){var t=[],r=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});for(var n=0,a=0,s=0;s<r.commands.length;s+=1){var o=void 0,i=void 0,u=r.commands[s];if("Q"===u.type){var l=1/3,p=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+p*u.x1),y1:Math.round(l*a+p*u.y1),x2:Math.round(l*u.x+p*u.x1),y2:Math.round(l*u.y+p*u.y1)}}if("M"===u.type)o=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),a=Math.round(u.y);else if("L"===u.type)o=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),a=Math.round(u.y);else if("C"===u.type){var c=Math.round(u.x1-n),h=Math.round(u.y1-a),f=Math.round(u.x2-u.x1),d=Math.round(u.y2-u.y1);o=Math.round(u.x-u.x2),i=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:c}),t.push({name:"dy1",type:"NUMBER",value:h}),t.push({name:"dx2",type:"NUMBER",value:f}),t.push({name:"dy2",type:"NUMBER",value:d}),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),a=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function kt(e){for(var t=new ae.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),r=0;r<e.length;r+=1){var n=e.get(r),a=Ut(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:a})}return t}function Et(e,t){var r=new ae.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=mt(st,e,t),r}function Ot(e,t){for(var r,n=new ae.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),a=1/t.unitsPerEm,s={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[a,0,0,a,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},o={},i=[],u=1;u<e.length;u+=1)r=e.get(u),i.push(r.name);var l=[];n.header=gt(),n.nameIndex=vt([t.postScriptName]);var p=yt(s,l);n.topDictIndex=bt(p),n.globalSubrIndex=xt(),n.charsets=Tt(i,l),n.charStringsIndex=kt(e),n.privateDict=Et(o,l),n.stringIndex=St(l);var c=n.header.sizeOf()+n.nameIndex.sizeOf()+n.topDictIndex.sizeOf()+n.stringIndex.sizeOf()+n.globalSubrIndex.sizeOf();return s.charset=c,s.encoding=0,s.charStrings=s.charset+n.charsets.sizeOf(),s.private[1]=s.charStrings+n.charStringsIndex.sizeOf(),p=yt(s,l),n.topDictIndex=bt(p),n}var wt={parse:ft,make:Ot};function Rt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.fontRevision=Math.round(1e3*n.parseFixed())/1e3,r.checkSumAdjustment=n.parseULong(),r.magicNumber=n.parseULong(),F.argument(1594834165===r.magicNumber,"Font header has wrong magic number."),r.flags=n.parseUShort(),r.unitsPerEm=n.parseUShort(),r.created=n.parseLongDateTime(),r.modified=n.parseLongDateTime(),r.xMin=n.parseShort(),r.yMin=n.parseShort(),r.xMax=n.parseShort(),r.yMax=n.parseShort(),r.macStyle=n.parseUShort(),r.lowestRecPPEM=n.parseUShort(),r.fontDirectionHint=n.parseShort(),r.indexToLocFormat=n.parseShort(),r.glyphDataFormat=n.parseShort(),r}function Lt(e){var t=Math.round((new Date).getTime()/1e3)+2082844800,r=t;return e.createdTimestamp&&(r=e.createdTimestamp+2082844800),new ae.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:r},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],e)}var Ct={parse:Rt,make:Lt};function Dt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.ascender=n.parseShort(),r.descender=n.parseShort(),r.lineGap=n.parseShort(),r.advanceWidthMax=n.parseUShort(),r.minLeftSideBearing=n.parseShort(),r.minRightSideBearing=n.parseShort(),r.xMaxExtent=n.parseShort(),r.caretSlopeRise=n.parseShort(),r.caretSlopeRun=n.parseShort(),r.caretOffset=n.parseShort(),n.relativeOffset+=8,r.metricDataFormat=n.parseShort(),r.numberOfHMetrics=n.parseUShort(),r}function It(e){return new ae.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],e)}var Bt={parse:Dt,make:It};function Ft(e,t,r,n,a){for(var s,o,i=new me.Parser(e,t),u=0;u<n;u+=1){u<r&&(s=i.parseUShort(),o=i.parseShort());var l=a.get(u);l.advanceWidth=s,l.leftSideBearing=o}}function Gt(e,t,r,n,a){var s,o;e._hmtxTableData={};for(var i=new me.Parser(t,r),u=0;u<a;u+=1)u<n&&(s=i.parseUShort(),o=i.parseShort()),e._hmtxTableData[u]={advanceWidth:s,leftSideBearing:o}}function Mt(e,t,r,n,a,s,o){o.lowMemory?Gt(e,t,r,n,a):Ft(t,r,n,a,s)}function Nt(e){for(var t=new ae.Table("hmtx",[]),r=0;r<e.length;r+=1){var n=e.get(r),a=n.advanceWidth||0,s=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+r,type:"USHORT",value:a}),t.fields.push({name:"leftSideBearing_"+r,type:"SHORT",value:s})}return t}var At={parse:Mt,make:Nt};function Pt(e){for(var t=new ae.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]),r="",n=12+4*e.length,a=0;a<e.length;++a){var s=r.indexOf(e[a]);s<0&&(s=r.length,r+=e[a]),t.fields.push({name:"offset "+a,type:"USHORT",value:n+s}),t.fields.push({name:"length "+a,type:"USHORT",value:e[a].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),t}function _t(e,t){var r=new me.Parser(e,t),n=r.parseULong();F.argument(1===n,"Unsupported ltag table version."),r.skip("uLong",1);for(var a=r.parseULong(),s=[],o=0;o<a;o++){for(var i="",u=t+r.parseUShort(),l=r.parseUShort(),p=u;p<u+l;++p)i+=String.fromCharCode(e.getInt8(p));s.push(i)}return s}var Ht={make:Pt,parse:_t};function zt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.numGlyphs=n.parseUShort(),1===r.version&&(r.maxPoints=n.parseUShort(),r.maxContours=n.parseUShort(),r.maxCompositePoints=n.parseUShort(),r.maxCompositeContours=n.parseUShort(),r.maxZones=n.parseUShort(),r.maxTwilightPoints=n.parseUShort(),r.maxStorage=n.parseUShort(),r.maxFunctionDefs=n.parseUShort(),r.maxInstructionDefs=n.parseUShort(),r.maxStackElements=n.parseUShort(),r.maxSizeOfInstructions=n.parseUShort(),r.maxComponentElements=n.parseUShort(),r.maxComponentDepth=n.parseUShort()),r}function Wt(e){return new ae.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}var Vt={parse:zt,make:Wt},qt=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Xt={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},jt={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},Yt={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function Zt(e,t,r){switch(e){case 0:if(65535===t)return"und";if(r)return r[t];break;case 1:return Xt[t];case 3:return Yt[t]}}var Qt="utf-16",Kt={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},Jt={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function $t(e,t,r){switch(e){case 0:return Qt;case 1:return Jt[r]||Kt[t];case 3:if(1===t||10===t)return Qt}}function er(e,t,r){for(var n={},a=new me.Parser(e,t),s=a.parseUShort(),o=a.parseUShort(),i=a.offset+a.parseUShort(),u=0;u<o;u++){var l=a.parseUShort(),p=a.parseUShort(),c=a.parseUShort(),h=a.parseUShort(),f=qt[h]||h,d=a.parseUShort(),g=a.parseUShort(),v=Zt(l,c,r),m=$t(l,p,c);if(void 0!==m&&void 0!==v){var y=void 0;if(y=m===Qt?N.UTF16(e,i+g,d):N.MACSTRING(e,i+g,d,m)){var b=n[f];void 0===b&&(b=n[f]={}),b[v]=y}}}return 1===s&&a.parseUShort(),n}function tr(e){var t={};for(var r in e)t[e[r]]=parseInt(r);return t}function rr(e,t,r,n,a,s){return new ae.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:r},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:a},{name:"offset",type:"USHORT",value:s}])}function nr(e,t){var r=e.length,n=t.length-r+1;e:for(var a=0;a<n;a++)for(;a<n;a++){for(var s=0;s<r;s++)if(t[a+s]!==e[s])continue e;return a}return-1}function ar(e,t){var r=nr(e,t);if(r<0){r=t.length;for(var n=0,a=e.length;n<a;++n)t.push(e[n])}return r}function sr(e,t){var r,n=[],a={},s=tr(qt);for(var o in e){var i=s[o];if(void 0===i&&(i=o),r=parseInt(i),isNaN(r))throw new Error('Name table entry "'+o+'" does not exist, see nameTableNames for complete list.');a[r]=e[o],n.push(r)}for(var u=tr(Xt),l=tr(Yt),p=[],c=[],h=0;h<n.length;h++){var f=a[r=n[h]];for(var d in f){var g=f[d],v=1,m=u[d],y=jt[m],b=$t(v,y,m),S=A.MACSTRING(g,b);void 0===S&&(v=0,(m=t.indexOf(d))<0&&(m=t.length,t.push(d)),y=4,S=A.UTF16(g));var x=ar(S,c);p.push(rr(v,y,m,r,S.length,x));var T=l[d];if(void 0!==T){var U=A.UTF16(g),k=ar(U,c);p.push(rr(3,1,T,r,U.length,k))}}}p.sort((function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID}));for(var E=new ae.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:p.length},{name:"stringOffset",type:"USHORT",value:6+12*p.length}]),O=0;O<p.length;O++)E.fields.push({name:"record_"+O,type:"RECORD",value:p[O]});return E.fields.push({name:"strings",type:"LITERAL",value:c}),E}var or={parse:er,make:sr},ir=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function ur(e){for(var t=0;t<ir.length;t+=1){var r=ir[t];if(e>=r.begin&&e<r.end)return t}return-1}function lr(e,t){var r={},n=new me.Parser(e,t);r.version=n.parseUShort(),r.xAvgCharWidth=n.parseShort(),r.usWeightClass=n.parseUShort(),r.usWidthClass=n.parseUShort(),r.fsType=n.parseUShort(),r.ySubscriptXSize=n.parseShort(),r.ySubscriptYSize=n.parseShort(),r.ySubscriptXOffset=n.parseShort(),r.ySubscriptYOffset=n.parseShort(),r.ySuperscriptXSize=n.parseShort(),r.ySuperscriptYSize=n.parseShort(),r.ySuperscriptXOffset=n.parseShort(),r.ySuperscriptYOffset=n.parseShort(),r.yStrikeoutSize=n.parseShort(),r.yStrikeoutPosition=n.parseShort(),r.sFamilyClass=n.parseShort(),r.panose=[];for(var a=0;a<10;a++)r.panose[a]=n.parseByte();return r.ulUnicodeRange1=n.parseULong(),r.ulUnicodeRange2=n.parseULong(),r.ulUnicodeRange3=n.parseULong(),r.ulUnicodeRange4=n.parseULong(),r.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),r.fsSelection=n.parseUShort(),r.usFirstCharIndex=n.parseUShort(),r.usLastCharIndex=n.parseUShort(),r.sTypoAscender=n.parseShort(),r.sTypoDescender=n.parseShort(),r.sTypoLineGap=n.parseShort(),r.usWinAscent=n.parseUShort(),r.usWinDescent=n.parseUShort(),r.version>=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function pr(e){return new ae.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var cr={parse:lr,make:pr,unicodeRanges:ir,getUnicodeRange:ur};function hr(e,t){var r={},n=new me.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a<r.numberOfGlyphs;a++)r.glyphNameIndex[a]=n.parseUShort();r.names=[];for(var s=0;s<r.numberOfGlyphs;s++)if(r.glyphNameIndex[s]>=Re.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;i<r.numberOfGlyphs;i++)r.offset[i]=n.parseChar()}return r}function fr(){return new ae.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}var dr={parse:hr,make:fr},gr=new Array(9);gr[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ge.coverage),deltaGlyphId:this.parseUShort()}:2===t?{substFormat:2,coverage:this.parsePointer(ge.coverage),substitute:this.parseOffset16List()}:void F.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},gr[2]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),sequences:this.parseListOfLists()}},gr[3]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),alternateSets:this.parseListOfLists()}},gr[4]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),ligatureSets:this.parseListOfLists((function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}}))}};var vr={sequenceIndex:ge.uShort,lookupListIndex:ge.uShort};function mr(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GSUB table version."),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(gr)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(gr),variations:r.parseFeatureVariationsList()}}gr[5]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{substFormat:t,coverage:this.parsePointer(ge.coverage),ruleSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,vr)}}))};if(2===t)return{substFormat:t,coverage:this.parsePointer(ge.coverage),classDef:this.parsePointer(ge.classDef),classSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,vr)}}))};if(3===t){var r=this.parseUShort(),n=this.parseUShort();return{substFormat:t,coverages:this.parseList(r,ge.pointer(ge.coverage)),lookupRecords:this.parseRecordList(n,vr)}}F.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},gr[6]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ge.coverage),chainRuleSets:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(vr)}}))}:2===t?{substFormat:2,coverage:this.parsePointer(ge.coverage),backtrackClassDef:this.parsePointer(ge.classDef),inputClassDef:this.parsePointer(ge.classDef),lookaheadClassDef:this.parsePointer(ge.classDef),chainClassSet:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(vr)}}))}:3===t?{substFormat:3,backtrackCoverage:this.parseList(ge.pointer(ge.coverage)),inputCoverage:this.parseList(ge.pointer(ge.coverage)),lookaheadCoverage:this.parseList(ge.pointer(ge.coverage)),lookupRecords:this.parseRecordList(vr)}:void F.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},gr[7]=function(){var e=this.parseUShort();F.argument(1===e,"GSUB Extension Substitution subtable identifier-format must be 1");var t=this.parseUShort(),r=new ge(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:gr[t].call(r)}},gr[8]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),backtrackCoverage:this.parseList(ge.pointer(ge.coverage)),lookaheadCoverage:this.parseList(ge.pointer(ge.coverage)),substitutes:this.parseUShortList()}};var yr=new Array(9);function br(e){return new ae.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,yr)}])}yr[1]=function(e){return 1===e.substFormat?new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.ushortList("substitute",e.substitute)))},yr[2]=function(e){return F.assert(1===e.substFormat,"Lookup type 2 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("seqSet",e.sequences,(function(e){return new ae.Table("sequenceSetTable",ae.ushortList("sequence",e))}))))},yr[3]=function(e){return F.assert(1===e.substFormat,"Lookup type 3 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("altSet",e.alternateSets,(function(e){return new ae.Table("alternateSetTable",ae.ushortList("alternate",e))}))))},yr[4]=function(e){return F.assert(1===e.substFormat,"Lookup type 4 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("ligSet",e.ligatureSets,(function(e){return new ae.Table("ligatureSetTable",ae.tableList("ligature",e,(function(e){return new ae.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(ae.ushortList("component",e.components,e.components.length+1)))})))}))))},yr[6]=function(e){if(1===e.substFormat){var t=new ae.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:e.substFormat},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("chainRuleSet",e.chainRuleSets,(function(e){return new ae.Table("chainRuleSetTable",ae.tableList("chainRule",e,(function(e){var t=ae.ushortList("backtrackGlyph",e.backtrack,e.backtrack.length).concat(ae.ushortList("inputGlyph",e.input,e.input.length+1)).concat(ae.ushortList("lookaheadGlyph",e.lookahead,e.lookahead.length)).concat(ae.ushortList("substitution",[],e.lookupRecords.length));return e.lookupRecords.forEach((function(e,r){t=t.concat({name:"sequenceIndex"+r,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+r,type:"USHORT",value:e.lookupListIndex})})),new ae.Table("chainRuleTable",t)})))}))));return t}if(2===e.substFormat)F.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===e.substFormat){var r=[{name:"substFormat",type:"USHORT",value:e.substFormat}];return r.push({name:"backtrackGlyphCount",type:"USHORT",value:e.backtrackCoverage.length}),e.backtrackCoverage.forEach((function(e,t){r.push({name:"backtrackCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"inputGlyphCount",type:"USHORT",value:e.inputCoverage.length}),e.inputCoverage.forEach((function(e,t){r.push({name:"inputCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"lookaheadGlyphCount",type:"USHORT",value:e.lookaheadCoverage.length}),e.lookaheadCoverage.forEach((function(e,t){r.push({name:"lookaheadCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"substitutionCount",type:"USHORT",value:e.lookupRecords.length}),e.lookupRecords.forEach((function(e,t){r=r.concat({name:"sequenceIndex"+t,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+t,type:"USHORT",value:e.lookupListIndex})})),new ae.Table("chainContextTable",r)}F.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};var Sr={parse:mr,make:br};function xr(e,t){var r=new me.Parser(e,t),n=r.parseULong();F.argument(1===n,"Unsupported META table version."),r.parseULong(),r.parseULong();for(var a=r.parseULong(),s={},o=0;o<a;o++){var i=r.parseTag(),u=r.parseULong(),l=r.parseULong(),p=N.UTF8(e,t+u,l);s[i]=p}return s}function Tr(e){var t=Object.keys(e).length,r="",n=16+12*t,a=new ae.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var s in e){var o=r.length;r+=e[s],a.fields.push({name:"tag "+s,type:"TAG",value:s}),a.fields.push({name:"offset "+s,type:"ULONG",value:n+o}),a.fields.push({name:"length "+s,type:"ULONG",value:e[s].length})}return a.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),a}var Ur={parse:xr,make:Tr};function kr(e){return Math.log(e)/Math.log(2)|0}function Er(e){for(;e.length%4!=0;)e.push(0);for(var t=0,r=0;r<e.length;r+=4)t+=(e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3];return t%=Math.pow(2,32)}function Or(e,t,r,n){return new ae.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==e?e:""},{name:"checkSum",type:"ULONG",value:void 0!==t?t:0},{name:"offset",type:"ULONG",value:void 0!==r?r:0},{name:"length",type:"ULONG",value:void 0!==n?n:0}])}function wr(e){var t=new ae.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=e,t.numTables=e.length;var r=Math.pow(2,kr(t.numTables));t.searchRange=16*r,t.entrySelector=kr(r),t.rangeShift=16*t.numTables-t.searchRange;for(var n=[],a=[],s=t.sizeOf()+Or().sizeOf()*t.numTables;s%4!=0;)s+=1,a.push({name:"padding",type:"BYTE",value:0});for(var o=0;o<e.length;o+=1){var i=e[o];F.argument(4===i.tableName.length,"Table name"+i.tableName+" is invalid.");var u=i.sizeOf(),l=Or(i.tableName,Er(i.encode()),s,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),a.push({name:i.tableName+" table",type:"RECORD",value:i}),s+=u,F.argument(!isNaN(s),"Something went wrong calculating the offset.");s%4!=0;)s+=1,a.push({name:"padding",type:"BYTE",value:0})}return n.sort((function(e,t){return e.value.tag>t.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Rr(e,t,r){for(var n=0;n<t.length;n+=1){var a=e.charToGlyphIndex(t[n]);if(a>0)return e.glyphs.get(a).getMetrics()}return r}function Lr(e){for(var t=0,r=0;r<e.length;r+=1)t+=e[r];return t/e.length}function Cr(e){for(var t,r=[],n=[],a=[],s=[],o=[],i=[],u=[],l=0,p=0,c=0,h=0,f=0,d=0;d<e.glyphs.length;d+=1){var g=e.glyphs.get(d),v=0|g.unicode;if(isNaN(g.advanceWidth))throw new Error("Glyph "+g.name+" ("+d+"): advanceWidth is not a number.");(t>v||void 0===t)&&v>0&&(t=v),l<v&&(l=v);var m=cr.getUnicodeRange(v);if(m<32)p|=1<<m;else if(m<64)c|=1<<m-32;else if(m<96)h|=1<<m-64;else{if(!(m<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");f|=1<<m-96}if(".notdef"!==g.name){var y=g.getMetrics();r.push(y.xMin),n.push(y.yMin),a.push(y.xMax),s.push(y.yMax),i.push(y.leftSideBearing),u.push(y.rightSideBearing),o.push(g.advanceWidth)}}var b={xMin:Math.min.apply(null,r),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,o),advanceWidthAvg:Lr(o),minLeftSideBearing:Math.min.apply(null,i),maxLeftSideBearing:Math.max.apply(null,i),minRightSideBearing:Math.min.apply(null,u)};b.ascender=e.ascender,b.descender=e.descender;var S=Ct.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:b.xMin,yMin:b.yMin,xMax:b.xMax,yMax:b.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),x=Bt.make({ascender:b.ascender,descender:b.descender,advanceWidthMax:b.advanceWidthMax,minLeftSideBearing:b.minLeftSideBearing,minRightSideBearing:b.minRightSideBearing,xMaxExtent:b.maxLeftSideBearing+(b.xMax-b.xMin),numberOfHMetrics:e.glyphs.length}),T=Vt.make(e.glyphs.length),U=cr.make(Object.assign({xAvgCharWidth:Math.round(b.advanceWidthAvg),usFirstCharIndex:t,usLastCharIndex:l,ulUnicodeRange1:p,ulUnicodeRange2:c,ulUnicodeRange3:h,ulUnicodeRange4:f,sTypoAscender:b.ascender,sTypoDescender:b.descender,sTypoLineGap:0,usWinAscent:b.yMax,usWinDescent:Math.abs(b.yMin),ulCodePageRange1:1,sxHeight:Rr(e,"xyvw",{yMax:Math.round(b.ascender/2)}).yMax,sCapHeight:Rr(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",b).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),k=At.make(e.glyphs),E=ke.make(e.glyphs),O=e.getEnglishName("fontFamily"),w=e.getEnglishName("fontSubfamily"),R=O+" "+w,L=e.getEnglishName("postScriptName");L||(L=O.replace(/\s/g,"")+"-"+w);var C={};for(var D in e.names)C[D]=e.names[D];C.uniqueID||(C.uniqueID={en:e.getEnglishName("manufacturer")+":"+R}),C.postScriptName||(C.postScriptName={en:L}),C.preferredFamily||(C.preferredFamily=e.names.fontFamily),C.preferredSubfamily||(C.preferredSubfamily=e.names.fontSubfamily);var I=[],B=or.make(C,I),F=I.length>0?Ht.make(I):void 0,G=dr.make(),M=wt.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:w,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),N=e.metas&&Object.keys(e.metas).length>0?Ur.make(e.metas):void 0,A=[S,x,T,U,B,E,G,M,k];F&&A.push(F),e.tables.gsub&&A.push(Sr.make(e.tables.gsub)),N&&A.push(N);for(var P=wr(A),_=Er(P.encode()),H=P.fields,z=!1,W=0;W<H.length;W+=1)if("head table"===H[W].name){H[W].value.checkSumAdjustment=2981146554-_,z=!0;break}if(!z)throw new Error("Could not find head table with checkSum to adjust.");return P}var Dr={make:wr,fontToTable:Cr,computeCheckSum:Er};function Ir(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,s=e[a].tag;if(s===t)return a;s<t?r=a+1:n=a-1}return-r-1}function Br(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,s=e[a];if(s===t)return a;s<t?r=a+1:n=a-1}return-r-1}function Fr(e,t){for(var r,n=0,a=e.length-1;n<=a;){var s=n+a>>>1,o=(r=e[s]).start;if(o===t)return r;o<t?n=s+1:a=s-1}if(n>0)return t>(r=e[n-1]).end?0:r}function Gr(e,t){this.font=e,this.tableName=t}function Mr(e){Gr.call(this,e,"gpos")}function Nr(e){Gr.call(this,e,"gsub")}function Ar(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function Pr(e,t,r){for(var n=e.subtables,a=0;a<n.length;a++){var s=n[a];if(s.substFormat===t)return s}if(r)return n.push(r),r}function _r(){return"undefined"!=typeof window}function Hr(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;++n)r[n]=e[n];return t}function zr(e){for(var t=new Buffer(e.byteLength),r=new Uint8Array(e),n=0;n<t.length;++n)t[n]=r[n];return t}function Wr(e,t){if(!e)throw t}function Vr(e,t,r,n,a){var s;return(t&n)>0?(s=e.parseByte(),t&a||(s=-s),s=r+s):s=(t&a)>0?r:r+e.parseShort(),s}function qr(e,t,r){var n,a,s=new me.Parser(t,r);if(e.numberOfContours=s.parseShort(),e._xMin=s.parseShort(),e._yMin=s.parseShort(),e._xMax=s.parseShort(),e._yMax=s.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i<e.numberOfContours;i+=1)o.push(s.parseUShort());e.instructionLength=s.parseUShort(),e.instructions=[];for(var u=0;u<e.instructionLength;u+=1)e.instructions.push(s.parseByte());var l=o[o.length-1]+1;n=[];for(var p=0;p<l;p+=1)if(a=s.parseByte(),n.push(a),(8&a)>0)for(var c=s.parseByte(),h=0;h<c;h+=1)n.push(a),p+=1;if(F.argument(n.length===l,"Bad flags."),o.length>0){var f,d=[];if(l>0){for(var g=0;g<l;g+=1)a=n[g],(f={}).onCurve=!!(1&a),f.lastPointOfContour=o.indexOf(g)>=0,d.push(f);for(var v=0,m=0;m<l;m+=1)a=n[m],(f=d[m]).x=Vr(s,a,v,2,16),v=f.x;for(var y=0,b=0;b<l;b+=1)a=n[b],(f=d[b]).y=Vr(s,a,y,4,32),y=f.y}e.points=d}else e.points=[]}else if(0===e.numberOfContours)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];for(var S=!0;S;){n=s.parseUShort();var x={glyphIndex:s.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&n)>0?(2&n)>0?(x.dx=s.parseShort(),x.dy=s.parseShort()):x.matchedPoints=[s.parseUShort(),s.parseUShort()]:(2&n)>0?(x.dx=s.parseChar(),x.dy=s.parseChar()):x.matchedPoints=[s.parseByte(),s.parseByte()],(8&n)>0?x.xScale=x.yScale=s.parseF2Dot14():(64&n)>0?(x.xScale=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()):(128&n)>0&&(x.xScale=s.parseF2Dot14(),x.scale01=s.parseF2Dot14(),x.scale10=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=s.parseUShort(),e.instructions=[];for(var T=0;T<e.instructionLength;T+=1)e.instructions.push(s.parseByte())}}}function Xr(e,t){for(var r=[],n=0;n<e.length;n+=1){var a=e[n],s={x:t.xScale*a.x+t.scale01*a.y+t.dx,y:t.scale10*a.x+t.yScale*a.y+t.dy,onCurve:a.onCurve,lastPointOfContour:a.lastPointOfContour};r.push(s)}return r}function jr(e){for(var t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];r.push(a),a.lastPointOfContour&&(t.push(r),r=[])}return F.argument(0===r.length,"There are still points left in the current contour."),t}function Yr(e){var t=new D;if(!e)return t;for(var r=jr(e),n=0;n<r.length;++n){var a=r[n],s=null,o=a[a.length-1],i=a[0];if(o.onCurve)t.moveTo(o.x,o.y);else if(i.onCurve)t.moveTo(i.x,i.y);else{var u={x:.5*(o.x+i.x),y:.5*(o.y+i.y)};t.moveTo(u.x,u.y)}for(var l=0;l<a.length;++l)if(s=o,o=i,i=a[(l+1)%a.length],o.onCurve)t.lineTo(o.x,o.y);else{var p=i;s.onCurve||(o.x,s.x,o.y,s.y),i.onCurve||(p={x:.5*(o.x+i.x),y:.5*(o.y+i.y)}),t.quadraticCurveTo(o.x,o.y,p.x,p.y)}t.closePath()}return t}function Zr(e,t){if(t.isComposite)for(var r=0;r<t.components.length;r+=1){var n=t.components[r],a=e.get(n.glyphIndex);if(a.getPath(),a.points){var s=void 0;if(void 0===n.matchedPoints)s=Xr(a.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=Xr([i],u)[0],u.dx=o.x-i.x,u.dy=o.y-i.y,s=Xr(a.points,u)}t.points=t.points.concat(s)}}return Yr(t.points)}function Qr(e,t,r,n){for(var a=new qe.GlyphSet(n),s=0;s<r.length-1;s+=1){var o=r[s];o!==r[s+1]?a.push(s,qe.ttfGlyphLoader(n,s,qr,e,t+o,Zr)):a.push(s,qe.glyphLoader(n,s))}return a}function Kr(e,t,r,n){var a=new qe.GlyphSet(n);return n._push=function(s){var o=r[s];o!==r[s+1]?a.push(s,qe.ttfGlyphLoader(n,s,qr,e,t+o,Zr)):a.push(s,qe.glyphLoader(n,s))},a}function Jr(e,t,r,n,a){return a.lowMemory?Kr(e,t,r,n):Qr(e,t,r,n)}Gr.prototype={searchTag:Ir,binSearch:Br,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map((function(e){return e.tag})):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r<e.scripts.length;r++){var n=e.scripts[r].tag;if("DFLT"===n)return n;"latn"===n&&(t=!0)}return t?"latn":void 0}},getScriptTable:function(e,t){var r=this.getTable(t);if(r){e=e||"DFLT";var n=r.scripts,a=Ir(r.scripts,e);if(a>=0)return n[a].script;if(t){var s={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,s),s.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Ir(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var s={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,s),s.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var s,o=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u<o.length;u++)if((s=i[o[u]]).tag===r)return s.feature;if(n){var l=i.length;return F.assert(0===l||r>=i[l-1].tag,"Features must be added in alphabetical order."),s={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(s),o.push(l),s.feature}}},getLookupTables:function(e,t,r,n,a){var s=this.getFeatureTable(e,t,r,a),o=[];if(s){for(var i,u=s.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p<u.length;p++)(i=l[u[p]]).lookupType===n&&o.push(i);if(0===o.length&&a){i={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var c=l.length;return l.push(i),u.push(c),[i]}}return o},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph<=t&&t<e.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:var r=Fr(e.ranges,t);return r?r.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:var r=Br(e.glyphs,t);return r>=0?r:-1;case 2:var n=Fr(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n<r.length;n++)for(var a=r[n],s=a.start,o=a.end,i=s;i<=o;i++)t.push(i);return t}},Mr.prototype=Gr.prototype,Mr.prototype.init=function(){var e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},Mr.prototype.getKerningValue=function(e,t,r){for(var n=0;n<e.length;n++)for(var a=e[n].subtables,s=0;s<a.length;s++){var o=a[s],i=this.getCoverageIndex(o.coverage,t);if(!(i<0))switch(o.posFormat){case 1:for(var u=o.pairSets[i],l=0;l<u.length;l++){var p=u[l];if(p.secondGlyph===r)return p.value1&&p.value1.xAdvance||0}break;case 2:var c=this.getGlyphClass(o.classDef1,t),h=this.getGlyphClass(o.classDef2,r),f=o.classRecords[c][h];return f.value1&&f.value1.xAdvance||0}}return 0},Mr.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)},Nr.prototype=Gr.prototype,Nr.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Nr.prototype.getSingle=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,1),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++){var u=o[i],l=this.expandCoverage(u.coverage),p=void 0;if(1===u.substFormat){var c=u.deltaGlyphId;for(p=0;p<l.length;p++){var h=l[p];n.push({sub:h,by:h+c})}}else{var f=u.substitute;for(p=0;p<l.length;p++)n.push({sub:l[p],by:f[p]})}}return n},Nr.prototype.getMultiple=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,2),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++){var u=o[i],l=this.expandCoverage(u.coverage),p=void 0;for(p=0;p<l.length;p++){var c=l[p],h=u.sequences[p];n.push({sub:c,by:h})}}return n},Nr.prototype.getAlternates=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,3),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++)for(var u=o[i],l=this.expandCoverage(u.coverage),p=u.alternateSets,c=0;c<l.length;c++)n.push({sub:l[c],by:p[c]});return n},Nr.prototype.getLigatures=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,4),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++)for(var u=o[i],l=this.expandCoverage(u.coverage),p=u.ligatureSets,c=0;c<l.length;c++)for(var h=l[c],f=p[c],d=0;d<f.length;d++){var g=f[d];n.push({sub:[h].concat(g.components),by:g.ligGlyph})}return n},Nr.prototype.addSingle=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});F.assert(1===a.coverage.format,"Single: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.substitute.splice(o,0,0)),a.substitute[o]=t.by},Nr.prototype.addMultiple=function(e,t,r,n){F.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var a=Pr(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});F.assert(1===a.coverage.format,"Multiple: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.sequences.splice(o,0,0)),a.sequences[o]=t.by},Nr.prototype.addAlternate=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});F.assert(1===a.coverage.format,"Alternate: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.alternateSets.splice(o,0,0)),a.alternateSets[o]=t.by},Nr.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],s=a.subtables[0];s||(s={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=s),F.assert(1===s.coverage.format,"Ligature: unable to modify coverage table format "+s.coverage.format);var o=t.sub[0],i=t.sub.slice(1),u={ligGlyph:t.by,components:i},l=this.binSearch(s.coverage.glyphs,o);if(l>=0){for(var p=s.ligatureSets[l],c=0;c<p.length;c++)if(Ar(p[c].components,i))return;p.push(u)}else l=-1-l,s.coverage.glyphs.splice(l,0,o),s.ligatureSets.splice(l,0,[u])},Nr.prototype.getFeature=function(e,t,r){if(/ss\d\d/.test(e))return this.getSingle(e,t,r);switch(e){case"aalt":case"salt":return this.getSingle(e,t,r).concat(this.getAlternates(e,t,r));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,r);case"ccmp":return this.getMultiple(e,t,r).concat(this.getLigatures(e,t,r));case"stch":return this.getMultiple(e,t,r)}},Nr.prototype.add=function(e,t,r,n){if(/ss\d\d/.test(e))return this.addSingle(e,t,r,n);switch(e){case"aalt":case"salt":return"number"==typeof t.by?this.addSingle(e,t,r,n):this.addAlternate(e,t,r,n);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,r,n);case"ccmp":return t.by instanceof Array?this.addMultiple(e,t,r,n):this.addLigature(e,t,r,n)}};var $r,en,tn,rn,nn={getPath:Yr,parse:Jr};function an(e){this.font=e,this.getCommands=function(e){return nn.getPath(e).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function sn(e){return e}function on(e){return Math.sign(e)*Math.round(Math.abs(e))}function un(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function ln(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function pn(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function cn(e){return Math.sign(e)*Math.floor(Math.abs(e))}var hn=function(e){var t=this.srPeriod,r=this.srPhase,n=1;return e<0&&(e=-e,n=-1),e+=this.srThreshold-r,e=Math.trunc(e/t)*t,(e+=r)<0?r*n:e*n},fn={x:1,y:0,axis:"x",distance:function(e,t,r,n){return(r?e.xo:e.x)-(n?t.xo:t.x)},interpolate:function(e,t,r,n){var a,s,o,i,u,l,p;if(!n||n===this)return a=e.xo-t.xo,s=e.xo-r.xo,u=t.x-t.xo,l=r.x-r.xo,0===(p=(o=Math.abs(a))+(i=Math.abs(s)))?void(e.x=e.xo+(u+l)/2):void(e.x=e.xo+(u*i+l*o)/p);a=n.distance(e,t,!0,!0),s=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(p=(o=Math.abs(a))+(i=Math.abs(s)))?fn.setRelative(e,e,(u*i+l*o)/p,n,!0):fn.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(e,t,r,n,a){if(n&&n!==this){var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y;e.x=i+(e.y-u)/n.normalSlope}else e.x=(a?t.xo:t.x)+r},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},dn={x:0,y:1,axis:"y",distance:function(e,t,r,n){return(r?e.yo:e.y)-(n?t.yo:t.y)},interpolate:function(e,t,r,n){var a,s,o,i,u,l,p;if(!n||n===this)return a=e.yo-t.yo,s=e.yo-r.yo,u=t.y-t.yo,l=r.y-r.yo,0===(p=(o=Math.abs(a))+(i=Math.abs(s)))?void(e.y=e.yo+(u+l)/2):void(e.y=e.yo+(u*i+l*o)/p);a=n.distance(e,t,!0,!0),s=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(p=(o=Math.abs(a))+(i=Math.abs(s)))?dn.setRelative(e,e,(u*i+l*o)/p,n,!0):dn.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:0,setRelative:function(e,t,r,n,a){if(n&&n!==this){var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y;e.y=u+n.normalSlope*(e.x-i)}else e.y=(a?t.yo:t.y)+r},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};function gn(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}function vn(e,t){var r=Math.sqrt(e*e+t*t);return t/=r,1==(e/=r)&&0===t?fn:0===e&&1===t?dn:new gn(e,t)}function mn(e,t,r,n){this.x=this.xo=Math.round(64*e)/64,this.y=this.yo=Math.round(64*t)/64,this.lastPointOfContour=r,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(fn),Object.freeze(dn),gn.prototype.distance=function(e,t,r,n){return this.x*fn.distance(e,t,r,n)+this.y*dn.distance(e,t,r,n)},gn.prototype.interpolate=function(e,t,r,n){var a,s,o,i,u,l,p;o=n.distance(e,t,!0,!0),i=n.distance(e,r,!0,!0),a=n.distance(t,t,!1,!0),s=n.distance(r,r,!1,!0),0!==(p=(u=Math.abs(o))+(l=Math.abs(i)))?this.setRelative(e,e,(a*l+s*u)/p,n,!0):this.setRelative(e,e,(a+s)/2,n,!0)},gn.prototype.setRelative=function(e,t,r,n,a){n=n||this;var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y,l=n.normalSlope,p=this.slope,c=e.x,h=e.y;e.x=(p*c-l*i+u-h)/(p-l),e.y=p*(e.x-c)+h},gn.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0},mn.prototype.nextTouched=function(e){for(var t=this.nextPointOnContour;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},mn.prototype.prevTouched=function(e){for(var t=this.prevPointOnContour;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var yn=Object.freeze(new mn(0,0)),bn={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function Sn(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=fn,this.round=on}}function xn(e){for(var t=e.tZone=new Array(e.gZone.length),r=0;r<t.length;r++)t[r]=new mn(0,0)}function Tn(e,t){var r,n=e.prog,a=e.ip,s=1;do{if(88===(r=n[++a]))s++;else if(89===r)s--;else if(64===r)a+=n[a+1]+1;else if(65===r)a+=2*n[a+1]+1;else if(r>=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===s&&27===r)break}while(s>0);e.ip=a}function Un(t,r){e.DEBUG&&console.log(r.step,"SVTCA["+t.axis+"]"),r.fv=r.pv=r.dpv=t}function kn(t,r){e.DEBUG&&console.log(r.step,"SPVTCA["+t.axis+"]"),r.pv=r.dpv=t}function En(t,r){e.DEBUG&&console.log(r.step,"SFVTCA["+t.axis+"]"),r.fv=t}function On(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.pv=r.dpv=vn(n,a)}function wn(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SFVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.fv=vn(n,a)}function Rn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.pv=t.dpv=vn(a,n)}function Ln(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.fv=vn(a,n)}function Cn(t){var r=t.stack,n=t.pv;e.DEBUG&&console.log(t.step,"GPV[]"),r.push(16384*n.x),r.push(16384*n.y)}function Dn(t){var r=t.stack,n=t.fv;e.DEBUG&&console.log(t.step,"GFV[]"),r.push(16384*n.x),r.push(16384*n.y)}function In(t){t.fv=t.pv,e.DEBUG&&console.log(t.step,"SFVTPV[]")}function Bn(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop(),o=r.pop(),i=r.pop(),u=t.z0,l=t.z1,p=u[n],c=u[a],h=l[s],f=l[o],d=t.z2[i];e.DEBUG&&console.log("ISECT[], ",n,a,s,o,i);var g=p.x,v=p.y,m=c.x,y=c.y,b=h.x,S=h.y,x=f.x,T=f.y,U=(g-m)*(S-T)-(v-y)*(b-x),k=g*y-v*m,E=b*T-S*x;d.x=(k*(b-x)-E*(g-m))/U,d.y=(k*(S-T)-E*(v-y))/U}function Fn(t){t.rp0=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP0[]",t.rp0)}function Gn(t){t.rp1=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP1[]",t.rp1)}function Mn(t){t.rp2=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP2[]",t.rp2)}function Nn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP0[]",r),t.zp0=r,r){case 0:t.tZone||xn(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function An(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP1[]",r),t.zp1=r,r){case 0:t.tZone||xn(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Pn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP2[]",r),t.zp2=r,r){case 0:t.tZone||xn(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function _n(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZPS[]",r),t.zp0=t.zp1=t.zp2=r,r){case 0:t.tZone||xn(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Hn(t){t.loop=t.stack.pop(),e.DEBUG&&console.log(t.step,"SLOOP[]",t.loop)}function zn(t){e.DEBUG&&console.log(t.step,"RTG[]"),t.round=on}function Wn(t){e.DEBUG&&console.log(t.step,"RTHG[]"),t.round=ln}function Vn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SMD[]",r),t.minDis=r/64}function qn(t){e.DEBUG&&console.log(t.step,"ELSE[]"),Tn(t,!1)}function Xn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"JMPR[]",r),t.ip+=r-1}function jn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCVTCI[]",r),t.cvCutIn=r/64}function Yn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DUP[]"),r.push(r[r.length-1])}function Zn(t){e.DEBUG&&console.log(t.step,"POP[]"),t.stack.pop()}function Qn(t){e.DEBUG&&console.log(t.step,"CLEAR[]"),t.stack.length=0}function Kn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SWAP[]"),r.push(n),r.push(a)}function Jn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DEPTH[]"),r.push(r.length)}function $n(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LOOPCALL[]",n,a);var s=t.ip,o=t.prog;t.prog=t.funcs[n];for(var i=0;i<a;i++)en(t),e.DEBUG&&console.log(++t.step,i+1<a?"next loopcall":"done loopcall",i);t.ip=s,t.prog=o}function ea(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"CALL[]",r);var n=t.ip,a=t.prog;t.prog=t.funcs[r],en(t),t.ip=n,t.prog=a,e.DEBUG&&console.log(++t.step,"returning from",r)}function ta(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CINDEX[]",n),r.push(r[r.length-n])}function ra(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"MINDEX[]",n),r.push(r.splice(r.length-n,1)[0])}function na(t){if("fpgm"!==t.env)throw new Error("FDEF not allowed here");var r=t.stack,n=t.prog,a=t.ip,s=r.pop(),o=a;for(e.DEBUG&&console.log(t.step,"FDEF[]",s);45!==n[++a];);t.ip=a,t.funcs[s]=n.slice(o+1,a)}function aa(t,r){var n=r.stack.pop(),a=r.z0[n],s=r.fv,o=r.pv;e.DEBUG&&console.log(r.step,"MDAP["+t+"]",n);var i=o.distance(a,yn);t&&(i=r.round(i)),s.setRelative(a,yn,i,o),s.touch(a),r.rp0=r.rp1=n}function sa(t,r){var n,a,s,o=r.z2,i=o.length-2;e.DEBUG&&console.log(r.step,"IUP["+t.axis+"]");for(var u=0;u<i;u++)n=o[u],t.touched(n)||(a=n.prevTouched(t))!==n&&(a===(s=n.nextTouched(t))&&t.setRelative(n,n,t.distance(a,a,!1,!0),t,!0),t.interpolate(n,a,s,t))}function oa(t,r){for(var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=r.loop,l=r.z2;u--;){var p=n.pop(),c=l[p],h=i.distance(s,s,!1,!0);o.setRelative(c,c,h,i),o.touch(c),e.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-u)+": ":"")+"SHP["+(t?"rp1":"rp2")+"]",p)}r.loop=1}function ia(t,r){var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=n.pop(),l=r.z2[r.contours[u]],p=l;e.DEBUG&&console.log(r.step,"SHC["+t+"]",u);var c=i.distance(s,s,!1,!0);do{p!==s&&o.setRelative(p,p,c,i),p=p.nextPointOnContour}while(p!==l)}function ua(t,r){var n,a,s=r.stack,o=t?r.rp1:r.rp2,i=(t?r.z0:r.z1)[o],u=r.fv,l=r.pv,p=s.pop();switch(e.DEBUG&&console.log(r.step,"SHZ["+t+"]",p),p){case 0:n=r.tZone;break;case 1:n=r.gZone;break;default:throw new Error("Invalid zone")}for(var c=l.distance(i,i,!1,!0),h=n.length-2,f=0;f<h;f++)a=n[f],u.setRelative(a,a,c,l)}function la(t){for(var r=t.stack,n=t.loop,a=t.fv,s=r.pop()/64,o=t.z2;n--;){var i=r.pop(),u=o[i];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-n)+": ":"")+"SHPIX[]",i,s),a.setRelative(u,u,s),a.touch(u)}t.loop=1}function pa(t){for(var r=t.stack,n=t.rp1,a=t.rp2,s=t.loop,o=t.z0[n],i=t.z1[a],u=t.fv,l=t.dpv,p=t.z2;s--;){var c=r.pop(),h=p[c];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"IP[]",c,n,"<->",a),u.interpolate(h,o,i,l),u.touch(h)}t.loop=1}function ca(t,r){var n=r.stack,a=n.pop()/64,s=n.pop(),o=r.z1[s],i=r.z0[r.rp0],u=r.fv,l=r.pv;u.setRelative(o,i,a,l),u.touch(o),e.DEBUG&&console.log(r.step,"MSIRP["+t+"]",a,s),r.rp1=r.rp0,r.rp2=s,t&&(r.rp0=s)}function ha(t){for(var r=t.stack,n=t.rp0,a=t.z0[n],s=t.loop,o=t.fv,i=t.pv,u=t.z1;s--;){var l=r.pop(),p=u[l];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"ALIGNRP[]",l),o.setRelative(p,a,0,i),o.touch(p)}t.loop=1}function fa(t){e.DEBUG&&console.log(t.step,"RTDG[]"),t.round=un}function da(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z0[s],i=r.fv,u=r.pv,l=r.cvt[a];e.DEBUG&&console.log(r.step,"MIAP["+t+"]",a,"(",l,")",s);var p=u.distance(o,yn);t&&(Math.abs(p-l)<r.cvCutIn&&(p=l),p=r.round(p)),i.setRelative(o,yn,p,u),0===r.zp0&&(o.xo=o.x,o.yo=o.y),i.touch(o),r.rp0=r.rp1=s}function ga(t){var r=t.prog,n=t.ip,a=t.stack,s=r[++n];e.DEBUG&&console.log(t.step,"NPUSHB[]",s);for(var o=0;o<s;o++)a.push(r[++n]);t.ip=n}function va(t){var r=t.ip,n=t.prog,a=t.stack,s=n[++r];e.DEBUG&&console.log(t.step,"NPUSHW[]",s);for(var o=0;o<s;o++){var i=n[++r]<<8|n[++r];32768&i&&(i=-(1+(65535^i))),a.push(i)}t.ip=r}function ma(t){var r=t.stack,n=t.store;n||(n=t.store=[]);var a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"WS",a,s),n[s]=a}function ya(t){var r=t.stack,n=t.store,a=r.pop();e.DEBUG&&console.log(t.step,"RS",a);var s=n&&n[a]||0;r.push(s)}function ba(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTP",n,a),t.cvt[a]=n/64}function Sa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"RCVT",n),r.push(64*t.cvt[n])}function xa(t,r){var n=r.stack,a=n.pop(),s=r.z2[a];e.DEBUG&&console.log(r.step,"GC["+t+"]",a),n.push(64*r.dpv.distance(s,yn,t,!1))}function Ta(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z1[a],i=r.z0[s],u=r.dpv.distance(i,o,t,t);e.DEBUG&&console.log(r.step,"MD["+t+"]",a,s,"->",u),r.stack.push(Math.round(64*u))}function Ua(t){e.DEBUG&&console.log(t.step,"MPPEM[]"),t.stack.push(t.ppem)}function ka(t){e.DEBUG&&console.log(t.step,"FLIPON[]"),t.autoFlip=!0}function Ea(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LT[]",n,a),r.push(a<n?1:0)}function Oa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LTEQ[]",n,a),r.push(a<=n?1:0)}function wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GT[]",n,a),r.push(a>n?1:0)}function Ra(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GTEQ[]",n,a),r.push(a>=n?1:0)}function La(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"EQ[]",n,a),r.push(n===a?1:0)}function Ca(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"NEQ[]",n,a),r.push(n!==a?1:0)}function Da(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ODD[]",n),r.push(Math.trunc(n)%2?1:0)}function Ia(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"EVEN[]",n),r.push(Math.trunc(n)%2?0:1)}function Ba(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"IF[]",r),r||(Tn(t,!0),e.DEBUG&&console.log(t.step,"EIF[]"))}function Fa(t){e.DEBUG&&console.log(t.step,"EIF[]")}function Ga(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"AND[]",n,a),r.push(n&&a?1:0)}function Ma(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"OR[]",n,a),r.push(n||a?1:0)}function Na(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NOT[]",n),r.push(n?0:1)}function Aa(t,r){var n=r.stack,a=n.pop(),s=r.fv,o=r.pv,i=r.ppem,u=r.deltaBase+16*(t-1),l=r.deltaShift,p=r.z0;e.DEBUG&&console.log(r.step,"DELTAP["+t+"]",a,n);for(var c=0;c<a;c++){var h=n.pop(),f=n.pop();if(u+((240&f)>>4)===i){var d=(15&f)-8;d>=0&&d++,e.DEBUG&&console.log(r.step,"DELTAPFIX",h,"by",d*l);var g=p[h];s.setRelative(g,g,d*l,o)}}}function Pa(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDB[]",r),t.deltaBase=r}function _a(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDS[]",r),t.deltaShift=Math.pow(.5,r)}function Ha(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"ADD[]",n,a),r.push(a+n)}function za(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SUB[]",n,a),r.push(a-n)}function Wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"DIV[]",n,a),r.push(64*a/n)}function Va(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MUL[]",n,a),r.push(a*n/64)}function qa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ABS[]",n),r.push(Math.abs(n))}function Xa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NEG[]",n),r.push(-n)}function ja(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"FLOOR[]",n),r.push(64*Math.floor(n/64))}function Ya(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CEILING[]",n),r.push(64*Math.ceil(n/64))}function Za(t,r){var n=r.stack,a=n.pop();e.DEBUG&&console.log(r.step,"ROUND[]"),n.push(64*r.round(a/64))}function Qa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTF[]",n,a),t.cvt[a]=n*t.ppem/t.font.unitsPerEm}function Ka(t,r){var n=r.stack,a=n.pop(),s=r.ppem,o=r.deltaBase+16*(t-1),i=r.deltaShift;e.DEBUG&&console.log(r.step,"DELTAC["+t+"]",a,n);for(var u=0;u<a;u++){var l=n.pop(),p=n.pop();if(o+((240&p)>>4)===s){var c=(15&p)-8;c>=0&&c++;var h=c*i;e.DEBUG&&console.log(r.step,"DELTACFIX",l,"by",h),r.cvt[l]+=h}}}function Ja(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SROUND[]",n),t.round=hn,192&n){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function $a(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"S45ROUND[]",n),t.round=hn,192&n){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function es(t){e.DEBUG&&console.log(t.step,"ROFF[]"),t.round=sn}function ts(t){e.DEBUG&&console.log(t.step,"RUTG[]"),t.round=pn}function rs(t){e.DEBUG&&console.log(t.step,"RDTG[]"),t.round=cn}function ns(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANCTRL[]",r)}function as(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log(r.step,"SDPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.dpv=vn(n,a)}function ss(t){var r=t.stack,n=r.pop(),a=0;e.DEBUG&&console.log(t.step,"GETINFO[]",n),1&n&&(a=35),32&n&&(a|=4096),r.push(a)}function os(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"ROLL[]"),r.push(a),r.push(n),r.push(s)}function is(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MAX[]",n,a),r.push(Math.max(a,n))}function us(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MIN[]",n,a),r.push(Math.min(a,n))}function ls(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANTYPE[]",r)}function ps(t){var r=t.stack.pop(),n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"INSTCTRL[]",r,n),r){case 1:return void(t.inhibitGridFit=!!n);case 2:return void(t.ignoreCvt=!!n);default:throw new Error("invalid INSTCTRL[] selector")}}function cs(t,r){var n=r.stack,a=r.prog,s=r.ip;e.DEBUG&&console.log(r.step,"PUSHB["+t+"]");for(var o=0;o<t;o++)n.push(a[++s]);r.ip=s}function hs(t,r){var n=r.ip,a=r.prog,s=r.stack;e.DEBUG&&console.log(r.ip,"PUSHW["+t+"]");for(var o=0;o<t;o++){var i=a[++n]<<8|a[++n];32768&i&&(i=-(1+(65535^i))),s.push(i)}r.ip=n}function fs(t,r,n,a,s,o){var i,u,l,p,c=o.stack,h=t&&c.pop(),f=c.pop(),d=o.rp0,g=o.z0[d],v=o.z1[f],m=o.minDis,y=o.fv,b=o.dpv;l=(u=i=b.distance(v,g,!0,!0))>=0?1:-1,u=Math.abs(u),t&&(p=o.cvt[h],a&&Math.abs(u-p)<o.cvCutIn&&(u=p)),n&&u<m&&(u=m),a&&(u=o.round(u)),y.setRelative(v,g,l*u,b),y.touch(v),e.DEBUG&&console.log(o.step,(t?"MIRP[":"MDRP[")+(r?"M":"m")+(n?">":"_")+(a?"R":"_")+(0===s?"Gr":1===s?"Bl":2===s?"Wh":"")+"]",t?h+"("+o.cvt[h]+","+p+")":"",f,"(d =",i,"->",l*u,")"),o.rp1=o.rp0,o.rp2=f,r&&(o.rp0=f)}function ds(e){this.char=e,this.state={},this.activeState=null}function gs(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function vs(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function ms(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function ys(e){this.eventId=e,this.subscribers=[]}function bs(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new ys(e)})})),e&&r.forEach((function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)})),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Ss(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],bs.call(this,e)}function xs(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Ts(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Us(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function ks(e){return/[A-z]/.test(e)}function Es(e){return/\s/.test(e)}function Os(e){this.font=e,this.features={}}function ws(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Rs(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n<r.length;n++){var a=r[n];if(e>=a.start&&e<=a.end){var s=e-a.start;return a.index+s}}break;default:return-1}return-1}function Ls(e,t){return-1===Rs(e,t.coverage)?null:e+t.deltaGlyphId}function Cs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.substitute[r]}function Ds(e,t){for(var r=[],n=0;n<e.length;n++){var a=e[n],s=t.current,o=Rs(s=Array.isArray(s)?s[0]:s,a);-1!==o&&r.push(o)}return r.length!==e.length?-1:r}function Is(e,t){var r=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<r)return[];var n=Ds(t.inputCoverage,e);if(-1===n)return[];var a=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];for(var s=e.lookahead.slice(a);s.length&&Us(s[0].char);)s.shift();var o=new ms(s,0),i=Ds(t.lookaheadCoverage,o),u=[].concat(e.backtrack);for(u.reverse();u.length&&Us(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new ms(u,0),p=Ds(t.backtrackCoverage,l),c=[];if(n.length===t.inputCoverage.length&&i.length===t.lookaheadCoverage.length&&p.length===t.backtrackCoverage.length)for(var h=0;h<t.lookupRecords.length;h++)for(var f=t.lookupRecords[h].lookupListIndex,d=this.getLookupByIndex(f),g=0;g<d.subtables.length;g++){var v=d.subtables[g],m=this.getLookupMethod(d,v);if("12"===this.getSubstitutionType(d,v))for(var y=0;y<n.length;y++){var b=m(e.get(y));b&&c.push(b)}}return c}function Bs(e,t){var r,n=Rs(e.current,t.coverage);if(-1===n)return null;for(var a=t.ligatureSets[n],s=0;s<a.length;s++){r=a[s];for(var o=0;o<r.components.length&&e.lookahead[o]===r.components[o];o++)if(o===r.components.length-1)return r}return null}function Fs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.sequences[r]}function Gs(e){var t=e.current,r=e.get(-1);return null===r&&xs(t)||!xs(r)&&xs(t)}function Ms(e){var t=e.get(1);return null===t||!xs(t)}an.prototype.exec=function(t,r){if("number"!=typeof r)throw new Error("Point size is not a number!");if(!(this._errorState>2)){var n=this.font,a=this._prepState;if(!a||a.ppem!==r){var s=this._fpgmState;if(!s){Sn.prototype=bn,(s=this._fpgmState=new Sn("fpgm",n.tables.fpgm)).funcs=[],s.font=n,e.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{en(s)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}Sn.prototype=s,(a=this._prepState=new Sn("prep",n.tables.prep)).ppem=r;var o=n.tables.cvt;if(o)for(var i=a.cvt=new Array(o.length),u=r/n.unitsPerEm,l=0;l<o.length;l++)i[l]=o[l]*u;else a.cvt=[];e.DEBUG&&(console.log("---EXEC PREP---"),a.step=-1);try{en(a)}catch(e){this._errorState<2&&console.log("Hinting error in PREP:"+e),this._errorState=2}}if(!(this._errorState>1))try{return tn(t,a)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},tn=function(t,r){var n,a,s,o=r.ppem/r.font.unitsPerEm,i=o,u=t.components;if(Sn.prototype=r,u){var l=r.font;a=[],n=[];for(var p=0;p<u.length;p++){var c=u[p],h=l.glyphs.get(c.glyphIndex);s=new Sn("glyf",h.instructions),e.DEBUG&&(console.log("---EXEC COMP "+p+"---"),s.step=-1),rn(h,s,o,i);for(var f=Math.round(c.dx*o),d=Math.round(c.dy*i),g=s.gZone,v=s.contours,m=0;m<g.length;m++){var y=g[m];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+f,y.yo=y.y=y.y+d}var b=a.length;a.push.apply(a,g);for(var S=0;S<v.length;S++)n.push(v[S]+b)}t.instructions&&!s.inhibitGridFit&&((s=new Sn("glyf",t.instructions)).gZone=s.z0=s.z1=s.z2=a,s.contours=n,a.push(new mn(0,0),new mn(Math.round(t.advanceWidth*o),0)),e.DEBUG&&(console.log("---EXEC COMPOSITE---"),s.step=-1),en(s),a.length-=2)}else s=new Sn("glyf",t.instructions),e.DEBUG&&(console.log("---EXEC GLYPH---"),s.step=-1),rn(t,s,o,i),a=s.gZone;return a},rn=function(t,r,n,a){for(var s,o,i,u=t.points||[],l=u.length,p=r.gZone=r.z0=r.z1=r.z2=[],c=r.contours=[],h=0;h<l;h++)s=u[h],p[h]=new mn(s.x*n,s.y*a,s.lastPointOfContour,s.onCurve);for(var f=0;f<l;f++)s=p[f],o||(o=s,c.push(f)),s.lastPointOfContour?(s.nextPointOnContour=o,o.prevPointOnContour=s,o=void 0):(i=p[f+1],s.nextPointOnContour=i,i.prevPointOnContour=s);if(!r.inhibitGridFit){if(e.DEBUG){console.log("PROCESSING GLYPH",r.stack);for(var d=0;d<l;d++)console.log(d,p[d].x,p[d].y)}if(p.push(new mn(0,0),new mn(Math.round(t.advanceWidth*n),0)),en(r),p.length-=2,e.DEBUG){console.log("FINISHED GLYPH",r.stack);for(var g=0;g<l;g++)console.log(g,p[g].x,p[g].y)}}},en=function(t){var r=t.prog;if(r){var n,a=r.length;for(t.ip=0;t.ip<a;t.ip++){if(e.DEBUG&&t.step++,!(n=$r[r[t.ip]]))throw new Error("unknown instruction: 0x"+Number(r[t.ip]).toString(16));n(t)}}},$r=[Un.bind(void 0,dn),Un.bind(void 0,fn),kn.bind(void 0,dn),kn.bind(void 0,fn),En.bind(void 0,dn),En.bind(void 0,fn),On.bind(void 0,0),On.bind(void 0,1),wn.bind(void 0,0),wn.bind(void 0,1),Rn,Ln,Cn,Dn,In,Bn,Fn,Gn,Mn,Nn,An,Pn,_n,Hn,zn,Wn,Vn,qn,Xn,jn,void 0,void 0,Yn,Zn,Qn,Kn,Jn,ta,ra,void 0,void 0,void 0,$n,ea,na,void 0,aa.bind(void 0,0),aa.bind(void 0,1),sa.bind(void 0,dn),sa.bind(void 0,fn),oa.bind(void 0,0),oa.bind(void 0,1),ia.bind(void 0,0),ia.bind(void 0,1),ua.bind(void 0,0),ua.bind(void 0,1),la,pa,ca.bind(void 0,0),ca.bind(void 0,1),ha,fa,da.bind(void 0,0),da.bind(void 0,1),ga,va,ma,ya,ba,Sa,xa.bind(void 0,0),xa.bind(void 0,1),void 0,Ta.bind(void 0,0),Ta.bind(void 0,1),Ua,void 0,ka,void 0,void 0,Ea,Oa,wa,Ra,La,Ca,Da,Ia,Ba,Fa,Ga,Ma,Na,Aa.bind(void 0,1),Pa,_a,Ha,za,Wa,Va,qa,Xa,ja,Ya,Za.bind(void 0,0),Za.bind(void 0,1),Za.bind(void 0,2),Za.bind(void 0,3),void 0,void 0,void 0,void 0,Qa,Aa.bind(void 0,2),Aa.bind(void 0,3),Ka.bind(void 0,1),Ka.bind(void 0,2),Ka.bind(void 0,3),Ja,$a,void 0,void 0,es,void 0,ts,rs,Zn,Zn,void 0,void 0,void 0,void 0,void 0,ns,as.bind(void 0,0),as.bind(void 0,1),ss,void 0,os,is,us,ls,ps,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,cs.bind(void 0,1),cs.bind(void 0,2),cs.bind(void 0,3),cs.bind(void 0,4),cs.bind(void 0,5),cs.bind(void 0,6),cs.bind(void 0,7),cs.bind(void 0,8),hs.bind(void 0,1),hs.bind(void 0,2),hs.bind(void 0,3),hs.bind(void 0,4),hs.bind(void 0,5),hs.bind(void 0,6),hs.bind(void 0,7),hs.bind(void 0,8),fs.bind(void 0,0,0,0,0,0),fs.bind(void 0,0,0,0,0,1),fs.bind(void 0,0,0,0,0,2),fs.bind(void 0,0,0,0,0,3),fs.bind(void 0,0,0,0,1,0),fs.bind(void 0,0,0,0,1,1),fs.bind(void 0,0,0,0,1,2),fs.bind(void 0,0,0,0,1,3),fs.bind(void 0,0,0,1,0,0),fs.bind(void 0,0,0,1,0,1),fs.bind(void 0,0,0,1,0,2),fs.bind(void 0,0,0,1,0,3),fs.bind(void 0,0,0,1,1,0),fs.bind(void 0,0,0,1,1,1),fs.bind(void 0,0,0,1,1,2),fs.bind(void 0,0,0,1,1,3),fs.bind(void 0,0,1,0,0,0),fs.bind(void 0,0,1,0,0,1),fs.bind(void 0,0,1,0,0,2),fs.bind(void 0,0,1,0,0,3),fs.bind(void 0,0,1,0,1,0),fs.bind(void 0,0,1,0,1,1),fs.bind(void 0,0,1,0,1,2),fs.bind(void 0,0,1,0,1,3),fs.bind(void 0,0,1,1,0,0),fs.bind(void 0,0,1,1,0,1),fs.bind(void 0,0,1,1,0,2),fs.bind(void 0,0,1,1,0,3),fs.bind(void 0,0,1,1,1,0),fs.bind(void 0,0,1,1,1,1),fs.bind(void 0,0,1,1,1,2),fs.bind(void 0,0,1,1,1,3),fs.bind(void 0,1,0,0,0,0),fs.bind(void 0,1,0,0,0,1),fs.bind(void 0,1,0,0,0,2),fs.bind(void 0,1,0,0,0,3),fs.bind(void 0,1,0,0,1,0),fs.bind(void 0,1,0,0,1,1),fs.bind(void 0,1,0,0,1,2),fs.bind(void 0,1,0,0,1,3),fs.bind(void 0,1,0,1,0,0),fs.bind(void 0,1,0,1,0,1),fs.bind(void 0,1,0,1,0,2),fs.bind(void 0,1,0,1,0,3),fs.bind(void 0,1,0,1,1,0),fs.bind(void 0,1,0,1,1,1),fs.bind(void 0,1,0,1,1,2),fs.bind(void 0,1,0,1,1,3),fs.bind(void 0,1,1,0,0,0),fs.bind(void 0,1,1,0,0,1),fs.bind(void 0,1,1,0,0,2),fs.bind(void 0,1,1,0,0,3),fs.bind(void 0,1,1,0,1,0),fs.bind(void 0,1,1,0,1,1),fs.bind(void 0,1,1,0,1,2),fs.bind(void 0,1,1,0,1,3),fs.bind(void 0,1,1,1,0,0),fs.bind(void 0,1,1,1,0,1),fs.bind(void 0,1,1,1,0,2),fs.bind(void 0,1,1,1,0,3),fs.bind(void 0,1,1,1,1,0),fs.bind(void 0,1,1,1,1,1),fs.bind(void 0,1,1,1,1,2),fs.bind(void 0,1,1,1,1,3)],ds.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},ds.prototype.getState=function(e){return this.state[e]||null},Ss.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},Ss.prototype.composeRUD=function(e){var t=this,r=!0,n=e.map((function(e){return t[e[0]].apply(t,e.slice(1).concat(r))})),a=function(e){return"object"==typeof e&&e.hasOwnProperty("FAIL")};if(n.every(a))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:n.filter(a)};this.dispatch("composeRUD",[n.filter((function(e){return!a(e)}))])},Ss.prototype.replaceRange=function(e,t,r,n){t=null!==t?t:this.tokens.length;var a=r.every((function(e){return e instanceof ds}));if(!isNaN(e)&&this.inboundIndex(e)&&a){var s=this.tokens.splice.apply(this.tokens,[e,t].concat(r));return n||this.dispatch("replaceToken",[e,t,r]),[s,r]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Ss.prototype.replaceToken=function(e,t,r){if(!isNaN(e)&&this.inboundIndex(e)&&t instanceof ds){var n=this.tokens.splice(e,1,t);return r||this.dispatch("replaceToken",[e,t]),[n[0],t]}return{FAIL:"replaceToken: invalid token or index."}},Ss.prototype.removeRange=function(e,t,r){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(e,t);return r||this.dispatch("removeRange",[n,e,t]),n},Ss.prototype.removeToken=function(e,t){if(!isNaN(e)&&this.inboundIndex(e)){var r=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[r,e]),r}return{FAIL:"removeToken: invalid token index."}},Ss.prototype.insertToken=function(e,t,r){return e.every((function(e){return e instanceof ds}))?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),r||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},Ss.prototype.registerModifier=function(e,t,r){this.events.newToken.subscribe((function(n,a){var s=[n,a],o=[n,a];if(null===t||!0===t.apply(this,s)){var i=r.apply(this,o);n.setState(e,i)}})),this.registeredModifiers.push(e)},ys.prototype.subscribe=function(e){return"function"==typeof e?this.subscribers.push(e)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},ys.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},ms.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},ms.prototype.get=function(e){switch(!0){case 0===e:return this.current;case e<0&&Math.abs(e)<=this.backtrack.length:return this.backtrack.slice(e)[0];case e>0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Ss.prototype.rangeToText=function(e){if(e instanceof gs)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Ss.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Ss.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Ss.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Ss.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof ys&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Ss.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new vs(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Ss.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Ss.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Ss.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},Ss.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t<e.length;t++){var r=new ms(e,t);this.runContextCheck(r)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Ss.prototype.setEndOffset=function(e,t){var r=new gs(this.getContext(t).openRange.startIndex,e,t),n=this.getContext(t).ranges;return r.rangeId=t+"."+n.length,n.push(r),this.getContext(t).openRange=null,r},Ss.prototype.runContextCheck=function(e){var t=this,r=e.index;this.contextCheckers.forEach((function(n){var a=n.contextName,s=t.getContext(a).openRange;if(!s&&n.checkStart(e)&&(s=new gs(r,null,a),t.getContext(a).openRange=s,t.dispatch("contextStart",[a,r])),s&&n.checkEnd(e)){var o=r-s.startIndex+1,i=t.setEndOffset(o,a);t.dispatch("contextEnd",[a,i])}}))},Ss.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();var t=Array.from(e);this.dispatch("start");for(var r=0;r<t.length;r++){var n=t[r],a=new ms(t,r);this.dispatch("next",[a]),this.runContextCheck(a);var s=new ds(n);this.tokens.push(s),this.dispatch("newToken",[s,a])}return this.dispatch("end",[this.tokens]),this.tokens},Os.prototype.getDefaultScriptFeaturesIndexes=function(){for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var r=e[t];if("DFLT"===r.tag)return r.script.defaultLangSys.featureIndexes}return[]},Os.prototype.getScriptFeaturesIndexes=function(e){if(!this.font.tables.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();for(var t=this.font.tables.gsub.scripts,r=0;r<t.length;r++){var n=t[r];if(n.tag===e&&n.script.defaultLangSys)return n.script.defaultLangSys.featureIndexes;var a=n.langSysRecords;if(a)for(var s=0;s<a.length;s++){var o=a[s];if(o.tag===e)return o.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},Os.prototype.mapTagsToFeatures=function(e,t){for(var r={},n=0;n<e.length;n++){var a=e[n].tag,s=e[n].feature;r[a]=s}this.features[t].tags=r},Os.prototype.getScriptFeatures=function(e){var t=this.features[e];if(this.features.hasOwnProperty(e))return t;var r=this.getScriptFeaturesIndexes(e);if(!r)return null;var n=this.font.tables.gsub;return t=r.map((function(e){return n.features[e]})),this.features[e]=t,this.mapTagsToFeatures(t,e),t},Os.prototype.getSubstitutionType=function(e,t){return e.lookupType.toString()+t.substFormat.toString()},Os.prototype.getLookupMethod=function(e,t){var r=this;switch(this.getSubstitutionType(e,t)){case"11":return function(e){return Ls.apply(r,[e,t])};case"12":return function(e){return Cs.apply(r,[e,t])};case"63":return function(e){return Is.apply(r,[e,t])};case"41":return function(e){return Bs.apply(r,[e,t])};case"21":return function(e){return Fs.apply(r,[e,t])};default:throw new Error("lookupType: "+e.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},Os.prototype.lookupFeature=function(e){var t=e.contextParams,r=t.index,n=this.getFeature({tag:e.tag,script:e.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+e.tag+"' for script '"+e.script+"'.");for(var a=this.getFeatureLookups(n),s=[].concat(t.context),o=0;o<a.length;o++)for(var i=a[o],u=this.getLookupSubtables(i),l=0;l<u.length;l++){var p=u[l],c=this.getSubstitutionType(i,p),h=this.getLookupMethod(i,p),f=void 0;switch(c){case"11":(f=h(t.current))&&s.splice(r,1,new ws({id:11,tag:e.tag,substitution:f}));break;case"12":(f=h(t.current))&&s.splice(r,1,new ws({id:12,tag:e.tag,substitution:f}));break;case"63":f=h(t),Array.isArray(f)&&f.length&&s.splice(r,1,new ws({id:63,tag:e.tag,substitution:f}));break;case"41":(f=h(t))&&s.splice(r,1,new ws({id:41,tag:e.tag,substitution:f}));break;case"21":(f=h(t.current))&&s.splice(r,1,new ws({id:21,tag:e.tag,substitution:f}))}t=new ms(s,r),Array.isArray(f)&&!f.length||(f=null)}return s.length?s:null},Os.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);var t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;var r=this.features[e.script].some((function(t){return t.tag===e.tag}));return t&&r},Os.prototype.getLookupSubtables=function(e){return e.subtables||null},Os.prototype.getLookupByIndex=function(e){return this.font.tables.gsub.lookups[e]||null},Os.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Os.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);var t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:"No feature for script "+e.script}};var Ns={startCheck:Gs,endCheck:Ms};function As(e){var t=e.current,r=e.get(-1);return(xs(t)||Us(t))&&!xs(r)}function Ps(e){var t=e.get(1);switch(!0){case null===t:return!0;case!xs(t)&&!Us(t):var r=Es(t);if(!r)return!0;if(r&&!e.lookahead.some((function(e){return xs(e)||Us(e)})))return!0;break;default:return!1}}var _s={startCheck:As,endCheck:Ps};function Hs(e,t,r){t[r].setState(e.tag,e.substitution)}function zs(e,t,r){t[r].setState(e.tag,e.substitution)}function Ws(e,t,r){e.substitution.forEach((function(n,a){t[r+a].setState(e.tag,n)}))}function Vs(e,t,r){var n=t[r];n.setState(e.tag,e.substitution.ligGlyph);for(var a=e.substitution.components.length,s=0;s<a;s++)(n=t[r+s+1]).setState("deleted",!0)}var qs={11:Hs,12:zs,63:Ws,41:Vs};function Xs(e,t,r){e instanceof ws&&qs[e.id]&&qs[e.id](e,t,r)}function js(e){for(var t=[].concat(e.backtrack),r=t.length-1;r>=0;r--){var n=t[r],a=Ts(n),s=Us(n);if(!a&&!s)return!0;if(a)return!1}return!1}function Ys(e){if(Ts(e.current))return!1;for(var t=0;t<e.lookahead.length;t++)if(!Us(e.lookahead[t]))return!0;return!1}function Zs(e){var t=this,r="arab",n=this.featuresTags[r],a=this.tokenizer.getRangeTokens(e);if(1!==a.length){var s=new ms(a.map((function(e){return e.getState("glyphIndex")})),0),o=new ms(a.map((function(e){return e.char})),0);a.forEach((function(e,i){if(!Us(e.char)){s.setCurrentIndex(i),o.setCurrentIndex(i);var u,l=0;switch(js(o)&&(l|=1),Ys(o)&&(l|=2),l){case 1:u="fina";break;case 2:u="init";break;case 3:u="medi"}if(-1!==n.indexOf(u)){var p=t.query.lookupFeature({tag:u,script:r,contextParams:s});if(p instanceof Error)return console.info(p.message);p.forEach((function(e,t){e instanceof ws&&(Xs(e,a,t),s.context[t]=e.substitution)}))}}}))}}function Qs(e,t){return new ms(e.map((function(e){return e.activeState.value})),t||0)}function Ks(e){var t=this,r="arab",n=this.tokenizer.getRangeTokens(e),a=Qs(n);a.context.forEach((function(e,s){a.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"rlig",script:r,contextParams:a});o.length&&(o.forEach((function(e){return Xs(e,n,s)})),a=Qs(n))}))}function Js(e){var t=e.current,r=e.get(-1);return null===r&&ks(t)||!ks(r)&&ks(t)}function $s(e){var t=e.get(1);return null===t||!ks(t)}var eo={startCheck:Js,endCheck:$s};function to(e,t){return new ms(e.map((function(e){return e.activeState.value})),t||0)}function ro(e){var t=this,r="latn",n=this.tokenizer.getRangeTokens(e),a=to(n);a.context.forEach((function(e,s){a.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"liga",script:r,contextParams:a});o.length&&(o.forEach((function(e){return Xs(e,n,s)})),a=to(n))}))}function no(e){this.baseDir=e||"ltr",this.tokenizer=new Ss,this.featuresTags={}}function ao(e){var t=this.contextChecks[e+"Check"];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function so(){return ao.call(this,"latinWord"),ao.call(this,"arabicWord"),ao.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function oo(){var e=this;this.tokenizer.getContextRanges("arabicSentence").forEach((function(t){var r=e.tokenizer.getRangeTokens(t);e.tokenizer.replaceRange(t.startIndex,t.endOffset,r.reverse())}))}function io(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function uo(){var e=this,t="arab";this.featuresTags.hasOwnProperty(t)&&(io.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Zs.call(e,t)})))}function lo(){var e=this,t="arab";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("rlig")&&(io.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Ks.call(e,t)})))}function po(){var e=this,t="latn";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("liga")&&(io.call(this),this.tokenizer.getContextRanges("latinWord").forEach((function(t){ro.call(e,t)})))}function co(e){(e=e||{}).tables=e.tables||{},e.empty||(Wr(e.familyName,"When creating a new Font object, familyName is required."),Wr(e.styleName,"When creating a new Font object, styleName is required."),Wr(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Wr(e.ascender,"When creating a new Font object, ascender is required."),Wr(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new qe.GlyphSet(this,e.glyphs||[]),this.encoding=new Le(this),this.position=new Mr(this),this.substitution=new Nr(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new an(this):void 0}})}function ho(e,t){var r=JSON.stringify(e),n=256;for(var a in t){var s=parseInt(a);if(s&&!(s<256)){if(JSON.stringify(t[a])===r)return s;n<=s&&(n=s+1)}}return t[n]=e,n}function fo(e,t,r){var n=ho(t.name,r);return[{name:"tag_"+e,type:"TAG",value:t.tag},{name:"minValue_"+e,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+e,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+e,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+e,type:"USHORT",value:0},{name:"nameID_"+e,type:"USHORT",value:n}]}function go(e,t,r){var n={},a=new me.Parser(e,t);return n.tag=a.parseTag(),n.minValue=a.parseFixed(),n.defaultValue=a.parseFixed(),n.maxValue=a.parseFixed(),a.skip("uShort",1),n.name=r[a.parseUShort()]||{},n}function vo(e,t,r,n){for(var a=[{name:"nameID_"+e,type:"USHORT",value:ho(t.name,n)},{name:"flags_"+e,type:"USHORT",value:0}],s=0;s<r.length;++s){var o=r[s].tag;a.push({name:"axis_"+e+" "+o,type:"FIXED",value:t.coordinates[o]<<16})}return a}function mo(e,t,r,n){var a={},s=new me.Parser(e,t);a.name=n[s.parseUShort()]||{},s.skip("uShort",1),a.coordinates={};for(var o=0;o<r.length;++o)a.coordinates[r[o].tag]=s.parseFixed();return a}function yo(e,t){var r=new ae.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:e.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:e.instances.length},{name:"instanceSize",type:"USHORT",value:4+4*e.axes.length}]);r.offsetToData=r.sizeOf();for(var n=0;n<e.axes.length;n++)r.fields=r.fields.concat(fo(n,e.axes[n],t));for(var a=0;a<e.instances.length;a++)r.fields=r.fields.concat(vo(a,e.instances[a],e.axes,t));return r}function bo(e,t,r){var n=new me.Parser(e,t),a=n.parseULong();F.argument(65536===a,"Unsupported fvar table version.");var s=n.parseOffset16();n.skip("uShort",1);for(var o=n.parseUShort(),i=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),p=[],c=0;c<o;c++)p.push(go(e,t+s+c*i,r));for(var h=[],f=t+s+o*i,d=0;d<u;d++)h.push(mo(e,f+d*l,p,r));return{axes:p,instances:h}}no.prototype.setText=function(e){this.text=e},no.prototype.contextChecks={latinWordCheck:eo,arabicWordCheck:Ns,arabicSentenceCheck:_s},no.prototype.registerFeatures=function(e,t){var r=this,n=t.filter((function(t){return r.query.supports({script:e,tag:t})}));this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(n):this.featuresTags[e]=n},no.prototype.applyFeatures=function(e,t){if(!e)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Os(e));for(var r=0;r<t.length;r++){var n=t[r];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}},no.prototype.registerModifier=function(e,t,r){this.tokenizer.registerModifier(e,t,r)},no.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},no.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(uo.call(this),lo.call(this)),this.checkContextReady("latinWord")&&po.call(this),this.checkContextReady("arabicSentence")&&oo.call(this)},no.prototype.processText=function(e){this.text&&this.text===e||(this.setText(e),so.call(this),this.applyFeaturesToContexts())},no.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},no.prototype.getTextGlyphs=function(e){this.processText(e);for(var t=[],r=0;r<this.tokenizer.tokens.length;r++){var n=this.tokenizer.tokens[r];if(!n.state.deleted){var a=n.activeState.value;t.push(Array.isArray(a)?a[0]:a)}}return t},co.prototype.hasChar=function(e){return null!==this.encoding.charToGlyphIndex(e)},co.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},co.prototype.charToGlyph=function(e){var t=this.charToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},co.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map((function(t){return"latn"===t.script?{script:"latn",tags:t.tags.filter((function(t){return e[t]}))}:t}))},co.prototype.stringToGlyphs=function(e,t){var r=this,n=new no,a=function(e){return r.charToGlyphIndex(e.char)};n.registerModifier("glyphIndex",null,a);var s=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,s);for(var o=n.getTextGlyphs(e),i=o.length,u=new Array(i),l=this.glyphs.get(0),p=0;p<i;p+=1)u[p]=this.glyphs.get(o[p])||l;return u},co.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},co.prototype.nameToGlyph=function(e){var t=this.nameToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},co.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},co.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;var r=this.position.defaultKerningTables;return r?this.position.getKerningValue(r,e,t):this.kerningPairs[e+","+t]||0},co.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},co.prototype.forEachGlyph=function(e,t,r,n,a,s){t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:72,a=Object.assign({},this.defaultRenderOptions,a);var o,i=1/this.unitsPerEm*n,u=this.stringToGlyphs(e,a);if(a.kerning){var l=a.script||this.position.getDefaultScriptName();o=this.position.getKerningTables(l,a.language)}for(var p=0;p<u.length;p+=1){var c=u[p];s.call(this,c,t,r,n,a),c.advanceWidth&&(t+=c.advanceWidth*i),a.kerning&&p<u.length-1&&(t+=(o?this.position.getKerningValue(o,c.index,u[p+1].index):this.getKerningValue(c,u[p+1]))*i),a.letterSpacing?t+=a.letterSpacing*n:a.tracking&&(t+=a.tracking/1e3*n)}return t},co.prototype.getPath=function(e,t,r,n,a){var s=new D;return this.forEachGlyph(e,t,r,n,a,(function(e,t,r,n){var o=e.getPath(t,r,n,a,this);s.extend(o)})),s},co.prototype.getPaths=function(e,t,r,n,a){var s=[];return this.forEachGlyph(e,t,r,n,a,(function(e,t,r,n){var o=e.getPath(t,r,n,a,this);s.push(o)})),s},co.prototype.getAdvanceWidth=function(e,t,r){return this.forEachGlyph(e,0,0,t,r,(function(){}))},co.prototype.draw=function(e,t,r,n,a,s){this.getPath(t,r,n,a,s).draw(e)},co.prototype.drawPoints=function(e,t,r,n,a,s){this.forEachGlyph(t,r,n,a,s,(function(t,r,n,a){t.drawPoints(e,r,n,a)}))},co.prototype.drawMetrics=function(e,t,r,n,a,s){this.forEachGlyph(t,r,n,a,s,(function(t,r,n,a){t.drawMetrics(e,r,n,a)}))},co.prototype.getEnglishName=function(e){var t=this.names[e];if(t)return t.en},co.prototype.validate=function(){var e=this;function t(e,t){}function r(r){var n=e.getEnglishName(r);t(n&&n.trim().length>0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},co.prototype.toTables=function(){return Dr.fontToTable(this)},co.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},co.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;n++)r[n]=e[n];return t},co.prototype.download=function(e){var t=this.getEnglishName("fontFamily"),n=this.getEnglishName("fontSubfamily");e=e||t.replace(/\s/g,"")+"-"+n+".otf";var a=this.toArrayBuffer();if(_r())if(window.URL=window.URL||window.webkitURL,window.URL){var s=new DataView(a),o=new Blob([s],{type:"font/opentype"}),i=document.createElement("a");i.href=window.URL.createObjectURL(o),i.download=e;var u=document.createEvent("MouseEvents");u.initEvent("click",!0,!1),i.dispatchEvent(u)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var l=r(256),p=zr(a);l.writeFileSync(e,p)}},co.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},co.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},co.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var So={make:yo,parse:bo},xo=function(){return{coverage:this.parsePointer(ge.coverage),attachPoints:this.parseList(ge.pointer(ge.uShortList))}},To=function(){var e=this.parseUShort();return F.argument(1===e||2===e||3===e,"Unsupported CaretValue table version."),1===e?{coordinate:this.parseShort()}:2===e?{pointindex:this.parseShort()}:3===e?{coordinate:this.parseShort()}:void 0},Uo=function(){return this.parseList(ge.pointer(To))},ko=function(){return{coverage:this.parsePointer(ge.coverage),ligGlyphs:this.parseList(ge.pointer(Uo))}},Eo=function(){return this.parseUShort(),this.parseList(ge.pointer(ge.coverage))};function Oo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);F.argument(1===n||1.2===n||1.3===n,"Unsupported GDEF table version.");var a={version:n,classDef:r.parsePointer(ge.classDef),attachList:r.parsePointer(xo),ligCaretList:r.parsePointer(ko),markAttachClassDef:r.parsePointer(ge.classDef)};return n>=1.2&&(a.markGlyphSets=r.parsePointer(Eo)),a}var wo={parse:Oo},Ro=new Array(10);function Lo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro),variations:r.parseFeatureVariationsList()}}Ro[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ge.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ge.coverage),values:this.parseValueRecordList()}:void F.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Ro[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();F.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ge.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(ge.pointer(ge.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))))};if(2===t){var s=this.parsePointer(ge.classDef),o=this.parsePointer(ge.classDef),i=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:s,classDef2:o,class1Count:i,class2Count:u,classRecords:this.parseList(i,ge.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))}}},Ro[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Ro[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Ro[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Ro[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Ro[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Ro[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Ro[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Co=new Array(10);function Do(e){return new ae.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,Co)}])}var Io={parse:Lo,make:Do};function Bo(e){var t={};e.skip("uShort");var r=e.parseUShort();F.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a<n;a+=1){var s=e.parseUShort(),o=e.parseUShort(),i=e.parseShort();t[s+","+o]=i}return t}function Fo(e){var t={};e.skip("uShort"),e.parseULong()>1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a<n;a+=1){var s=e.parseUShort(),o=e.parseUShort(),i=e.parseShort();t[s+","+o]=i}}return t}function Go(e,t){var r=new me.Parser(e,t),n=r.parseUShort();if(0===n)return Bo(r);if(1===n)return Fo(r);throw new Error("Unsupported kern table version ("+n+").")}var Mo={parse:Go};function No(e,t,r,n){for(var a=new me.Parser(e,t),s=n?a.parseUShort:a.parseULong,o=[],i=0;i<r+1;i+=1){var u=s.call(a);n&&(u*=2),o.push(u)}return o}var Ao={parse:No};function Po(e,t){r(256).readFile(e,(function(e,r){if(e)return t(e.message);t(null,Hr(r))}))}function _o(e,t){var r=new XMLHttpRequest;r.open("get",e,!0),r.responseType="arraybuffer",r.onload=function(){return r.response?t(null,r.response):t("Font could not be loaded: "+r.statusText)},r.onerror=function(){t("Font could not be loaded")},r.send()}function Ho(e,t){for(var r=[],n=12,a=0;a<t;a+=1){var s=me.getTag(e,n),o=me.getULong(e,n+4),i=me.getULong(e,n+8),u=me.getULong(e,n+12);r.push({tag:s,checksum:o,offset:i,length:u,compression:!1}),n+=16}return r}function zo(e,t){for(var r=[],n=44,a=0;a<t;a+=1){var s=me.getTag(e,n),o=me.getULong(e,n+4),i=me.getULong(e,n+8),u=me.getULong(e,n+12),l=void 0;l=i<u&&"WOFF",r.push({tag:s,offset:o,compression:l,compressedLength:i,length:u}),n+=20}return r}function Wo(e,t){if("WOFF"===t.compression){var r=new Uint8Array(e.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(R(r,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");return{data:new DataView(n.buffer,0),offset:0}}return{data:e,offset:t.offset}}function Vo(e,t){var r,n;t=null==t?{}:t;var a,s,o,i,u,l,p,c,h,f,d,g,v,m=new co({empty:!0}),y=new DataView(e,0),b=[],S=me.getTag(y,0);if(S===String.fromCharCode(0,1,0,0)||"true"===S||"typ1"===S)m.outlinesFormat="truetype",b=Ho(y,a=me.getUShort(y,4));else if("OTTO"===S)m.outlinesFormat="cff",b=Ho(y,a=me.getUShort(y,4));else{if("wOFF"!==S)throw new Error("Unsupported OpenType signature "+S);var x=me.getTag(y,4);if(x===String.fromCharCode(0,1,0,0))m.outlinesFormat="truetype";else{if("OTTO"!==x)throw new Error("Unsupported OpenType flavor "+S);m.outlinesFormat="cff"}b=zo(y,a=me.getUShort(y,12))}for(var T=0;T<a;T+=1){var U=b[T],k=void 0;switch(U.tag){case"cmap":k=Wo(y,U),m.tables.cmap=ke.parse(k.data,k.offset),m.encoding=new Ce(m.tables.cmap);break;case"cvt ":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.cvt=v.parseShortList(U.length/2);break;case"fvar":o=U;break;case"fpgm":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.fpgm=v.parseByteList(U.length);break;case"head":k=Wo(y,U),m.tables.head=Ct.parse(k.data,k.offset),m.unitsPerEm=m.tables.head.unitsPerEm,r=m.tables.head.indexToLocFormat;break;case"hhea":k=Wo(y,U),m.tables.hhea=Bt.parse(k.data,k.offset),m.ascender=m.tables.hhea.ascender,m.descender=m.tables.hhea.descender,m.numberOfHMetrics=m.tables.hhea.numberOfHMetrics;break;case"hmtx":c=U;break;case"ltag":k=Wo(y,U),n=Ht.parse(k.data,k.offset);break;case"maxp":k=Wo(y,U),m.tables.maxp=Vt.parse(k.data,k.offset),m.numGlyphs=m.tables.maxp.numGlyphs;break;case"name":d=U;break;case"OS/2":k=Wo(y,U),m.tables.os2=cr.parse(k.data,k.offset);break;case"post":k=Wo(y,U),m.tables.post=dr.parse(k.data,k.offset),m.glyphNames=new Ie(m.tables.post);break;case"prep":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.prep=v.parseByteList(U.length);break;case"glyf":i=U;break;case"loca":f=U;break;case"CFF ":s=U;break;case"kern":h=U;break;case"GDEF":u=U;break;case"GPOS":l=U;break;case"GSUB":p=U;break;case"meta":g=U}}var E=Wo(y,d);if(m.tables.name=or.parse(E.data,E.offset,n),m.names=m.tables.name,i&&f){var O=0===r,w=Wo(y,f),R=Ao.parse(w.data,w.offset,m.numGlyphs,O),L=Wo(y,i);m.glyphs=nn.parse(L.data,L.offset,R,m,t)}else{if(!s)throw new Error("Font doesn't contain TrueType or CFF outlines.");var C=Wo(y,s);wt.parse(C.data,C.offset,m,t)}var D=Wo(y,c);if(At.parse(m,D.data,D.offset,m.numberOfHMetrics,m.numGlyphs,m.glyphs,t),Ge(m,t),h){var I=Wo(y,h);m.kerningPairs=Mo.parse(I.data,I.offset)}else m.kerningPairs={};if(u){var B=Wo(y,u);m.tables.gdef=wo.parse(B.data,B.offset)}if(l){var F=Wo(y,l);m.tables.gpos=Io.parse(F.data,F.offset),m.position.init()}if(p){var G=Wo(y,p);m.tables.gsub=Sr.parse(G.data,G.offset)}if(o){var M=Wo(y,o);m.tables.fvar=So.parse(M.data,M.offset,m.names)}if(g){var N=Wo(y,g);m.tables.meta=Ur.parse(N.data,N.offset),m.metas=m.tables.meta}return m}function qo(e,t,r){r=null==r?{}:r;var n="undefined"!=typeof window||r.isUrl?_o:Po;return new Promise((function(a,s){n(e,(function(e,n){if(e){if(t)return t(e);s(e)}var o;try{o=Vo(n,r)}catch(e){if(t)return t(e,null);s(e)}if(t)return t(null,o);a(o)}))}))}function Xo(e,t){return Vo(Hr(r(256).readFileSync(e)),t)}var jo=Object.freeze({__proto__:null,Font:co,Glyph:Pe,Path:D,BoundingBox:C,_parse:me,parse:Vo,load:qo,loadSync:Xo});e.BoundingBox=C,e.Font=co,e.Glyph=Pe,e.Path=D,e._parse=me,e.default=jo,e.load=qo,e.loadSync=Xo,e.parse=Vo,Object.defineProperty(e,"__esModule",{value:!0})}(t)},254:t=>{t.exports=e.jquery},256:()=>{}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const t=e.Components;var r=n.n(t);const a=e.Fields;var s=n.n(a);const o=e.X3DFieldDefinition;var i=n.n(o);const u=e.FieldDefinitionArray;var l=n.n(u);const p=e.X3DNode;var c=n.n(p);const h=e.X3DUrlObject;var f=n.n(h);const d=e.Namespace;var g=n.n(d);let v=0;const m={BEGIN:++v,FIRST:++v,MIDDLE:++v,END:++v},y=g().add("TextAlignment",m),b=(e.FileLoader,e.X3DConstants);var S=n.n(b);const x=e.URLs;var T=n.n(x);const U=new Map([["SERIF",new Map([["PLAIN",T().getFontsURL("Droid/DroidSerif-Regular.ttf")],["ITALIC",T().getFontsURL("Droid/DroidSerif-Italic.ttf")],["BOLD",T().getFontsURL("Droid/DroidSerif-Bold.ttf")],["BOLDITALIC",T().getFontsURL("Droid/DroidSerif-BoldItalic.ttf")]])],["SANS",new Map([["PLAIN",T().getFontsURL("Ubuntu/Ubuntu-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/Ubuntu-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/Ubuntu-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/Ubuntu-BI.ttf")]])],["TYPEWRITER",new Map([["PLAIN",T().getFontsURL("Ubuntu/UbuntuMono-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/UbuntuMono-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/UbuntuMono-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/UbuntuMono-BI.ttf")]])]]);function k(e){c().call(this,e),f().call(this,e),this.addType(S().X3DFontStyleNode),this.addChildObjects(S().inputOutput,"description",new(s().SFString),S().inputOutput,"url",this._family,S().inputOutput,"load",new(s().SFBool)(!0),S().inputOutput,"autoRefresh",new(s().SFTime),S().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),this._family.setName("family"),this.familyStack=[],this.alignments=[]}Object.assign(Object.setPrototypeOf(k.prototype,c().prototype),f().prototype,{initialize(){c().prototype.initialize.call(this),f().prototype.initialize.call(this),this._style.addInterest("set_style__",this),this._justify.addInterest("set_justify__",this),this.font=null,this.familyIndex=0,this.set_justify__(),this.requestImmediateLoad().catch(Function.prototype)},set_style__(){this._load.getValue()&&(this.setLoadState(S().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},set_justify__(){const e=this._horizontal.getValue()?this._leftToRight.getValue():this._topToBottom.getValue();this.alignments[0]=this._justify.length>0?this.getAlignment(0,e):e?y.BEGIN:y.END;const t=this._horizontal.getValue()?this._topToBottom.getValue():this._leftToRight.getValue();this.alignments[1]=this._justify.length>1?this.getAlignment(1,t):t?y.FIRST:y.END},getMajorAlignment(){return this.alignments[0]},getMinorAlignment(){return this.alignments[1]},getAlignment(e,t){if(t)switch(this._justify[e]){case"FIRST":return y.FIRST;case"BEGIN":return y.BEGIN;case"MIDDLE":return y.MIDDLE;case"END":return y.END}else switch(this._justify[e]){case"FIRST":case"BEGIN":return y.END;case"MIDDLE":return y.MIDDLE;case"END":return y.BEGIN}return e?y.FIRST:y.BEGIN},getDefaultFont(e){const t=U.get(e);if(t)return t.get(this._style.getValue())??t.get("PLAIN")},loadData(){const e=this._url.copy();e.push("SERIF"),this.familyStack.length=0;for(const t of e)this.familyStack.push(this.getDefaultFont(t)??t);this.loadNext()},loadNext(){if(0===this.familyStack.length)return this.setLoadState(S().FAILED_STATE),void(this.font=null);this.family=this.familyStack.shift(),this.URL=new URL(this.family,this.getExecutionContext().getBaseURL()),this.getBrowser().getFont(this.URL,this.getCache()).then(this.setFont.bind(this)).catch(this.setError.bind(this))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading font '${decodeURI(this.URL.href)}':`,e),this.loadNext()},setFont(e){this.font=e,this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()},getFont(){return this.font},dispose(){f().prototype.dispose.call(this),c().prototype.dispose.call(this)}}),Object.defineProperties(k,c().getStaticProperties("X3DFontStyleNode","Text",1));const E=k,O=g().add("X3DFontStyleNode",E),w=e.PrimitiveQuality;var R=n.n(w);const L=e.TextCompression;var C=n.n(L);const D=e.Box2;var I=n.n(D);const B=e.Box3;var F=n.n(B);const G=e.Vector2;var M=n.n(G);const N=e.Vector3;var A=n.n(N);const P=e.Matrix3;var _=n.n(P);const H=new(I()),z=new(I()),W=new(M()),V=new(M()),q=new(M()),X=new(M()),j=new(A()),Y=new(A()),Z=new(M()),Q=new(M()),K=new(M()),J=new(M()),$=new(M()),ee=new(M()),te=new(A()),re=new(I()),ne=new(M()),ae=new(A());function se(e,t){this.browser=e.getBrowser(),this.text=e,this.fontStyle=t,this.glyphs=[],this.minorAlignment=new(M()),this.lineIndices=[],this.translations=[],this.charSpacings=[],this.scales=[],this.bearing=new(M()),this.bbox=new(F())}Object.assign(se.prototype,{getBrowser(){return this.browser},getText(){return this.text},getFontStyle(){return this.fontStyle},getGlyphs(){return this.glyphs},getMinorAlignment(){return this.minorAlignment},getTranslations(){return this.translations},getCharSpacings(){return this.charSpacings},getScales(){return this.scales},getBearing(){return this.bearing},getBBox(){return this.bbox},update(){const e=this.text,t=this.fontStyle,r=e._string.length;if(e._lineBounds.length=r,this.glyphs.length=0,0===r||!t.getFont())return e._origin.setValue(ae),e._textBounds.setValue(ne),void this.bbox.set();if(t._horizontal.getValue())this.resizeArray(this.translations,r),this.lineIndices.length=0,this.charSpacings.length=r,this.scales.length=r,this.horizontal(e,t);else{const n=e._string.reduce(((e,t)=>e+t.length),0);this.resizeArray(this.translations,n),this.lineIndices.length=n,this.charSpacings.length=r,this.scales.length=r,this.vertical(e,t)}},resizeArray(e,t){for(var r=e.length;r<t;++r)e.push(new(M()));e.length=t},horizontal(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._topToBottom.getValue(),i=t.getScale(),u=t._spacing.getValue(),l=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const p=o?a:-1,c=o?1:-1;for(let s=o?0:a-1,h=0;s!==p;s+=c,++h){const a=n[s],o=this.getHorizontalLineExtents(t,a,W,V,h);Z.assign(V).subtract(W);const p=e.getLength(s),c=Z.x*i;let f=0;switch(ee.set(c,0==h?V.y-r.descender/r.unitsPerEm*i:u),p&&(l===C().CHAR_SPACING&&o.length>1&&(f=(p-ee.x)/(o.length-1)),ee.x=p,Z.x=p/i),this.charSpacings[h]=f,this.scales[h]=l===C().SCALING?ee.x/c:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:this.translations[h].set(0,-h*u);break;case y.MIDDLE:this.translations[h].set(-W.x-Z.x/2,-h*u);break;case y.END:this.translations[h].set(-W.x-Z.x,-h*u)}this.translations[h].multiply(i),Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(i),Q.multiply(i).add(this.translations[h])))}if(s){const t=e._lineBounds.reduce(((e,t)=>Math.max(e,t.x)),0);if(t>s){const r=s/t;switch(l){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].x-e._lineBounds[t].x*r)/(e._string[t].length-1));break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=r}for(const e of this.translations.keys())this.translations[e].x*=r;for(const t of e._lineBounds.keys())e._lineBounds[t].x*=r;H.multRight(new(_())(r,0,0,0,1,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,this.bearing.set(0,-V.y),t.getMinorAlignment()){case y.BEGIN:this.minorAlignment.assign(this.bearing);break;case y.FIRST:this.minorAlignment.set(0,0);break;case y.MIDDLE:this.minorAlignment.set(0,Z.y/2-V.y);break;case y.END:this.minorAlignment.set(0,(a-1)*u*i)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},vertical(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._leftToRight.getValue(),i=t._topToBottom.getValue(),u=t.getScale(),l=t._spacing.getValue(),p=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),c=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const h=o?a:-1,f=o?1:-1;let d=0;for(let s=o?0:a-1;s!==h;s+=f){const h=this.stringToGlyphs(r,n[s],!0,s),f=d,g=h.length;z.set();const v=i?g:-1,m=i?1:-1;for(let e=i?0:g-1;e!==v;e+=m,++d){const t=h[e];this.getGlyphExtents(r,t,p,W,V),Z.assign(V).subtract(W);const n=i?e:g-e-1;this.lineIndices[d]=s,this.translations[d].set((l-Z.x-W.x)/2,-n),Q.assign(W).add(K.assign(Z).divide(2)).add(this.translations[d]),z.add(re.set(Z,Q))}z.getExtents(W,V),Z.assign(V).subtract(W);const b=o?s:a-s-1,S=(l-Z.x)/2,x=e.getLength(s);let T=0;ee.set(0===s?l-S:l,g?Z.y:0).multiply(u);const U=ee.y;switch(x&&(c===C().CHAR_SPACING&&h.length>1&&(T=(x-ee.y)/(h.length-1)),ee.y=x,Z.y=x/u,W.y=V.y-Z.y),this.charSpacings[s]=T,this.scales[s]=c===C().SCALING?ee.y/U:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:$.assign(J.set(b*l,-V.y));break;case y.MIDDLE:$.assign(J.set(b*l,Z.y/2-V.y));break;case y.END:J.set(b*l,Z.y/this.scales[s]-V.y),$.set(b*l,Z.y-V.y)}for(let e=f;e<d;++e)this.translations[e].add(J).multiply(u);Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(u),Q.add($).multiply(u)))}if(s){const r=e._lineBounds.reduce(((e,t)=>Math.max(e,t.y)),0);if(r>s){const n=s/r;switch(c){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].y-e._lineBounds[t].y*n)/(e._string[t].length-1));switch(t.getMajorAlignment()){case y.MIDDLE:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=(e._lineBounds[r].y-e._lineBounds[r].y*n)/2}break;case y.END:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=e._lineBounds[r].y-e._lineBounds[r].y*n}}break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=n}for(const t of e._lineBounds.keys())e._lineBounds[t].y*=n;H.multRight(new(_())(1,0,0,0,n,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:this.bearing.set(-W.x,V.y);break;case y.MIDDLE:this.bearing.set(-W.x,0);break;case y.END:this.bearing.set(-W.x,W.y)}switch(t.getMinorAlignment()){case y.BEGIN:case y.FIRST:this.minorAlignment.set(-W.x,0);break;case y.MIDDLE:this.minorAlignment.set(-W.x-Z.x/2,0);break;case y.END:this.minorAlignment.set(-W.x-Z.x,0)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},stringToGlyphs(e,t,r,n){const a=this.glyphs[n]??(this.glyphs[n]=[]);a.length=t.length;const s=r?0:t.length-1,o=r?t.length:-1,i=r?1:-1;for(let r=s,n=0;r!==o;r+=i,++n)a[n]=e.charToGlyph(t[r]);return a},getHorizontalLineExtents(e,t,r,n,a){const s=e.getFont(),o=e._horizontal.getValue()?e._leftToRight.getValue():e._topToBottom.getValue(),i=this.stringToGlyphs(s,t,o,a),u=i.length,l=this.getBrowser().getBrowserOptions().getPrimitiveQuality();let p=0,c=0,h=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let e=0;e<u;++e){const t=i[e],r=i[e+1],n=r?s.getKerningValue(t,r):0;this.getGlyphExtents(s,t,l,q,X),c+=t.advanceWidth+n,h=Math.min(h,q.y),f=Math.max(f,X.y)}switch(i.length?(this.getGlyphExtents(s,i[0],l,q,X),p=q.x):(h=0,f=0),r.set(p,h),n.set(c/s.unitsPerEm,f),e.getMajorAlignment()){case y.BEGIN:case y.FIRST:r.x=0}return i},traverse(e,t){}});const oe=se,ie=g().add("X3DTextGeometry",oe),ue=e.Matrix4;var le=n.n(ue);const pe=e.Bezier;var ce=n.n(pe);const he=e.libtess;var fe=n.n(he);function de(e,t){ie.call(this,e,t),e.setTransparent(!1)}Object.assign(Object.setPrototypeOf(de.prototype,ie.prototype),{getMatrix:()=>le().Identity,build:(()=>{const e=new(A()),t=new(A());return function(){const r=this.getFontStyle(),n=r.getFont();if(!n)return;const a=this.getText(),s=this.getGlyphs(),o=this.getMinorAlignment(),i=this.getTranslations(),u=this.getCharSpacings(),l=this.getScales(),p=r.getScale(),c=r._spacing.getValue(),h=a._origin.getValue(),f=p/n.unitsPerEm,d=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),g=a.getTexCoords(),v=a.getNormals(),m=a.getVertices();if(a.getMultiTexCoords().push(g),this.getBBox().getExtents(e,t),a.getMin().assign(e),a.getMax().assign(t),r._horizontal.getValue())for(let e=0,t=s.length;e<t;++e){const t=s[e],r=i[e],a=u[e],y=l[e];let b=0;for(let e=0,s=t.length;e<s;++e){const s=t[e],i=this.getGlyphGeometry(n,s,d),u=o.x+r.x+b*y+e*a,l=o.y+r.y;for(const{x:e,y:t}of i){const r=e*p*y+u,n=t*p+l;g.push((r-h.x)/c,(n-h.y)/c,0,1),v.push(0,0,1),m.push(r,n,0,1)}let S=0;e+1<t.length&&(S=n.getKerningValue(s,t[e+1])),b+=(s.advanceWidth+S)*f}}else{const e=r._leftToRight.getValue(),t=r._topToBottom.getValue(),f=e?0:a._string.length-1,y=e?a._string.length:-1,b=e?1:-1;for(let e=f,r=0;e!==y;e+=b){const a=s[e],f=a.length,y=t?0:f-1,b=t?f:-1,S=t?1:-1,x=u[e],T=l[e];for(let e=y;e!==b;e+=S,++r){const t=i[r],s=this.getGlyphGeometry(n,a[e],d);for(const{x:r,y:n}of s){const a=r*p+o.x+t.x,s=n*p*T+o.y+t.y*T-e*x;g.push((a-h.x)/c,(s-h.y)/c,0,1),v.push(0,0,1),m.push(a,s,0,1)}}}}}})(),getGlyphExtents(e,t,r,n,a){const s=this.getBrowser().getGlyph(e,r,t.index),o=s.extents;if(o)n.assign(o.min),a.assign(o.max);else{const o=this.getGlyphGeometry(e,t,r);o.length?(n.assign(o[0]).min(...o),a.assign(o[0]).max(...o)):(n.set(0,0,0),a.set(0,0,0));const i=s.extents={};i.min=n.copy(),i.max=a.copy()}},getGlyphGeometry(e,t,r){const n=this.getBrowser().getGlyph(e,r,t.index),a=n.geometry;if(a)return a;{const e=n.geometry=[];return this.createGlyphGeometry(t,e,r),e}},createGlyphGeometry(e,t,r){const n=this.getBezierSteps(r),a=e.getPath(0,0,1);let s=[],o=[],i=0,u=0;for(const{type:e,x1:t,y1:r,x2:l,y2:p,x:c,y:h}of a.commands){switch(e){case"M":case"Z":o.length>2&&s.push(o),o=[],"M"===e&&o.push(new(A())(c,-h,0));break;case"L":o.push(new(A())(c,-h,0));break;case"Q":ce().quadric(i,-u,0,t,-r,0,c,-h,0,n,o);break;case"C":ce().cubic(i,-u,0,t,-r,0,l,-p,0,c,-h,0,n,o);break;default:continue}i=c,u=h}return this.triangulatePolygon(s,t)},getBezierSteps(e){switch(e){case R().LOW:return 3;case R().HIGH:return 7;default:return 5}},triangulatePolygon:(()=>{const e=new(fe().GluTesselator);return e.gluTessCallback(fe().gluEnum.GLU_TESS_VERTEX_DATA,(function(e,t){t.push(e)})),e.gluTessCallback(fe().gluEnum.GLU_TESS_COMBINE,(function(e,t,r){return new(A())(...e)})),e.gluTessProperty(fe().gluEnum.GLU_TESS_WINDING_RULE,fe().windingRule.GLU_TESS_WINDING_NONZERO),e.gluTessNormal(0,0,1),function(t,r){e.gluTessBeginPolygon(r);for(const r of t){e.gluTessBeginContour();for(const t of r)e.gluTessVertex(t,t);e.gluTessEndContour()}return e.gluTessEndPolygon(),r}})(),display(e,t){},transformLine(e){},transformMatrix(e){}});const ge=de,ve=g().add("PolygonText",ge);function me(e){O.call(this,e),this.addType(S().FontStyle),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(me.prototype,O.prototype),{getTextGeometry(e){return new ve(e,this)},getScale(){return this._size.getValue()}}),Object.defineProperties(me,{...c().getStaticProperties("FontStyle","Text",1,"fontStyle","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"language",new(s().SFString)),new(i())(S().inputOutput,"family",new(s().MFString)("SERIF")),new(i())(S().inputOutput,"style",new(s().SFString)("PLAIN")),new(i())(S().inputOutput,"size",new(s().SFFloat)(1)),new(i())(S().inputOutput,"spacing",new(s().SFFloat)(1)),new(i())(S().inputOutput,"horizontal",new(s().SFBool)(!0)),new(i())(S().inputOutput,"leftToRight",new(s().SFBool)(!0)),new(i())(S().inputOutput,"topToBottom",new(s().SFBool)(!0)),new(i())(S().inputOutput,"justify",new(s().MFString)("BEGIN"))]),enumerable:!0}});const ye=me,be=g().add("FontStyle",ye);var Se=n(254),xe=n(187);const Te=Symbol(),Ue=Symbol(),ke=Symbol();function Ee(){this[Ue]=new Map,this[ke]=new Map}Object.assign(Ee.prototype,{getDefaultFontStyle(){return this[Te]=new be(this.getPrivateScene()),this[Te].setPrivate(!0),this[Te].setup(),this.getDefaultFontStyle=function(){return this[Te]},Object.defineProperty(this,"getDefaultFontStyle",{enumerable:!1}),this[Te]},getFont(e,t=!0){return new Promise((async(r,n)=>{e=e.toString();let a=this[Ue].get(e);if(!a)try{this[Ue].set(e,a=Se.Deferred());const r=await fetch(e,{cache:t?"default":"reload"});if(!r.ok)throw new Error(r.statusText||r.status);{const e=await r.arrayBuffer(),t=xe.parse(e);a.resolve(t)}}catch(e){a.reject(e)}a.done(r).fail(n)}))},getGlyph(e,t,r){let n=this[ke].get(e);n||this[ke].set(e,n=[]);let a=n[t];a||(a=n[t]=[]);let s=a[r];return s||(s=a[r]={}),s}});const Oe=Ee,we=g().add("X3DTextContext",Oe),Re=e.X3DGeometryNode;var Le=n.n(Re);const Ce=e.X3DCast;var De=n.n(Ce);function Ie(e){Le().call(this,e),this.addType(S().Text),this._length.setUnit("length"),this._maxExtent.setUnit("length"),this._origin.setUnit("length"),this._textBounds.setUnit("length"),this._lineBounds.setUnit("length")}Object.assign(Object.setPrototypeOf(Ie.prototype,Le().prototype),{initialize(){Le().prototype.initialize.call(this),this._fontStyle.addInterest("set_fontStyle__",this),this.set_fontStyle__()},getMatrix(){return this.textGeometry.getMatrix()},getLength(e){return e<this._length.length?Math.max(0,this._length[e]):0},set_live__(){Le().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?(e.getBrowserOptions()._PrimitiveQuality.addInterest("requestRebuild",this),e.getBrowserOptions()._TextCompression.addInterest("requestRebuild",this)):(e.getBrowserOptions()._PrimitiveQuality.removeInterest("requestRebuild",this),e.getBrowserOptions()._TextCompression.removeInterest("requestRebuild",this))},set_fontStyle__(){this.fontStyleNode?.removeInterest("requestRebuild",this),this.fontStyleNode=De()(S().X3DFontStyleNode,this._fontStyle)??this.getBrowser().getDefaultFontStyle(),this.fontStyleNode.addInterest("requestRebuild",this),this.textGeometry=this.fontStyleNode.getTextGeometry(this)},build(){this.textGeometry.update(),this.textGeometry.build(),this.setSolid(this._solid.getValue())},traverse(e,t){this.textGeometry.traverse(e,t),Le().prototype.traverse.call(this,e,t)},display(e,t){this.textGeometry.display(e,t),Le().prototype.display.call(this,e,t),t.textureNode=null},transformLine(e){return this.textGeometry.transformLine(e)},transformMatrix(e){return this.textGeometry.transformMatrix(e)}}),Object.defineProperties(Ie,{...c().getStaticProperties("Text","Text",1,"geometry","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"string",new(s().MFString)),new(i())(S().inputOutput,"length",new(s().MFFloat)),new(i())(S().inputOutput,"maxExtent",new(s().SFFloat)),new(i())(S().initializeOnly,"solid",new(s().SFBool)),new(i())(S().outputOnly,"origin",new(s().SFVec3f)),new(i())(S().outputOnly,"textBounds",new(s().SFVec2f)),new(i())(S().outputOnly,"lineBounds",new(s().MFVec2f)),new(i())(S().inputOutput,"fontStyle",new(s().SFNode))]),enumerable:!0}});const Be=Ie,Fe=g().add("Text",Be);r().add({name:"Text",concreteNodes:[be,Fe],abstractNodes:[O],browserContext:we});g().add("TextComponent",undefined)})()})();
1
+ /* X_ITE v10.5.6 */
2
+ const e=window[Symbol.for("X_ITE.X3D-10.5.6")];(()=>{var t={191:function(e,t,r){!function(e){var t,n;String.prototype.codePointAt||(t=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),n=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,s=t.charCodeAt(n);return s>=55296&&s<=56319&&r>n+1&&(a=t.charCodeAt(n+1))>=56320&&a<=57343?1024*(s-55296)+a-56320+65536:s}},t?t(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);var a=0,s=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var u=new o,l=new o,p=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array(30),f=new Uint16Array(30),d=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new o,v=new Uint8Array(320);function m(e,t,r,n){var a,s;for(a=0;a<r;++a)e[a]=0;for(a=0;a<30-r;++a)e[a+r]=a/r|0;for(s=n,a=0;a<30;++a)t[a]=s,s+=1<<e[a]}function y(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,r=0;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(t.table[5]=32,r=0;r<32;++r)t.trans[r]=r}var b=new Uint16Array(16);function S(e,t,r,n){var a,s;for(a=0;a<16;++a)e.table[a]=0;for(a=0;a<n;++a)e.table[t[r+a]]++;for(e.table[0]=0,s=0,a=0;a<16;++a)b[a]=s,s+=e.table[a];for(a=0;a<n;++a)t[r+a]&&(e.trans[b[t[r+a]]++]=a)}function x(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function T(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function U(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=0,n=0,a=0,s=e.tag;do{n=2*n+(1&s),s>>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=s,e.bitcount-=a,t.trans[r+n]}function k(e,t,r){var n,a,s,o,i,u;for(n=T(e,5,257),a=T(e,5,1),s=T(e,4,4),o=0;o<19;++o)v[o]=0;for(o=0;o<s;++o){var l=T(e,3,0);v[d[o]]=l}for(S(g,v,0,19),i=0;i<n+a;){var p=U(e,g);switch(p){case 16:var c=v[i-1];for(u=T(e,2,3);u;--u)v[i++]=c;break;case 17:for(u=T(e,3,3);u;--u)v[i++]=0;break;case 18:for(u=T(e,7,11);u;--u)v[i++]=0;break;default:v[i++]=p}}S(t,v,0,n),S(r,v,n,a)}function E(e,t,r){for(;;){var n,s,o,i,u=U(e,t);if(256===u)return a;if(u<256)e.dest[e.destLen++]=u;else for(n=T(e,p[u-=257],c[u]),s=U(e,r),i=o=e.destLen-T(e,h[s],f[s]);i<o+n;++i)e.dest[e.destLen++]=e.dest[i]}}function O(e){for(var t,r;e.bitcount>8;)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 s;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,a}function w(e,t){var r,n,o=new i(e,t);do{switch(r=x(o),T(o,2,0)){case 0:n=O(o);break;case 1:n=E(o,u,l);break;case 2:k(o,o.ltree,o.dtree),n=E(o,o.ltree,o.dtree);break;default:n=s}if(n!==a)throw new Error("Data error")}while(!r);return o.destLen<o.dest.length?"function"==typeof o.dest.slice?o.dest.slice(0,o.destLen):o.dest.subarray(0,o.destLen):o.dest}y(u,l),m(p,c,4,3),m(h,f,2,1),p[28]=0,c[28]=258;var R=w;function L(e,t,r,n,a){return Math.pow(1-a,3)*e+3*Math.pow(1-a,2)*a*t+3*(1-a)*Math.pow(a,2)*r+Math.pow(a,3)*n}function C(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function D(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function I(e){throw new Error(e)}function B(e,t){e||I(t)}C.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},C.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},C.prototype.addX=function(e){this.addPoint(e,null)},C.prototype.addY=function(e){this.addPoint(null,e)},C.prototype.addBezier=function(e,t,r,n,a,s,o,i){var u=[e,t],l=[r,n],p=[a,s],c=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var h=0;h<=1;h++){var f=6*u[h]-12*l[h]+6*p[h],d=-3*u[h]+9*l[h]-9*p[h]+3*c[h],g=3*l[h]-3*u[h];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var m=(-f+Math.sqrt(v))/(2*d);0<m&&m<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],m)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],m)));var y=(-f-Math.sqrt(v))/(2*d);0<y&&y<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],y)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],y)))}}else{if(0===f)continue;var b=-g/f;0<b&&b<1&&(0===h&&this.addX(L(u[h],l[h],p[h],c[h],b)),1===h&&this.addY(L(u[h],l[h],p[h],c[h],b)))}}},C.prototype.addQuad=function(e,t,r,n,a,s){var o=e+2/3*(r-e),i=t+2/3*(n-t),u=o+1/3*(a-e),l=i+1/3*(s-t);this.addBezier(e,t,o,i,u,l,a,s)},D.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},D.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},D.prototype.curveTo=D.prototype.bezierCurveTo=function(e,t,r,n,a,s){this.commands.push({type:"C",x1:e,y1:t,x2:r,y2:n,x:a,y:s})},D.prototype.quadTo=D.prototype.quadraticCurveTo=function(e,t,r,n){this.commands.push({type:"Q",x1:e,y1:t,x:r,y:n})},D.prototype.close=D.prototype.closePath=function(){this.commands.push({type:"Z"})},D.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof C){var t=e;return this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close()}Array.prototype.push.apply(this.commands,e)},D.prototype.getBoundingBox=function(){for(var e=new C,t=0,r=0,n=0,a=0,s=0;s<this.commands.length;s++){var o=this.commands[s];switch(o.type){case"M":e.addPoint(o.x,o.y),t=n=o.x,r=a=o.y;break;case"L":e.addPoint(o.x,o.y),n=o.x,a=o.y;break;case"Q":e.addQuad(n,a,o.x1,o.y1,o.x,o.y),n=o.x,a=o.y;break;case"C":e.addBezier(n,a,o.x1,o.y1,o.x2,o.y2,o.x,o.y),n=o.x,a=o.y;break;case"Z":n=t,a=r;break;default:throw new Error("Unexpected path command "+o.type)}}return e.isEmpty()&&e.addPoint(0,0),e},D.prototype.draw=function(e){e.beginPath();for(var t=0;t<this.commands.length;t+=1){var r=this.commands[t];"M"===r.type?e.moveTo(r.x,r.y):"L"===r.type?e.lineTo(r.x,r.y):"C"===r.type?e.bezierCurveTo(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?e.quadraticCurveTo(r.x1,r.y1,r.x,r.y):"Z"===r.type&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},D.prototype.toPathData=function(e){function t(t){return Math.round(t)===t?""+Math.round(t):t.toFixed(e)}function r(){for(var e=arguments,r="",n=0;n<arguments.length;n+=1){var a=e[n];a>=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a<this.commands.length;a+=1){var s=this.commands[a];"M"===s.type?n+="M"+r(s.x,s.y):"L"===s.type?n+="L"+r(s.x,s.y):"C"===s.type?n+="C"+r(s.x1,s.y1,s.x2,s.y2,s.x,s.y):"Q"===s.type?n+="Q"+r(s.x1,s.y1,s.x,s.y):"Z"===s.type&&(n+="Z")}return n},D.prototype.toSVG=function(e){var t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&"black"!==this.fill&&(null===this.fill?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>"},D.prototype.toDOMElement=function(e){var t=this.toPathData(e),r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",t),r};var F={fail:I,argument:B,assert:B},G=32768,M=2147483648,N={},A={},P={};function _(e){return function(){return e}}A.BYTE=function(e){return F.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},P.BYTE=_(1),A.CHAR=function(e){return[e.charCodeAt(0)]},P.CHAR=_(1),A.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},P.CHARARRAY=function(e){return void 0===e?0:e.length},A.USHORT=function(e){return[e>>8&255,255&e]},P.USHORT=_(2),A.SHORT=function(e){return e>=G&&(e=-(2*G-e)),[e>>8&255,255&e]},P.SHORT=_(2),A.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},P.UINT24=_(3),A.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},P.ULONG=_(4),A.LONG=function(e){return e>=M&&(e=-(2*M-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONG=_(4),A.FIXED=A.ULONG,P.FIXED=P.ULONG,A.FWORD=A.SHORT,P.FWORD=P.SHORT,A.UFWORD=A.USHORT,P.UFWORD=P.USHORT,A.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONGDATETIME=_(8),A.TAG=function(e){return F.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},P.TAG=_(4),A.Card8=A.BYTE,P.Card8=P.BYTE,A.Card16=A.USHORT,P.Card16=P.USHORT,A.OffSize=A.BYTE,P.OffSize=P.BYTE,A.SID=A.USHORT,P.SID=P.USHORT,A.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?A.NUMBER16(e):A.NUMBER32(e)},P.NUMBER=function(e){return A.NUMBER(e).length},A.NUMBER16=function(e){return[28,e>>8&255,255&e]},P.NUMBER16=_(3),A.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},P.NUMBER32=_(5),A.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",s=0,o=t.length;s<o;s+=1){var i=t[s];a+="e"===i?"-"===t[++s]?"c":"b":"."===i?"a":"-"===i?"e":i}for(var u=[30],l=0,p=(a+=1&a.length?"f":"ff").length;l<p;l+=2)u.push(parseInt(a.substr(l,2),16));return u},P.REAL=function(e){return A.REAL(e).length},A.NAME=A.CHARARRAY,P.NAME=P.CHARARRAY,A.STRING=A.CHARARRAY,P.STRING=P.CHARARRAY,N.UTF8=function(e,t,r){for(var n=[],a=r,s=0;s<a;s++,t+=1)n[s]=e.getUint8(t);return String.fromCharCode.apply(null,n)},N.UTF16=function(e,t,r){for(var n=[],a=r/2,s=0;s<a;s++,t+=2)n[s]=e.getUint16(t);return String.fromCharCode.apply(null,n)},A.UTF16=function(e){for(var t=[],r=0;r<e.length;r+=1){var n=e.charCodeAt(r);t[t.length]=n>>8&255,t[t.length]=255&n}return t},P.UTF16=function(e){return 2*e.length};var H={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};N.MACSTRING=function(e,t,r,n){var a=H[n];if(void 0!==a){for(var s="",o=0;o<r;o++){var i=e.getUint8(t+o);s+=i<=127?String.fromCharCode(i):a[127&i]}return s}};var z,W="function"==typeof WeakMap&&new WeakMap,V=function(e){if(!z)for(var t in z={},H)z[t]=new String(t);var r=z[e];if(void 0!==r){if(W){var n=W.get(r);if(void 0!==n)return n}var a=H[e];if(void 0!==a){for(var s={},o=0;o<a.length;o++)s[a.charCodeAt(o)]=o+128;return W&&W.set(r,s),s}}};function q(e){return e>=-128&&e<=127}function X(e,t,r){for(var n=0,a=e.length;t<a&&n<64&&0===e[t];)++t,++n;return r.push(128|n-1),t}function j(e,t,r){for(var n=0,a=e.length,s=t;s<a&&n<64;){var o=e[s];if(!q(o))break;if(0===o&&s+1<a&&0===e[s+1])break;++s,++n}r.push(n-1);for(var i=t;i<s;++i)r.push(e[i]+256&255);return s}function Y(e,t,r){for(var n=0,a=e.length,s=t;s<a&&n<64;){var o=e[s];if(0===o)break;if(q(o)&&s+1<a&&q(e[s+1]))break;++s,++n}r.push(64|n-1);for(var i=t;i<s;++i){var u=e[i];r.push(u+65536>>8&255,u+256&255)}return s}A.MACSTRING=function(e,t){var r=V(t);if(void 0!==r){for(var n=[],a=0;a<e.length;a++){var s=e.charCodeAt(a);if(s>=128&&void 0===(s=r[s]))return;n[a]=s}return n}},P.MACSTRING=function(e,t){var r=A.MACSTRING(e,t);return void 0!==r?r.length:0},A.VARDELTAS=function(e){for(var t=0,r=[];t<e.length;){var n=e[t];t=0===n?X(e,t,r):n>=-128&&n<=127?j(e,t,r):Y(e,t,r)}return r},A.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a<e.length;a+=1){var s=A.OBJECT(e[a]);Array.prototype.push.apply(n,s),t+=s.length,r.push(t)}if(0===n.length)return[0,0];for(var o=[],i=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,A.BYTE,A.USHORT,A.UINT24,A.ULONG][i],l=0;l<r.length;l+=1){var p=u(r[l]);Array.prototype.push.apply(o,p)}return Array.prototype.concat(A.Card16(e.length),A.OffSize(i),o,n)},P.INDEX=function(e){return A.INDEX(e).length},A.DICT=function(e){for(var t=[],r=Object.keys(e),n=r.length,a=0;a<n;a+=1){var s=parseInt(r[a],0),o=e[s];t=(t=t.concat(A.OPERAND(o.value,o.type))).concat(A.OPERATOR(s))}return t},P.DICT=function(e){return A.DICT(e).length},A.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},A.OPERAND=function(e,t){var r=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)F.argument(e.length===t.length,"Not enough arguments given for type"+t),r=r.concat(A.OPERAND(e[n],t[n]));else if("SID"===t)r=r.concat(A.NUMBER(e));else if("offset"===t)r=r.concat(A.NUMBER32(e));else if("number"===t)r=r.concat(A.NUMBER(e));else{if("real"!==t)throw new Error("Unknown operand type "+t);r=r.concat(A.REAL(e))}return r},A.OP=A.BYTE,P.OP=P.BYTE;var Z="function"==typeof WeakMap&&new WeakMap;function Q(e,t,r){if(t.length&&("coverageFormat"!==t[0].name||1===t[0].value))for(var n=0;n<t.length;n+=1){var a=t[n];this[a.name]=a.value}if(this.tableName=e,this.fields=t,r)for(var s=Object.keys(r),o=0;o<s.length;o+=1){var i=s[o],u=r[i];void 0!==this[i]&&(this[i]=u)}}function K(e,t,r){void 0===r&&(r=t.length);var n=new Array(t.length+1);n[0]={name:e+"Count",type:"USHORT",value:r};for(var a=0;a<t.length;a++)n[a+1]={name:e+a,type:"USHORT",value:t[a]};return n}function J(e,t,r){var n=t.length,a=new Array(n+1);a[0]={name:e+"Count",type:"USHORT",value:n};for(var s=0;s<n;s++)a[s+1]={name:e+s,type:"TABLE",value:r(t[s],s)};return a}function $(e,t,r){var n=t.length,a=[];a[0]={name:e+"Count",type:"USHORT",value:n};for(var s=0;s<n;s++)a=a.concat(r(t[s],s));return a}function ee(e){1===e.format?Q.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(K("glyph",e.glyphs))):2===e.format?Q.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat($("rangeRecord",e.ranges,(function(e){return[{name:"startGlyphID",type:"USHORT",value:e.start},{name:"endGlyphID",type:"USHORT",value:e.end},{name:"startCoverageIndex",type:"USHORT",value:e.index}]})))):F.assert(!1,"Coverage format must be 1 or 2.")}function te(e){Q.call(this,"scriptListTable",$("scriptRecord",e,(function(e,t){var r=e.script,n=r.defaultLangSys;return F.assert(!!n,"Unable to write GSUB: script "+e.tag+" has no default language system."),[{name:"scriptTag"+t,type:"TAG",value:e.tag},{name:"script"+t,type:"TABLE",value:new Q("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Q("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:n.reqFeatureIndex}].concat(K("featureIndex",n.featureIndexes)))}].concat($("langSys",r.langSysRecords,(function(e,t){var r=e.langSys;return[{name:"langSysTag"+t,type:"TAG",value:e.tag},{name:"langSys"+t,type:"TABLE",value:new Q("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:r.reqFeatureIndex}].concat(K("featureIndex",r.featureIndexes)))}]}))))}]})))}function re(e){Q.call(this,"featureListTable",$("featureRecord",e,(function(e,t){var r=e.feature;return[{name:"featureTag"+t,type:"TAG",value:e.tag},{name:"feature"+t,type:"TABLE",value:new Q("featureTable",[{name:"featureParams",type:"USHORT",value:r.featureParams}].concat(K("lookupListIndex",r.lookupListIndexes)))}]})))}function ne(e,t){Q.call(this,"lookupListTable",J("lookup",e,(function(e){var r=t[e.lookupType];return F.assert(!!r,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new Q("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(J("subtable",e.subtables,r)))})))}A.CHARSTRING=function(e){if(Z){var t=Z.get(e);if(void 0!==t)return t}for(var r=[],n=e.length,a=0;a<n;a+=1){var s=e[a];r=r.concat(A[s.type](s.value))}return Z&&Z.set(e,r),r},P.CHARSTRING=function(e){return A.CHARSTRING(e).length},A.OBJECT=function(e){var t=A[e.type];return F.argument(void 0!==t,"No encoding function for type "+e.type),t(e.value)},P.OBJECT=function(e){var t=P[e.type];return F.argument(void 0!==t,"No sizeOf function for type "+e.type),t(e.value)},A.TABLE=function(e){for(var t=[],r=e.fields.length,n=[],a=[],s=0;s<r;s+=1){var o=e.fields[s],i=A[o.type];F.argument(void 0!==i,"No encoding function for field type "+o.type+" ("+o.name+")");var u=e[o.name];void 0===u&&(u=o.value);var l=i(u);"TABLE"===o.type?(a.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var p=0;p<n.length;p+=1){var c=a[p],h=t.length;F.argument(h<65536,"Table "+e.tableName+" too big."),t[c]=h>>8,t[c+1]=255&h,t=t.concat(n[p])}return t},P.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n<r;n+=1){var a=e.fields[n],s=P[a.type];F.argument(void 0!==s,"No sizeOf function for field type "+a.type+" ("+a.name+")");var o=e[a.name];void 0===o&&(o=a.value),t+=s(o),"TABLE"===a.type&&(t+=2)}return t},A.RECORD=A.TABLE,P.RECORD=P.TABLE,A.LITERAL=function(e){return e},P.LITERAL=function(e){return e.length},Q.prototype.encode=function(){return A.TABLE(this)},Q.prototype.sizeOf=function(){return P.TABLE(this)},ee.prototype=Object.create(Q.prototype),ee.prototype.constructor=ee,te.prototype=Object.create(Q.prototype),te.prototype.constructor=te,re.prototype=Object.create(Q.prototype),re.prototype.constructor=re,ne.prototype=Object.create(Q.prototype),ne.prototype.constructor=ne;var ae={Table:Q,Record:Q,Coverage:ee,ScriptList:te,FeatureList:re,LookupList:ne,ushortList:K,tableList:J,recordList:$};function se(e,t){return e.getUint8(t)}function oe(e,t){return e.getUint16(t,!1)}function ie(e,t){return e.getInt16(t,!1)}function ue(e,t){return e.getUint32(t,!1)}function le(e,t){return e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535}function pe(e,t){for(var r="",n=t;n<t+4;n+=1)r+=String.fromCharCode(e.getInt8(n));return r}function ce(e,t,r){for(var n=0,a=0;a<r;a+=1)n<<=8,n+=e.getUint8(t+a);return n}function he(e,t,r){for(var n=[],a=t;a<r;a+=1)n.push(e.getUint8(a));return n}function fe(e){for(var t="",r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return t}var de={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function ge(e,t){this.data=e,this.offset=t,this.relativeOffset=0}ge.prototype.parseByte=function(){var e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ge.prototype.parseChar=function(){var e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ge.prototype.parseCard8=ge.prototype.parseByte,ge.prototype.parseUShort=function(){var e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ge.prototype.parseCard16=ge.prototype.parseUShort,ge.prototype.parseSID=ge.prototype.parseUShort,ge.prototype.parseOffset16=ge.prototype.parseUShort,ge.prototype.parseShort=function(){var e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ge.prototype.parseF2Dot14=function(){var e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},ge.prototype.parseULong=function(){var e=ue(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ge.prototype.parseOffset32=ge.prototype.parseULong,ge.prototype.parseFixed=function(){var e=le(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ge.prototype.parseString=function(e){var t=this.data,r=this.offset+this.relativeOffset,n="";this.relativeOffset+=e;for(var a=0;a<e;a++)n+=String.fromCharCode(t.getUint8(r+a));return n},ge.prototype.parseTag=function(){return this.parseString(4)},ge.prototype.parseLongDateTime=function(){var e=ue(this.data,this.offset+this.relativeOffset+4);return e-=2082844800,this.relativeOffset+=8,e},ge.prototype.parseVersion=function(e){var t=oe(this.data,this.offset+this.relativeOffset),r=oe(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===e&&(e=4096),t+r/e/10},ge.prototype.skip=function(e,t){void 0===t&&(t=1),this.relativeOffset+=de[e]*t},ge.prototype.parseULongList=function(e){void 0===e&&(e=this.parseULong());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint32(n),n+=4;return this.relativeOffset+=4*e,t},ge.prototype.parseOffset16List=ge.prototype.parseUShortList=function(e){void 0===e&&(e=this.parseUShort());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint16(n),n+=2;return this.relativeOffset+=2*e,t},ge.prototype.parseShortList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getInt16(n),n+=2;return this.relativeOffset+=2*e,t},ge.prototype.parseByteList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint8(n++);return this.relativeOffset+=e,t},ge.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ge.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ge.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=Object.keys(t),a=0;a<e;a++){for(var s={},o=0;o<n.length;o++){var i=n[o],u=t[i];s[i]=u.call(this)}r[a]=s}return r},ge.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=Object.keys(t),a=0;a<e;a++){for(var s={},o=0;o<n.length;o++){var i=n[o],u=t[i];s[i]=u.call(this)}r[a]=s}return r},ge.prototype.parseStruct=function(e){if("function"==typeof e)return e.call(this);for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var a=t[n],s=e[a];r[a]=s.call(this)}return r},ge.prototype.parseValueRecord=function(e){if(void 0===e&&(e=this.parseUShort()),0!==e){var t={};return 1&e&&(t.xPlacement=this.parseShort()),2&e&&(t.yPlacement=this.parseShort()),4&e&&(t.xAdvance=this.parseShort()),8&e&&(t.yAdvance=this.parseShort()),16&e&&(t.xPlaDevice=void 0,this.parseShort()),32&e&&(t.yPlaDevice=void 0,this.parseShort()),64&e&&(t.xAdvDevice=void 0,this.parseShort()),128&e&&(t.yAdvDevice=void 0,this.parseShort()),t}},ge.prototype.parseValueRecordList=function(){for(var e=this.parseUShort(),t=this.parseUShort(),r=new Array(t),n=0;n<t;n++)r[n]=this.parseValueRecord(e);return r},ge.prototype.parsePointer=function(e){var t=this.parseOffset16();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),s=0;s<r;s++){var o=t[s];if(0!==o)if(this.relativeOffset=o,e){for(var i=this.parseOffset16List(),u=new Array(i.length),l=0;l<i.length;l++)this.relativeOffset=o+i[l],u[l]=e.call(this);a[s]=u}else a[s]=this.parseUShortList();else a[s]=void 0}return this.relativeOffset=n,a},ge.prototype.parseCoverage=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort(),r=this.parseUShort();if(1===t)return{format:1,glyphs:this.parseUShortList(r)};if(2===t){for(var n=new Array(r),a=0;a<r;a++)n[a]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},ge.prototype.parseClassDef=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===t)return{format:2,ranges:this.parseRecordList({start:ge.uShort,end:ge.uShort,classId:ge.uShort})};throw new Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},ge.list=function(e,t){return function(){return this.parseList(e,t)}},ge.list32=function(e,t){return function(){return this.parseList32(e,t)}},ge.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},ge.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},ge.pointer=function(e){return function(){return this.parsePointer(e)}},ge.pointer32=function(e){return function(){return this.parsePointer32(e)}},ge.tag=ge.prototype.parseTag,ge.byte=ge.prototype.parseByte,ge.uShort=ge.offset16=ge.prototype.parseUShort,ge.uShortList=ge.prototype.parseUShortList,ge.uLong=ge.offset32=ge.prototype.parseULong,ge.uLongList=ge.prototype.parseULongList,ge.struct=ge.prototype.parseStruct,ge.coverage=ge.prototype.parseCoverage,ge.classDef=ge.prototype.parseClassDef;var ve={reserved:ge.uShort,reqFeatureIndex:ge.uShort,featureIndexes:ge.uShortList};ge.prototype.parseScriptList=function(){return this.parsePointer(ge.recordList({tag:ge.tag,script:ge.pointer({defaultLangSys:ge.pointer(ve),langSysRecords:ge.recordList({tag:ge.tag,langSys:ge.pointer(ve)})})}))||[]},ge.prototype.parseFeatureList=function(){return this.parsePointer(ge.recordList({tag:ge.tag,feature:ge.pointer({featureParams:ge.offset16,lookupListIndexes:ge.uShortList})}))||[]},ge.prototype.parseLookupList=function(e){return this.parsePointer(ge.list(ge.pointer((function(){var t=this.parseUShort();F.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var r=this.parseUShort(),n=16&r;return{lookupType:t,lookupFlag:r,subtables:this.parseList(ge.pointer(e[t])),markFilteringSet:n?this.parseUShort():void 0}}))))||[]},ge.prototype.parseFeatureVariationsList=function(){return this.parsePointer32((function(){var e=this.parseUShort(),t=this.parseUShort();return F.argument(1===e&&t<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:ge.offset32,featureTableSubstitutionOffset:ge.offset32})}))||[]};var me={getByte:se,getCard8:se,getUShort:oe,getCard16:oe,getShort:ie,getULong:ue,getFixed:le,getTag:pe,getOffset:ce,getBytes:he,bytesToString:fe,Parser:ge};function ye(e,t){var r;t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=r=t.parseULong(),e.glyphIndexMap={};for(var n=0;n<r;n+=1)for(var a=t.parseULong(),s=t.parseULong(),o=t.parseULong(),i=a;i<=s;i+=1)e.glyphIndexMap[i]=o,o++}function be(e,t,r,n,a){var s;e.length=t.parseUShort(),e.language=t.parseUShort(),e.segCount=s=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new me.Parser(r,n+a+14),i=new me.Parser(r,n+a+16+2*s),u=new me.Parser(r,n+a+16+4*s),l=new me.Parser(r,n+a+16+6*s),p=n+a+16+8*s,c=0;c<s-1;c+=1)for(var h=void 0,f=o.parseUShort(),d=i.parseUShort(),g=u.parseShort(),v=l.parseUShort(),m=d;m<=f;m+=1)0!==v?(p=l.offset+l.relativeOffset-2,p+=v,p+=2*(m-d),0!==(h=me.getUShort(r,p))&&(h=h+g&65535)):h=m+g&65535,e.glyphIndexMap[m]=h}function Se(e,t){var r={};r.version=me.getUShort(e,t),F.argument(0===r.version,"cmap table version should be 0."),r.numTables=me.getUShort(e,t+2);for(var n=-1,a=r.numTables-1;a>=0;a-=1){var s=me.getUShort(e,t+4+8*a),o=me.getUShort(e,t+4+8*a+2);if(3===s&&(0===o||1===o||10===o)||0===s&&(0===o||1===o||2===o||3===o||4===o)){n=me.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var i=new me.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)ye(r,i);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,i,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ue(e){var t,r=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new ae.Table("cmap",n);for(a.segments=[],t=0;t<e.length;t+=1){for(var s=e.get(t),o=0;o<s.unicodes.length;o+=1)xe(a,s.unicodes[o],t);a.segments=a.segments.sort((function(e,t){return e.start-t.start}))}Te(a);var i=a.segments.length,u=0,l=[],p=[],c=[],h=[],f=[],d=[];for(t=0;t<i;t+=1){var g=a.segments[t];g.end<=65535&&g.start<=65535?(l=l.concat({name:"end_"+t,type:"USHORT",value:g.end}),p=p.concat({name:"start_"+t,type:"USHORT",value:g.start}),c=c.concat({name:"idDelta_"+t,type:"SHORT",value:g.delta}),h=h.concat({name:"idRangeOffset_"+t,type:"USHORT",value:g.offset}),void 0!==g.glyphId&&(f=f.concat({name:"glyph_"+t,type:"USHORT",value:g.glyphId}))):u+=1,r||void 0===g.glyphIndex||(d=(d=(d=d.concat({name:"cmap12Start_"+t,type:"ULONG",value:g.start})).concat({name:"cmap12End_"+t,type:"ULONG",value:g.end})).concat({name:"cmap12Glyph_"+t,type:"ULONG",value:g.glyphIndex}))}if(a.segCountX2=2*(i-u),a.searchRange=2*Math.pow(2,Math.floor(Math.log(i-u)/Math.log(2))),a.entrySelector=Math.log(a.searchRange/2)/Math.log(2),a.rangeShift=a.segCountX2-a.searchRange,a.fields=a.fields.concat(l),a.fields.push({name:"reservedPad",type:"USHORT",value:0}),a.fields=a.fields.concat(p),a.fields=a.fields.concat(c),a.fields=a.fields.concat(h),a.fields=a.fields.concat(f),a.cmap4Length=14+2*l.length+2+2*p.length+2*c.length+2*h.length+2*f.length,!r){var v=16+4*d.length;a.cmap12Offset=20+a.cmap4Length,a.fields=a.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:v},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:d.length/3}]),a.fields=a.fields.concat(d)}return a}var ke={parse:Se,make:Ue},Ee=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Oe=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],we=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Re=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function Le(e){this.font=e}function Ce(e){this.cmap=e}function De(e,t){this.encoding=e,this.charset=t}function Ie(e){switch(e.version){case 1:this.names=Re.slice();break;case 2:this.names=new Array(e.numberOfGlyphs);for(var t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<Re.length?this.names[t]=Re[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-Re.length];break;case 2.5:this.names=new Array(e.numberOfGlyphs);for(var r=0;r<e.numberOfGlyphs;r++)this.names[r]=Re[r+e.glyphNameIndex[r]];break;default:this.names=[]}}function Be(e){for(var t,r=e.tables.cmap.glyphIndexMap,n=Object.keys(r),a=0;a<n.length;a+=1){var s=n[a],o=r[s];(t=e.glyphs.get(o)).addUnicode(parseInt(s))}for(var i=0;i<e.glyphs.length;i+=1)t=e.glyphs.get(i),e.cffEncoding?e.isCIDFont?t.name="gid"+i:t.name=e.cffEncoding.charset[i]:e.glyphNames.names&&(t.name=e.glyphNames.glyphIndexToName(i))}function Fe(e){e._IndexToUnicodeMap={};for(var t=e.tables.cmap.glyphIndexMap,r=Object.keys(t),n=0;n<r.length;n+=1){var a=r[n],s=t[a];void 0===e._IndexToUnicodeMap[s]?e._IndexToUnicodeMap[s]={unicodes:[parseInt(a)]}:e._IndexToUnicodeMap[s].unicodes.push(parseInt(a))}}function Ge(e,t){t.lowMemory?Fe(e):Be(e)}function Me(e,t,r,n,a){e.beginPath(),e.moveTo(t,r),e.lineTo(n,a),e.stroke()}Le.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.font.glyphs;if(r)for(var n=0;n<r.length;n+=1)for(var a=r.get(n),s=0;s<a.unicodes.length;s+=1)if(a.unicodes[s]===t)return n;return null},Ce.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0},De.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.encoding[t];return this.charset.indexOf(r)},Ie.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},Ie.prototype.glyphIndexToName=function(e){return this.names[e]};var Ne={line:Me};function Ae(e,t){var r=t||new D;return{configurable:!0,get:function(){return"function"==typeof r&&(r=r()),r},set:function(e){r=e}}}function Pe(e){this.bindConstructorValues(e)}function _e(e,t,r){Object.defineProperty(e,t,{get:function(){return e.path,e[r]},set:function(t){e[r]=t},enumerable:!0,configurable:!0})}function He(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(var r=0;r<t.length;r++){var n=t[r];n.path.unitsPerEm=e.unitsPerEm,this.glyphs[r]=n}this.length=t&&t.length||0}function ze(e,t){return new Pe({index:t,font:e})}function We(e,t,r,n,a,s){return function(){var o=new Pe({index:t,font:e});return o.path=function(){r(o,n,a);var t=s(e.glyphs,o);return t.unitsPerEm=e.unitsPerEm,t},_e(o,"xMin","_xMin"),_e(o,"xMax","_xMax"),_e(o,"yMin","_yMin"),_e(o,"yMax","_yMax"),o}}function Ve(e,t,r,n){return function(){var a=new Pe({index:t,font:e});return a.path=function(){var t=r(e,a,n);return t.unitsPerEm=e.unitsPerEm,t},a}}Pe.prototype.bindConstructorValues=function(e){this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||void 0!==e.unicode?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",Ae(this,e.path))},Pe.prototype.addUnicode=function(e){0===this.unicodes.length&&(this.unicode=e),this.unicodes.push(e)},Pe.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Pe.prototype.getPath=function(e,t,r,n,a){var s,o;e=void 0!==e?e:0,t=void 0!==t?t:0,r=void 0!==r?r:72,n||(n={});var i=n.xScale,u=n.yScale;if(n.hinting&&a&&a.hinting&&(o=this.path&&a.hinting.exec(this,r)),o)s=a.hinting.getCommands(o),e=Math.round(e),t=Math.round(t),i=u=1;else{s=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*r;void 0===i&&(i=l),void 0===u&&(u=l)}for(var p=new D,c=0;c<s.length;c+=1){var h=s[c];"M"===h.type?p.moveTo(e+h.x*i,t+-h.y*u):"L"===h.type?p.lineTo(e+h.x*i,t+-h.y*u):"Q"===h.type?p.quadraticCurveTo(e+h.x1*i,t+-h.y1*u,e+h.x*i,t+-h.y*u):"C"===h.type?p.curveTo(e+h.x1*i,t+-h.y1*u,e+h.x2*i,t+-h.y2*u,e+h.x*i,t+-h.y*u):"Z"===h.type&&p.closePath()}return p},Pe.prototype.getContours=function(){if(void 0===this.points)return[];for(var e=[],t=[],r=0;r<this.points.length;r+=1){var n=this.points[r];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return F.argument(0===t.length,"There are still points left in the current contour."),e},Pe.prototype.getMetrics=function(){for(var e=this.path.commands,t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];"Z"!==a.type&&(t.push(a.x),r.push(a.y)),"Q"!==a.type&&"C"!==a.type||(t.push(a.x1),r.push(a.y1)),"C"===a.type&&(t.push(a.x2),r.push(a.y2))}var s={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,r),leftSideBearing:this.leftSideBearing};return isFinite(s.xMin)||(s.xMin=0),isFinite(s.xMax)||(s.xMax=this.advanceWidth),isFinite(s.yMin)||(s.yMin=0),isFinite(s.yMax)||(s.yMax=0),s.rightSideBearing=this.advanceWidth-s.leftSideBearing-(s.xMax-s.xMin),s},Pe.prototype.draw=function(e,t,r,n,a){this.getPath(t,r,n,a).draw(e)},Pe.prototype.drawPoints=function(e,t,r,n){function a(t,r,n,a){e.beginPath();for(var s=0;s<t.length;s+=1)e.moveTo(r+t[s].x*a,n+t[s].y*a),e.arc(r+t[s].x*a,n+t[s].y*a,2,0,2*Math.PI,!1);e.closePath(),e.fill()}t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24;for(var s=1/this.path.unitsPerEm*n,o=[],i=[],u=this.path,l=0;l<u.commands.length;l+=1){var p=u.commands[l];void 0!==p.x&&o.push({x:p.x,y:-p.y}),void 0!==p.x1&&i.push({x:p.x1,y:-p.y1}),void 0!==p.x2&&i.push({x:p.x2,y:-p.y2})}e.fillStyle="blue",a(o,t,r,s),e.fillStyle="red",a(i,t,r,s)},Pe.prototype.drawMetrics=function(e,t,r,n){var a;t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24,a=1/this.path.unitsPerEm*n,e.lineWidth=1,e.strokeStyle="black",Ne.line(e,t,-1e4,t,1e4),Ne.line(e,-1e4,r,1e4,r);var s=this.xMin||0,o=this.yMin||0,i=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;e.strokeStyle="blue",Ne.line(e,t+s*a,-1e4,t+s*a,1e4),Ne.line(e,t+i*a,-1e4,t+i*a,1e4),Ne.line(e,-1e4,r+-o*a,1e4,r+-o*a),Ne.line(e,-1e4,r+-u*a,1e4,r+-u*a),e.strokeStyle="green",Ne.line(e,t+l*a,-1e4,t+l*a,1e4)},He.prototype.get=function(e){if(void 0===this.glyphs[e]){this.font._push(e),"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());var t=this.glyphs[e],r=this.font._IndexToUnicodeMap[e];if(r)for(var n=0;n<r.unicodes.length;n++)t.addUnicode(r.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},He.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};var qe={GlyphSet:He,glyphLoader:ze,ttfGlyphLoader:We,cffGlyphLoader:Ve};function Xe(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r+=1)if(!Xe(e[r],t[r]))return!1;return!0}return!1}function je(e){return e.length<1240?107:e.length<33900?1131:32768}function Ye(e,t,r){var n,a,s=[],o=[],i=me.getCard16(e,t);if(0!==i){var u=me.getByte(e,t+2);n=t+(i+1)*u+2;for(var l=t+3,p=0;p<i+1;p+=1)s.push(me.getOffset(e,l,u)),l+=u;a=n+s[i]}else a=t+2;for(var c=0;c<s.length-1;c+=1){var h=me.getBytes(e,n+s[c],n+s[c+1]);r&&(h=r(h)),o.push(h)}return{objects:o,startOffset:t,endOffset:a}}function Ze(e,t){var r,n,a=[],s=me.getCard16(e,t);if(0!==s){var o=me.getByte(e,t+2);r=t+(s+1)*o+2;for(var i=t+3,u=0;u<s+1;u+=1)a.push(me.getOffset(e,i,o)),i+=o;n=r+a[s]}else n=t+2;return{offsets:a,startOffset:t,endOffset:n}}function Qe(e,t,r,n,a){var s=me.getCard16(r,n),o=0;0!==s&&(o=n+(s+1)*me.getByte(r,n+2)+2);var i=me.getBytes(r,o+t[e],o+t[e+1]);return a&&(i=a(i)),i}function Ke(e){for(var t="",r=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var a=e.parseByte(),s=a>>4,o=15&a;if(s===r)break;if(t+=n[s],o===r)break;t+=n[o]}return parseFloat(t)}function Je(e,t){if(28===t)return e.parseByte()<<8|e.parseByte();if(29===t)return e.parseByte()<<24|e.parseByte()<<16|e.parseByte()<<8|e.parseByte();if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r<e.length;r+=1){var n=e[r][0],a=e[r][1],s=void 0;if(s=1===a.length?a[0]:a,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=s}return t}function et(e,t,r){t=void 0!==t?t:0;var n=new me.Parser(e,t),a=[],s=[];for(r=void 0!==r?r:e.length;n.relativeOffset<r;){var o=n.parseByte();o<=21?(12===o&&(o=1200+n.parseByte()),a.push([o,s]),s=[]):s.push(Je(n,o))}return $e(a)}function tt(e,t){return t=t<=390?Ee[t]:e[t-391]}function rt(e,t,r){for(var n,a={},s=0;s<t.length;s+=1){var o=t[s];if(Array.isArray(o.type)){var i=[];i.length=o.type.length;for(var u=0;u<o.type.length;u++)void 0===(n=void 0!==e[o.op]?e[o.op][u]:void 0)&&(n=void 0!==o.value&&void 0!==o.value[u]?o.value[u]:null),"SID"===o.type[u]&&(n=tt(r,n)),i[u]=n;a[o.name]=i}else void 0===(n=e[o.op])&&(n=void 0!==o.value?o.value:null),"SID"===o.type&&(n=tt(r,n)),a[o.name]=n}return a}function nt(e,t){var r={};return r.formatMajor=me.getCard8(e,t),r.formatMinor=me.getCard8(e,t+1),r.size=me.getCard8(e,t+2),r.offsetSize=me.getCard8(e,t+3),r.startOffset=t,r.endOffset=t+4,r}var at=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],st=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function ot(e,t){return rt(et(e,0,e.byteLength),at,t)}function it(e,t,r,n){return rt(et(e,t,r),st,n)}function ut(e,t,r,n){for(var a=[],s=0;s<r.length;s+=1){var o=ot(new DataView(new Uint8Array(r[s]).buffer),n);o._subrs=[],o._subrsBias=0,o._defaultWidthX=0,o._nominalWidthX=0;var i=o.private[0],u=o.private[1];if(0!==i&&0!==u){var l=it(e,u+t,i,n);if(o._defaultWidthX=l.defaultWidthX,o._nominalWidthX=l.nominalWidthX,0!==l.subrs){var p=Ye(e,u+l.subrs+t);o._subrs=p.objects,o._subrsBias=je(o._subrs)}o._privateDict=l}a.push(o)}return a}function lt(e,t,r,n){var a,s,o=new me.Parser(e,t);r-=1;var i=[".notdef"],u=o.parseCard8();if(0===u)for(var l=0;l<r;l+=1)a=o.parseSID(),i.push(tt(n,a));else if(1===u)for(;i.length<=r;){a=o.parseSID(),s=o.parseCard8();for(var p=0;p<=s;p+=1)i.push(tt(n,a)),a+=1}else{if(2!==u)throw new Error("Unknown charset format "+u);for(;i.length<=r;){a=o.parseSID(),s=o.parseCard16();for(var c=0;c<=s;c+=1)i.push(tt(n,a)),a+=1}}return i}function pt(e,t,r){var n,a={},s=new me.Parser(e,t),o=s.parseCard8();if(0===o)for(var i=s.parseCard8(),u=0;u<i;u+=1)a[n=s.parseCard8()]=u;else{if(1!==o)throw new Error("Unknown encoding format "+o);var l=s.parseCard8();n=1;for(var p=0;p<l;p+=1)for(var c=s.parseCard8(),h=s.parseCard8(),f=c;f<=c+h;f+=1)a[f]=n,n+=1}return new De(a,r)}function ct(e,t,r){var n,a,s,o,i,u,l,p,c=new D,h=[],f=0,d=!1,g=!1,v=0,m=0;if(e.isCIDFont){var y=e.tables.cff.topDict._fdSelect[t.index],b=e.tables.cff.topDict._fdArray[y];i=b._subrs,u=b._subrsBias,l=b._defaultWidthX,p=b._nominalWidthX}else i=e.tables.cff.topDict._subrs,u=e.tables.cff.topDict._subrsBias,l=e.tables.cff.topDict._defaultWidthX,p=e.tables.cff.topDict._nominalWidthX;var S=l;function x(e,t){g&&c.closePath(),c.moveTo(e,t),g=!0}function T(){h.length%2!=0&&!d&&(S=h.shift()+p),f+=h.length>>1,h.length=0,d=!0}function U(r){for(var l,y,b,k,E,O,w,R,L,C,D,I,B=0;B<r.length;){var F=r[B];switch(B+=1,F){case 1:case 3:case 18:case 23:T();break;case 4:h.length>1&&!d&&(S=h.shift()+p,d=!0),m+=h.pop(),x(v,m);break;case 5:for(;h.length>0;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 6:for(;h.length>0&&(v+=h.shift(),c.lineTo(v,m),0!==h.length);)m+=h.shift(),c.lineTo(v,m);break;case 7:for(;h.length>0&&(m+=h.shift(),c.lineTo(v,m),0!==h.length);)v+=h.shift(),c.lineTo(v,m);break;case 8:for(;h.length>0;)n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 10:E=h.pop()+u,(O=i[E])&&U(O);break;case 11:return;case 12:switch(F=r[B],B+=1,F){case 35:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),m=I+h.shift(),h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 34:n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=m,v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 36:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;case 37:n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),Math.abs(D-v)>Math.abs(I-m)?v=D+h.shift():m=I+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,m);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+F),h.length=0}break;case 14:h.length>0&&!d&&(S=h.shift()+p,d=!0),g&&(c.closePath(),g=!1);break;case 19:case 20:T(),B+=f+7>>3;break;case 21:h.length>2&&!d&&(S=h.shift()+p,d=!0),m+=h.pop(),x(v+=h.pop(),m);break;case 22:h.length>1&&!d&&(S=h.shift()+p,d=!0),x(v+=h.pop(),m);break;case 24:for(;h.length>2;)n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 25:for(;h.length>6;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);n=v+h.shift(),a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 26:for(h.length%2&&(v+=h.shift());h.length>0;)n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s,m=o+h.shift(),c.curveTo(n,a,s,o,v,m);break;case 27:for(h.length%2&&(m+=h.shift());h.length>0;)n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o,c.curveTo(n,a,s,o,v,m);break;case 28:l=r[B],y=r[B+1],h.push((l<<24|y<<16)>>16),B+=2;break;case 29:E=h.pop()+e.gsubrsBias,(O=e.gsubrs[E])&&U(O);break;case 30:for(;h.length>0&&(n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m),0!==h.length);)n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),m=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m);break;case 31:for(;h.length>0&&(n=v+h.shift(),a=m,s=n+h.shift(),o=a+h.shift(),m=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m),0!==h.length);)n=v,a=m+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),m=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,m);break;default:F<32?console.log("Glyph "+t.index+": unknown operator "+F):F<247?h.push(F-139):F<251?(l=r[B],B+=1,h.push(256*(F-247)+l+108)):F<255?(l=r[B],B+=1,h.push(256*-(F-251)-l-108)):(l=r[B],y=r[B+1],b=r[B+2],k=r[B+3],B+=4,h.push((l<<24|y<<16|b<<8|k)/65536))}}}return U(r),t.advanceWidth=S,c}function ht(e,t,r,n){var a,s=[],o=new me.Parser(e,t),i=o.parseCard8();if(0===i)for(var u=0;u<r;u++){if((a=o.parseCard8())>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else{if(3!==i)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+i);var l,p=o.parseCard16(),c=o.parseCard16();if(0!==c)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h=0;h<p;h++){if(a=o.parseCard8(),l=o.parseCard16(),a>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c<l;c++)s.push(a);c=l}if(l!==r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+l)}return s}function ft(e,t,r,n){r.tables.cff={};var a=nt(e,t),s=Ye(e,a.endOffset,me.bytesToString),o=Ye(e,s.endOffset),i=Ye(e,o.endOffset,me.bytesToString),u=Ye(e,i.endOffset);r.gsubrs=u.objects,r.gsubrsBias=je(r.gsubrs);var l=ut(e,t,o.objects,i.objects);if(1!==l.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var p=l[0];if(r.tables.cff.topDict=p,p._privateDict&&(r.defaultWidthX=p._privateDict.defaultWidthX,r.nominalWidthX=p._privateDict.nominalWidthX),void 0!==p.ros[0]&&void 0!==p.ros[1]&&(r.isCIDFont=!0),r.isCIDFont){var c=p.fdArray,h=p.fdSelect;if(0===c||0===h)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var f=Ye(e,c+=t),d=ut(e,t,f.objects,i.objects);p._fdArray=d,h+=t,p._fdSelect=ht(e,h,r.numGlyphs,d.length)}var g,v=t+p.private[1],m=it(e,v,p.private[0],i.objects);if(r.defaultWidthX=m.defaultWidthX,r.nominalWidthX=m.nominalWidthX,0!==m.subrs){var y=v+m.subrs,b=Ye(e,y);r.subrs=b.objects,r.subrsBias=je(r.subrs)}else r.subrs=[],r.subrsBias=0;n.lowMemory?(g=Ze(e,t+p.charStrings),r.nGlyphs=g.offsets.length):(g=Ye(e,t+p.charStrings),r.nGlyphs=g.objects.length);var S=lt(e,t+p.charset,r.nGlyphs,i.objects);if(0===p.encoding?r.cffEncoding=new De(Oe,S):1===p.encoding?r.cffEncoding=new De(we,S):r.cffEncoding=pt(e,t+p.encoding,S),r.encoding=r.encoding||r.cffEncoding,r.glyphs=new qe.GlyphSet(r),n.lowMemory)r._push=function(n){var a=Qe(n,g.offsets,e,t+p.charStrings);r.glyphs.push(n,qe.cffGlyphLoader(r,n,ct,a))};else for(var x=0;x<r.nGlyphs;x+=1){var T=g.objects[x];r.glyphs.push(x,qe.cffGlyphLoader(r,x,ct,T))}}function dt(e,t){var r,n=Ee.indexOf(e);return n>=0&&(r=n),(n=t.indexOf(e))>=0?r=n+Ee.length:(r=Ee.length+t.length,t.push(e)),r}function gt(){return new ae.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function vt(e){var t=new ae.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r<e.length;r+=1)t.names.push({name:"name_"+r,type:"NAME",value:e[r]});return t}function mt(e,t,r){for(var n={},a=0;a<e.length;a+=1){var s=e[a],o=t[s.name];void 0===o||Xe(o,s.value)||("SID"===s.type&&(o=dt(o,r)),n[s.op]={name:s.name,type:s.type,value:o})}return n}function yt(e,t){var r=new ae.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=mt(at,e,t),r}function bt(e){var t=new ae.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}function St(e){var t=new ae.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var r=0;r<e.length;r+=1)t.strings.push({name:"string_"+r,type:"STRING",value:e[r]});return t}function xt(){return new ae.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function Tt(e,t){for(var r=new ae.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<e.length;n+=1){var a=dt(e[n],t);r.fields.push({name:"glyph_"+n,type:"SID",value:a})}return r}function Ut(e){var t=[],r=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});for(var n=0,a=0,s=0;s<r.commands.length;s+=1){var o=void 0,i=void 0,u=r.commands[s];if("Q"===u.type){var l=1/3,p=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+p*u.x1),y1:Math.round(l*a+p*u.y1),x2:Math.round(l*u.x+p*u.x1),y2:Math.round(l*u.y+p*u.y1)}}if("M"===u.type)o=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),a=Math.round(u.y);else if("L"===u.type)o=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),a=Math.round(u.y);else if("C"===u.type){var c=Math.round(u.x1-n),h=Math.round(u.y1-a),f=Math.round(u.x2-u.x1),d=Math.round(u.y2-u.y1);o=Math.round(u.x-u.x2),i=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:c}),t.push({name:"dy1",type:"NUMBER",value:h}),t.push({name:"dx2",type:"NUMBER",value:f}),t.push({name:"dy2",type:"NUMBER",value:d}),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),a=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function kt(e){for(var t=new ae.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),r=0;r<e.length;r+=1){var n=e.get(r),a=Ut(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:a})}return t}function Et(e,t){var r=new ae.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=mt(st,e,t),r}function Ot(e,t){for(var r,n=new ae.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),a=1/t.unitsPerEm,s={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[a,0,0,a,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},o={},i=[],u=1;u<e.length;u+=1)r=e.get(u),i.push(r.name);var l=[];n.header=gt(),n.nameIndex=vt([t.postScriptName]);var p=yt(s,l);n.topDictIndex=bt(p),n.globalSubrIndex=xt(),n.charsets=Tt(i,l),n.charStringsIndex=kt(e),n.privateDict=Et(o,l),n.stringIndex=St(l);var c=n.header.sizeOf()+n.nameIndex.sizeOf()+n.topDictIndex.sizeOf()+n.stringIndex.sizeOf()+n.globalSubrIndex.sizeOf();return s.charset=c,s.encoding=0,s.charStrings=s.charset+n.charsets.sizeOf(),s.private[1]=s.charStrings+n.charStringsIndex.sizeOf(),p=yt(s,l),n.topDictIndex=bt(p),n}var wt={parse:ft,make:Ot};function Rt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.fontRevision=Math.round(1e3*n.parseFixed())/1e3,r.checkSumAdjustment=n.parseULong(),r.magicNumber=n.parseULong(),F.argument(1594834165===r.magicNumber,"Font header has wrong magic number."),r.flags=n.parseUShort(),r.unitsPerEm=n.parseUShort(),r.created=n.parseLongDateTime(),r.modified=n.parseLongDateTime(),r.xMin=n.parseShort(),r.yMin=n.parseShort(),r.xMax=n.parseShort(),r.yMax=n.parseShort(),r.macStyle=n.parseUShort(),r.lowestRecPPEM=n.parseUShort(),r.fontDirectionHint=n.parseShort(),r.indexToLocFormat=n.parseShort(),r.glyphDataFormat=n.parseShort(),r}function Lt(e){var t=Math.round((new Date).getTime()/1e3)+2082844800,r=t;return e.createdTimestamp&&(r=e.createdTimestamp+2082844800),new ae.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:r},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],e)}var Ct={parse:Rt,make:Lt};function Dt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.ascender=n.parseShort(),r.descender=n.parseShort(),r.lineGap=n.parseShort(),r.advanceWidthMax=n.parseUShort(),r.minLeftSideBearing=n.parseShort(),r.minRightSideBearing=n.parseShort(),r.xMaxExtent=n.parseShort(),r.caretSlopeRise=n.parseShort(),r.caretSlopeRun=n.parseShort(),r.caretOffset=n.parseShort(),n.relativeOffset+=8,r.metricDataFormat=n.parseShort(),r.numberOfHMetrics=n.parseUShort(),r}function It(e){return new ae.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],e)}var Bt={parse:Dt,make:It};function Ft(e,t,r,n,a){for(var s,o,i=new me.Parser(e,t),u=0;u<n;u+=1){u<r&&(s=i.parseUShort(),o=i.parseShort());var l=a.get(u);l.advanceWidth=s,l.leftSideBearing=o}}function Gt(e,t,r,n,a){var s,o;e._hmtxTableData={};for(var i=new me.Parser(t,r),u=0;u<a;u+=1)u<n&&(s=i.parseUShort(),o=i.parseShort()),e._hmtxTableData[u]={advanceWidth:s,leftSideBearing:o}}function Mt(e,t,r,n,a,s,o){o.lowMemory?Gt(e,t,r,n,a):Ft(t,r,n,a,s)}function Nt(e){for(var t=new ae.Table("hmtx",[]),r=0;r<e.length;r+=1){var n=e.get(r),a=n.advanceWidth||0,s=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+r,type:"USHORT",value:a}),t.fields.push({name:"leftSideBearing_"+r,type:"SHORT",value:s})}return t}var At={parse:Mt,make:Nt};function Pt(e){for(var t=new ae.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]),r="",n=12+4*e.length,a=0;a<e.length;++a){var s=r.indexOf(e[a]);s<0&&(s=r.length,r+=e[a]),t.fields.push({name:"offset "+a,type:"USHORT",value:n+s}),t.fields.push({name:"length "+a,type:"USHORT",value:e[a].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),t}function _t(e,t){var r=new me.Parser(e,t),n=r.parseULong();F.argument(1===n,"Unsupported ltag table version."),r.skip("uLong",1);for(var a=r.parseULong(),s=[],o=0;o<a;o++){for(var i="",u=t+r.parseUShort(),l=r.parseUShort(),p=u;p<u+l;++p)i+=String.fromCharCode(e.getInt8(p));s.push(i)}return s}var Ht={make:Pt,parse:_t};function zt(e,t){var r={},n=new me.Parser(e,t);return r.version=n.parseVersion(),r.numGlyphs=n.parseUShort(),1===r.version&&(r.maxPoints=n.parseUShort(),r.maxContours=n.parseUShort(),r.maxCompositePoints=n.parseUShort(),r.maxCompositeContours=n.parseUShort(),r.maxZones=n.parseUShort(),r.maxTwilightPoints=n.parseUShort(),r.maxStorage=n.parseUShort(),r.maxFunctionDefs=n.parseUShort(),r.maxInstructionDefs=n.parseUShort(),r.maxStackElements=n.parseUShort(),r.maxSizeOfInstructions=n.parseUShort(),r.maxComponentElements=n.parseUShort(),r.maxComponentDepth=n.parseUShort()),r}function Wt(e){return new ae.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}var Vt={parse:zt,make:Wt},qt=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Xt={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},jt={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},Yt={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function Zt(e,t,r){switch(e){case 0:if(65535===t)return"und";if(r)return r[t];break;case 1:return Xt[t];case 3:return Yt[t]}}var Qt="utf-16",Kt={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},Jt={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function $t(e,t,r){switch(e){case 0:return Qt;case 1:return Jt[r]||Kt[t];case 3:if(1===t||10===t)return Qt}}function er(e,t,r){for(var n={},a=new me.Parser(e,t),s=a.parseUShort(),o=a.parseUShort(),i=a.offset+a.parseUShort(),u=0;u<o;u++){var l=a.parseUShort(),p=a.parseUShort(),c=a.parseUShort(),h=a.parseUShort(),f=qt[h]||h,d=a.parseUShort(),g=a.parseUShort(),v=Zt(l,c,r),m=$t(l,p,c);if(void 0!==m&&void 0!==v){var y=void 0;if(y=m===Qt?N.UTF16(e,i+g,d):N.MACSTRING(e,i+g,d,m)){var b=n[f];void 0===b&&(b=n[f]={}),b[v]=y}}}return 1===s&&a.parseUShort(),n}function tr(e){var t={};for(var r in e)t[e[r]]=parseInt(r);return t}function rr(e,t,r,n,a,s){return new ae.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:r},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:a},{name:"offset",type:"USHORT",value:s}])}function nr(e,t){var r=e.length,n=t.length-r+1;e:for(var a=0;a<n;a++)for(;a<n;a++){for(var s=0;s<r;s++)if(t[a+s]!==e[s])continue e;return a}return-1}function ar(e,t){var r=nr(e,t);if(r<0){r=t.length;for(var n=0,a=e.length;n<a;++n)t.push(e[n])}return r}function sr(e,t){var r,n=[],a={},s=tr(qt);for(var o in e){var i=s[o];if(void 0===i&&(i=o),r=parseInt(i),isNaN(r))throw new Error('Name table entry "'+o+'" does not exist, see nameTableNames for complete list.');a[r]=e[o],n.push(r)}for(var u=tr(Xt),l=tr(Yt),p=[],c=[],h=0;h<n.length;h++){var f=a[r=n[h]];for(var d in f){var g=f[d],v=1,m=u[d],y=jt[m],b=$t(v,y,m),S=A.MACSTRING(g,b);void 0===S&&(v=0,(m=t.indexOf(d))<0&&(m=t.length,t.push(d)),y=4,S=A.UTF16(g));var x=ar(S,c);p.push(rr(v,y,m,r,S.length,x));var T=l[d];if(void 0!==T){var U=A.UTF16(g),k=ar(U,c);p.push(rr(3,1,T,r,U.length,k))}}}p.sort((function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID}));for(var E=new ae.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:p.length},{name:"stringOffset",type:"USHORT",value:6+12*p.length}]),O=0;O<p.length;O++)E.fields.push({name:"record_"+O,type:"RECORD",value:p[O]});return E.fields.push({name:"strings",type:"LITERAL",value:c}),E}var or={parse:er,make:sr},ir=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function ur(e){for(var t=0;t<ir.length;t+=1){var r=ir[t];if(e>=r.begin&&e<r.end)return t}return-1}function lr(e,t){var r={},n=new me.Parser(e,t);r.version=n.parseUShort(),r.xAvgCharWidth=n.parseShort(),r.usWeightClass=n.parseUShort(),r.usWidthClass=n.parseUShort(),r.fsType=n.parseUShort(),r.ySubscriptXSize=n.parseShort(),r.ySubscriptYSize=n.parseShort(),r.ySubscriptXOffset=n.parseShort(),r.ySubscriptYOffset=n.parseShort(),r.ySuperscriptXSize=n.parseShort(),r.ySuperscriptYSize=n.parseShort(),r.ySuperscriptXOffset=n.parseShort(),r.ySuperscriptYOffset=n.parseShort(),r.yStrikeoutSize=n.parseShort(),r.yStrikeoutPosition=n.parseShort(),r.sFamilyClass=n.parseShort(),r.panose=[];for(var a=0;a<10;a++)r.panose[a]=n.parseByte();return r.ulUnicodeRange1=n.parseULong(),r.ulUnicodeRange2=n.parseULong(),r.ulUnicodeRange3=n.parseULong(),r.ulUnicodeRange4=n.parseULong(),r.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),r.fsSelection=n.parseUShort(),r.usFirstCharIndex=n.parseUShort(),r.usLastCharIndex=n.parseUShort(),r.sTypoAscender=n.parseShort(),r.sTypoDescender=n.parseShort(),r.sTypoLineGap=n.parseShort(),r.usWinAscent=n.parseUShort(),r.usWinDescent=n.parseUShort(),r.version>=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function pr(e){return new ae.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var cr={parse:lr,make:pr,unicodeRanges:ir,getUnicodeRange:ur};function hr(e,t){var r={},n=new me.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a<r.numberOfGlyphs;a++)r.glyphNameIndex[a]=n.parseUShort();r.names=[];for(var s=0;s<r.numberOfGlyphs;s++)if(r.glyphNameIndex[s]>=Re.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;i<r.numberOfGlyphs;i++)r.offset[i]=n.parseChar()}return r}function fr(){return new ae.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}var dr={parse:hr,make:fr},gr=new Array(9);gr[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ge.coverage),deltaGlyphId:this.parseUShort()}:2===t?{substFormat:2,coverage:this.parsePointer(ge.coverage),substitute:this.parseOffset16List()}:void F.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},gr[2]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),sequences:this.parseListOfLists()}},gr[3]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),alternateSets:this.parseListOfLists()}},gr[4]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),ligatureSets:this.parseListOfLists((function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}}))}};var vr={sequenceIndex:ge.uShort,lookupListIndex:ge.uShort};function mr(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GSUB table version."),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(gr)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(gr),variations:r.parseFeatureVariationsList()}}gr[5]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{substFormat:t,coverage:this.parsePointer(ge.coverage),ruleSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,vr)}}))};if(2===t)return{substFormat:t,coverage:this.parsePointer(ge.coverage),classDef:this.parsePointer(ge.classDef),classSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,vr)}}))};if(3===t){var r=this.parseUShort(),n=this.parseUShort();return{substFormat:t,coverages:this.parseList(r,ge.pointer(ge.coverage)),lookupRecords:this.parseRecordList(n,vr)}}F.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},gr[6]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ge.coverage),chainRuleSets:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(vr)}}))}:2===t?{substFormat:2,coverage:this.parsePointer(ge.coverage),backtrackClassDef:this.parsePointer(ge.classDef),inputClassDef:this.parsePointer(ge.classDef),lookaheadClassDef:this.parsePointer(ge.classDef),chainClassSet:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(vr)}}))}:3===t?{substFormat:3,backtrackCoverage:this.parseList(ge.pointer(ge.coverage)),inputCoverage:this.parseList(ge.pointer(ge.coverage)),lookaheadCoverage:this.parseList(ge.pointer(ge.coverage)),lookupRecords:this.parseRecordList(vr)}:void F.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},gr[7]=function(){var e=this.parseUShort();F.argument(1===e,"GSUB Extension Substitution subtable identifier-format must be 1");var t=this.parseUShort(),r=new ge(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:gr[t].call(r)}},gr[8]=function(){var e=this.parseUShort();return F.argument(1===e,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ge.coverage),backtrackCoverage:this.parseList(ge.pointer(ge.coverage)),lookaheadCoverage:this.parseList(ge.pointer(ge.coverage)),substitutes:this.parseUShortList()}};var yr=new Array(9);function br(e){return new ae.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,yr)}])}yr[1]=function(e){return 1===e.substFormat?new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.ushortList("substitute",e.substitute)))},yr[2]=function(e){return F.assert(1===e.substFormat,"Lookup type 2 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("seqSet",e.sequences,(function(e){return new ae.Table("sequenceSetTable",ae.ushortList("sequence",e))}))))},yr[3]=function(e){return F.assert(1===e.substFormat,"Lookup type 3 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("altSet",e.alternateSets,(function(e){return new ae.Table("alternateSetTable",ae.ushortList("alternate",e))}))))},yr[4]=function(e){return F.assert(1===e.substFormat,"Lookup type 4 substFormat must be 1."),new ae.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("ligSet",e.ligatureSets,(function(e){return new ae.Table("ligatureSetTable",ae.tableList("ligature",e,(function(e){return new ae.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(ae.ushortList("component",e.components,e.components.length+1)))})))}))))},yr[6]=function(e){if(1===e.substFormat){var t=new ae.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:e.substFormat},{name:"coverage",type:"TABLE",value:new ae.Coverage(e.coverage)}].concat(ae.tableList("chainRuleSet",e.chainRuleSets,(function(e){return new ae.Table("chainRuleSetTable",ae.tableList("chainRule",e,(function(e){var t=ae.ushortList("backtrackGlyph",e.backtrack,e.backtrack.length).concat(ae.ushortList("inputGlyph",e.input,e.input.length+1)).concat(ae.ushortList("lookaheadGlyph",e.lookahead,e.lookahead.length)).concat(ae.ushortList("substitution",[],e.lookupRecords.length));return e.lookupRecords.forEach((function(e,r){t=t.concat({name:"sequenceIndex"+r,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+r,type:"USHORT",value:e.lookupListIndex})})),new ae.Table("chainRuleTable",t)})))}))));return t}if(2===e.substFormat)F.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===e.substFormat){var r=[{name:"substFormat",type:"USHORT",value:e.substFormat}];return r.push({name:"backtrackGlyphCount",type:"USHORT",value:e.backtrackCoverage.length}),e.backtrackCoverage.forEach((function(e,t){r.push({name:"backtrackCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"inputGlyphCount",type:"USHORT",value:e.inputCoverage.length}),e.inputCoverage.forEach((function(e,t){r.push({name:"inputCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"lookaheadGlyphCount",type:"USHORT",value:e.lookaheadCoverage.length}),e.lookaheadCoverage.forEach((function(e,t){r.push({name:"lookaheadCoverage"+t,type:"TABLE",value:new ae.Coverage(e)})})),r.push({name:"substitutionCount",type:"USHORT",value:e.lookupRecords.length}),e.lookupRecords.forEach((function(e,t){r=r.concat({name:"sequenceIndex"+t,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+t,type:"USHORT",value:e.lookupListIndex})})),new ae.Table("chainContextTable",r)}F.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};var Sr={parse:mr,make:br};function xr(e,t){var r=new me.Parser(e,t),n=r.parseULong();F.argument(1===n,"Unsupported META table version."),r.parseULong(),r.parseULong();for(var a=r.parseULong(),s={},o=0;o<a;o++){var i=r.parseTag(),u=r.parseULong(),l=r.parseULong(),p=N.UTF8(e,t+u,l);s[i]=p}return s}function Tr(e){var t=Object.keys(e).length,r="",n=16+12*t,a=new ae.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var s in e){var o=r.length;r+=e[s],a.fields.push({name:"tag "+s,type:"TAG",value:s}),a.fields.push({name:"offset "+s,type:"ULONG",value:n+o}),a.fields.push({name:"length "+s,type:"ULONG",value:e[s].length})}return a.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),a}var Ur={parse:xr,make:Tr};function kr(e){return Math.log(e)/Math.log(2)|0}function Er(e){for(;e.length%4!=0;)e.push(0);for(var t=0,r=0;r<e.length;r+=4)t+=(e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3];return t%=Math.pow(2,32)}function Or(e,t,r,n){return new ae.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==e?e:""},{name:"checkSum",type:"ULONG",value:void 0!==t?t:0},{name:"offset",type:"ULONG",value:void 0!==r?r:0},{name:"length",type:"ULONG",value:void 0!==n?n:0}])}function wr(e){var t=new ae.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=e,t.numTables=e.length;var r=Math.pow(2,kr(t.numTables));t.searchRange=16*r,t.entrySelector=kr(r),t.rangeShift=16*t.numTables-t.searchRange;for(var n=[],a=[],s=t.sizeOf()+Or().sizeOf()*t.numTables;s%4!=0;)s+=1,a.push({name:"padding",type:"BYTE",value:0});for(var o=0;o<e.length;o+=1){var i=e[o];F.argument(4===i.tableName.length,"Table name"+i.tableName+" is invalid.");var u=i.sizeOf(),l=Or(i.tableName,Er(i.encode()),s,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),a.push({name:i.tableName+" table",type:"RECORD",value:i}),s+=u,F.argument(!isNaN(s),"Something went wrong calculating the offset.");s%4!=0;)s+=1,a.push({name:"padding",type:"BYTE",value:0})}return n.sort((function(e,t){return e.value.tag>t.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Rr(e,t,r){for(var n=0;n<t.length;n+=1){var a=e.charToGlyphIndex(t[n]);if(a>0)return e.glyphs.get(a).getMetrics()}return r}function Lr(e){for(var t=0,r=0;r<e.length;r+=1)t+=e[r];return t/e.length}function Cr(e){for(var t,r=[],n=[],a=[],s=[],o=[],i=[],u=[],l=0,p=0,c=0,h=0,f=0,d=0;d<e.glyphs.length;d+=1){var g=e.glyphs.get(d),v=0|g.unicode;if(isNaN(g.advanceWidth))throw new Error("Glyph "+g.name+" ("+d+"): advanceWidth is not a number.");(t>v||void 0===t)&&v>0&&(t=v),l<v&&(l=v);var m=cr.getUnicodeRange(v);if(m<32)p|=1<<m;else if(m<64)c|=1<<m-32;else if(m<96)h|=1<<m-64;else{if(!(m<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");f|=1<<m-96}if(".notdef"!==g.name){var y=g.getMetrics();r.push(y.xMin),n.push(y.yMin),a.push(y.xMax),s.push(y.yMax),i.push(y.leftSideBearing),u.push(y.rightSideBearing),o.push(g.advanceWidth)}}var b={xMin:Math.min.apply(null,r),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,o),advanceWidthAvg:Lr(o),minLeftSideBearing:Math.min.apply(null,i),maxLeftSideBearing:Math.max.apply(null,i),minRightSideBearing:Math.min.apply(null,u)};b.ascender=e.ascender,b.descender=e.descender;var S=Ct.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:b.xMin,yMin:b.yMin,xMax:b.xMax,yMax:b.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),x=Bt.make({ascender:b.ascender,descender:b.descender,advanceWidthMax:b.advanceWidthMax,minLeftSideBearing:b.minLeftSideBearing,minRightSideBearing:b.minRightSideBearing,xMaxExtent:b.maxLeftSideBearing+(b.xMax-b.xMin),numberOfHMetrics:e.glyphs.length}),T=Vt.make(e.glyphs.length),U=cr.make(Object.assign({xAvgCharWidth:Math.round(b.advanceWidthAvg),usFirstCharIndex:t,usLastCharIndex:l,ulUnicodeRange1:p,ulUnicodeRange2:c,ulUnicodeRange3:h,ulUnicodeRange4:f,sTypoAscender:b.ascender,sTypoDescender:b.descender,sTypoLineGap:0,usWinAscent:b.yMax,usWinDescent:Math.abs(b.yMin),ulCodePageRange1:1,sxHeight:Rr(e,"xyvw",{yMax:Math.round(b.ascender/2)}).yMax,sCapHeight:Rr(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",b).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),k=At.make(e.glyphs),E=ke.make(e.glyphs),O=e.getEnglishName("fontFamily"),w=e.getEnglishName("fontSubfamily"),R=O+" "+w,L=e.getEnglishName("postScriptName");L||(L=O.replace(/\s/g,"")+"-"+w);var C={};for(var D in e.names)C[D]=e.names[D];C.uniqueID||(C.uniqueID={en:e.getEnglishName("manufacturer")+":"+R}),C.postScriptName||(C.postScriptName={en:L}),C.preferredFamily||(C.preferredFamily=e.names.fontFamily),C.preferredSubfamily||(C.preferredSubfamily=e.names.fontSubfamily);var I=[],B=or.make(C,I),F=I.length>0?Ht.make(I):void 0,G=dr.make(),M=wt.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:w,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),N=e.metas&&Object.keys(e.metas).length>0?Ur.make(e.metas):void 0,A=[S,x,T,U,B,E,G,M,k];F&&A.push(F),e.tables.gsub&&A.push(Sr.make(e.tables.gsub)),N&&A.push(N);for(var P=wr(A),_=Er(P.encode()),H=P.fields,z=!1,W=0;W<H.length;W+=1)if("head table"===H[W].name){H[W].value.checkSumAdjustment=2981146554-_,z=!0;break}if(!z)throw new Error("Could not find head table with checkSum to adjust.");return P}var Dr={make:wr,fontToTable:Cr,computeCheckSum:Er};function Ir(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,s=e[a].tag;if(s===t)return a;s<t?r=a+1:n=a-1}return-r-1}function Br(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,s=e[a];if(s===t)return a;s<t?r=a+1:n=a-1}return-r-1}function Fr(e,t){for(var r,n=0,a=e.length-1;n<=a;){var s=n+a>>>1,o=(r=e[s]).start;if(o===t)return r;o<t?n=s+1:a=s-1}if(n>0)return t>(r=e[n-1]).end?0:r}function Gr(e,t){this.font=e,this.tableName=t}function Mr(e){Gr.call(this,e,"gpos")}function Nr(e){Gr.call(this,e,"gsub")}function Ar(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function Pr(e,t,r){for(var n=e.subtables,a=0;a<n.length;a++){var s=n[a];if(s.substFormat===t)return s}if(r)return n.push(r),r}function _r(){return"undefined"!=typeof window}function Hr(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;++n)r[n]=e[n];return t}function zr(e){for(var t=new Buffer(e.byteLength),r=new Uint8Array(e),n=0;n<t.length;++n)t[n]=r[n];return t}function Wr(e,t){if(!e)throw t}function Vr(e,t,r,n,a){var s;return(t&n)>0?(s=e.parseByte(),t&a||(s=-s),s=r+s):s=(t&a)>0?r:r+e.parseShort(),s}function qr(e,t,r){var n,a,s=new me.Parser(t,r);if(e.numberOfContours=s.parseShort(),e._xMin=s.parseShort(),e._yMin=s.parseShort(),e._xMax=s.parseShort(),e._yMax=s.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i<e.numberOfContours;i+=1)o.push(s.parseUShort());e.instructionLength=s.parseUShort(),e.instructions=[];for(var u=0;u<e.instructionLength;u+=1)e.instructions.push(s.parseByte());var l=o[o.length-1]+1;n=[];for(var p=0;p<l;p+=1)if(a=s.parseByte(),n.push(a),(8&a)>0)for(var c=s.parseByte(),h=0;h<c;h+=1)n.push(a),p+=1;if(F.argument(n.length===l,"Bad flags."),o.length>0){var f,d=[];if(l>0){for(var g=0;g<l;g+=1)a=n[g],(f={}).onCurve=!!(1&a),f.lastPointOfContour=o.indexOf(g)>=0,d.push(f);for(var v=0,m=0;m<l;m+=1)a=n[m],(f=d[m]).x=Vr(s,a,v,2,16),v=f.x;for(var y=0,b=0;b<l;b+=1)a=n[b],(f=d[b]).y=Vr(s,a,y,4,32),y=f.y}e.points=d}else e.points=[]}else if(0===e.numberOfContours)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];for(var S=!0;S;){n=s.parseUShort();var x={glyphIndex:s.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&n)>0?(2&n)>0?(x.dx=s.parseShort(),x.dy=s.parseShort()):x.matchedPoints=[s.parseUShort(),s.parseUShort()]:(2&n)>0?(x.dx=s.parseChar(),x.dy=s.parseChar()):x.matchedPoints=[s.parseByte(),s.parseByte()],(8&n)>0?x.xScale=x.yScale=s.parseF2Dot14():(64&n)>0?(x.xScale=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()):(128&n)>0&&(x.xScale=s.parseF2Dot14(),x.scale01=s.parseF2Dot14(),x.scale10=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=s.parseUShort(),e.instructions=[];for(var T=0;T<e.instructionLength;T+=1)e.instructions.push(s.parseByte())}}}function Xr(e,t){for(var r=[],n=0;n<e.length;n+=1){var a=e[n],s={x:t.xScale*a.x+t.scale01*a.y+t.dx,y:t.scale10*a.x+t.yScale*a.y+t.dy,onCurve:a.onCurve,lastPointOfContour:a.lastPointOfContour};r.push(s)}return r}function jr(e){for(var t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];r.push(a),a.lastPointOfContour&&(t.push(r),r=[])}return F.argument(0===r.length,"There are still points left in the current contour."),t}function Yr(e){var t=new D;if(!e)return t;for(var r=jr(e),n=0;n<r.length;++n){var a=r[n],s=null,o=a[a.length-1],i=a[0];if(o.onCurve)t.moveTo(o.x,o.y);else if(i.onCurve)t.moveTo(i.x,i.y);else{var u={x:.5*(o.x+i.x),y:.5*(o.y+i.y)};t.moveTo(u.x,u.y)}for(var l=0;l<a.length;++l)if(s=o,o=i,i=a[(l+1)%a.length],o.onCurve)t.lineTo(o.x,o.y);else{var p=i;s.onCurve||(o.x,s.x,o.y,s.y),i.onCurve||(p={x:.5*(o.x+i.x),y:.5*(o.y+i.y)}),t.quadraticCurveTo(o.x,o.y,p.x,p.y)}t.closePath()}return t}function Zr(e,t){if(t.isComposite)for(var r=0;r<t.components.length;r+=1){var n=t.components[r],a=e.get(n.glyphIndex);if(a.getPath(),a.points){var s=void 0;if(void 0===n.matchedPoints)s=Xr(a.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=Xr([i],u)[0],u.dx=o.x-i.x,u.dy=o.y-i.y,s=Xr(a.points,u)}t.points=t.points.concat(s)}}return Yr(t.points)}function Qr(e,t,r,n){for(var a=new qe.GlyphSet(n),s=0;s<r.length-1;s+=1){var o=r[s];o!==r[s+1]?a.push(s,qe.ttfGlyphLoader(n,s,qr,e,t+o,Zr)):a.push(s,qe.glyphLoader(n,s))}return a}function Kr(e,t,r,n){var a=new qe.GlyphSet(n);return n._push=function(s){var o=r[s];o!==r[s+1]?a.push(s,qe.ttfGlyphLoader(n,s,qr,e,t+o,Zr)):a.push(s,qe.glyphLoader(n,s))},a}function Jr(e,t,r,n,a){return a.lowMemory?Kr(e,t,r,n):Qr(e,t,r,n)}Gr.prototype={searchTag:Ir,binSearch:Br,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map((function(e){return e.tag})):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r<e.scripts.length;r++){var n=e.scripts[r].tag;if("DFLT"===n)return n;"latn"===n&&(t=!0)}return t?"latn":void 0}},getScriptTable:function(e,t){var r=this.getTable(t);if(r){e=e||"DFLT";var n=r.scripts,a=Ir(r.scripts,e);if(a>=0)return n[a].script;if(t){var s={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,s),s.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Ir(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var s={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,s),s.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var s,o=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u<o.length;u++)if((s=i[o[u]]).tag===r)return s.feature;if(n){var l=i.length;return F.assert(0===l||r>=i[l-1].tag,"Features must be added in alphabetical order."),s={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(s),o.push(l),s.feature}}},getLookupTables:function(e,t,r,n,a){var s=this.getFeatureTable(e,t,r,a),o=[];if(s){for(var i,u=s.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p<u.length;p++)(i=l[u[p]]).lookupType===n&&o.push(i);if(0===o.length&&a){i={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var c=l.length;return l.push(i),u.push(c),[i]}}return o},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph<=t&&t<e.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:var r=Fr(e.ranges,t);return r?r.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:var r=Br(e.glyphs,t);return r>=0?r:-1;case 2:var n=Fr(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n<r.length;n++)for(var a=r[n],s=a.start,o=a.end,i=s;i<=o;i++)t.push(i);return t}},Mr.prototype=Gr.prototype,Mr.prototype.init=function(){var e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},Mr.prototype.getKerningValue=function(e,t,r){for(var n=0;n<e.length;n++)for(var a=e[n].subtables,s=0;s<a.length;s++){var o=a[s],i=this.getCoverageIndex(o.coverage,t);if(!(i<0))switch(o.posFormat){case 1:for(var u=o.pairSets[i],l=0;l<u.length;l++){var p=u[l];if(p.secondGlyph===r)return p.value1&&p.value1.xAdvance||0}break;case 2:var c=this.getGlyphClass(o.classDef1,t),h=this.getGlyphClass(o.classDef2,r),f=o.classRecords[c][h];return f.value1&&f.value1.xAdvance||0}}return 0},Mr.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)},Nr.prototype=Gr.prototype,Nr.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Nr.prototype.getSingle=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,1),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++){var u=o[i],l=this.expandCoverage(u.coverage),p=void 0;if(1===u.substFormat){var c=u.deltaGlyphId;for(p=0;p<l.length;p++){var h=l[p];n.push({sub:h,by:h+c})}}else{var f=u.substitute;for(p=0;p<l.length;p++)n.push({sub:l[p],by:f[p]})}}return n},Nr.prototype.getMultiple=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,2),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++){var u=o[i],l=this.expandCoverage(u.coverage),p=void 0;for(p=0;p<l.length;p++){var c=l[p],h=u.sequences[p];n.push({sub:c,by:h})}}return n},Nr.prototype.getAlternates=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,3),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++)for(var u=o[i],l=this.expandCoverage(u.coverage),p=u.alternateSets,c=0;c<l.length;c++)n.push({sub:l[c],by:p[c]});return n},Nr.prototype.getLigatures=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,4),s=0;s<a.length;s++)for(var o=a[s].subtables,i=0;i<o.length;i++)for(var u=o[i],l=this.expandCoverage(u.coverage),p=u.ligatureSets,c=0;c<l.length;c++)for(var h=l[c],f=p[c],d=0;d<f.length;d++){var g=f[d];n.push({sub:[h].concat(g.components),by:g.ligGlyph})}return n},Nr.prototype.addSingle=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});F.assert(1===a.coverage.format,"Single: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.substitute.splice(o,0,0)),a.substitute[o]=t.by},Nr.prototype.addMultiple=function(e,t,r,n){F.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var a=Pr(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});F.assert(1===a.coverage.format,"Multiple: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.sequences.splice(o,0,0)),a.sequences[o]=t.by},Nr.prototype.addAlternate=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});F.assert(1===a.coverage.format,"Alternate: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.alternateSets.splice(o,0,0)),a.alternateSets[o]=t.by},Nr.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],s=a.subtables[0];s||(s={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=s),F.assert(1===s.coverage.format,"Ligature: unable to modify coverage table format "+s.coverage.format);var o=t.sub[0],i=t.sub.slice(1),u={ligGlyph:t.by,components:i},l=this.binSearch(s.coverage.glyphs,o);if(l>=0){for(var p=s.ligatureSets[l],c=0;c<p.length;c++)if(Ar(p[c].components,i))return;p.push(u)}else l=-1-l,s.coverage.glyphs.splice(l,0,o),s.ligatureSets.splice(l,0,[u])},Nr.prototype.getFeature=function(e,t,r){if(/ss\d\d/.test(e))return this.getSingle(e,t,r);switch(e){case"aalt":case"salt":return this.getSingle(e,t,r).concat(this.getAlternates(e,t,r));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,r);case"ccmp":return this.getMultiple(e,t,r).concat(this.getLigatures(e,t,r));case"stch":return this.getMultiple(e,t,r)}},Nr.prototype.add=function(e,t,r,n){if(/ss\d\d/.test(e))return this.addSingle(e,t,r,n);switch(e){case"aalt":case"salt":return"number"==typeof t.by?this.addSingle(e,t,r,n):this.addAlternate(e,t,r,n);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,r,n);case"ccmp":return t.by instanceof Array?this.addMultiple(e,t,r,n):this.addLigature(e,t,r,n)}};var $r,en,tn,rn,nn={getPath:Yr,parse:Jr};function an(e){this.font=e,this.getCommands=function(e){return nn.getPath(e).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function sn(e){return e}function on(e){return Math.sign(e)*Math.round(Math.abs(e))}function un(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function ln(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function pn(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function cn(e){return Math.sign(e)*Math.floor(Math.abs(e))}var hn=function(e){var t=this.srPeriod,r=this.srPhase,n=1;return e<0&&(e=-e,n=-1),e+=this.srThreshold-r,e=Math.trunc(e/t)*t,(e+=r)<0?r*n:e*n},fn={x:1,y:0,axis:"x",distance:function(e,t,r,n){return(r?e.xo:e.x)-(n?t.xo:t.x)},interpolate:function(e,t,r,n){var a,s,o,i,u,l,p;if(!n||n===this)return a=e.xo-t.xo,s=e.xo-r.xo,u=t.x-t.xo,l=r.x-r.xo,0===(p=(o=Math.abs(a))+(i=Math.abs(s)))?void(e.x=e.xo+(u+l)/2):void(e.x=e.xo+(u*i+l*o)/p);a=n.distance(e,t,!0,!0),s=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(p=(o=Math.abs(a))+(i=Math.abs(s)))?fn.setRelative(e,e,(u*i+l*o)/p,n,!0):fn.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(e,t,r,n,a){if(n&&n!==this){var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y;e.x=i+(e.y-u)/n.normalSlope}else e.x=(a?t.xo:t.x)+r},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},dn={x:0,y:1,axis:"y",distance:function(e,t,r,n){return(r?e.yo:e.y)-(n?t.yo:t.y)},interpolate:function(e,t,r,n){var a,s,o,i,u,l,p;if(!n||n===this)return a=e.yo-t.yo,s=e.yo-r.yo,u=t.y-t.yo,l=r.y-r.yo,0===(p=(o=Math.abs(a))+(i=Math.abs(s)))?void(e.y=e.yo+(u+l)/2):void(e.y=e.yo+(u*i+l*o)/p);a=n.distance(e,t,!0,!0),s=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(p=(o=Math.abs(a))+(i=Math.abs(s)))?dn.setRelative(e,e,(u*i+l*o)/p,n,!0):dn.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:0,setRelative:function(e,t,r,n,a){if(n&&n!==this){var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y;e.y=u+n.normalSlope*(e.x-i)}else e.y=(a?t.yo:t.y)+r},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};function gn(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}function vn(e,t){var r=Math.sqrt(e*e+t*t);return t/=r,1==(e/=r)&&0===t?fn:0===e&&1===t?dn:new gn(e,t)}function mn(e,t,r,n){this.x=this.xo=Math.round(64*e)/64,this.y=this.yo=Math.round(64*t)/64,this.lastPointOfContour=r,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(fn),Object.freeze(dn),gn.prototype.distance=function(e,t,r,n){return this.x*fn.distance(e,t,r,n)+this.y*dn.distance(e,t,r,n)},gn.prototype.interpolate=function(e,t,r,n){var a,s,o,i,u,l,p;o=n.distance(e,t,!0,!0),i=n.distance(e,r,!0,!0),a=n.distance(t,t,!1,!0),s=n.distance(r,r,!1,!0),0!==(p=(u=Math.abs(o))+(l=Math.abs(i)))?this.setRelative(e,e,(a*l+s*u)/p,n,!0):this.setRelative(e,e,(a+s)/2,n,!0)},gn.prototype.setRelative=function(e,t,r,n,a){n=n||this;var s=a?t.xo:t.x,o=a?t.yo:t.y,i=s+r*n.x,u=o+r*n.y,l=n.normalSlope,p=this.slope,c=e.x,h=e.y;e.x=(p*c-l*i+u-h)/(p-l),e.y=p*(e.x-c)+h},gn.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0},mn.prototype.nextTouched=function(e){for(var t=this.nextPointOnContour;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},mn.prototype.prevTouched=function(e){for(var t=this.prevPointOnContour;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var yn=Object.freeze(new mn(0,0)),bn={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function Sn(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=fn,this.round=on}}function xn(e){for(var t=e.tZone=new Array(e.gZone.length),r=0;r<t.length;r++)t[r]=new mn(0,0)}function Tn(e,t){var r,n=e.prog,a=e.ip,s=1;do{if(88===(r=n[++a]))s++;else if(89===r)s--;else if(64===r)a+=n[a+1]+1;else if(65===r)a+=2*n[a+1]+1;else if(r>=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===s&&27===r)break}while(s>0);e.ip=a}function Un(t,r){e.DEBUG&&console.log(r.step,"SVTCA["+t.axis+"]"),r.fv=r.pv=r.dpv=t}function kn(t,r){e.DEBUG&&console.log(r.step,"SPVTCA["+t.axis+"]"),r.pv=r.dpv=t}function En(t,r){e.DEBUG&&console.log(r.step,"SFVTCA["+t.axis+"]"),r.fv=t}function On(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.pv=r.dpv=vn(n,a)}function wn(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SFVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.fv=vn(n,a)}function Rn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.pv=t.dpv=vn(a,n)}function Ln(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.fv=vn(a,n)}function Cn(t){var r=t.stack,n=t.pv;e.DEBUG&&console.log(t.step,"GPV[]"),r.push(16384*n.x),r.push(16384*n.y)}function Dn(t){var r=t.stack,n=t.fv;e.DEBUG&&console.log(t.step,"GFV[]"),r.push(16384*n.x),r.push(16384*n.y)}function In(t){t.fv=t.pv,e.DEBUG&&console.log(t.step,"SFVTPV[]")}function Bn(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop(),o=r.pop(),i=r.pop(),u=t.z0,l=t.z1,p=u[n],c=u[a],h=l[s],f=l[o],d=t.z2[i];e.DEBUG&&console.log("ISECT[], ",n,a,s,o,i);var g=p.x,v=p.y,m=c.x,y=c.y,b=h.x,S=h.y,x=f.x,T=f.y,U=(g-m)*(S-T)-(v-y)*(b-x),k=g*y-v*m,E=b*T-S*x;d.x=(k*(b-x)-E*(g-m))/U,d.y=(k*(S-T)-E*(v-y))/U}function Fn(t){t.rp0=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP0[]",t.rp0)}function Gn(t){t.rp1=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP1[]",t.rp1)}function Mn(t){t.rp2=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP2[]",t.rp2)}function Nn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP0[]",r),t.zp0=r,r){case 0:t.tZone||xn(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function An(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP1[]",r),t.zp1=r,r){case 0:t.tZone||xn(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Pn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP2[]",r),t.zp2=r,r){case 0:t.tZone||xn(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function _n(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZPS[]",r),t.zp0=t.zp1=t.zp2=r,r){case 0:t.tZone||xn(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Hn(t){t.loop=t.stack.pop(),e.DEBUG&&console.log(t.step,"SLOOP[]",t.loop)}function zn(t){e.DEBUG&&console.log(t.step,"RTG[]"),t.round=on}function Wn(t){e.DEBUG&&console.log(t.step,"RTHG[]"),t.round=ln}function Vn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SMD[]",r),t.minDis=r/64}function qn(t){e.DEBUG&&console.log(t.step,"ELSE[]"),Tn(t,!1)}function Xn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"JMPR[]",r),t.ip+=r-1}function jn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCVTCI[]",r),t.cvCutIn=r/64}function Yn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DUP[]"),r.push(r[r.length-1])}function Zn(t){e.DEBUG&&console.log(t.step,"POP[]"),t.stack.pop()}function Qn(t){e.DEBUG&&console.log(t.step,"CLEAR[]"),t.stack.length=0}function Kn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SWAP[]"),r.push(n),r.push(a)}function Jn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DEPTH[]"),r.push(r.length)}function $n(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LOOPCALL[]",n,a);var s=t.ip,o=t.prog;t.prog=t.funcs[n];for(var i=0;i<a;i++)en(t),e.DEBUG&&console.log(++t.step,i+1<a?"next loopcall":"done loopcall",i);t.ip=s,t.prog=o}function ea(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"CALL[]",r);var n=t.ip,a=t.prog;t.prog=t.funcs[r],en(t),t.ip=n,t.prog=a,e.DEBUG&&console.log(++t.step,"returning from",r)}function ta(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CINDEX[]",n),r.push(r[r.length-n])}function ra(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"MINDEX[]",n),r.push(r.splice(r.length-n,1)[0])}function na(t){if("fpgm"!==t.env)throw new Error("FDEF not allowed here");var r=t.stack,n=t.prog,a=t.ip,s=r.pop(),o=a;for(e.DEBUG&&console.log(t.step,"FDEF[]",s);45!==n[++a];);t.ip=a,t.funcs[s]=n.slice(o+1,a)}function aa(t,r){var n=r.stack.pop(),a=r.z0[n],s=r.fv,o=r.pv;e.DEBUG&&console.log(r.step,"MDAP["+t+"]",n);var i=o.distance(a,yn);t&&(i=r.round(i)),s.setRelative(a,yn,i,o),s.touch(a),r.rp0=r.rp1=n}function sa(t,r){var n,a,s,o=r.z2,i=o.length-2;e.DEBUG&&console.log(r.step,"IUP["+t.axis+"]");for(var u=0;u<i;u++)n=o[u],t.touched(n)||(a=n.prevTouched(t))!==n&&(a===(s=n.nextTouched(t))&&t.setRelative(n,n,t.distance(a,a,!1,!0),t,!0),t.interpolate(n,a,s,t))}function oa(t,r){for(var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=r.loop,l=r.z2;u--;){var p=n.pop(),c=l[p],h=i.distance(s,s,!1,!0);o.setRelative(c,c,h,i),o.touch(c),e.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-u)+": ":"")+"SHP["+(t?"rp1":"rp2")+"]",p)}r.loop=1}function ia(t,r){var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=n.pop(),l=r.z2[r.contours[u]],p=l;e.DEBUG&&console.log(r.step,"SHC["+t+"]",u);var c=i.distance(s,s,!1,!0);do{p!==s&&o.setRelative(p,p,c,i),p=p.nextPointOnContour}while(p!==l)}function ua(t,r){var n,a,s=r.stack,o=t?r.rp1:r.rp2,i=(t?r.z0:r.z1)[o],u=r.fv,l=r.pv,p=s.pop();switch(e.DEBUG&&console.log(r.step,"SHZ["+t+"]",p),p){case 0:n=r.tZone;break;case 1:n=r.gZone;break;default:throw new Error("Invalid zone")}for(var c=l.distance(i,i,!1,!0),h=n.length-2,f=0;f<h;f++)a=n[f],u.setRelative(a,a,c,l)}function la(t){for(var r=t.stack,n=t.loop,a=t.fv,s=r.pop()/64,o=t.z2;n--;){var i=r.pop(),u=o[i];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-n)+": ":"")+"SHPIX[]",i,s),a.setRelative(u,u,s),a.touch(u)}t.loop=1}function pa(t){for(var r=t.stack,n=t.rp1,a=t.rp2,s=t.loop,o=t.z0[n],i=t.z1[a],u=t.fv,l=t.dpv,p=t.z2;s--;){var c=r.pop(),h=p[c];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"IP[]",c,n,"<->",a),u.interpolate(h,o,i,l),u.touch(h)}t.loop=1}function ca(t,r){var n=r.stack,a=n.pop()/64,s=n.pop(),o=r.z1[s],i=r.z0[r.rp0],u=r.fv,l=r.pv;u.setRelative(o,i,a,l),u.touch(o),e.DEBUG&&console.log(r.step,"MSIRP["+t+"]",a,s),r.rp1=r.rp0,r.rp2=s,t&&(r.rp0=s)}function ha(t){for(var r=t.stack,n=t.rp0,a=t.z0[n],s=t.loop,o=t.fv,i=t.pv,u=t.z1;s--;){var l=r.pop(),p=u[l];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"ALIGNRP[]",l),o.setRelative(p,a,0,i),o.touch(p)}t.loop=1}function fa(t){e.DEBUG&&console.log(t.step,"RTDG[]"),t.round=un}function da(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z0[s],i=r.fv,u=r.pv,l=r.cvt[a];e.DEBUG&&console.log(r.step,"MIAP["+t+"]",a,"(",l,")",s);var p=u.distance(o,yn);t&&(Math.abs(p-l)<r.cvCutIn&&(p=l),p=r.round(p)),i.setRelative(o,yn,p,u),0===r.zp0&&(o.xo=o.x,o.yo=o.y),i.touch(o),r.rp0=r.rp1=s}function ga(t){var r=t.prog,n=t.ip,a=t.stack,s=r[++n];e.DEBUG&&console.log(t.step,"NPUSHB[]",s);for(var o=0;o<s;o++)a.push(r[++n]);t.ip=n}function va(t){var r=t.ip,n=t.prog,a=t.stack,s=n[++r];e.DEBUG&&console.log(t.step,"NPUSHW[]",s);for(var o=0;o<s;o++){var i=n[++r]<<8|n[++r];32768&i&&(i=-(1+(65535^i))),a.push(i)}t.ip=r}function ma(t){var r=t.stack,n=t.store;n||(n=t.store=[]);var a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"WS",a,s),n[s]=a}function ya(t){var r=t.stack,n=t.store,a=r.pop();e.DEBUG&&console.log(t.step,"RS",a);var s=n&&n[a]||0;r.push(s)}function ba(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTP",n,a),t.cvt[a]=n/64}function Sa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"RCVT",n),r.push(64*t.cvt[n])}function xa(t,r){var n=r.stack,a=n.pop(),s=r.z2[a];e.DEBUG&&console.log(r.step,"GC["+t+"]",a),n.push(64*r.dpv.distance(s,yn,t,!1))}function Ta(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z1[a],i=r.z0[s],u=r.dpv.distance(i,o,t,t);e.DEBUG&&console.log(r.step,"MD["+t+"]",a,s,"->",u),r.stack.push(Math.round(64*u))}function Ua(t){e.DEBUG&&console.log(t.step,"MPPEM[]"),t.stack.push(t.ppem)}function ka(t){e.DEBUG&&console.log(t.step,"FLIPON[]"),t.autoFlip=!0}function Ea(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LT[]",n,a),r.push(a<n?1:0)}function Oa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LTEQ[]",n,a),r.push(a<=n?1:0)}function wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GT[]",n,a),r.push(a>n?1:0)}function Ra(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GTEQ[]",n,a),r.push(a>=n?1:0)}function La(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"EQ[]",n,a),r.push(n===a?1:0)}function Ca(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"NEQ[]",n,a),r.push(n!==a?1:0)}function Da(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ODD[]",n),r.push(Math.trunc(n)%2?1:0)}function Ia(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"EVEN[]",n),r.push(Math.trunc(n)%2?0:1)}function Ba(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"IF[]",r),r||(Tn(t,!0),e.DEBUG&&console.log(t.step,"EIF[]"))}function Fa(t){e.DEBUG&&console.log(t.step,"EIF[]")}function Ga(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"AND[]",n,a),r.push(n&&a?1:0)}function Ma(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"OR[]",n,a),r.push(n||a?1:0)}function Na(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NOT[]",n),r.push(n?0:1)}function Aa(t,r){var n=r.stack,a=n.pop(),s=r.fv,o=r.pv,i=r.ppem,u=r.deltaBase+16*(t-1),l=r.deltaShift,p=r.z0;e.DEBUG&&console.log(r.step,"DELTAP["+t+"]",a,n);for(var c=0;c<a;c++){var h=n.pop(),f=n.pop();if(u+((240&f)>>4)===i){var d=(15&f)-8;d>=0&&d++,e.DEBUG&&console.log(r.step,"DELTAPFIX",h,"by",d*l);var g=p[h];s.setRelative(g,g,d*l,o)}}}function Pa(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDB[]",r),t.deltaBase=r}function _a(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDS[]",r),t.deltaShift=Math.pow(.5,r)}function Ha(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"ADD[]",n,a),r.push(a+n)}function za(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SUB[]",n,a),r.push(a-n)}function Wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"DIV[]",n,a),r.push(64*a/n)}function Va(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MUL[]",n,a),r.push(a*n/64)}function qa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ABS[]",n),r.push(Math.abs(n))}function Xa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NEG[]",n),r.push(-n)}function ja(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"FLOOR[]",n),r.push(64*Math.floor(n/64))}function Ya(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CEILING[]",n),r.push(64*Math.ceil(n/64))}function Za(t,r){var n=r.stack,a=n.pop();e.DEBUG&&console.log(r.step,"ROUND[]"),n.push(64*r.round(a/64))}function Qa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTF[]",n,a),t.cvt[a]=n*t.ppem/t.font.unitsPerEm}function Ka(t,r){var n=r.stack,a=n.pop(),s=r.ppem,o=r.deltaBase+16*(t-1),i=r.deltaShift;e.DEBUG&&console.log(r.step,"DELTAC["+t+"]",a,n);for(var u=0;u<a;u++){var l=n.pop(),p=n.pop();if(o+((240&p)>>4)===s){var c=(15&p)-8;c>=0&&c++;var h=c*i;e.DEBUG&&console.log(r.step,"DELTACFIX",l,"by",h),r.cvt[l]+=h}}}function Ja(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SROUND[]",n),t.round=hn,192&n){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function $a(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"S45ROUND[]",n),t.round=hn,192&n){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function es(t){e.DEBUG&&console.log(t.step,"ROFF[]"),t.round=sn}function ts(t){e.DEBUG&&console.log(t.step,"RUTG[]"),t.round=pn}function rs(t){e.DEBUG&&console.log(t.step,"RDTG[]"),t.round=cn}function ns(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANCTRL[]",r)}function as(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log(r.step,"SDPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.dpv=vn(n,a)}function ss(t){var r=t.stack,n=r.pop(),a=0;e.DEBUG&&console.log(t.step,"GETINFO[]",n),1&n&&(a=35),32&n&&(a|=4096),r.push(a)}function os(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"ROLL[]"),r.push(a),r.push(n),r.push(s)}function is(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MAX[]",n,a),r.push(Math.max(a,n))}function us(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MIN[]",n,a),r.push(Math.min(a,n))}function ls(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANTYPE[]",r)}function ps(t){var r=t.stack.pop(),n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"INSTCTRL[]",r,n),r){case 1:return void(t.inhibitGridFit=!!n);case 2:return void(t.ignoreCvt=!!n);default:throw new Error("invalid INSTCTRL[] selector")}}function cs(t,r){var n=r.stack,a=r.prog,s=r.ip;e.DEBUG&&console.log(r.step,"PUSHB["+t+"]");for(var o=0;o<t;o++)n.push(a[++s]);r.ip=s}function hs(t,r){var n=r.ip,a=r.prog,s=r.stack;e.DEBUG&&console.log(r.ip,"PUSHW["+t+"]");for(var o=0;o<t;o++){var i=a[++n]<<8|a[++n];32768&i&&(i=-(1+(65535^i))),s.push(i)}r.ip=n}function fs(t,r,n,a,s,o){var i,u,l,p,c=o.stack,h=t&&c.pop(),f=c.pop(),d=o.rp0,g=o.z0[d],v=o.z1[f],m=o.minDis,y=o.fv,b=o.dpv;l=(u=i=b.distance(v,g,!0,!0))>=0?1:-1,u=Math.abs(u),t&&(p=o.cvt[h],a&&Math.abs(u-p)<o.cvCutIn&&(u=p)),n&&u<m&&(u=m),a&&(u=o.round(u)),y.setRelative(v,g,l*u,b),y.touch(v),e.DEBUG&&console.log(o.step,(t?"MIRP[":"MDRP[")+(r?"M":"m")+(n?">":"_")+(a?"R":"_")+(0===s?"Gr":1===s?"Bl":2===s?"Wh":"")+"]",t?h+"("+o.cvt[h]+","+p+")":"",f,"(d =",i,"->",l*u,")"),o.rp1=o.rp0,o.rp2=f,r&&(o.rp0=f)}function ds(e){this.char=e,this.state={},this.activeState=null}function gs(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function vs(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function ms(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function ys(e){this.eventId=e,this.subscribers=[]}function bs(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new ys(e)})})),e&&r.forEach((function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)})),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Ss(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],bs.call(this,e)}function xs(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Ts(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Us(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function ks(e){return/[A-z]/.test(e)}function Es(e){return/\s/.test(e)}function Os(e){this.font=e,this.features={}}function ws(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Rs(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n<r.length;n++){var a=r[n];if(e>=a.start&&e<=a.end){var s=e-a.start;return a.index+s}}break;default:return-1}return-1}function Ls(e,t){return-1===Rs(e,t.coverage)?null:e+t.deltaGlyphId}function Cs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.substitute[r]}function Ds(e,t){for(var r=[],n=0;n<e.length;n++){var a=e[n],s=t.current,o=Rs(s=Array.isArray(s)?s[0]:s,a);-1!==o&&r.push(o)}return r.length!==e.length?-1:r}function Is(e,t){var r=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<r)return[];var n=Ds(t.inputCoverage,e);if(-1===n)return[];var a=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];for(var s=e.lookahead.slice(a);s.length&&Us(s[0].char);)s.shift();var o=new ms(s,0),i=Ds(t.lookaheadCoverage,o),u=[].concat(e.backtrack);for(u.reverse();u.length&&Us(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new ms(u,0),p=Ds(t.backtrackCoverage,l),c=[];if(n.length===t.inputCoverage.length&&i.length===t.lookaheadCoverage.length&&p.length===t.backtrackCoverage.length)for(var h=0;h<t.lookupRecords.length;h++)for(var f=t.lookupRecords[h].lookupListIndex,d=this.getLookupByIndex(f),g=0;g<d.subtables.length;g++){var v=d.subtables[g],m=this.getLookupMethod(d,v);if("12"===this.getSubstitutionType(d,v))for(var y=0;y<n.length;y++){var b=m(e.get(y));b&&c.push(b)}}return c}function Bs(e,t){var r,n=Rs(e.current,t.coverage);if(-1===n)return null;for(var a=t.ligatureSets[n],s=0;s<a.length;s++){r=a[s];for(var o=0;o<r.components.length&&e.lookahead[o]===r.components[o];o++)if(o===r.components.length-1)return r}return null}function Fs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.sequences[r]}function Gs(e){var t=e.current,r=e.get(-1);return null===r&&xs(t)||!xs(r)&&xs(t)}function Ms(e){var t=e.get(1);return null===t||!xs(t)}an.prototype.exec=function(t,r){if("number"!=typeof r)throw new Error("Point size is not a number!");if(!(this._errorState>2)){var n=this.font,a=this._prepState;if(!a||a.ppem!==r){var s=this._fpgmState;if(!s){Sn.prototype=bn,(s=this._fpgmState=new Sn("fpgm",n.tables.fpgm)).funcs=[],s.font=n,e.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{en(s)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}Sn.prototype=s,(a=this._prepState=new Sn("prep",n.tables.prep)).ppem=r;var o=n.tables.cvt;if(o)for(var i=a.cvt=new Array(o.length),u=r/n.unitsPerEm,l=0;l<o.length;l++)i[l]=o[l]*u;else a.cvt=[];e.DEBUG&&(console.log("---EXEC PREP---"),a.step=-1);try{en(a)}catch(e){this._errorState<2&&console.log("Hinting error in PREP:"+e),this._errorState=2}}if(!(this._errorState>1))try{return tn(t,a)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},tn=function(t,r){var n,a,s,o=r.ppem/r.font.unitsPerEm,i=o,u=t.components;if(Sn.prototype=r,u){var l=r.font;a=[],n=[];for(var p=0;p<u.length;p++){var c=u[p],h=l.glyphs.get(c.glyphIndex);s=new Sn("glyf",h.instructions),e.DEBUG&&(console.log("---EXEC COMP "+p+"---"),s.step=-1),rn(h,s,o,i);for(var f=Math.round(c.dx*o),d=Math.round(c.dy*i),g=s.gZone,v=s.contours,m=0;m<g.length;m++){var y=g[m];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+f,y.yo=y.y=y.y+d}var b=a.length;a.push.apply(a,g);for(var S=0;S<v.length;S++)n.push(v[S]+b)}t.instructions&&!s.inhibitGridFit&&((s=new Sn("glyf",t.instructions)).gZone=s.z0=s.z1=s.z2=a,s.contours=n,a.push(new mn(0,0),new mn(Math.round(t.advanceWidth*o),0)),e.DEBUG&&(console.log("---EXEC COMPOSITE---"),s.step=-1),en(s),a.length-=2)}else s=new Sn("glyf",t.instructions),e.DEBUG&&(console.log("---EXEC GLYPH---"),s.step=-1),rn(t,s,o,i),a=s.gZone;return a},rn=function(t,r,n,a){for(var s,o,i,u=t.points||[],l=u.length,p=r.gZone=r.z0=r.z1=r.z2=[],c=r.contours=[],h=0;h<l;h++)s=u[h],p[h]=new mn(s.x*n,s.y*a,s.lastPointOfContour,s.onCurve);for(var f=0;f<l;f++)s=p[f],o||(o=s,c.push(f)),s.lastPointOfContour?(s.nextPointOnContour=o,o.prevPointOnContour=s,o=void 0):(i=p[f+1],s.nextPointOnContour=i,i.prevPointOnContour=s);if(!r.inhibitGridFit){if(e.DEBUG){console.log("PROCESSING GLYPH",r.stack);for(var d=0;d<l;d++)console.log(d,p[d].x,p[d].y)}if(p.push(new mn(0,0),new mn(Math.round(t.advanceWidth*n),0)),en(r),p.length-=2,e.DEBUG){console.log("FINISHED GLYPH",r.stack);for(var g=0;g<l;g++)console.log(g,p[g].x,p[g].y)}}},en=function(t){var r=t.prog;if(r){var n,a=r.length;for(t.ip=0;t.ip<a;t.ip++){if(e.DEBUG&&t.step++,!(n=$r[r[t.ip]]))throw new Error("unknown instruction: 0x"+Number(r[t.ip]).toString(16));n(t)}}},$r=[Un.bind(void 0,dn),Un.bind(void 0,fn),kn.bind(void 0,dn),kn.bind(void 0,fn),En.bind(void 0,dn),En.bind(void 0,fn),On.bind(void 0,0),On.bind(void 0,1),wn.bind(void 0,0),wn.bind(void 0,1),Rn,Ln,Cn,Dn,In,Bn,Fn,Gn,Mn,Nn,An,Pn,_n,Hn,zn,Wn,Vn,qn,Xn,jn,void 0,void 0,Yn,Zn,Qn,Kn,Jn,ta,ra,void 0,void 0,void 0,$n,ea,na,void 0,aa.bind(void 0,0),aa.bind(void 0,1),sa.bind(void 0,dn),sa.bind(void 0,fn),oa.bind(void 0,0),oa.bind(void 0,1),ia.bind(void 0,0),ia.bind(void 0,1),ua.bind(void 0,0),ua.bind(void 0,1),la,pa,ca.bind(void 0,0),ca.bind(void 0,1),ha,fa,da.bind(void 0,0),da.bind(void 0,1),ga,va,ma,ya,ba,Sa,xa.bind(void 0,0),xa.bind(void 0,1),void 0,Ta.bind(void 0,0),Ta.bind(void 0,1),Ua,void 0,ka,void 0,void 0,Ea,Oa,wa,Ra,La,Ca,Da,Ia,Ba,Fa,Ga,Ma,Na,Aa.bind(void 0,1),Pa,_a,Ha,za,Wa,Va,qa,Xa,ja,Ya,Za.bind(void 0,0),Za.bind(void 0,1),Za.bind(void 0,2),Za.bind(void 0,3),void 0,void 0,void 0,void 0,Qa,Aa.bind(void 0,2),Aa.bind(void 0,3),Ka.bind(void 0,1),Ka.bind(void 0,2),Ka.bind(void 0,3),Ja,$a,void 0,void 0,es,void 0,ts,rs,Zn,Zn,void 0,void 0,void 0,void 0,void 0,ns,as.bind(void 0,0),as.bind(void 0,1),ss,void 0,os,is,us,ls,ps,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,cs.bind(void 0,1),cs.bind(void 0,2),cs.bind(void 0,3),cs.bind(void 0,4),cs.bind(void 0,5),cs.bind(void 0,6),cs.bind(void 0,7),cs.bind(void 0,8),hs.bind(void 0,1),hs.bind(void 0,2),hs.bind(void 0,3),hs.bind(void 0,4),hs.bind(void 0,5),hs.bind(void 0,6),hs.bind(void 0,7),hs.bind(void 0,8),fs.bind(void 0,0,0,0,0,0),fs.bind(void 0,0,0,0,0,1),fs.bind(void 0,0,0,0,0,2),fs.bind(void 0,0,0,0,0,3),fs.bind(void 0,0,0,0,1,0),fs.bind(void 0,0,0,0,1,1),fs.bind(void 0,0,0,0,1,2),fs.bind(void 0,0,0,0,1,3),fs.bind(void 0,0,0,1,0,0),fs.bind(void 0,0,0,1,0,1),fs.bind(void 0,0,0,1,0,2),fs.bind(void 0,0,0,1,0,3),fs.bind(void 0,0,0,1,1,0),fs.bind(void 0,0,0,1,1,1),fs.bind(void 0,0,0,1,1,2),fs.bind(void 0,0,0,1,1,3),fs.bind(void 0,0,1,0,0,0),fs.bind(void 0,0,1,0,0,1),fs.bind(void 0,0,1,0,0,2),fs.bind(void 0,0,1,0,0,3),fs.bind(void 0,0,1,0,1,0),fs.bind(void 0,0,1,0,1,1),fs.bind(void 0,0,1,0,1,2),fs.bind(void 0,0,1,0,1,3),fs.bind(void 0,0,1,1,0,0),fs.bind(void 0,0,1,1,0,1),fs.bind(void 0,0,1,1,0,2),fs.bind(void 0,0,1,1,0,3),fs.bind(void 0,0,1,1,1,0),fs.bind(void 0,0,1,1,1,1),fs.bind(void 0,0,1,1,1,2),fs.bind(void 0,0,1,1,1,3),fs.bind(void 0,1,0,0,0,0),fs.bind(void 0,1,0,0,0,1),fs.bind(void 0,1,0,0,0,2),fs.bind(void 0,1,0,0,0,3),fs.bind(void 0,1,0,0,1,0),fs.bind(void 0,1,0,0,1,1),fs.bind(void 0,1,0,0,1,2),fs.bind(void 0,1,0,0,1,3),fs.bind(void 0,1,0,1,0,0),fs.bind(void 0,1,0,1,0,1),fs.bind(void 0,1,0,1,0,2),fs.bind(void 0,1,0,1,0,3),fs.bind(void 0,1,0,1,1,0),fs.bind(void 0,1,0,1,1,1),fs.bind(void 0,1,0,1,1,2),fs.bind(void 0,1,0,1,1,3),fs.bind(void 0,1,1,0,0,0),fs.bind(void 0,1,1,0,0,1),fs.bind(void 0,1,1,0,0,2),fs.bind(void 0,1,1,0,0,3),fs.bind(void 0,1,1,0,1,0),fs.bind(void 0,1,1,0,1,1),fs.bind(void 0,1,1,0,1,2),fs.bind(void 0,1,1,0,1,3),fs.bind(void 0,1,1,1,0,0),fs.bind(void 0,1,1,1,0,1),fs.bind(void 0,1,1,1,0,2),fs.bind(void 0,1,1,1,0,3),fs.bind(void 0,1,1,1,1,0),fs.bind(void 0,1,1,1,1,1),fs.bind(void 0,1,1,1,1,2),fs.bind(void 0,1,1,1,1,3)],ds.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},ds.prototype.getState=function(e){return this.state[e]||null},Ss.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},Ss.prototype.composeRUD=function(e){var t=this,r=!0,n=e.map((function(e){return t[e[0]].apply(t,e.slice(1).concat(r))})),a=function(e){return"object"==typeof e&&e.hasOwnProperty("FAIL")};if(n.every(a))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:n.filter(a)};this.dispatch("composeRUD",[n.filter((function(e){return!a(e)}))])},Ss.prototype.replaceRange=function(e,t,r,n){t=null!==t?t:this.tokens.length;var a=r.every((function(e){return e instanceof ds}));if(!isNaN(e)&&this.inboundIndex(e)&&a){var s=this.tokens.splice.apply(this.tokens,[e,t].concat(r));return n||this.dispatch("replaceToken",[e,t,r]),[s,r]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Ss.prototype.replaceToken=function(e,t,r){if(!isNaN(e)&&this.inboundIndex(e)&&t instanceof ds){var n=this.tokens.splice(e,1,t);return r||this.dispatch("replaceToken",[e,t]),[n[0],t]}return{FAIL:"replaceToken: invalid token or index."}},Ss.prototype.removeRange=function(e,t,r){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(e,t);return r||this.dispatch("removeRange",[n,e,t]),n},Ss.prototype.removeToken=function(e,t){if(!isNaN(e)&&this.inboundIndex(e)){var r=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[r,e]),r}return{FAIL:"removeToken: invalid token index."}},Ss.prototype.insertToken=function(e,t,r){return e.every((function(e){return e instanceof ds}))?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),r||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},Ss.prototype.registerModifier=function(e,t,r){this.events.newToken.subscribe((function(n,a){var s=[n,a],o=[n,a];if(null===t||!0===t.apply(this,s)){var i=r.apply(this,o);n.setState(e,i)}})),this.registeredModifiers.push(e)},ys.prototype.subscribe=function(e){return"function"==typeof e?this.subscribers.push(e)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},ys.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},ms.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},ms.prototype.get=function(e){switch(!0){case 0===e:return this.current;case e<0&&Math.abs(e)<=this.backtrack.length:return this.backtrack.slice(e)[0];case e>0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Ss.prototype.rangeToText=function(e){if(e instanceof gs)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Ss.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Ss.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Ss.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Ss.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof ys&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Ss.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new vs(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Ss.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Ss.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Ss.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},Ss.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t<e.length;t++){var r=new ms(e,t);this.runContextCheck(r)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Ss.prototype.setEndOffset=function(e,t){var r=new gs(this.getContext(t).openRange.startIndex,e,t),n=this.getContext(t).ranges;return r.rangeId=t+"."+n.length,n.push(r),this.getContext(t).openRange=null,r},Ss.prototype.runContextCheck=function(e){var t=this,r=e.index;this.contextCheckers.forEach((function(n){var a=n.contextName,s=t.getContext(a).openRange;if(!s&&n.checkStart(e)&&(s=new gs(r,null,a),t.getContext(a).openRange=s,t.dispatch("contextStart",[a,r])),s&&n.checkEnd(e)){var o=r-s.startIndex+1,i=t.setEndOffset(o,a);t.dispatch("contextEnd",[a,i])}}))},Ss.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();var t=Array.from(e);this.dispatch("start");for(var r=0;r<t.length;r++){var n=t[r],a=new ms(t,r);this.dispatch("next",[a]),this.runContextCheck(a);var s=new ds(n);this.tokens.push(s),this.dispatch("newToken",[s,a])}return this.dispatch("end",[this.tokens]),this.tokens},Os.prototype.getDefaultScriptFeaturesIndexes=function(){for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var r=e[t];if("DFLT"===r.tag)return r.script.defaultLangSys.featureIndexes}return[]},Os.prototype.getScriptFeaturesIndexes=function(e){if(!this.font.tables.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();for(var t=this.font.tables.gsub.scripts,r=0;r<t.length;r++){var n=t[r];if(n.tag===e&&n.script.defaultLangSys)return n.script.defaultLangSys.featureIndexes;var a=n.langSysRecords;if(a)for(var s=0;s<a.length;s++){var o=a[s];if(o.tag===e)return o.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},Os.prototype.mapTagsToFeatures=function(e,t){for(var r={},n=0;n<e.length;n++){var a=e[n].tag,s=e[n].feature;r[a]=s}this.features[t].tags=r},Os.prototype.getScriptFeatures=function(e){var t=this.features[e];if(this.features.hasOwnProperty(e))return t;var r=this.getScriptFeaturesIndexes(e);if(!r)return null;var n=this.font.tables.gsub;return t=r.map((function(e){return n.features[e]})),this.features[e]=t,this.mapTagsToFeatures(t,e),t},Os.prototype.getSubstitutionType=function(e,t){return e.lookupType.toString()+t.substFormat.toString()},Os.prototype.getLookupMethod=function(e,t){var r=this;switch(this.getSubstitutionType(e,t)){case"11":return function(e){return Ls.apply(r,[e,t])};case"12":return function(e){return Cs.apply(r,[e,t])};case"63":return function(e){return Is.apply(r,[e,t])};case"41":return function(e){return Bs.apply(r,[e,t])};case"21":return function(e){return Fs.apply(r,[e,t])};default:throw new Error("lookupType: "+e.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},Os.prototype.lookupFeature=function(e){var t=e.contextParams,r=t.index,n=this.getFeature({tag:e.tag,script:e.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+e.tag+"' for script '"+e.script+"'.");for(var a=this.getFeatureLookups(n),s=[].concat(t.context),o=0;o<a.length;o++)for(var i=a[o],u=this.getLookupSubtables(i),l=0;l<u.length;l++){var p=u[l],c=this.getSubstitutionType(i,p),h=this.getLookupMethod(i,p),f=void 0;switch(c){case"11":(f=h(t.current))&&s.splice(r,1,new ws({id:11,tag:e.tag,substitution:f}));break;case"12":(f=h(t.current))&&s.splice(r,1,new ws({id:12,tag:e.tag,substitution:f}));break;case"63":f=h(t),Array.isArray(f)&&f.length&&s.splice(r,1,new ws({id:63,tag:e.tag,substitution:f}));break;case"41":(f=h(t))&&s.splice(r,1,new ws({id:41,tag:e.tag,substitution:f}));break;case"21":(f=h(t.current))&&s.splice(r,1,new ws({id:21,tag:e.tag,substitution:f}))}t=new ms(s,r),Array.isArray(f)&&!f.length||(f=null)}return s.length?s:null},Os.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);var t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;var r=this.features[e.script].some((function(t){return t.tag===e.tag}));return t&&r},Os.prototype.getLookupSubtables=function(e){return e.subtables||null},Os.prototype.getLookupByIndex=function(e){return this.font.tables.gsub.lookups[e]||null},Os.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Os.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);var t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:"No feature for script "+e.script}};var Ns={startCheck:Gs,endCheck:Ms};function As(e){var t=e.current,r=e.get(-1);return(xs(t)||Us(t))&&!xs(r)}function Ps(e){var t=e.get(1);switch(!0){case null===t:return!0;case!xs(t)&&!Us(t):var r=Es(t);if(!r)return!0;if(r&&!e.lookahead.some((function(e){return xs(e)||Us(e)})))return!0;break;default:return!1}}var _s={startCheck:As,endCheck:Ps};function Hs(e,t,r){t[r].setState(e.tag,e.substitution)}function zs(e,t,r){t[r].setState(e.tag,e.substitution)}function Ws(e,t,r){e.substitution.forEach((function(n,a){t[r+a].setState(e.tag,n)}))}function Vs(e,t,r){var n=t[r];n.setState(e.tag,e.substitution.ligGlyph);for(var a=e.substitution.components.length,s=0;s<a;s++)(n=t[r+s+1]).setState("deleted",!0)}var qs={11:Hs,12:zs,63:Ws,41:Vs};function Xs(e,t,r){e instanceof ws&&qs[e.id]&&qs[e.id](e,t,r)}function js(e){for(var t=[].concat(e.backtrack),r=t.length-1;r>=0;r--){var n=t[r],a=Ts(n),s=Us(n);if(!a&&!s)return!0;if(a)return!1}return!1}function Ys(e){if(Ts(e.current))return!1;for(var t=0;t<e.lookahead.length;t++)if(!Us(e.lookahead[t]))return!0;return!1}function Zs(e){var t=this,r="arab",n=this.featuresTags[r],a=this.tokenizer.getRangeTokens(e);if(1!==a.length){var s=new ms(a.map((function(e){return e.getState("glyphIndex")})),0),o=new ms(a.map((function(e){return e.char})),0);a.forEach((function(e,i){if(!Us(e.char)){s.setCurrentIndex(i),o.setCurrentIndex(i);var u,l=0;switch(js(o)&&(l|=1),Ys(o)&&(l|=2),l){case 1:u="fina";break;case 2:u="init";break;case 3:u="medi"}if(-1!==n.indexOf(u)){var p=t.query.lookupFeature({tag:u,script:r,contextParams:s});if(p instanceof Error)return console.info(p.message);p.forEach((function(e,t){e instanceof ws&&(Xs(e,a,t),s.context[t]=e.substitution)}))}}}))}}function Qs(e,t){return new ms(e.map((function(e){return e.activeState.value})),t||0)}function Ks(e){var t=this,r="arab",n=this.tokenizer.getRangeTokens(e),a=Qs(n);a.context.forEach((function(e,s){a.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"rlig",script:r,contextParams:a});o.length&&(o.forEach((function(e){return Xs(e,n,s)})),a=Qs(n))}))}function Js(e){var t=e.current,r=e.get(-1);return null===r&&ks(t)||!ks(r)&&ks(t)}function $s(e){var t=e.get(1);return null===t||!ks(t)}var eo={startCheck:Js,endCheck:$s};function to(e,t){return new ms(e.map((function(e){return e.activeState.value})),t||0)}function ro(e){var t=this,r="latn",n=this.tokenizer.getRangeTokens(e),a=to(n);a.context.forEach((function(e,s){a.setCurrentIndex(s);var o=t.query.lookupFeature({tag:"liga",script:r,contextParams:a});o.length&&(o.forEach((function(e){return Xs(e,n,s)})),a=to(n))}))}function no(e){this.baseDir=e||"ltr",this.tokenizer=new Ss,this.featuresTags={}}function ao(e){var t=this.contextChecks[e+"Check"];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function so(){return ao.call(this,"latinWord"),ao.call(this,"arabicWord"),ao.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function oo(){var e=this;this.tokenizer.getContextRanges("arabicSentence").forEach((function(t){var r=e.tokenizer.getRangeTokens(t);e.tokenizer.replaceRange(t.startIndex,t.endOffset,r.reverse())}))}function io(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function uo(){var e=this,t="arab";this.featuresTags.hasOwnProperty(t)&&(io.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Zs.call(e,t)})))}function lo(){var e=this,t="arab";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("rlig")&&(io.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Ks.call(e,t)})))}function po(){var e=this,t="latn";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("liga")&&(io.call(this),this.tokenizer.getContextRanges("latinWord").forEach((function(t){ro.call(e,t)})))}function co(e){(e=e||{}).tables=e.tables||{},e.empty||(Wr(e.familyName,"When creating a new Font object, familyName is required."),Wr(e.styleName,"When creating a new Font object, styleName is required."),Wr(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Wr(e.ascender,"When creating a new Font object, ascender is required."),Wr(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new qe.GlyphSet(this,e.glyphs||[]),this.encoding=new Le(this),this.position=new Mr(this),this.substitution=new Nr(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new an(this):void 0}})}function ho(e,t){var r=JSON.stringify(e),n=256;for(var a in t){var s=parseInt(a);if(s&&!(s<256)){if(JSON.stringify(t[a])===r)return s;n<=s&&(n=s+1)}}return t[n]=e,n}function fo(e,t,r){var n=ho(t.name,r);return[{name:"tag_"+e,type:"TAG",value:t.tag},{name:"minValue_"+e,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+e,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+e,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+e,type:"USHORT",value:0},{name:"nameID_"+e,type:"USHORT",value:n}]}function go(e,t,r){var n={},a=new me.Parser(e,t);return n.tag=a.parseTag(),n.minValue=a.parseFixed(),n.defaultValue=a.parseFixed(),n.maxValue=a.parseFixed(),a.skip("uShort",1),n.name=r[a.parseUShort()]||{},n}function vo(e,t,r,n){for(var a=[{name:"nameID_"+e,type:"USHORT",value:ho(t.name,n)},{name:"flags_"+e,type:"USHORT",value:0}],s=0;s<r.length;++s){var o=r[s].tag;a.push({name:"axis_"+e+" "+o,type:"FIXED",value:t.coordinates[o]<<16})}return a}function mo(e,t,r,n){var a={},s=new me.Parser(e,t);a.name=n[s.parseUShort()]||{},s.skip("uShort",1),a.coordinates={};for(var o=0;o<r.length;++o)a.coordinates[r[o].tag]=s.parseFixed();return a}function yo(e,t){var r=new ae.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:e.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:e.instances.length},{name:"instanceSize",type:"USHORT",value:4+4*e.axes.length}]);r.offsetToData=r.sizeOf();for(var n=0;n<e.axes.length;n++)r.fields=r.fields.concat(fo(n,e.axes[n],t));for(var a=0;a<e.instances.length;a++)r.fields=r.fields.concat(vo(a,e.instances[a],e.axes,t));return r}function bo(e,t,r){var n=new me.Parser(e,t),a=n.parseULong();F.argument(65536===a,"Unsupported fvar table version.");var s=n.parseOffset16();n.skip("uShort",1);for(var o=n.parseUShort(),i=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),p=[],c=0;c<o;c++)p.push(go(e,t+s+c*i,r));for(var h=[],f=t+s+o*i,d=0;d<u;d++)h.push(mo(e,f+d*l,p,r));return{axes:p,instances:h}}no.prototype.setText=function(e){this.text=e},no.prototype.contextChecks={latinWordCheck:eo,arabicWordCheck:Ns,arabicSentenceCheck:_s},no.prototype.registerFeatures=function(e,t){var r=this,n=t.filter((function(t){return r.query.supports({script:e,tag:t})}));this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(n):this.featuresTags[e]=n},no.prototype.applyFeatures=function(e,t){if(!e)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Os(e));for(var r=0;r<t.length;r++){var n=t[r];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}},no.prototype.registerModifier=function(e,t,r){this.tokenizer.registerModifier(e,t,r)},no.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},no.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(uo.call(this),lo.call(this)),this.checkContextReady("latinWord")&&po.call(this),this.checkContextReady("arabicSentence")&&oo.call(this)},no.prototype.processText=function(e){this.text&&this.text===e||(this.setText(e),so.call(this),this.applyFeaturesToContexts())},no.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},no.prototype.getTextGlyphs=function(e){this.processText(e);for(var t=[],r=0;r<this.tokenizer.tokens.length;r++){var n=this.tokenizer.tokens[r];if(!n.state.deleted){var a=n.activeState.value;t.push(Array.isArray(a)?a[0]:a)}}return t},co.prototype.hasChar=function(e){return null!==this.encoding.charToGlyphIndex(e)},co.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},co.prototype.charToGlyph=function(e){var t=this.charToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},co.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map((function(t){return"latn"===t.script?{script:"latn",tags:t.tags.filter((function(t){return e[t]}))}:t}))},co.prototype.stringToGlyphs=function(e,t){var r=this,n=new no,a=function(e){return r.charToGlyphIndex(e.char)};n.registerModifier("glyphIndex",null,a);var s=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,s);for(var o=n.getTextGlyphs(e),i=o.length,u=new Array(i),l=this.glyphs.get(0),p=0;p<i;p+=1)u[p]=this.glyphs.get(o[p])||l;return u},co.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},co.prototype.nameToGlyph=function(e){var t=this.nameToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},co.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},co.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;var r=this.position.defaultKerningTables;return r?this.position.getKerningValue(r,e,t):this.kerningPairs[e+","+t]||0},co.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},co.prototype.forEachGlyph=function(e,t,r,n,a,s){t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:72,a=Object.assign({},this.defaultRenderOptions,a);var o,i=1/this.unitsPerEm*n,u=this.stringToGlyphs(e,a);if(a.kerning){var l=a.script||this.position.getDefaultScriptName();o=this.position.getKerningTables(l,a.language)}for(var p=0;p<u.length;p+=1){var c=u[p];s.call(this,c,t,r,n,a),c.advanceWidth&&(t+=c.advanceWidth*i),a.kerning&&p<u.length-1&&(t+=(o?this.position.getKerningValue(o,c.index,u[p+1].index):this.getKerningValue(c,u[p+1]))*i),a.letterSpacing?t+=a.letterSpacing*n:a.tracking&&(t+=a.tracking/1e3*n)}return t},co.prototype.getPath=function(e,t,r,n,a){var s=new D;return this.forEachGlyph(e,t,r,n,a,(function(e,t,r,n){var o=e.getPath(t,r,n,a,this);s.extend(o)})),s},co.prototype.getPaths=function(e,t,r,n,a){var s=[];return this.forEachGlyph(e,t,r,n,a,(function(e,t,r,n){var o=e.getPath(t,r,n,a,this);s.push(o)})),s},co.prototype.getAdvanceWidth=function(e,t,r){return this.forEachGlyph(e,0,0,t,r,(function(){}))},co.prototype.draw=function(e,t,r,n,a,s){this.getPath(t,r,n,a,s).draw(e)},co.prototype.drawPoints=function(e,t,r,n,a,s){this.forEachGlyph(t,r,n,a,s,(function(t,r,n,a){t.drawPoints(e,r,n,a)}))},co.prototype.drawMetrics=function(e,t,r,n,a,s){this.forEachGlyph(t,r,n,a,s,(function(t,r,n,a){t.drawMetrics(e,r,n,a)}))},co.prototype.getEnglishName=function(e){var t=this.names[e];if(t)return t.en},co.prototype.validate=function(){var e=this;function t(e,t){}function r(r){var n=e.getEnglishName(r);t(n&&n.trim().length>0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},co.prototype.toTables=function(){return Dr.fontToTable(this)},co.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},co.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;n++)r[n]=e[n];return t},co.prototype.download=function(e){var t=this.getEnglishName("fontFamily"),n=this.getEnglishName("fontSubfamily");e=e||t.replace(/\s/g,"")+"-"+n+".otf";var a=this.toArrayBuffer();if(_r())if(window.URL=window.URL||window.webkitURL,window.URL){var s=new DataView(a),o=new Blob([s],{type:"font/opentype"}),i=document.createElement("a");i.href=window.URL.createObjectURL(o),i.download=e;var u=document.createEvent("MouseEvents");u.initEvent("click",!0,!1),i.dispatchEvent(u)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var l=r(256),p=zr(a);l.writeFileSync(e,p)}},co.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},co.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},co.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var So={make:yo,parse:bo},xo=function(){return{coverage:this.parsePointer(ge.coverage),attachPoints:this.parseList(ge.pointer(ge.uShortList))}},To=function(){var e=this.parseUShort();return F.argument(1===e||2===e||3===e,"Unsupported CaretValue table version."),1===e?{coordinate:this.parseShort()}:2===e?{pointindex:this.parseShort()}:3===e?{coordinate:this.parseShort()}:void 0},Uo=function(){return this.parseList(ge.pointer(To))},ko=function(){return{coverage:this.parsePointer(ge.coverage),ligGlyphs:this.parseList(ge.pointer(Uo))}},Eo=function(){return this.parseUShort(),this.parseList(ge.pointer(ge.coverage))};function Oo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);F.argument(1===n||1.2===n||1.3===n,"Unsupported GDEF table version.");var a={version:n,classDef:r.parsePointer(ge.classDef),attachList:r.parsePointer(xo),ligCaretList:r.parsePointer(ko),markAttachClassDef:r.parsePointer(ge.classDef)};return n>=1.2&&(a.markGlyphSets=r.parsePointer(Eo)),a}var wo={parse:Oo},Ro=new Array(10);function Lo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro),variations:r.parseFeatureVariationsList()}}Ro[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ge.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ge.coverage),values:this.parseValueRecordList()}:void F.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Ro[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();F.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ge.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(ge.pointer(ge.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))))};if(2===t){var s=this.parsePointer(ge.classDef),o=this.parsePointer(ge.classDef),i=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:s,classDef2:o,class1Count:i,class2Count:u,classRecords:this.parseList(i,ge.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))}}},Ro[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Ro[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Ro[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Ro[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Ro[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Ro[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Ro[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Co=new Array(10);function Do(e){return new ae.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,Co)}])}var Io={parse:Lo,make:Do};function Bo(e){var t={};e.skip("uShort");var r=e.parseUShort();F.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a<n;a+=1){var s=e.parseUShort(),o=e.parseUShort(),i=e.parseShort();t[s+","+o]=i}return t}function Fo(e){var t={};e.skip("uShort"),e.parseULong()>1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a<n;a+=1){var s=e.parseUShort(),o=e.parseUShort(),i=e.parseShort();t[s+","+o]=i}}return t}function Go(e,t){var r=new me.Parser(e,t),n=r.parseUShort();if(0===n)return Bo(r);if(1===n)return Fo(r);throw new Error("Unsupported kern table version ("+n+").")}var Mo={parse:Go};function No(e,t,r,n){for(var a=new me.Parser(e,t),s=n?a.parseUShort:a.parseULong,o=[],i=0;i<r+1;i+=1){var u=s.call(a);n&&(u*=2),o.push(u)}return o}var Ao={parse:No};function Po(e,t){r(256).readFile(e,(function(e,r){if(e)return t(e.message);t(null,Hr(r))}))}function _o(e,t){var r=new XMLHttpRequest;r.open("get",e,!0),r.responseType="arraybuffer",r.onload=function(){return r.response?t(null,r.response):t("Font could not be loaded: "+r.statusText)},r.onerror=function(){t("Font could not be loaded")},r.send()}function Ho(e,t){for(var r=[],n=12,a=0;a<t;a+=1){var s=me.getTag(e,n),o=me.getULong(e,n+4),i=me.getULong(e,n+8),u=me.getULong(e,n+12);r.push({tag:s,checksum:o,offset:i,length:u,compression:!1}),n+=16}return r}function zo(e,t){for(var r=[],n=44,a=0;a<t;a+=1){var s=me.getTag(e,n),o=me.getULong(e,n+4),i=me.getULong(e,n+8),u=me.getULong(e,n+12),l=void 0;l=i<u&&"WOFF",r.push({tag:s,offset:o,compression:l,compressedLength:i,length:u}),n+=20}return r}function Wo(e,t){if("WOFF"===t.compression){var r=new Uint8Array(e.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(R(r,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");return{data:new DataView(n.buffer,0),offset:0}}return{data:e,offset:t.offset}}function Vo(e,t){var r,n;t=null==t?{}:t;var a,s,o,i,u,l,p,c,h,f,d,g,v,m=new co({empty:!0}),y=new DataView(e,0),b=[],S=me.getTag(y,0);if(S===String.fromCharCode(0,1,0,0)||"true"===S||"typ1"===S)m.outlinesFormat="truetype",b=Ho(y,a=me.getUShort(y,4));else if("OTTO"===S)m.outlinesFormat="cff",b=Ho(y,a=me.getUShort(y,4));else{if("wOFF"!==S)throw new Error("Unsupported OpenType signature "+S);var x=me.getTag(y,4);if(x===String.fromCharCode(0,1,0,0))m.outlinesFormat="truetype";else{if("OTTO"!==x)throw new Error("Unsupported OpenType flavor "+S);m.outlinesFormat="cff"}b=zo(y,a=me.getUShort(y,12))}for(var T=0;T<a;T+=1){var U=b[T],k=void 0;switch(U.tag){case"cmap":k=Wo(y,U),m.tables.cmap=ke.parse(k.data,k.offset),m.encoding=new Ce(m.tables.cmap);break;case"cvt ":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.cvt=v.parseShortList(U.length/2);break;case"fvar":o=U;break;case"fpgm":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.fpgm=v.parseByteList(U.length);break;case"head":k=Wo(y,U),m.tables.head=Ct.parse(k.data,k.offset),m.unitsPerEm=m.tables.head.unitsPerEm,r=m.tables.head.indexToLocFormat;break;case"hhea":k=Wo(y,U),m.tables.hhea=Bt.parse(k.data,k.offset),m.ascender=m.tables.hhea.ascender,m.descender=m.tables.hhea.descender,m.numberOfHMetrics=m.tables.hhea.numberOfHMetrics;break;case"hmtx":c=U;break;case"ltag":k=Wo(y,U),n=Ht.parse(k.data,k.offset);break;case"maxp":k=Wo(y,U),m.tables.maxp=Vt.parse(k.data,k.offset),m.numGlyphs=m.tables.maxp.numGlyphs;break;case"name":d=U;break;case"OS/2":k=Wo(y,U),m.tables.os2=cr.parse(k.data,k.offset);break;case"post":k=Wo(y,U),m.tables.post=dr.parse(k.data,k.offset),m.glyphNames=new Ie(m.tables.post);break;case"prep":k=Wo(y,U),v=new me.Parser(k.data,k.offset),m.tables.prep=v.parseByteList(U.length);break;case"glyf":i=U;break;case"loca":f=U;break;case"CFF ":s=U;break;case"kern":h=U;break;case"GDEF":u=U;break;case"GPOS":l=U;break;case"GSUB":p=U;break;case"meta":g=U}}var E=Wo(y,d);if(m.tables.name=or.parse(E.data,E.offset,n),m.names=m.tables.name,i&&f){var O=0===r,w=Wo(y,f),R=Ao.parse(w.data,w.offset,m.numGlyphs,O),L=Wo(y,i);m.glyphs=nn.parse(L.data,L.offset,R,m,t)}else{if(!s)throw new Error("Font doesn't contain TrueType or CFF outlines.");var C=Wo(y,s);wt.parse(C.data,C.offset,m,t)}var D=Wo(y,c);if(At.parse(m,D.data,D.offset,m.numberOfHMetrics,m.numGlyphs,m.glyphs,t),Ge(m,t),h){var I=Wo(y,h);m.kerningPairs=Mo.parse(I.data,I.offset)}else m.kerningPairs={};if(u){var B=Wo(y,u);m.tables.gdef=wo.parse(B.data,B.offset)}if(l){var F=Wo(y,l);m.tables.gpos=Io.parse(F.data,F.offset),m.position.init()}if(p){var G=Wo(y,p);m.tables.gsub=Sr.parse(G.data,G.offset)}if(o){var M=Wo(y,o);m.tables.fvar=So.parse(M.data,M.offset,m.names)}if(g){var N=Wo(y,g);m.tables.meta=Ur.parse(N.data,N.offset),m.metas=m.tables.meta}return m}function qo(e,t,r){r=null==r?{}:r;var n="undefined"!=typeof window||r.isUrl?_o:Po;return new Promise((function(a,s){n(e,(function(e,n){if(e){if(t)return t(e);s(e)}var o;try{o=Vo(n,r)}catch(e){if(t)return t(e,null);s(e)}if(t)return t(null,o);a(o)}))}))}function Xo(e,t){return Vo(Hr(r(256).readFileSync(e)),t)}var jo=Object.freeze({__proto__:null,Font:co,Glyph:Pe,Path:D,BoundingBox:C,_parse:me,parse:Vo,load:qo,loadSync:Xo});e.BoundingBox=C,e.Font=co,e.Glyph=Pe,e.Path=D,e._parse=me,e.default=jo,e.load=qo,e.loadSync=Xo,e.parse=Vo,Object.defineProperty(e,"__esModule",{value:!0})}(t)},254:t=>{t.exports=e.jquery},256:()=>{}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const t=e.Components;var r=n.n(t);const a=e.Fields;var s=n.n(a);const o=e.X3DFieldDefinition;var i=n.n(o);const u=e.FieldDefinitionArray;var l=n.n(u);const p=e.X3DNode;var c=n.n(p);const h=e.X3DUrlObject;var f=n.n(h);const d=e.Namespace;var g=n.n(d);let v=0;const m={BEGIN:++v,FIRST:++v,MIDDLE:++v,END:++v},y=g().add("TextAlignment",m),b=(e.FileLoader,e.X3DConstants);var S=n.n(b);const x=e.URLs;var T=n.n(x);const U=new Map([["SERIF",new Map([["PLAIN",T().getFontsURL("Droid/DroidSerif-Regular.ttf")],["ITALIC",T().getFontsURL("Droid/DroidSerif-Italic.ttf")],["BOLD",T().getFontsURL("Droid/DroidSerif-Bold.ttf")],["BOLDITALIC",T().getFontsURL("Droid/DroidSerif-BoldItalic.ttf")]])],["SANS",new Map([["PLAIN",T().getFontsURL("Ubuntu/Ubuntu-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/Ubuntu-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/Ubuntu-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/Ubuntu-BI.ttf")]])],["TYPEWRITER",new Map([["PLAIN",T().getFontsURL("Ubuntu/UbuntuMono-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/UbuntuMono-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/UbuntuMono-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/UbuntuMono-BI.ttf")]])]]);function k(e){c().call(this,e),f().call(this,e),this.addType(S().X3DFontStyleNode),this.addChildObjects(S().inputOutput,"description",new(s().SFString),S().inputOutput,"url",this._family,S().inputOutput,"load",new(s().SFBool)(!0),S().inputOutput,"autoRefresh",new(s().SFTime),S().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),this._family.setName("family"),this.familyStack=[],this.alignments=[]}Object.assign(Object.setPrototypeOf(k.prototype,c().prototype),f().prototype,{initialize(){c().prototype.initialize.call(this),f().prototype.initialize.call(this),this._style.addInterest("set_style__",this),this._justify.addInterest("set_justify__",this),this.font=null,this.familyIndex=0,this.set_justify__(),this.requestImmediateLoad().catch(Function.prototype)},set_style__(){this._load.getValue()&&(this.setLoadState(S().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},set_justify__(){const e=this._horizontal.getValue()?this._leftToRight.getValue():this._topToBottom.getValue();this.alignments[0]=this._justify.length>0?this.getAlignment(0,e):e?y.BEGIN:y.END;const t=this._horizontal.getValue()?this._topToBottom.getValue():this._leftToRight.getValue();this.alignments[1]=this._justify.length>1?this.getAlignment(1,t):t?y.FIRST:y.END},getMajorAlignment(){return this.alignments[0]},getMinorAlignment(){return this.alignments[1]},getAlignment(e,t){if(t)switch(this._justify[e]){case"FIRST":return y.FIRST;case"BEGIN":return y.BEGIN;case"MIDDLE":return y.MIDDLE;case"END":return y.END}else switch(this._justify[e]){case"FIRST":case"BEGIN":return y.END;case"MIDDLE":return y.MIDDLE;case"END":return y.BEGIN}return e?y.FIRST:y.BEGIN},getDefaultFont(e){const t=U.get(e);if(t)return t.get(this._style.getValue())??t.get("PLAIN")},loadData(){const e=this._url.copy();e.push("SERIF"),this.familyStack.length=0;for(const t of e)this.familyStack.push(this.getDefaultFont(t)??t);this.loadNext()},loadNext(){if(0===this.familyStack.length)return this.setLoadState(S().FAILED_STATE),void(this.font=null);this.family=this.familyStack.shift(),this.URL=new URL(this.family,this.getExecutionContext().getBaseURL()),this.getBrowser().getFont(this.URL,this.getCache()).then(this.setFont.bind(this)).catch(this.setError.bind(this))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading font '${decodeURI(this.URL.href)}':`,e),this.loadNext()},setFont(e){this.font=e,this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()},getFont(){return this.font},dispose(){f().prototype.dispose.call(this),c().prototype.dispose.call(this)}}),Object.defineProperties(k,c().getStaticProperties("X3DFontStyleNode","Text",1));const E=k,O=g().add("X3DFontStyleNode",E),w=e.PrimitiveQuality;var R=n.n(w);const L=e.TextCompression;var C=n.n(L);const D=e.Box2;var I=n.n(D);const B=e.Box3;var F=n.n(B);const G=e.Vector2;var M=n.n(G);const N=e.Vector3;var A=n.n(N);const P=e.Matrix3;var _=n.n(P);const H=new(I()),z=new(I()),W=new(M()),V=new(M()),q=new(M()),X=new(M()),j=new(A()),Y=new(A()),Z=new(M()),Q=new(M()),K=new(M()),J=new(M()),$=new(M()),ee=new(M()),te=new(A()),re=new(I()),ne=new(M()),ae=new(A());function se(e,t){this.browser=e.getBrowser(),this.text=e,this.fontStyle=t,this.glyphs=[],this.minorAlignment=new(M()),this.lineIndices=[],this.translations=[],this.charSpacings=[],this.scales=[],this.bearing=new(M()),this.bbox=new(F())}Object.assign(se.prototype,{getBrowser(){return this.browser},getText(){return this.text},getFontStyle(){return this.fontStyle},getGlyphs(){return this.glyphs},getMinorAlignment(){return this.minorAlignment},getTranslations(){return this.translations},getCharSpacings(){return this.charSpacings},getScales(){return this.scales},getBearing(){return this.bearing},getBBox(){return this.bbox},update(){const e=this.text,t=this.fontStyle,r=e._string.length;if(e._lineBounds.length=r,this.glyphs.length=0,0===r||!t.getFont())return e._origin.setValue(ae),e._textBounds.setValue(ne),void this.bbox.set();if(t._horizontal.getValue())this.resizeArray(this.translations,r),this.lineIndices.length=0,this.charSpacings.length=r,this.scales.length=r,this.horizontal(e,t);else{const n=e._string.reduce(((e,t)=>e+t.length),0);this.resizeArray(this.translations,n),this.lineIndices.length=n,this.charSpacings.length=r,this.scales.length=r,this.vertical(e,t)}},resizeArray(e,t){for(var r=e.length;r<t;++r)e.push(new(M()));e.length=t},horizontal(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._topToBottom.getValue(),i=t.getScale(),u=t._spacing.getValue(),l=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const p=o?a:-1,c=o?1:-1;for(let s=o?0:a-1,h=0;s!==p;s+=c,++h){const a=n[s],o=this.getHorizontalLineExtents(t,a,W,V,h);Z.assign(V).subtract(W);const p=e.getLength(s),c=Z.x*i;let f=0;switch(ee.set(c,0==h?V.y-r.descender/r.unitsPerEm*i:u),p&&(l===C().CHAR_SPACING&&o.length>1&&(f=(p-ee.x)/(o.length-1)),ee.x=p,Z.x=p/i),this.charSpacings[h]=f,this.scales[h]=l===C().SCALING?ee.x/c:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:this.translations[h].set(0,-h*u);break;case y.MIDDLE:this.translations[h].set(-W.x-Z.x/2,-h*u);break;case y.END:this.translations[h].set(-W.x-Z.x,-h*u)}this.translations[h].multiply(i),Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(i),Q.multiply(i).add(this.translations[h])))}if(s){const t=e._lineBounds.reduce(((e,t)=>Math.max(e,t.x)),0);if(t>s){const r=s/t;switch(l){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].x-e._lineBounds[t].x*r)/(e._string[t].length-1));break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=r}for(const e of this.translations.keys())this.translations[e].x*=r;for(const t of e._lineBounds.keys())e._lineBounds[t].x*=r;H.multRight(new(_())(r,0,0,0,1,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,this.bearing.set(0,-V.y),t.getMinorAlignment()){case y.BEGIN:this.minorAlignment.assign(this.bearing);break;case y.FIRST:this.minorAlignment.set(0,0);break;case y.MIDDLE:this.minorAlignment.set(0,Z.y/2-V.y);break;case y.END:this.minorAlignment.set(0,(a-1)*u*i)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},vertical(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._leftToRight.getValue(),i=t._topToBottom.getValue(),u=t.getScale(),l=t._spacing.getValue(),p=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),c=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const h=o?a:-1,f=o?1:-1;let d=0;for(let s=o?0:a-1;s!==h;s+=f){const h=this.stringToGlyphs(r,n[s],!0,s),f=d,g=h.length;z.set();const v=i?g:-1,m=i?1:-1;for(let e=i?0:g-1;e!==v;e+=m,++d){const t=h[e];this.getGlyphExtents(r,t,p,W,V),Z.assign(V).subtract(W);const n=i?e:g-e-1;this.lineIndices[d]=s,this.translations[d].set((l-Z.x-W.x)/2,-n),Q.assign(W).add(K.assign(Z).divide(2)).add(this.translations[d]),z.add(re.set(Z,Q))}z.getExtents(W,V),Z.assign(V).subtract(W);const b=o?s:a-s-1,S=(l-Z.x)/2,x=e.getLength(s);let T=0;ee.set(0===s?l-S:l,g?Z.y:0).multiply(u);const U=ee.y;switch(x&&(c===C().CHAR_SPACING&&h.length>1&&(T=(x-ee.y)/(h.length-1)),ee.y=x,Z.y=x/u,W.y=V.y-Z.y),this.charSpacings[s]=T,this.scales[s]=c===C().SCALING?ee.y/U:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:$.assign(J.set(b*l,-V.y));break;case y.MIDDLE:$.assign(J.set(b*l,Z.y/2-V.y));break;case y.END:J.set(b*l,Z.y/this.scales[s]-V.y),$.set(b*l,Z.y-V.y)}for(let e=f;e<d;++e)this.translations[e].add(J).multiply(u);Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(u),Q.add($).multiply(u)))}if(s){const r=e._lineBounds.reduce(((e,t)=>Math.max(e,t.y)),0);if(r>s){const n=s/r;switch(c){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].y-e._lineBounds[t].y*n)/(e._string[t].length-1));switch(t.getMajorAlignment()){case y.MIDDLE:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=(e._lineBounds[r].y-e._lineBounds[r].y*n)/2}break;case y.END:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=e._lineBounds[r].y-e._lineBounds[r].y*n}}break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=n}for(const t of e._lineBounds.keys())e._lineBounds[t].y*=n;H.multRight(new(_())(1,0,0,0,n,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,t.getMajorAlignment()){case y.BEGIN:case y.FIRST:this.bearing.set(-W.x,V.y);break;case y.MIDDLE:this.bearing.set(-W.x,0);break;case y.END:this.bearing.set(-W.x,W.y)}switch(t.getMinorAlignment()){case y.BEGIN:case y.FIRST:this.minorAlignment.set(-W.x,0);break;case y.MIDDLE:this.minorAlignment.set(-W.x-Z.x/2,0);break;case y.END:this.minorAlignment.set(-W.x-Z.x,0)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},stringToGlyphs(e,t,r,n){const a=this.glyphs[n]??(this.glyphs[n]=[]);a.length=t.length;const s=r?0:t.length-1,o=r?t.length:-1,i=r?1:-1;for(let r=s,n=0;r!==o;r+=i,++n)a[n]=e.charToGlyph(t[r]);return a},getHorizontalLineExtents(e,t,r,n,a){const s=e.getFont(),o=e._horizontal.getValue()?e._leftToRight.getValue():e._topToBottom.getValue(),i=this.stringToGlyphs(s,t,o,a),u=i.length,l=this.getBrowser().getBrowserOptions().getPrimitiveQuality();let p=0,c=0,h=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let e=0;e<u;++e){const t=i[e],r=i[e+1],n=r?s.getKerningValue(t,r):0;this.getGlyphExtents(s,t,l,q,X),c+=t.advanceWidth+n,h=Math.min(h,q.y),f=Math.max(f,X.y)}switch(i.length?(this.getGlyphExtents(s,i[0],l,q,X),p=q.x):(h=0,f=0),r.set(p,h),n.set(c/s.unitsPerEm,f),e.getMajorAlignment()){case y.BEGIN:case y.FIRST:r.x=0}return i},traverse(e,t){}});const oe=se,ie=g().add("X3DTextGeometry",oe),ue=e.Matrix4;var le=n.n(ue);const pe=e.Bezier;var ce=n.n(pe);const he=e.libtess;var fe=n.n(he);function de(e,t){ie.call(this,e,t),e.setTransparent(!1)}Object.assign(Object.setPrototypeOf(de.prototype,ie.prototype),{getMatrix:()=>le().Identity,build:(()=>{const e=new(A()),t=new(A());return function(){const r=this.getFontStyle(),n=r.getFont();if(!n)return;const a=this.getText(),s=this.getGlyphs(),o=this.getMinorAlignment(),i=this.getTranslations(),u=this.getCharSpacings(),l=this.getScales(),p=r.getScale(),c=r._spacing.getValue(),h=a._origin.getValue(),f=p/n.unitsPerEm,d=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),g=a.getTexCoords(),v=a.getNormals(),m=a.getVertices();if(a.getMultiTexCoords().push(g),this.getBBox().getExtents(e,t),a.getMin().assign(e),a.getMax().assign(t),r._horizontal.getValue())for(let e=0,t=s.length;e<t;++e){const t=s[e],r=i[e],a=u[e],y=l[e];let b=0;for(let e=0,s=t.length;e<s;++e){const s=t[e],i=this.getGlyphGeometry(n,s,d),u=o.x+r.x+b*y+e*a,l=o.y+r.y;for(const{x:e,y:t}of i){const r=e*p*y+u,n=t*p+l;g.push((r-h.x)/c,(n-h.y)/c,0,1),v.push(0,0,1),m.push(r,n,0,1)}let S=0;e+1<t.length&&(S=n.getKerningValue(s,t[e+1])),b+=(s.advanceWidth+S)*f}}else{const e=r._leftToRight.getValue(),t=r._topToBottom.getValue(),f=e?0:a._string.length-1,y=e?a._string.length:-1,b=e?1:-1;for(let e=f,r=0;e!==y;e+=b){const a=s[e],f=a.length,y=t?0:f-1,b=t?f:-1,S=t?1:-1,x=u[e],T=l[e];for(let e=y;e!==b;e+=S,++r){const t=i[r],s=this.getGlyphGeometry(n,a[e],d);for(const{x:r,y:n}of s){const a=r*p+o.x+t.x,s=n*p*T+o.y+t.y*T-e*x;g.push((a-h.x)/c,(s-h.y)/c,0,1),v.push(0,0,1),m.push(a,s,0,1)}}}}}})(),getGlyphExtents(e,t,r,n,a){const s=this.getBrowser().getGlyph(e,r,t.index),o=s.extents;if(o)n.assign(o.min),a.assign(o.max);else{const o=this.getGlyphGeometry(e,t,r);o.length?(n.assign(o[0]).min(...o),a.assign(o[0]).max(...o)):(n.set(0,0,0),a.set(0,0,0));const i=s.extents={};i.min=n.copy(),i.max=a.copy()}},getGlyphGeometry(e,t,r){const n=this.getBrowser().getGlyph(e,r,t.index),a=n.geometry;if(a)return a;{const e=n.geometry=[];return this.createGlyphGeometry(t,e,r),e}},createGlyphGeometry(e,t,r){const n=this.getBezierSteps(r),a=e.getPath(0,0,1);let s=[],o=[],i=0,u=0;for(const{type:e,x1:t,y1:r,x2:l,y2:p,x:c,y:h}of a.commands){switch(e){case"M":case"Z":o.length>2&&s.push(o),o=[],"M"===e&&o.push(new(A())(c,-h,0));break;case"L":o.push(new(A())(c,-h,0));break;case"Q":ce().quadric(i,-u,0,t,-r,0,c,-h,0,n,o);break;case"C":ce().cubic(i,-u,0,t,-r,0,l,-p,0,c,-h,0,n,o);break;default:continue}i=c,u=h}return this.triangulatePolygon(s,t)},getBezierSteps(e){switch(e){case R().LOW:return 3;case R().HIGH:return 7;default:return 5}},triangulatePolygon:(()=>{const e=new(fe().GluTesselator);return e.gluTessCallback(fe().gluEnum.GLU_TESS_VERTEX_DATA,(function(e,t){t.push(e)})),e.gluTessCallback(fe().gluEnum.GLU_TESS_COMBINE,(function(e,t,r){return new(A())(...e)})),e.gluTessProperty(fe().gluEnum.GLU_TESS_WINDING_RULE,fe().windingRule.GLU_TESS_WINDING_NONZERO),e.gluTessNormal(0,0,1),function(t,r){e.gluTessBeginPolygon(r);for(const r of t){e.gluTessBeginContour();for(const t of r)e.gluTessVertex(t,t);e.gluTessEndContour()}return e.gluTessEndPolygon(),r}})(),display(e,t){},transformLine(e){},transformMatrix(e){}});const ge=de,ve=g().add("PolygonText",ge);function me(e){O.call(this,e),this.addType(S().FontStyle),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(me.prototype,O.prototype),{getTextGeometry(e){return new ve(e,this)},getScale(){return this._size.getValue()}}),Object.defineProperties(me,{...c().getStaticProperties("FontStyle","Text",1,"fontStyle","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"language",new(s().SFString)),new(i())(S().inputOutput,"family",new(s().MFString)("SERIF")),new(i())(S().inputOutput,"style",new(s().SFString)("PLAIN")),new(i())(S().inputOutput,"size",new(s().SFFloat)(1)),new(i())(S().inputOutput,"spacing",new(s().SFFloat)(1)),new(i())(S().inputOutput,"horizontal",new(s().SFBool)(!0)),new(i())(S().inputOutput,"leftToRight",new(s().SFBool)(!0)),new(i())(S().inputOutput,"topToBottom",new(s().SFBool)(!0)),new(i())(S().inputOutput,"justify",new(s().MFString)("BEGIN"))]),enumerable:!0}});const ye=me,be=g().add("FontStyle",ye);var Se=n(254),xe=n(191);const Te=Symbol(),Ue=Symbol(),ke=Symbol();function Ee(){this[Ue]=new Map,this[ke]=new Map}Object.assign(Ee.prototype,{getDefaultFontStyle(){return this[Te]=new be(this.getPrivateScene()),this[Te].setPrivate(!0),this[Te].setup(),this.getDefaultFontStyle=function(){return this[Te]},Object.defineProperty(this,"getDefaultFontStyle",{enumerable:!1}),this[Te]},getFont(e,t=!0){return new Promise((async(r,n)=>{e=e.toString();let a=this[Ue].get(e);if(!a)try{this[Ue].set(e,a=Se.Deferred());const r=await fetch(e,{cache:t?"default":"reload"});if(!r.ok)throw new Error(r.statusText||r.status);{const e=await r.arrayBuffer(),t=xe.parse(e);a.resolve(t)}}catch(e){a.reject(e)}a.done(r).fail(n)}))},getGlyph(e,t,r){let n=this[ke].get(e);n||this[ke].set(e,n=[]);let a=n[t];a||(a=n[t]=[]);let s=a[r];return s||(s=a[r]={}),s}});const Oe=Ee,we=g().add("X3DTextContext",Oe),Re=e.X3DGeometryNode;var Le=n.n(Re);const Ce=e.X3DCast;var De=n.n(Ce);function Ie(e){Le().call(this,e),this.addType(S().Text),this._length.setUnit("length"),this._maxExtent.setUnit("length"),this._origin.setUnit("length"),this._textBounds.setUnit("length"),this._lineBounds.setUnit("length")}Object.assign(Object.setPrototypeOf(Ie.prototype,Le().prototype),{initialize(){Le().prototype.initialize.call(this),this._fontStyle.addInterest("set_fontStyle__",this),this.set_fontStyle__()},getMatrix(){return this.textGeometry.getMatrix()},getLength(e){return e<this._length.length?Math.max(0,this._length[e]):0},set_live__(){Le().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?(e.getBrowserOptions()._PrimitiveQuality.addInterest("requestRebuild",this),e.getBrowserOptions()._TextCompression.addInterest("requestRebuild",this)):(e.getBrowserOptions()._PrimitiveQuality.removeInterest("requestRebuild",this),e.getBrowserOptions()._TextCompression.removeInterest("requestRebuild",this))},set_fontStyle__(){this.fontStyleNode?.removeInterest("requestRebuild",this),this.fontStyleNode=De()(S().X3DFontStyleNode,this._fontStyle)??this.getBrowser().getDefaultFontStyle(),this.fontStyleNode.addInterest("requestRebuild",this),this.textGeometry=this.fontStyleNode.getTextGeometry(this)},build(){this.textGeometry.update(),this.textGeometry.build(),this.setSolid(this._solid.getValue())},traverse(e,t){this.textGeometry.traverse(e,t),Le().prototype.traverse.call(this,e,t)},display(e,t){this.textGeometry.display(e,t),Le().prototype.display.call(this,e,t),t.textureNode=null},transformLine(e){return this.textGeometry.transformLine(e)},transformMatrix(e){return this.textGeometry.transformMatrix(e)}}),Object.defineProperties(Ie,{...c().getStaticProperties("Text","Text",1,"geometry","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"string",new(s().MFString)),new(i())(S().inputOutput,"length",new(s().MFFloat)),new(i())(S().inputOutput,"maxExtent",new(s().SFFloat)),new(i())(S().initializeOnly,"solid",new(s().SFBool)),new(i())(S().outputOnly,"origin",new(s().SFVec3f)),new(i())(S().outputOnly,"textBounds",new(s().SFVec2f)),new(i())(S().outputOnly,"lineBounds",new(s().MFVec2f)),new(i())(S().inputOutput,"fontStyle",new(s().SFNode))]),enumerable:!0}});const Be=Ie,Fe=g().add("Text",Be);r().add({name:"Text",concreteNodes:[be,Fe],abstractNodes:[O],browserContext:we});g().add("TextComponent",undefined)})()})();