-
Notifications
You must be signed in to change notification settings - Fork 0
/
cm.umd.min.js
1 lines (1 loc) · 157 KB
/
cm.umd.min.js
1
!function(A,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((A="undefined"!=typeof globalThis?globalThis:A||self).cm={})}(this,(function(A){"use strict";var n="undefined"!=typeof document?document.currentScript:null;function t(A,n,...t){if(A[n]){return A[n](...t)}console.warn(`Unimplemented renderer method: ${n}.`)}function I(A=null,n=[],t=null){Object.defineProperties(this,{_data:{value:A,writable:!0},_children:{value:n,writable:!0},_parent:{value:t}})}function g(A,n){const t=Object.entries(n).map((([n,t])=>{if("object"==typeof t&&t.constant)return[n,t.value];if("object"==typeof t&&t.preserve)return[n,t];if(Array.isArray(t))return[n,A.map(((A,n)=>t[+A||n]))];const I="function"==typeof t?t:()=>t;return[n,A.map(I)]}));return Object.fromEntries(t)}function e(A=null,n=null,t=null,I=null){Object.defineProperties(this,{_groups:{value:A},_parent:{value:t},_app:{value:I},_data:{value:n}})}function i(A,n,t,I,g){const _=n._data[I],{render:E,I:C,value:o,options:B,group:r}=_,{builtin:Q}=E,a=n._children;if(!Q){n._children=[];E(new e([C],C,n,g),o);const I=n._children;if(!I.length)return;for(const n of I)i(A,n,t,0,g)}if(Q&&E(A,C,o,B,r),a.length)for(let n=0;n<C.length;n++){if(o){const{x:t=[],y:I=[],rotate:g=[]}=o,e=t[n]??0,i=I[n]??0,_=g[n];A.save(),A.translate(e,i),void 0!==_&&A.rotate(_)}for(const I of a)i(A,I,t,n,g);o&&A.restore()}}Object.defineProperties(e.prototype,{call:{value:function(A,...n){return A(this,...n),this}},append:{value:function(A,n){const t=(this._data?this:this.data((A=>[A])))._groups,i=this._parent,_=t.map((t=>({I:t.map(((A,n)=>n)),render:A,options:n,value:g(t,n),group:t}))),E=new I(_,[],i);return i._children.push(E),new e(t,null,E,this._app)}},data:{value:function(A){if(0===arguments.length)return this._groups;if("function"!=typeof A)return new e([A],A,this._parent,this._app);const n=this._groups,t=this._app,I=n.length,g=[];for(let t=0;t<I;t++){const I=n[t],e=I.length;for(let n=0;n<e;n++){const t=A.call(this,I[n],n,I,this);g.push(t)}}return new e(g,A,this._parent,t)}},datum:{value:function(A){return 0===arguments.length?this._groups:this.data([A])}},app:{value:function(){return this._app}},process:{value:function(A,...n){return new e(A(this,this._groups,...n),this._data,this._parent,this._app)}},transform:{value:function(A,...n){const t=new e(this._groups,this._data,this._parent,this._app);if(!this._parent)return t;const I=this._parent._data;return this._parent._data=A(this,I,...n),t}}});var _,E,C=0,o=0,B=0,r=1e3,Q=0,a=0,s=0,l="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(A){setTimeout(A,17)};function c(){return a||(h(u),a=l.now()+s)}function u(){a=0}function f(){this._call=this._time=this._next=null}function D(){a=(Q=l.now())+s,C=o=0;try{!function(){c(),++C;for(var A,n=_;n;)(A=a-n._time)>=0&&n._call.call(void 0,A),n=n._next;--C}()}finally{C=0,function(){var A,n,t=_,I=1/0;for(;t;)t._call?(I>t._time&&(I=t._time),A=t,t=t._next):(n=t._next,t._next=null,t=A?A._next=n:_=n);E=A,T(I)}(),a=0}}function L(){var A=l.now(),n=A-Q;n>r&&(s-=n,Q=A)}function T(A){C||(o&&(o=clearTimeout(o)),A-a>24?(A<1/0&&(o=setTimeout(D,A-l.now()-s)),B&&(B=clearInterval(B))):(B||(Q=l.now(),B=setInterval(L,r)),C=1,h(D)))}function R(){if(this._stop)return this._timer.stop(),this._timer=null,this._reschedule=!0,void(this._stop=!1);if(this._reschedule){this._timer&&this._timer.stop();const A=1e3/this._props.frameRate|0;this._timer=function(A,n,t){var I=new f,g=n;return null==n?(I.restart(A,n,t),I):(I._restart=I.restart,I.restart=function(A,n,t){n=+n,t=null==t?c():+t,I._restart((function e(i){i+=g,I._restart(e,g+=n,t),A(i)}),n,t)},I.restart(A,n,t),I)}((()=>{w.call(this)}),A),this._reschedule=!1}}function w(){const A=this._emitter;A.emit("beforeEach",this),A.emit("update",this),this.render(),this._props.frameCount++,A.emit("afterEach",this),R.call(this)}function y(){Object.defineProperties(this,{_:{value:{},writable:!0}})}function N(A=640,n=480,t=null){null==t&&(t=devicePixelRatio);const I=document.createElement("canvas");I.width=A*t,I.height=n*t,I.style.width=A+"px",I.style.height=n+"px";const g=I.getContext("2d");return g.scale(t,t),g}function k(A,n,t){A.prototype=n.prototype=t,t.constructor=A}function d(A,n){var t=Object.create(A.prototype);for(var I in n)t[I]=n[I];return t}function p(){}f.prototype={constructor:f,restart:function(A,n,t){if("function"!=typeof A)throw new TypeError("callback is not a function");t=(null==t?c():+t)+(null==n?0:+n),this._next||E===this||(E?E._next=this:_=this,E=this),this._call=A,this._time=t,T()},stop:function(){this._call&&(this._call=null,this._time=1/0,T())}},Object.defineProperties(y.prototype,{emit:{value:function(A,...n){const{[A]:t}=this._;if(t)for(const A of t)A(...n)}},on:{value:function(A,n){const{[A]:t=[]}=this._;t.push(n),this._[A]=t}},off:{value:function(A,n){if(0===arguments.length)this._={};else if(1===arguments.length)this._[A]=[];else{const{[A]:t}=this._,I=t.indexOf(n);if(-1===I)return;t.splice(I,1)}}}});var S=.7,M=1/S,G="\\s*([+-]?\\d+)\\s*",x="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",F="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",m=/^#([0-9a-f]{3,8})$/,U=new RegExp(`^rgb\\(${G},${G},${G}\\)$`),H=new RegExp(`^rgb\\(${F},${F},${F}\\)$`),v=new RegExp(`^rgba\\(${G},${G},${G},${x}\\)$`),b=new RegExp(`^rgba\\(${F},${F},${F},${x}\\)$`),O=new RegExp(`^hsl\\(${x},${F},${F}\\)$`),J=new RegExp(`^hsla\\(${x},${F},${F},${x}\\)$`),Y={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function K(){return this.rgb().formatHex()}function W(){return this.rgb().formatRgb()}function q(A){var n,t;return A=(A+"").trim().toLowerCase(),(n=m.exec(A))?(t=n[1].length,n=parseInt(n[1],16),6===t?P(n):3===t?new Z(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===t?$(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===t?$(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=U.exec(A))?new Z(n[1],n[2],n[3],1):(n=H.exec(A))?new Z(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=v.exec(A))?$(n[1],n[2],n[3],n[4]):(n=b.exec(A))?$(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=O.exec(A))?IA(n[1],n[2]/100,n[3]/100,1):(n=J.exec(A))?IA(n[1],n[2]/100,n[3]/100,n[4]):Y.hasOwnProperty(A)?P(Y[A]):"transparent"===A?new Z(NaN,NaN,NaN,0):null}function P(A){return new Z(A>>16&255,A>>8&255,255&A,1)}function $(A,n,t,I){return I<=0&&(A=n=t=NaN),new Z(A,n,t,I)}function V(A){return A instanceof p||(A=q(A)),A?new Z((A=A.rgb()).r,A.g,A.b,A.opacity):new Z}function j(A,n,t,I){return 1===arguments.length?V(A):new Z(A,n,t,null==I?1:I)}function Z(A,n,t,I){this.r=+A,this.g=+n,this.b=+t,this.opacity=+I}function z(){return`#${tA(this.r)}${tA(this.g)}${tA(this.b)}`}function X(){const A=AA(this.opacity);return`${1===A?"rgb(":"rgba("}${nA(this.r)}, ${nA(this.g)}, ${nA(this.b)}${1===A?")":`, ${A})`}`}function AA(A){return isNaN(A)?1:Math.max(0,Math.min(1,A))}function nA(A){return Math.max(0,Math.min(255,Math.round(A)||0))}function tA(A){return((A=nA(A))<16?"0":"")+A.toString(16)}function IA(A,n,t,I){return I<=0?A=n=t=NaN:t<=0||t>=1?A=n=NaN:n<=0&&(A=NaN),new eA(A,n,t,I)}function gA(A){if(A instanceof eA)return new eA(A.h,A.s,A.l,A.opacity);if(A instanceof p||(A=q(A)),!A)return new eA;if(A instanceof eA)return A;var n=(A=A.rgb()).r/255,t=A.g/255,I=A.b/255,g=Math.min(n,t,I),e=Math.max(n,t,I),i=NaN,_=e-g,E=(e+g)/2;return _?(i=n===e?(t-I)/_+6*(t<I):t===e?(I-n)/_+2:(n-t)/_+4,_/=E<.5?e+g:2-e-g,i*=60):_=E>0&&E<1?0:i,new eA(i,_,E,A.opacity)}function eA(A,n,t,I){this.h=+A,this.s=+n,this.l=+t,this.opacity=+I}function iA(A){return(A=(A||0)%360)<0?A+360:A}function _A(A){return Math.max(0,Math.min(1,A||0))}function EA(A,n,t){return 255*(A<60?n+(t-n)*A/60:A<180?t:A<240?n+(t-n)*(240-A)/60:n)}k(p,q,{copy(A){return Object.assign(new this.constructor,this,A)},displayable(){return this.rgb().displayable()},hex:K,formatHex:K,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return gA(this).formatHsl()},formatRgb:W,toString:W}),k(Z,j,d(p,{brighter(A){return A=null==A?M:Math.pow(M,A),new Z(this.r*A,this.g*A,this.b*A,this.opacity)},darker(A){return A=null==A?S:Math.pow(S,A),new Z(this.r*A,this.g*A,this.b*A,this.opacity)},rgb(){return this},clamp(){return new Z(nA(this.r),nA(this.g),nA(this.b),AA(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:z,formatHex:z,formatHex8:function(){return`#${tA(this.r)}${tA(this.g)}${tA(this.b)}${tA(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:X,toString:X})),k(eA,(function(A,n,t,I){return 1===arguments.length?gA(A):new eA(A,n,t,null==I?1:I)}),d(p,{brighter(A){return A=null==A?M:Math.pow(M,A),new eA(this.h,this.s,this.l*A,this.opacity)},darker(A){return A=null==A?S:Math.pow(S,A),new eA(this.h,this.s,this.l*A,this.opacity)},rgb(){var A=this.h%360+360*(this.h<0),n=isNaN(A)||isNaN(this.s)?0:this.s,t=this.l,I=t+(t<.5?t:1-t)*n,g=2*t-I;return new Z(EA(A>=240?A-240:A+120,g,I),EA(A,g,I),EA(A<120?A+240:A-120,g,I),this.opacity)},clamp(){return new eA(iA(this.h),_A(this.s),_A(this.l),AA(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const A=AA(this.opacity);return`${1===A?"hsl(":"hsla("}${iA(this.h)}, ${100*_A(this.s)}%, ${100*_A(this.l)}%${1===A?")":`, ${A})`}`}}));const CA=Math.PI/180,oA=180/Math.PI;var BA=-.14861,rA=1.78277,QA=-.29227,aA=-.90649,sA=1.97294,lA=sA*aA,hA=sA*rA,cA=rA*QA-aA*BA;function uA(A,n,t,I){return 1===arguments.length?function(A){if(A instanceof fA)return new fA(A.h,A.s,A.l,A.opacity);A instanceof Z||(A=V(A));var n=A.r/255,t=A.g/255,I=A.b/255,g=(cA*I+lA*n-hA*t)/(cA+lA-hA),e=I-g,i=(sA*(t-g)-QA*e)/aA,_=Math.sqrt(i*i+e*e)/(sA*g*(1-g)),E=_?Math.atan2(i,e)*oA-120:NaN;return new fA(E<0?E+360:E,_,g,A.opacity)}(A):new fA(A,n,t,null==I?1:I)}function fA(A,n,t,I){this.h=+A,this.s=+n,this.l=+t,this.opacity=+I}k(fA,uA,d(p,{brighter(A){return A=null==A?M:Math.pow(M,A),new fA(this.h,this.s,this.l*A,this.opacity)},darker(A){return A=null==A?S:Math.pow(S,A),new fA(this.h,this.s,this.l*A,this.opacity)},rgb(){var A=isNaN(this.h)?0:(this.h+120)*CA,n=+this.l,t=isNaN(this.s)?0:this.s*n*(1-n),I=Math.cos(A),g=Math.sin(A);return new Z(255*(n+t*(BA*I+rA*g)),255*(n+t*(QA*I+aA*g)),255*(n+t*(sA*I)),this.opacity)}}));const DA=new Map;function LA(A){if(DA.has(A))return DA.get(A);const n=q(A).rgb();return DA.set(A,n),n}function TA(A,n){if(void 0===A)return A;if("transparent"===A)return[0,0,0,0];const{r:t,g:I,b:g,opacity:e}=LA(A);return[t,I,g,255*(n??e??1)|0]}function RA(A,n){if("string"!=typeof A)return A;const[t,I,g,e]=TA(A,n);return`rgba(${t},${I},${g},${e/255})`}function wA(A,n,t,I,g,e,i,_,E,C){if(0===I||0===g)return A.moveTo(n,t),void A.lineTo(E,C);let o=(n-E)/2,B=(t-C)/2,r=Math.cos(e)*o+Math.sin(e)*B,Q=-Math.sin(e)*o+Math.cos(e)*B,a=I*I,s=g*g,l=r*r,h=Q*Q,c=l/a+h/s;if(c>1){let A=Math.sqrt(c);a=(I*=A)*I,s=(g*=A)*g}let u=i===_?-1:1,f=(a*s-a*h-s*l)/(a*h+s*l);f=f<0?0:f;let D=u*Math.sqrt(f),L=D*(I*Q)/g,T=D*(-g*r)/I,R=Math.cos(e)*L-Math.sin(e)*T+(n+E)/2,w=Math.sin(e)*L+Math.cos(e)*T+(t+C)/2,y=(r-L)/I,N=(Q-T)/g,k=(-r-L)/I,d=(-Q-T)/g,p=Math.sqrt(y*y+N*N),S=y;u=N<0?-1:1;let M=u*Math.acos(S/p);p=Math.sqrt((y*y+N*N)*(k*k+d*d)),S=y*k+N*d,u=y*d-N*k<0?-1:1;let G=u*Math.acos(S/p);!_&&G>0?G-=2*Math.PI:_&&G<0&&(G+=2*Math.PI),M%=2*Math.PI,G%=2*Math.PI,A.ellipse(R,w,I,g,e,M,M+G,!_)}function yA(A,n){const t=document.createElement("span");t.style.visibility="hidden",t.style.position="absolute",t.style.display="inline-block",t.style.left="-9999em",t.style.top="0",t.style.lineHeight="normal",t.setAttribute("aria-hidden",!0),t.style.fontSize=`${n.fontSize}px`,t.style.fontFamily=n.fontFamily,t.innerHTML=A,document.body.appendChild(t);const I=t.getBoundingClientRect();return{width:I.width,height:Math.ceil(I.height)}}function NA(){Object.defineProperties(this,{_context:{value:null,writable:!0},_props:{value:{},writable:!0},_mousemove:{value:null,writable:!0},_mousedown:{value:null,writable:!0},_mouseup:{value:null,writable:!0}})}function kA(A){return new NA}function dA({width:A=640,height:n=480,renderer:g=kA(),frameRate:i=60,dpi:_=null,...E}={}){const C=new I,o=new e([[0]],[0],C,this),B=new y,r={frameRate:i,frameCount:0,mouseX:0,mouseY:0};Object.defineProperties(this,{_renderer:{value:g},_stop:{value:!1,writable:!0},_reschedule:{value:!0,writable:!0},_timer:{value:null,writable:!0},_dispose:{value:()=>{},writable:!0},_root:{value:C},_flow:{value:o},_emitter:{value:B},_props:{value:r,writable:!1}}),t(this._renderer,"init",{width:A,height:n,dpi:_,...E}),t(this._renderer,"mousemove",(A=>{const{x:n,y:t}=A;this._props.mouseX=n,this._props.mouseY=t})),t(this._renderer,"mousedown",(()=>B.emit("mouseDown",this))),t(this._renderer,"mouseup",(()=>B.emit("mouseUp",this))),t(this._renderer,"mouseclick",(()=>B.emit("mouseClick",this)))}function pA(A){return A.builtin=!0,A}Object.defineProperties(NA.prototype,{init:{value:function({width:A,height:n,dpi:t}){const I=N(A,n,t);return Object.assign(this,{_context:I}),Object.assign(this._props,{width:A,height:n}),this}},node:{value:function(){return this._context.canvas}},circle:{value:function({stroke:A,strokeWidth:n,fill:t,x:I,y:g,r:e,fillOpacity:i,strokeOpacity:_}){const E=this._context;return A=RA(A,_),t=RA(t,i),E.save(),E.beginPath(),A&&(E.strokeStyle=A),n&&(E.lineWidth=n),E.fillStyle=t,E.arc(I,g,e,0,2*Math.PI),E.fill(),A&&E.stroke(),E.closePath(),E.restore(),this}},rect:{value:function({stroke:A,fill:n,x:t,y:I,width:g,height:e,rotate:i,anchor:_,fillOpacity:E,strokeOpacity:C,strokeWidth:o}){"center"===_&&(t-=g/2,I-=e/2),A=RA(A,C),n=RA(n,E);const B=this._context;return B.save(),B.translate(t+g/2,I+e/2),i&&B.rotate(i),B.beginPath(),A&&(B.strokeStyle=A),o&&(B.lineWidth=o),B.fillStyle=n,B.rect(-g/2,-e/2,g,e),B.fill(),A&&B.stroke(),B.closePath(),B.restore(),this}},line:{value:function({stroke:A,strokeWidth:n,strokeCap:t,x:I,y:g,x1:e,y1:i,rotate:_,transformOrigin:E="start"}){const C=this._context;if(C.save(),C.beginPath(),_){const[A,n]="center"===E?[(I+e)/2,(g+i)/2]:"end"===E?[e,i]:[I,g];C.translate(A,n),C.rotate(_),C.translate(-A,-n)}return A&&(C.strokeStyle=A),n&&(C.lineWidth=n),t&&(C.lineCap="round"),C.moveTo(I,g),C.lineTo(e,i),A&&C.stroke(),C.closePath(),C.restore(),this}},triangle:{value:function({x:A,y:n,x1:t,y1:I,x2:g,y2:e,fill:i,stroke:_,strokeWidth:E,rotate:C}){const o=this._context;return o.save(),C&&o.rotate(C),o.beginPath(),_&&(o.strokeStyle=_),E&&(o.lineWidth=E),o.fillStyle=i,o.moveTo(A,n),o.lineTo(t,I),o.lineTo(g,e),o.closePath(),o.fill(),_&&o.stroke(),o.restore(),this}},path:{value:function({x:A=0,y:n=0,d:t,stroke:I,strokeOpacity:g,fill:e,fillOpacity:i,strokeWidth:_}){I=RA(I,g),e=RA(e,i);const E=this._context;if(E.save(),E.translate(A,n),_&&(E.lineWidth=_),e&&(E.fillStyle=e),I&&(E.strokeStyle=I),E.beginPath(),"string"==typeof t){const A=new Path2D(t);e&&E.fill(A),I&&E.stroke(A)}else Array.isArray(t)&&(!function(A,n){let t,I;for(const g of n){const[n,...e]=g;if("M"===n)A.moveTo(...e),[t,I]=e;else if("L"===n)A.lineTo(...e),[t,I]=e;else if("C"===n)A.bezierCurveTo(...e),[t,I]=e.slice(-2);else if("Q"===n)A.quadraticCurveTo(...e),[t,I]=e.slice(-2);else if("Z"===n)A.closePath();else if("A"===n){const[n,g,i,_,E,C,o]=e;wA(A,t,I,n,g,i,_,E,C,o),[t,I]=[C,o]}else if("H"===n)A.lineTo(e[0],I),t=e[0];else if("V"===n)A.lineTo(t,e[0]),I=e[0];else if("v"===n)A.lineTo(t,I+e[0]),I+=e[0];else if("h"===n)A.lineTo(t+e[0],I),t+=e[0];else if("l"===n)A.lineTo(t+e[0],I+e[1]),t+=e[0],I+=e[1];else if("c"===n)A.bezierCurveTo(t+e[0],I+e[1],t+e[2],I+e[3],t+e[4],I+e[5]),t+=e[4],I+=e[5];else if("s"===n)A.bezierCurveTo(t+e[0],I+e[1],t+e[2],I+e[3],t+e[4],I+e[5]),t+=e[2],I+=e[3];else if("q"===n)A.quadraticCurveTo(t+e[0],I+e[1],t+e[2],I+e[3]),t+=e[2],I+=e[3];else if("t"===n)A.quadraticCurveTo(t+e[0],I+e[1],t+e[0],I+e[1]),t+=e[0],I+=e[1];else if("a"===n){const[n,g,i,_,E,C,o]=e;wA(A,t,I,n,g,i,_,E,C,o),t+=C,I+=o}else"z"===n?A.closePath():console.warn(`Unknown command: ${n}`)}}(E,t),e&&E.fill(),I&&E.stroke());return E.restore(),this}},polygon:{value:function({x:A,y:n,fill:t,stroke:I,strokeWidth:g,fillOpacity:e,strokeOpacity:i}){I=RA(I,i),t=RA(t,e);const _=this._context;_.save(),_.beginPath(),I&&(_.strokeStyle=I),g&&(_.lineWidth=g),_.fillStyle=t;const E=A[0],C=n[0];_.moveTo(E,C);for(let t=1;t<A.length;t++){const I=A[t],g=n[t];_.lineTo(I,g)}return _.closePath(),_.fill(),I&&_.stroke(),_.restore(),this}},text:{value:function({text:A,x:n,y:t,fill:I,stroke:g,strokeWidth:e,fillOpacity:i,strokeOpacity:_,fontFamily:E,textAlign:C,textBaseline:o,fontSize:B=14,fontWeight:r="normal"}){g=RA(g,_),I=RA(I,i);const Q=this._context;Q.save(),g&&(Q.strokeStyle=g),e&&(Q.lineWidth=e),I&&(Q.fillStyle=I),C&&(Q.textAlign=C),o&&(Q.textBaseline=o),Q.font=`${r} ${B}px ${E}`.trim(),Q.fillText(A,n,t),Q.restore()}},clear:{value:function({fill:A}){return this._context.fillStyle=A,this._context.fillRect(0,0,this._props.width,this._props.height),this}},mousemove:{value:function(A){const n=this.node();return 0===arguments.length&&n.removeEventListener("mousemove",this._mousemove),this._mousemove=t=>{const{x:I,y:g}=n.getBoundingClientRect(),{clientX:e,clientY:i}=t;A({x:e-I,y:i-g})},n.addEventListener("mousemove",this._mousemove),this}},mouseup:{value:function(A){const n=this.node();return 0===arguments.length&&n.removeEventListener("mouseup",this._mouseup),this._mouseup=n=>A(n),n.addEventListener("mouseup",this._mouseup),this}},mousedown:{value:function(A){const n=this.node();return 0===arguments.length&&n.removeEventListener("mousedown",this._mousedown),this._mousedown=n=>A(n),n.addEventListener("mousedown",this._mousedown),this}},mouseclick:{value:function(A){const n=this.node();return 0===arguments.length&&n.removeEventListener("click",this._mouseclick),this._mouseclick=n=>A(n),n.addEventListener("click",this._mouseclick),this}},translate:{value:function(A,n){this._context.translate(A,n)}},rotate:{value:function(A){this._context.rotate(A)}},save:{value:function(){this._context.save()}},restore:{value:function(){this._context.restore()}},textBBox:{value:function({text:A,fontSize:n,fontFamily:t,textAlign:I,textBaseline:g,x:e,y:i}){const{width:_,height:E}=yA(A,{fontSize:n,fontFamily:t});return{x:"end"===I?e-_:"center"===I?e-_/2:e,y:"bottom"===g?i-E:"middle"===g?i-E/2:i,width:_,height:E}}}}),Object.defineProperties(dA.prototype,{data:{value:function(A){return this._flow.data(A)}},datum:{value:function(A){return this.data([A])}},node:{value:function(){return t(this._renderer,"node")}},render:{value:function(){const A=this._renderer,n={width:this.prop("width"),height:this.prop("height")};return this._root._children.forEach((t=>i(A,t,n,0,this))),this._root._children=[],this._renderer.render&&this._renderer.render(),this}},start:{value:function(){return this._emitter.emit("beforeAll",this),this._stop||w.call(this),this._stop=!1,this}},stop:{value:function(){return this._stop=!0,this}},append:{value:function(A,n){return this._flow.append(A,n)}},call:{value:function(A,...n){return A(this,...n),this}},dispose:{value:function(){return t(this._renderer,"mousemove"),t(this._renderer,"mouseup"),t(this._renderer,"mousedown"),t(this._renderer,"mouseclick"),this._timer&&this._timer.stop(),this._emitter.emit("afterAll",this),this._emitter.off(),this}},prop:{value:function(A){const n=this._props,t=this._renderer._props||{};return 0===arguments.length?{...t,...n}:n[A]??t[A]}},on:{value:function(A,n){return this._emitter.on(A,n),this}},textBBox:{value:function(A){return t(this._renderer,"textBBox",A)}},app:{value:function(){return this._flow.app()}}});const SA=pA(((A,n,t,I,g)=>{if(A.circles)return A.circles(n,t,g);const{x:e,y:i,r:_,fill:E=[],stroke:C=[],strokeWidth:o=[],fillOpacity:B=[],strokeOpacity:r=[],fontWeight:Q=[],fontFamily:a=[]}=t;for(const t of n)A.circle({x:e[t],y:i[t],r:_[t],fill:E[t],stroke:C[t],strokeWidth:o[t],fillOpacity:B[t],strokeOpacity:r[t],fontWeight:Q[t],fontFamily:a[t]})})),MA={stroke:"#000",strokeWidth:1},GA=pA(((A,n,t)=>{const{x:I,y:g,x1:e,y1:i,stroke:_=[],strokeWidth:E=[],strokeCap:C=[],rotate:o=[],transformOrigin:B=[]}=t;for(const t of n)A.line({...MA,x:I[t],y:g[t],x1:e[t],y1:i[t],rotate:o[t],transformOrigin:B[t],..._[t]&&{stroke:_[t]},...E[t]&&{strokeWidth:E[t]},...C[t]&&{strokeCap:C[t]}})})),xA=pA(((A,n,t)=>{const{fill:I=[]}=t;for(const t of n)A.clear({fill:I[t]})})),FA=pA(((A,n,t)=>{if(A.rects)return A.rects(n,t);const{x:I=[],y:g=[],width:e=[],height:i=[],fill:_=[],stroke:E=[],rotate:C=[],anchor:o=[],fillOpacity:B=[],strokeOpacity:r=[],strokeWidth:Q=[]}=t;for(const t of n)A.rect({x:I[t],y:g[t],width:e[t],height:i[t],stroke:E[t],fill:_[t],fillOpacity:B[t],strokeOpacity:r[t],strokeWidth:Q[t],...o[t]&&{anchor:o[t]},...C[t]&&{rotate:C[t]}})})),mA=pA((()=>{})),UA=pA(((A,n,t)=>{if(A.triangles)return A.triangles(n,t);const{x:I,y:g,x1:e,y1:i,x2:_,y2:E,fill:C=[],stroke:o=[],strokeWidth:B=[],rotate:r=[]}=t;for(const t of n)A.triangle({x:I[t],y:g[t],x1:e[t],y1:i[t],x2:_[t],y2:E[t],fill:C[t],stroke:o[t],strokeWidth:B[t],rotate:r[t]})})),HA=pA(((A,n,t,I)=>{const{close:g=!1}=I,{x:e,y:i,stroke:_=[],strokeWidth:E=[]}=t,C=n[0],o=[["M",e[C],i[C]]],B=n.length;for(let A=1,t=n[A];A<B;A++,t=n[A])o.push(["L",e[t],i[t]]);g&&o.push(["Z"]),A.path({d:o,stroke:_[C],strokeWidth:E[C]})}));const vA=pA(((A,n,t)=>{const{x:I=[],y:g=[],fill:e=[],stroke:i=[],fillOpacity:_=[],strokeOpacity:E=[],strokeWidth:C=[]}=t;if(function(A){return Array.isArray(A)&&!Array.isArray(A[0])}(I))return A.polygon({x:I,y:g,stroke:i[0],fill:e[0],fillOpacity:_[0],strokeOpacity:E[0],strokeWidth:C[0]});for(const t of n)A.polygon({x:I[t],y:g[t],stroke:i[t],fill:e[t],fillOpacity:_[t],strokeOpacity:E[t],strokeWidth:C[t]})})),bA=pA(((A,n,t)=>{const{x:I,y:g,stroke:e=[],stroke0:i=[],stroke1:_=[],stroke2:E=[]}=t;for(const t of n){const n={...e[t],...E[t]&&{bg:E[t]},...i[t]&&{ch:i[t]},..._[t]&&{fg:_[t]}};A.point({x:I[t],y:g[t],stroke:n})}})),OA=pA(((A,n,t)=>{const{x:I=[],y:g=[],fill:e=[],stroke:i=[],fillOpacity:_=[],strokeOpacity:E=[],strokeWidth:C=[],d:o=[]}=t;for(const t of n)A.path({x:I[t],y:g[t],d:o[t],stroke:i[t],fill:e[t],fillOpacity:_[t],strokeOpacity:E[t],strokeWidth:C[t]})})),JA=pA(((A,n,t)=>{const{text:I=[],x:g=[],y:e=[],fill:i=[],stroke:_=[],fillOpacity:E=[],strokeOpacity:C=[],strokeWidth:o=[],textBaseline:B=[],textAlign:r=[],fontFamily:Q=[],fontSize:a=[]}=t;for(const t of n)A.text({x:g[t],y:e[t],text:I[t],stroke:_[t],fill:i[t],fillOpacity:E[t],strokeOpacity:C[t],strokeWidth:o[t],textBaseline:B[t],textAlign:r[t],fontFamily:Q[t],fontSize:a[t]})}));function YA(A,n){return t=>A*(1-t)+t*n}function KA(A,[n,t]=[0,1],{transform:I,unknown:g,interpolate:e=YA(n,t)}){const[i,_]=A.map(I),E=(C=i,o=_,A=>o-C==0?.5:(A-C)/(o-C));var C,o;return A=>null===A||Number.isNaN(A)?g:e(E(I(A)))}function WA(A){return A}function qA(A,n,t){return KA(A,n,{...t,transform:WA})}function PA(A){return Math.sign(A)*Math.sqrt(Math.abs(A))}function $A(A){return Math.log(A)}function VA(A,n,{unknown:t}={}){const I=new Map(A.map(((A,n)=>[A,n])));return A=>{const g=I.get(A);return void 0===g?t:n[g%n.length]}}function jA(A,n){return A.ordinal?function(A){return Array.from(new Set(A))}(n):function(A){return[Math.min(...A),Math.max(...A)]}(n)}function ZA(A,n){return Object.fromEntries(Object.entries(A).map((([A,t])=>{const{[A]:I}=n;if(!I)return[A,t];const{range:g,scale:e=qA,domain:i=jA(e,t),..._}=I,E=e(i,g,_);return[A,t.map(E)]})))}function zA(A,n,t){const I=n.length;for(let A=0;A<I;A++){const I=n[A];I.value=ZA(I.value,t)}return n}function XA(A,n,t){const I=A.createShader(n);A.shaderSource(I,t),A.compileShader(I);if(A.getShaderParameter(I,A.COMPILE_STATUS))return I;console.log(A.getShaderInfoLog(I)),A.deleteShader(I)}function An(A,n,t,I){const g=t+I;if(n.has(g))return n.get(g);const e=function(A,n,t){const I=XA(A,A.VERTEX_SHADER,n),g=XA(A,A.FRAGMENT_SHADER,t);return function(A,n,t){const I=A.createProgram();if(A.attachShader(I,n),A.attachShader(I,t),A.linkProgram(I),A.getProgramParameter(I,A.LINK_STATUS))return I;console.log(A.getProgramInfoLog(I)),A.deleteProgram(I)}(A,I,g)}(A,t,I);return n.set(g,e),e}function nn(A,n){return`_${A}_${n}`}function tn(A){return`_${A}`}function In(A,n,t,{name:I,data:g,size:e=1,divisor:i=0,normalize:_=!1,stride:E=0,offset:C=0,type:o=A.FLOAT}){const B=A.getAttribLocation(n,I),r=A.createBuffer();A.bindBuffer(A.ARRAY_BUFFER,r),A.bufferData(A.ARRAY_BUFFER,g,A.STATIC_DRAW),A.vertexAttribPointer(B,e,o,_,E,C),A.enableVertexAttribArray(B),t.vertexAttribDivisorANGLE(B,i)}function gn(A,n,{name:t,data:I}){const g=A.getUniformLocation(n,t);1===I.length&&A.uniform1f(g,...I),2===I.length&&A.uniform2f(g,...I)}function en(A,n,t,I,g){for(const[e,i]of Object.entries(g))if(Array.isArray(i)){const{size:g,glType:_,normalize:E,map:C}=I[e],o=C(i);In(A,n,t,{name:tn(e),data:o,size:g,type:A[_],normalize:E,divisor:1})}else{const{params:t}=i,I=t.map(((A,n)=>({name:nn(e,n),data:[A]}))).filter((A=>"number"==typeof A.data[0]));for(const{name:t,data:g}of I)gn(A,n,{name:t,data:g})}}function _n(A,n){return Object.entries(A).some((([A,t])=>!Array.isArray(t)&&!0!==n[A].onlyUniform))}function En(A,n){const[t,I]=n,{onlyUniform:g=!1}=A[t],{strings:e,params:i}=I,_=i.map(((A,n)=>[A,`uniform float ${nn(t,n)};`])).filter((([A])=>"number"==typeof A)).map((A=>A[1])).join("\n"),E=/(float|bool|int|void|vec[234])\s+(\w+)\s*\(/g,C=i.filter((A=>"number"!=typeof A)).map((A=>A.strings.join("-"))),o=C.map((A=>E.exec(A)[2]));if(g)return _;let B=_+"\n"+C+"\n"+e[0];for(let A=1,n=e.length;A<n;++A){B+=("number"==typeof i[A-1]?nn(t,A-1):o.shift())+e[A]}return B}function Cn(A,n){const[,t]=n;return Array.isArray(t)?function(A,n){const[t]=n,I=A[t];if(!I)throw new Error(`Unknown attribute: ${t}`);return`attribute ${I.type} ${tn(t)};`}(A,n):En(A,n)}function on(A,n){return Object.entries(n).map((n=>Cn(A,n))).join("\n")}function Bn(A,n){return Object.entries(n).filter((([,A])=>!Array.isArray(A))).filter((([n])=>!0!==A[n].onlyUniform)).map((n=>function(A,n){const[t]=n,I=A[t];if(!I)throw new Error(`Unknown attribute: ${t}`);return`${I.type} ${tn(t)} = ${t}(a_datum);`}(A,n))).join("\n")}function rn(A,n,t){if(1===arguments.length)return Array.from({length:A},((A,n)=>n));2===arguments.length&&([n,t]=[0,n]);const I=(t-n)/A;return Array.from({length:A},((A,t)=>n+t*I))}VA.ordinal=!0;const Qn={x:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},y:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},position:{type:"vec2",size:2,glType:"FLOAT",map:A=>new Float32Array(A)},stroke:{type:"vec4",size:4,glType:"UNSIGNED_BYTE",normalize:!0,map:A=>new Uint8Array(A.flatMap((A=>TA(A))))},strokeOpacity:{type:"float",glType:"UNSIGNED_BYTE",normalize:!0,map:A=>new Uint8Array(A.map((A=>255*A|0)))},r:{type:"float",size:1,glType:"FLOAT",map:A=>new Float32Array(A),normalize:!1}};const an={x:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},y:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},width:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},height:{type:"float",size:1,glType:"FLOAT",normalize:!1,map:A=>new Float32Array(A)},fill:{type:"vec4",size:4,glType:"UNSIGNED_BYTE",normalize:!0,map:A=>new Uint8Array(A.flatMap((A=>TA(A)))),onlyUniform:!0}};function sn(){Object.defineProperties(this,{_gl:{value:null,writable:!0},_triangle:{value:new Map},_circle:{value:new Map},_props:{value:{},writable:!0}})}Object.defineProperties(sn.prototype,{node:{value:function(){return this._gl.canvas}},init:{value:function({width:A,height:n,dpi:t=null}){const I=function(A,n,t){null==t&&(t=devicePixelRatio);const I=document.createElement("canvas"),g=I.getContext("webgl");return I.width=A*t,I.height=n*t,I.style.width=A+"px",I.style.height=n+"px",g.viewport(0,0,A*t,n*t),g}(A,n,t);return Object.assign(this._props,{width:A,height:n}),Object.assign(this,{_gl:I}),this}},triangles:{value:function(A,n){const{_gl:t,_triangle:I}=this,g=An(t,I,"\n attribute vec2 a_position;\n attribute vec4 a_color;\n uniform vec2 u_resolution;\n varying vec4 v_color;\n void main() {\n vec2 scale = a_position / u_resolution;\n vec2 clipSpace = scale * 2.0 - 1.0;\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n v_color = a_color;\n }\n ","\n precision mediump float;\n varying vec4 v_color;\n void main() {\n gl_FragColor = v_color;\n }\n ");t.useProgram(g);const{x:e,y:i,x1:_,y1:E,x2:C,y2:o,fill:B=[]}=n,r=A.flatMap((A=>[e[A],i[A],_[A],E[A],C[A],o[A]])),Q=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,Q),t.bufferData(t.ARRAY_BUFFER,new Float32Array(r),t.STATIC_DRAW);const a=A.flatMap((A=>{const n=B[A],{r:t,g:I,b:g,opacity:e}=q(n).rgb(),i=255*e;return[t,I,g,i,t,I,g,i,t,I,g,i]})),s=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,s),t.bufferData(t.ARRAY_BUFFER,new Uint8Array(a),t.STATIC_DRAW);const l=t.getAttribLocation(g,"a_position");t.enableVertexAttribArray(l),t.bindBuffer(t.ARRAY_BUFFER,Q),t.vertexAttribPointer(l,2,t.FLOAT,!1,0,0);const h=t.getAttribLocation(g,"a_color");t.enableVertexAttribArray(h),t.bindBuffer(t.ARRAY_BUFFER,s),t.vertexAttribPointer(h,4,t.UNSIGNED_BYTE,!0,0,0);const c=t.getUniformLocation(g,"u_resolution");t.uniform2f(c,t.canvas.width/devicePixelRatio,t.canvas.height/devicePixelRatio),t.drawArrays(t.TRIANGLES,0,3*A.length)}},circles:{value:function(A,n,t){const{_gl:I,_circle:g}=this,{count:e=100,...i}=n,_=function(A,n){const{position:t,strokeOpacity:I}=n,g=t?"_position + a_vertex * _r":"vec2(_x, _y) + a_vertex * _r",e=I?"_strokeOpacity":"1.0";return`\n ${on(A,n)}\n attribute vec2 a_vertex;\n attribute float a_datum;\n uniform vec2 u_resolution;\n varying vec4 v_stroke;\n void main() {\n ${Bn(A,n)}\n // Use computed attributes\n vec2 xy = ${g};\n vec2 scale = xy / u_resolution;\n vec2 clipSpace = scale * 2.0 - 1.0;\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n v_stroke = vec4(_stroke.r, _stroke.g, _stroke.b, ${e});\n }\n `}(Qn,i),E=An(I,g,_,"\n precision mediump float;\n varying vec4 v_stroke;\n void main() {\n gl_FragColor = v_stroke;\n }\n ");I.useProgram(E),I.enable(I.BLEND),I.blendFuncSeparate(I.SRC_ALPHA,I.ONE,I.ONE,I.ONE),I.blendEquationSeparate(I.FUNC_ADD,I.FUNC_ADD);const C=I.getExtension("ANGLE_instanced_arrays");_n(n,Qn)&&In(I,E,C,{name:"a_datum",data:new Float32Array(t),divisor:1}),In(I,E,C,{name:"a_vertex",size:2,divisor:0,data:new Float32Array(rn(e,0,2*Math.PI).flatMap((A=>[Math.cos(A),Math.sin(A)])))}),gn(I,E,{name:"u_resolution",data:[I.canvas.width/devicePixelRatio,I.canvas.height/devicePixelRatio]}),en(I,E,C,Qn,i),C.drawArraysInstancedANGLE(I.LINE_LOOP,0,e,A.length)}},rects:{value:function(A,n,t){const{_gl:I,_circle:g}=this,{x:e,y:i,width:_,height:E,fill:C}=n,o={x:e,y:i,width:_,height:E,fill:C},B={...!Array.isArray(C)&&{fill:C}},r=function(A,n){const{fill:t}=n,[I,g]=Array.isArray(t)?["varying vec4 v_fill;"," v_fill = _fill;"]:["",""];return`\n ${on(A,n)}\n attribute vec2 a_vertex;\n attribute float a_datum;\n uniform vec2 u_resolution;\n ${I}\n void main() {\n ${Bn(A,n)}\n // Use computed attributes\n vec2 xy = vec2(_x, _y) + a_vertex * vec2(_width, _height);\n vec2 scale = xy / u_resolution;\n vec2 clipSpace = scale * 2.0 - 1.0;\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n ${g}\n }\n `}(an,o),Q=function(A,n){const t={...A,fill:{...A.fill,onlyUniform:!1}},{fill:I}=n;return`\n precision mediump float;\n ${I?En(t,["fill",I]):"varying vec4 v_fill;"}\n void main() {\n gl_FragColor = ${I?"fill(gl_FragCoord.xy, gl_FragColor)":"v_fill"};\n }\n `}(an,B),a=An(I,g,r,Q);I.useProgram(a),I.enable(I.BLEND),I.blendFuncSeparate(I.SRC_ALPHA,I.ONE,I.ONE,I.ONE),I.blendEquationSeparate(I.FUNC_ADD,I.FUNC_ADD);const s=I.getExtension("ANGLE_instanced_arrays");_n(n,an)&&In(I,a,s,{name:"a_datum",data:new Float32Array(t),divisor:1}),In(I,a,s,{name:"a_vertex",size:2,divisor:0,data:new Float32Array([0,0,1,0,0,1,1,1])}),gn(I,a,{name:"u_resolution",data:[I.canvas.width/devicePixelRatio,I.canvas.height/devicePixelRatio]}),en(I,a,s,an,o),s.drawArraysInstancedANGLE(I.TRIANGLE_STRIP,0,4,A.length)}},clear:{value:function({fill:A}){const n=this._gl,[t,I,g,e]=TA(A),i=qA([0,255],[0,1]);n.clearColor(i(t),i(I),i(g),i(e)),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT)}}});const ln="undefined"==typeof navigator?"node":navigator.userAgent,hn=ln.includes("Firefox"),cn=ln.includes("Edge"),un=4294967295,fn=hn||cn?"bottom":"ideographic";let Dn;const Ln="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&Ln.decode();let Tn=null;function Rn(A,n){return A>>>=0,Ln.decode((null!==Tn&&0!==Tn.byteLength||(Tn=new Uint8Array(Dn.memory.buffer)),Tn).subarray(A,A+n))}class wn{static __wrap(A){A>>>=0;const n=Object.create(wn.prototype);return n.__wbg_ptr=A,n}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Dn.__wbg_backend_free(A)}point(A,n){Dn.backend_point(this.__wbg_ptr,A,n)}line(A,n,t,I){Dn.backend_line(this.__wbg_ptr,A,n,t,I)}rect(A,n,t,I){Dn.backend_rect(this.__wbg_ptr,A,n,t,I)}translate(A,n){Dn.backend_translate(this.__wbg_ptr,A,n)}scale(A,n){Dn.backend_scale(this.__wbg_ptr,A,n)}rotate(A){Dn.backend_rotate(this.__wbg_ptr,A)}pushMatrix(){Dn.backend_pushMatrix(this.__wbg_ptr)}popMatrix(){Dn.backend_popMatrix(this.__wbg_ptr)}transform(A,n){return Dn.backend_transform(this.__wbg_ptr,A,n)}stroke(A,n,t,I){Dn.backend_stroke(this.__wbg_ptr,A,n,t,I)}fill(A,n,t,I){Dn.backend_fill(this.__wbg_ptr,A,n,t,I)}background(A,n,t,I){Dn.backend_background(this.__wbg_ptr,A,n,t,I)}noStroke(){Dn.backend_noStroke(this.__wbg_ptr)}noFill(){Dn.backend_noFill(this.__wbg_ptr)}static new(A,n){const t=Dn.backend_new(A,n);return wn.__wrap(t)}render(){return Dn.backend_render(this.__wbg_ptr)}}async function yn(A){if(void 0!==Dn)return Dn;void 0===A&&(A=new URL("index_bg.wasm","undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:n&&n.src||new URL("cm.umd.min.js",document.baseURI).href));const t=function(){const A={wbg:{}};return A.wbg.__wbindgen_throw=function(A,n){throw new Error(Rn(A,n))},A}();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:g}=await async function(A,n){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,n)}catch(n){if("application/wasm"==A.headers.get("Content-Type"))throw n;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",n)}const t=await A.arrayBuffer();return await WebAssembly.instantiate(t,n)}{const t=await WebAssembly.instantiate(A,n);return t instanceof WebAssembly.Instance?{instance:t,module:A}:t}}(await A,t);return function(A,n){return Dn=A.exports,yn.__wbindgen_wasm_module=n,Tn=null,Dn}(I,g)}function Nn(A){return function(A,n,t,I){var g=null;if("undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node)g=Buffer.from(t,"base64");else{var e=globalThis.atob(t),i=e.length;g=new Uint8Array(new ArrayBuffer(i));for(var _=0;_<i;_++)g[_]=e.charCodeAt(_)}if(A){var E=new WebAssembly.Module(g);return I?new WebAssembly.Instance(E,I):E}return function(A,n,t){var I=t?WebAssembly.instantiateStreaming:WebAssembly.instantiate,g=t?WebAssembly.compileStreaming:WebAssembly.compile;return n?I(A,n):g(A)}(g,I,!1)}(0,0,"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oTkDECAgRAAAAAAAAODBZiEEIABB/////wcCfyAgmUQAAAAAAADgQWMEQCAgqgwBC0GAgICAeAtBgICAgHggBBsgIEQAAMD////fQWQbQQAgICAgYRs2AggMBQsgI0IAWQRAIABBBDYCCCAAIAFEAABAVPshGcCgIgFEMWNiGmG08L2gIh85AwAgACABIB+hRDFjYhphtPC9oDkDEAwFCyAAQXw2AgggACABRAAAQFT7IRlAoCIBRDFjYhphtPA9oCIfOQMAIAAgASAfoUQxY2IaYbTwPaA5AxAMBAsCQCAEQRR2IgQgASABRIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIiBEAABAVPsh+b+ioCIfICBEMWNiGmG00D2iIiKhIgG9QjSIp0H/D3FrQRFIDQAgBCAfICBEAABgGmG00D2iIgGhIiEgIERzcAMuihmjO6IgHyAhoSABoaEiIqEiAb1CNIinQf8PcWtBMkgEQCAhIR8MAQsgISAgRAAAAC6KGaM7oiIBoSIfICBEwUkgJZqDezmiICEgH6EgAaGhIiKhIQELIAAgATkDACAAIB8gAaEgIqE5AxAgIEQAAAAAAADgwWYhBCAAQf////8HAn8gIJlEAAAAAAAA4EFjBEAgIKoMAQtBgICAgHgLQYCAgIB4IAQbICBEAADA////30FkG0EAICAgIGEbNgIIDAMLQYCAgIB4C0GAgICAeCACGyABRAAAwP///99BZBtBACABIAFhG7ciHzkDACABIB+hRAAAAAAAAHBBoiIBRAAAAAAAAODBZiECIApB/////wcCfyABmUQAAAAAAADgQWMEQCABqgwBC0GAgICAeAtBgICAgHggAhsgAUQAAMD////fQWQbQQAgASABYRsiArciHzkDCCAKIAEgH6FEAAAAAAAAcEGiIgE5AxAgCkIANwMoIApCADcDICAKQgA3AxggCkEYaiESIwBBsARrIgMkACADQgA3A5gBIANCADcDkAEgA0IANwOIASADQgA3A4ABIANCADcDeCADQgA3A3AgA0IANwNoIANCADcDYCADQgA3A1ggA0IANwNQIANCADcDSCADQgA3A0AgA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACADQgA3A7gCIANCADcD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IAEgAhAxDAILAkBBsJLAACgCACACRwRAIAJBrJLAACgCAEcNAUGsksAAIAA2AgBBpJLAAEGkksAAKAIAIAFqIgE2AgAgACABEDYPC0GwksAAIAA2AgBBqJLAAEGoksAAKAIAIAFqIgE2AgAgACABQQFyNgIEIABBrJLAACgCAEcNAUGkksAAQQA2AgBBrJLAAEEANgIADwsgAhBIIgMgAWohAQJAIANBgAJPBEAgAhAMDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0GcksAAQZySwAAoAgBBfiADQQN2d3E2AgALIAAgARA2IABBrJLAACgCAEcNAUGkksAAIAE2AgALDwsgAUGAAk8EQCAAIAEQDQ8LIAFBeHFBlJDAAGohAgJ/QZySwAAoAgAiA0EBIAFBA3Z0IgFxBEAgAigCCAwBC0GcksAAIAEgA3I2AgAgAgshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggLrAQBBn8jAEFAaiIDJAACQAJAAkACQCAAIAFsIgdBAnQiBEUEQEEEIQUMAQsgBEH/////AUsNASAEQQJ0IgZBAEgNASAEQYCAgIACSUECdCECIAYEfyAGIAIQOgUgAgsiBUUNAiAFQf8BIAdBBHRBBGsiAhBNIAJqQX82AgALIANBOGpCfzcCACADQTBqQn83AgAgA0EoakJ/NwIAIANBIGpCfzcCACADQRhqQn83AgAgA0J/NwIQQcgBQQgQOiICRQ0CIAJBADYCACACIAMpAgw3AgQgAkIANwNAIAJCgICAgICAgPg/NwM4IAJByABqQgA3AwAgAkHQAGpCADcDACACQQxqIANBFGopAgA3AgAgAkEUaiADQRxqKQIANwIAIAJBHGogA0EkaikCADcCACACQSRqIANBLGopAgA3AgAgAkEsaiADQTRqKQIANwIAIAJBNGogA0E8aigCADYCACACQgA3A2AgAkKAgICAgICA+D83A1ggAkHoAGpCADcDACACQfAAakIANwMAIAJCgICAgICAgPg/NwN4IAJCADcDgAEgAkGIAWpCADcDACACQZABakIANwMAIAIgADYCmAEgAiABNgKcASACIAQ2AqABIAIgBTYCpAEgAiAENgKoASACQQE7AcQBIAJCgICAgIABNwKsASACQgA3ArQBIAJC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AARAIAAoAgANASAAQX82AgAgBUEIaiAAQThqQcgAEE4aIABBwAFqKAIAIgEgAEG4AWoiAygCAEYEQCMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgAygCACIEQQF0IgYgASABIAZJGyIBIAFBBE0bIgFByABsIQYgAUHyuJwOSUEDdCEHAkAgBARAIAJBCDYCGCACIARByABsNgIUIAIgA0EEaigCADYCEAwBCyACQQA2AhgLIAIgBiAHIAJBEGoQGCACKAIEIQQgAigCAEUEQCADIAE2AgAgAyAENgIEDAILIAJBCGooAgAiA0GBgICAeEYNASADRQ0AIAQgAxBMAAsQJwALIAJBIGokACAAKALAASEBCyAAQbwBaigCACABQcgAbGogBUEIakHIABBOGiAAIAAoAsABQQFqNgLAASAAQQA2AgAgBUHQAGokAA8LEEUACxBGAAuRAQEBfwJAIAAEQCAAKAIADQEgAEEANgIAIABB8ABqIgMgAysDACACojkDACAAQegAaiIDIAMrAwAgAaI5AwAgAEHYAGoiAyADKwMAIAKiOQMAIABB0ABqIgMgAysDACABojkDACAAQUBrIgMgAysDACACojkDACAAQThqIgAgACsDACABojkDAA8LEEUACxBGAAt2AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EUakECNgIAIANBHGpBAjYCACADQSxqQQE2AgAgA0GgicAANgIQIANBADYCCCADQQE2AiQgAyADQSBqNgIYIAMgAzYCKCADIANBBGo2AiAgA0EIaiACECwAC3EAIwBBMGsiASQAQciOwAAtAAAEQCABQRRqQQI2AgAgAUEcakEBNgIAIAFByIbAADYCECABQQA2AgggAUEBNgIkIAEgADYCLCABIAFBIGo2AhggASABQSxqNgIgIAFBCGpB8IbAABAsAAsgAUEwaiQAC3QBA38jAEEQayICJAAgASgCBEUEQCABKAIMIQMgAkEIaiIEQQA2AgAgAkKAgICAEDcDACACIAI2AgwgAkEMaiADEAUaIAFBCGogBCgCADYCACABIAIpAwA3AgALIABBvIfAADYCBCAAIAE2AgAgAkEQaiQAC1gBAX8jAEEgayICJAAgACgCACEAIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIA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GGohDyACIAtHDQALCyAFIAEpAwA3AgAgBUEIaiABQQhqKAIANgIADAELIAVBADYCCCAFQoCAgIDAADcCAAsgAUEQaiQADAILQQhBBBBMAAsgAiAEQaSDwAAQHQALICIgDUEIaikCADcDACAJIA0pAgA3AzAgCUEwaiEcIA0tAGUgDS0AZiEBIwBBIGsiECQAIAlBIGoiEkEANgIIIBJCgICAgMAANwIAAkAgAUUNACAQQQhqIBxBCGopAgA3AwAgECAcKQIANwMAIBIgH0EEaigCACAfQQhqKAIAIBBBARAEAn8gEigCCCIBRQRAQf////8HIQ9BgYCAgHgMAQsgEigCBCECIAFBGGxBGGsiAUEYbkEBaiIDQQNxIQsCQCABQcgASQRAQYCAgIB4IQFB/////wchDwwBCyADQfz///8BcSEFQYCAgIB4IQFB/////wchDwNAIAEgAkEUaigCACIDIAEgA0obIgEgAkEsaigCACIGIAEgBkobIgEgAkHEAGooAgAiBCABIARKGyIBIAJB3ABqKAIAIgcgASAHShshASAPIAMgAyAPShsiAyAGIAMgBkgbIgMgBCADIARIGyIDIAcgAyAHSBshDyACQeAAaiECIAVBBGsiBQ0ACwsgCwRAIAtBGGwhBiACQRRqIQIDQCABIAIoAgAiAyABIANKGyEBIA8gAyADIA9KGyEPIAJBGGohAiAGQRhrIgYNAAsLIAFBAWoLIQEgEEEANgIIIBBCgICAgMAANwMAIBBBEGohCwJ/AkACQAJAAkACQCABIA9rIgNFBEBBBCECDAELIANBqtWq1QBLDQIgA0EMbCIGQQBIDQIgA0Gr1arVAElBAnQhASAGBH8gBiABEDoFIAELIgJFDQELIAsgAjYCBCALIAM2AgAgECgCCCEBIBAoAgQhByAQKAIAIQ5BACADQQJJDQQaIAFBAnQhBiABRQRAIANBAWsiBUEBcSADQQJHBEAgBUF+cSEFA0BBBCAHIAYQTiACQQA2AgggAkKAgICAwAA3AgAgByAGEE4aIAJBFGpBADYCACACQQxqQoCAgIDAADcCACACQRhqIQIgBUECayIFDQALC0UNBEEEIAcgBhBOGiACQQA2AgggAkKAgICAwAA3AgAgAkEMaiECDAQLIAZBAEggAUH/////AUtyDQEgAUGAgICAAklBAnQhBCAG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IAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLFAAgACgCAARAIABBBGooAgAQAwsLGQEBfyAAKAIQIgEEfyABBSAAQRRqKAIACwsSAEEZIABBAXZrQQAgAEEfRxsLFgAgACABQQFyNgIEIAAgAWogATYCAAshACAAvUKAgICAgICAgIB/g0L/////////7z+EvyAAoJ0LEAAgACABakEBa0EAIAFrcQsPACAAQQF0IgBBACAAa3ILCAAgACABEAgLEwAgAEHMh8AANgIEIAAgATYCAAsNACAALQAEQQJxQQF2CwoAQQAgAGsgAHELCwAgAC0ABEEDcUULDAAgACABQQNyNgIECw0AIAAoAgAgACgCBGoLDgAgACgCABoDQAwACwALdgEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBFGpBAjYCACADQRxqQQI2AgAgA0EsakEBNgIAIANBrIvAADYCECADQQA2AgggA0EBNgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhAsAAt2AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EUakECNgIAIANBHGpBAjYCACADQSxqQQE2AgAgA0Hgi8AANgIQIANBADYCCCADQQE2AiQgAyADQSBqNgIYIAMgA0EEajYCKCADIAM2AiAgA0EIaiACECwAC9gGAgt/An4gADUCACENIwBBMGsiBCQAQSchAAJAIA1CkM4AVARAIA0hDgwBCwNAIARBCWogAGoiAkEEayANIA1CkM4AgCIOQpDOAH59pyIDQf//A3FB5ABuIgVBAXRBsInAAGovAAA7AAAgAkECayADIAVB5ABsa0H//wNxQQF0QbCJwABqLwAAOwAAIABBBGshACANQv/B1y9WIA4hDQ0ACwsgDqciAkHjAEsEQCAAQQJrIgAgBEEJamogDqciAiACQf//A3FB5ABuIgJB5ABsa0H//wNxQQF0QbCJwABqLwAAOwAACwJAIAJBCk8EQCAAQQJrIgAgBEEJamogAkEBdEGwicAAai8AADsAAAwBCyAAQQFrIgAgBEEJamogAkEwajoAAAsCfyAEQQlqIABqIQhBK0GAgMQAIAEoAhgiA0EBcSICGyEFIAJBJyAA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",A)}function kn(A,n,t){return void 0===A?n/t|0:A}function dn(A){if(A===un)return;return`rgb(${(16711680&A)>>16}, ${(65280&A)>>8}, ${255&A})`}function pn(A){if(A===un)return["",0];const n=268435455&A,t=0===A>>31?1:2;return[String.fromCodePoint(n),t]}function Sn(A){if(A===un||null===A)return un;const[n,t,I]=TA(A);return I+(t<<8)+(n<<16)}function Mn(A){const{ch:n=" ",fg:t="#fff",bg:I=null}=A,[g,e=un]=function(A){return Array.isArray(A)?A:Array.from(A).slice(0,2).map((A=>A.codePointAt(0)))}(n);return[g,e,Sn(t),Sn(I)]}function Gn(A){if(A.__esModule)return A;var n=A.default;if("function"==typeof n){var t=function A(){return this instanceof A?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};t.prototype=n.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(A).forEach((function(n){var I=Object.getOwnPropertyDescriptor(A,n);Object.defineProperty(t,n,I.get?I:{enumerable:!0,get:function(){return A[n]}})})),t}var xn={exports:{}};!function(A){const n=(()=>{const A=0,n=1,t=2,I={},g={font:"Standard",fontPath:"./fonts"};function e(A,n,t){return A===n&&A!==t&&A}function i(A,n){let t="|/\\[]{}()<>";if("_"===A){if(-1!==t.indexOf(n))return n}else if("_"===n&&-1!==t.indexOf(A))return A;return!1}function _(A,n){let t="| /\\ [] {} () <>",I=t.indexOf(A),g=t.indexOf(n);if(-1!==I&&-1!==g&&I!==g&&1!==Math.abs(I-g)){const A=Math.max(I,g);return t.substring(A,A+1)}return!1}function E(A,n){let t="[] {} ()",I=t.indexOf(A),g=t.indexOf(n);return-1!==I&&-1!==g&&Math.abs(I-g)<=1&&"|"}function C(A,n){let t="/\\ \\/ ><",I={0:"|",3:"Y",6:"X"},g=t.indexOf(A),e=t.indexOf(n);return-1!==g&&-1!==e&&e-g==1&&I[g]}function o(A,n,t){return A===t&&n===t&&t}function B(A,n){return A===n&&A}function r(A,n){let t="|/\\[]{}()<>";if("_"===A){if(-1!==t.indexOf(n))return n}else if("_"===n&&-1!==t.indexOf(A))return A;return!1}function Q(A,n){let t="| /\\ [] {} () <>",I=t.indexOf(A),g=t.indexOf(n);if(-1!==I&&-1!==g&&I!==g&&1!==Math.abs(I-g)){const A=Math.max(I,g);return t.substring(A,A+1)}return!1}function a(A,n){return("-"===A&&"_"===n||"_"===A&&"-"===n)&&"="}function s(A,n){return"|"===A&&"|"===n&&"|"}function l(A,n,t){return" "===n||""===n||n===t&&" "!==A?A:n}function h(I,g,e){if(e.fittingRules.vLayout===A)return"invalid";let i,_,E,C,o=Math.min(I.length,g.length),l=!1;if(0===o)return"invalid";for(i=0;i<o;i++)if(_=I.substring(i,i+1),E=g.substring(i,i+1)," "!==_&&" "!==E){if(e.fittingRules.vLayout===n)return"invalid";if(e.fittingRules.vLayout===t)return"end";if(s(_,E)){l=l||!1;continue}if(C=!1,C=e.fittingRules.vRule1?B(_,E):C,C=!C&&e.fittingRules.vRule2?r(_,E):C,C=!C&&e.fittingRules.vRule3?Q(_,E):C,C=!C&&e.fittingRules.vRule4?a(_,E):C,l=!0,!C)return"invalid"}return l?"end":"valid"}function c(A,I,g){let e,i,_,E,C=Math.min(A.length,I.length),o="";for(e=0;e<C;e++)i=A.substring(e,e+1),_=I.substring(e,e+1)," "!==i&&" "!==_?g.fittingRules.vLayout===n||g.fittingRules.vLayout===t?o+=l(i,_):(E=!1,E=g.fittingRules.vRule5?s(i,_):E,E=!E&&g.fittingRules.vRule1?B(i,_):E,E=!E&&g.fittingRules.vRule2?r(i,_):E,E=!E&&g.fittingRules.vRule3?Q(i,_):E,E=!E&&g.fittingRules.vRule4?a(i,_):E,o+=E):o+=l(i,_);return o}function u(A,n){let t,I=A.length,g="";for(t=0;t<n;t++)g+=" ";for(t=0;t<I;t++)A[t]+=g}function f(A,n,t){let I,g=A[0].length,e=n[0].length;return g>e?u(n,g-e):e>g&&u(A,e-g),I=function(A,n,t){let I,g,e,i=A.length,_=A.length;n.length;let E,C,o,B=1;for(;B<=i;){for(I=A.slice(Math.max(0,_-B),_),g=n.slice(0,Math.min(i,B)),e=g.length,o="",E=0;E<e;E++)if(C=h(I[E],g[E],t),"end"===C)o=C;else{if("invalid"===C){o=C;break}""===o&&(o="valid")}if("invalid"===o){B--;break}if("end"===o)break;"valid"===o&&B++}return Math.min(i,B)}(A,n,t),function(A,n,t,I){let g,e,i,_,E=A.length,C=n.length,o=A.slice(0,Math.max(0,E-t)),B=A.slice(Math.max(0,E-t),E),r=n.slice(0,Math.min(t,C)),Q=[];for(e=B.length,g=0;g<e;g++)i=g>=C?B[g]:c(B[g],r[g],I),Q.push(i);return _=n.slice(Math.min(t,C),C),[].concat(o,Q,_)}(A,n,I,t)}function D(I,g,B){if(B.fittingRules.hLayout===A)return 0;let r,Q,a,s,l,h=I.length,c=g.length,u=h,f=1,D=!1,L=!1;if(0===h)return 0;A:for(;f<=u;){const A=h-f;for(Q=I.substring(A,A+f),a=g.substring(0,Math.min(f,c)),r=0;r<Math.min(f,c);r++)if(s=Q.substring(r,r+1),l=a.substring(r,r+1)," "!==s&&" "!==l){if(B.fittingRules.hLayout===n){f-=1;break A}if(B.fittingRules.hLayout===t){s!==B.hardBlank&&l!==B.hardBlank||(f-=1);break A}if(D=!0,L=!1,L=B.fittingRules.hRule1?e(s,l,B.hardBlank):L,L=!L&&B.fittingRules.hRule2?i(s,l,B.hardBlank):L,L=!L&&B.fittingRules.hRule3?_(s,l,B.hardBlank):L,L=!L&&B.fittingRules.hRule4?E(s,l,B.hardBlank):L,L=!L&&B.fittingRules.hRule5?C(s,l,B.hardBlank):L,L=!L&&B.fittingRules.hRule6?o(s,l,B.hardBlank):L,!L){f-=1;break A}}if(D)break;f++}return Math.min(u,f)}function L(A,I,g,B){let r,Q,a,s,h,c,u,f,D,L,T=[];for(r=0;r<B.height;r++){D=A[r],L=I[r],u=D.length,f=L.length,a=u-g,s=D.substr(0,Math.max(0,a)),h="";const d=Math.max(0,u-g);var R=D.substring(d,d+g),w=L.substring(0,Math.min(g,f));for(Q=0;Q<g;Q++){var y=Q<u?R.substring(Q,Q+1):" ",N=Q<f?w.substring(Q,Q+1):" ";if(" "!==y&&" "!==N)if(B.fittingRules.hLayout===n)h+=l(y,N,B.hardBlank);else if(B.fittingRules.hLayout===t)h+=l(y,N,B.hardBlank);else{var k="";h+=k=(k=!(k=!(k=!(k=!(k=!(k=!k&&B.fittingRules.hRule1?e(y,N,B.hardBlank):k)&&B.fittingRules.hRule2?i(y,N,B.hardBlank):k)&&B.fittingRules.hRule3?_(y,N,B.hardBlank):k)&&B.fittingRules.hRule4?E(y,N,B.hardBlank):k)&&B.fittingRules.hRule5?C(y,N,B.hardBlank):k)&&B.fittingRules.hRule6?o(y,N,B.hardBlank):k)||l(y,N,B.hardBlank)}else h+=l(y,N,B.hardBlank)}c=g>=f?"":L.substring(g,g+Math.max(0,f-g)),T[r]=s+h+c}return T}function T(A){let n,t=[];for(n=0;n<A;n++)t[n]="";return t}const R=function(A){return Math.max.apply(Math,A.map((function(A,n){return A.length})))};function w(A,n,t){return A.reduce((function(A,n){return L(A,n.fig,n.overlap,t)}),T(n))}function y(A,n,t){const I={};for(let g=A.length;--g;){let e=w(A.slice(0,g),n,t);if(R(e)<=t.width){I.outputFigText=e,g<A.length?I.chars=A.slice(g):I.chars=[];break}}return I}function N(n,t,I){let g,e,i,_,E,C,o,B,r,Q,a,s,l=0,h=I.height,c=[],u=[];for(_=T(h),I.width>0&&I.whitespaceBreak&&(o={chars:[],overlap:l}),1===I.printDirection&&(n=n.split("").reverse().join("")),E=n.length,g=0;g<E;g++)if(B=n.substring(g,g+1),r=B.match(/\s/),e=t[B.charCodeAt(0)],a=null,e){if(I.fittingRules.hLayout!==A){for(l=1e4,i=0;i<I.height;i++)l=Math.min(l,D(_[i],e[i],I));l=1e4===l?0:l}if(I.width>0&&(I.whitespaceBreak?(Q=w(o.chars.concat([{fig:e,overlap:l}]),h,I),a=w(u.concat([{fig:Q,overlap:o.overlap}]),h,I),C=R(a)):(a=L(_,e,l,I),C=R(a)),C>=I.width&&g>0&&(I.whitespaceBreak?(_=w(u.slice(0,-1),h,I),u.length>1&&(c.push(_),_=T(h)),u=[]):(c.push(_),_=T(h)))),I.width>0&&I.whitespaceBreak&&(r&&g!==E-1||o.chars.push({fig:e,overlap:l}),r||g===E-1)){for(s=null;a=w(o.chars,h,I),C=R(a),C>=I.width;)s=y(o.chars,h,I),o={chars:s.chars},c.push(s.outputFigText);C>0&&(s?u.push({fig:a,overlap:1}):u.push({fig:a,overlap:o.overlap})),r&&(u.push({fig:e,overlap:l}),_=T(h)),g===E-1&&(_=w(u,h,I)),o={chars:[],overlap:l};continue}_=L(_,e,l,I)}return R(_)>0&&c.push(_),!0!==I.showHardBlanks&&c.forEach((function(A){for(E=A.length,i=0;i<E;i++)A[i]=A[i].replace(new RegExp("\\"+I.hardBlank,"g")," ")})),c}const k=function(A,n,t){let g,e,i,_=(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n")).split("\n"),E=[];for(e=_.length,g=0;g<e;g++)E=E.concat(N(_[g],I[A],n));for(e=E.length,i=E[0],g=1;g<e;g++)i=f(i,E[g],n);return i?i.join("\n"):""};function d(I,g){let e,i,_=JSON.parse(JSON.stringify(I));if(void 0!==g.horizontalLayout)for(i in e=function(I,g){let e,i=["hLayout","hRule1","hRule2","hRule3","hRule4","hRule5","hRule6"],_={};if("default"===I)for(e=0;e<i.length;e++)_[i[e]]=g.fittingRules[i[e]];else if("full"===I)_={hLayout:A,hRule1:!1,hRule2:!1,hRule3:!1,hRule4:!1,hRule5:!1,hRule6:!1};else if("fitted"===I)_={hLayout:n,hRule1:!1,hRule2:!1,hRule3:!1,hRule4:!1,hRule5:!1,hRule6:!1};else if("controlled smushing"===I)_={hLayout:3,hRule1:!0,hRule2:!0,hRule3:!0,hRule4:!0,hRule5:!0,hRule6:!0};else{if("universal smushing"!==I)return;_={hLayout:t,hRule1:!1,hRule2:!1,hRule3:!1,hRule4:!1,hRule5:!1,hRule6:!1}}return _}(g.horizontalLayout,I),e)e.hasOwnProperty(i)&&(_.fittingRules[i]=e[i]);if(void 0!==g.verticalLayout)for(i in e=function(I,g){let e,i=["vLayout","vRule1","vRule2","vRule3","vRule4","vRule5"],_={};if("default"===I)for(e=0;e<i.length;e++)_[i[e]]=g.fittingRules[i[e]];else if("full"===I)_={vLayout:A,vRule1:!1,vRule2:!1,vRule3:!1,vRule4:!1,vRule5:!1};else if("fitted"===I)_={vLayout:n,vRule1:!1,vRule2:!1,vRule3:!1,vRule4:!1,vRule5:!1};else if("controlled smushing"===I)_={vLayout:3,vRule1:!0,vRule2:!0,vRule3:!0,vRule4:!0,vRule5:!0};else{if("universal smushing"!==I)return;_={vLayout:t,vRule1:!1,vRule2:!1,vRule3:!1,vRule4:!1,vRule5:!1}}return _}(g.verticalLayout,I),e)e.hasOwnProperty(i)&&(_.fittingRules[i]=e[i]);return _.printDirection=void 0!==g.printDirection?g.printDirection:I.printDirection,_.showHardBlanks=g.showHardBlanks||!1,_.width=g.width||-1,_.whitespaceBreak=g.whitespaceBreak||!1,_}const p=function(A,n,t){return p.text(A,n,t)};return p.text=async function(A,n,t){let I="";return A+="","function"==typeof arguments[1]&&(t=n,(n={}).font=g.font),"string"==typeof n?(I=n,n={}):I=(n=n||{}).font||g.font,await new Promise(((g,e)=>{p.loadFont(I,(function(i,_){if(i)return e(i),void(t&&t(i));const E=k(I,d(_,n),A);g(E),t&&t(null,E)}))}))},p.textSync=function(A,n){let t="";A+="","string"==typeof n?(t=n,n={}):t=(n=n||{}).font||g.font;var I=d(p.loadFontSync(t),n);return k(t,I,A)},p.metadata=function(A,n){A+="",p.loadFont(A,(function(t,g){t?n(t):n(null,g,I[A].comment)}))},p.defaults=function(A){if("object"==typeof A&&null!==A)for(var n in A)A.hasOwnProperty(n)&&(g[n]=A[n]);return JSON.parse(JSON.stringify(g))},p.parseFont=function(g,e){e=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),I[g]={};var i=e.split("\n"),_=i.splice(0,1)[0].split(" "),E=I[g],C={};if(C.hardBlank=_[0].substr(5,1),C.height=parseInt(_[1],10),C.baseline=parseInt(_[2],10),C.maxLength=parseInt(_[3],10),C.oldLayout=parseInt(_[4],10),C.numCommentLines=parseInt(_[5],10),C.printDirection=_.length>=6?parseInt(_[6],10):0,C.fullLayout=_.length>=7?parseInt(_[7],10):null,C.codeTagCount=_.length>=8?parseInt(_[8],10):null,C.fittingRules=function(I,g){let e,i,_,E,C={},o=[[16384,"vLayout",t],[8192,"vLayout",n],[4096,"vRule5",!0],[2048,"vRule4",!0],[1024,"vRule3",!0],[512,"vRule2",!0],[256,"vRule1",!0],[128,"hLayout",t],[64,"hLayout",n],[32,"hRule6",!0],[16,"hRule5",!0],[8,"hRule4",!0],[4,"hRule3",!0],[2,"hRule2",!0],[1,"hRule1",!0]];for(e=null!==g?g:I,i=0,_=o.length;i<_;)E=o[i],e>=E[0]?(e-=E[0],C[E[1]]=void 0===C[E[1]]?E[2]:C[E[1]]):"vLayout"!==E[1]&&"hLayout"!==E[1]&&(C[E[1]]=!1),i++;return void 0===C.hLayout?0===I?C.hLayout=n:-1===I?C.hLayout=A:C.hRule1||C.hRule2||C.hRule3||C.hRule4||C.hRule5||C.hRule6?C.hLayout=3:C.hLayout=t:C.hLayout===t&&(C.hRule1||C.hRule2||C.hRule3||C.hRule4||C.hRule5||C.hRule6)&&(C.hLayout=3),void 0===C.vLayout?C.vRule1||C.vRule2||C.vRule3||C.vRule4||C.vRule5?C.vLayout=3:C.vLayout=A:C.vLayout===t&&(C.vRule1||C.vRule2||C.vRule3||C.vRule4||C.vRule5)&&(C.vLayout=3),C}(C.oldLayout,C.fullLayout),E.options=C,1!==C.hardBlank.length||isNaN(C.height)||isNaN(C.baseline)||isNaN(C.maxLength)||isNaN(C.oldLayout)||isNaN(C.numCommentLines))throw new Error("FIGlet header contains invalid values.");let o,B=[];for(o=32;o<=126;o++)B.push(o);if(B=B.concat(196,214,220,228,246,252,223),i.length<C.numCommentLines+C.height*B.length)throw new Error("FIGlet file is missing data.");let r,Q,a=!1;for(E.comment=i.splice(0,C.numCommentLines).join("\n"),E.numChars=0;i.length>0&&E.numChars<B.length;){for(r=B[E.numChars],E[r]=i.splice(0,C.height),o=0;o<C.height;o++)void 0===E[r][o]?E[r][o]="":(Q=new RegExp("\\"+E[r][o].substr(E[r][o].length-1,1)+"+$"),E[r][o]=E[r][o].replace(Q,""));E.numChars++}for(;i.length>0;){if(r=i.splice(0,1)[0].split(" ")[0],/^0[xX][0-9a-fA-F]+$/.test(r))r=parseInt(r,16);else if(/^0[0-7]+$/.test(r))r=parseInt(r,8);else if(/^[0-9]+$/.test(r))r=parseInt(r,10);else{if(!/^-0[xX][0-9a-fA-F]+$/.test(r)){if(""===r)break;console.log("Invalid data:"+r),a=!0;break}r=parseInt(r,16)}for(E[r]=i.splice(0,C.height),o=0;o<C.height;o++)void 0===E[r][o]?E[r][o]="":(Q=new RegExp("\\"+E[r][o].substr(E[r][o].length-1,1)+"+$"),E[r][o]=E[r][o].replace(Q,""));E.numChars++}if(!0===a)throw new Error("Error parsing data.");return C},p.loadFont=function(A,n){if(I[A])n(null,I[A].options);else{if("function"!=typeof fetch)throw console.error("figlet.js requires the fetch API or a fetch polyfill such as https://cdnjs.com/libraries/fetch"),new Error("fetch is required for figlet.js to work.");fetch(g.fontPath+"/"+A+".flf").then((function(A){if(A.ok)return A.text();throw console.log("Unexpected response",A),new Error("Network response was not ok.")})).then((function(t){n(null,p.parseFont(A,t))})).catch(n)}},p.loadFontSync=function(A){if(I[A])return I[A].options;throw new Error("synchronous font loading is not implemented for the browser")},p.preloadFonts=function(A,n){let t=[];A.reduce((function(A,n){return A.then((function(){return fetch(g.fontPath+"/"+n+".flf").then((A=>A.text())).then((function(A){t.push(A)}))}))}),Promise.resolve()).then((function(I){for(var g in A)A.hasOwnProperty(g)&&p.parseFont(A[g],t[g]);n&&n()}))},p.figFonts=I,p})();A.exports=n}(xn);var Fn=xn.exports,mn=Gn(Object.freeze({__proto__:null,default:{}}));function Un(A,n){for(var t=0,I=A.length-1;I>=0;I--){var g=A[I];"."===g?A.splice(I,1):".."===g?(A.splice(I,1),t++):t&&(A.splice(I,1),t--)}if(n)for(;t--;t)A.unshift("..");return A}var Hn=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,vn=function(A){return Hn.exec(A).slice(1)};function bn(){for(var A="",n=!1,t=arguments.length-1;t>=-1&&!n;t--){var I=t>=0?arguments[t]:"/";if("string"!=typeof I)throw new TypeError("Arguments to path.resolve must be strings");I&&(A=I+"/"+A,n="/"===I.charAt(0))}return(n?"/":"")+(A=Un(Vn(A.split("/"),(function(A){return!!A})),!n).join("/"))||"."}function On(A){var n=Jn(A),t="/"===jn(A,-1);return(A=Un(Vn(A.split("/"),(function(A){return!!A})),!n).join("/"))||n||(A="."),A&&t&&(A+="/"),(n?"/":"")+A}function Jn(A){return"/"===A.charAt(0)}function Yn(){return On(Vn(Array.prototype.slice.call(arguments,0),(function(A,n){if("string"!=typeof A)throw new TypeError("Arguments to path.join must be strings");return A})).join("/"))}function Kn(A,n){function t(A){for(var n=0;n<A.length&&""===A[n];n++);for(var t=A.length-1;t>=0&&""===A[t];t--);return n>t?[]:A.slice(n,t-n+1)}A=bn(A).substr(1),n=bn(n).substr(1);for(var I=t(A.split("/")),g=t(n.split("/")),e=Math.min(I.length,g.length),i=e,_=0;_<e;_++)if(I[_]!==g[_]){i=_;break}var E=[];for(_=i;_<I.length;_++)E.push("..");return(E=E.concat(g.slice(i))).join("/")}function Wn(A){var n=vn(A),t=n[0],I=n[1];return t||I?(I&&(I=I.substr(0,I.length-1)),t+I):"."}function qn(A,n){var t=vn(A)[2];return n&&t.substr(-1*n.length)===n&&(t=t.substr(0,t.length-n.length)),t}function Pn(A){return vn(A)[3]}var $n={extname:Pn,basename:qn,dirname:Wn,sep:"/",delimiter:":",relative:Kn,join:Yn,isAbsolute:Jn,normalize:On,resolve:bn};function Vn(A,n){if(A.filter)return A.filter(n);for(var t=[],I=0;I<A.length;I++)n(A[I],I,A)&&t.push(A[I]);return t}var jn="b"==="ab".substr(-1)?function(A,n,t){return A.substr(n,t)}:function(A,n,t){return n<0&&(n=A.length+n),A.substr(n,t)};const Zn=Fn,zn=mn,Xn=Gn(Object.freeze({__proto__:null,basename:qn,default:$n,delimiter:":",dirname:Wn,extname:Pn,isAbsolute:Jn,join:Yn,normalize:On,relative:Kn,resolve:bn,sep:"/"})),At=Xn.join("/Users/wanmu/Documents/projects/charming/node_modules/figlet/lib","/../fonts/");Zn.loadFont=function(A,n){Zn.figFonts[A]?n(null,Zn.figFonts[A].options):zn.readFile(Xn.join(At,A+".flf"),{encoding:"utf-8"},(function(t,I){if(t)return n(t);I+="";try{n(null,Zn.parseFont(A,I))}catch(A){n(A)}}))},Zn.loadFontSync=function(A){if(Zn.figFonts[A])return Zn.figFonts[A].options;var n=zn.readFileSync(Xn.join(At,A+".flf"),{encoding:"utf-8"});return n+="",Zn.parseFont(A,n)},Zn.fonts=function(A){var n=[];zn.readdir(At,(function(t,I){if(t)return A(t);I.forEach((function(A){/\.flf$/.test(A)&&n.push(A.replace(/\.flf$/,""))})),A(null,n)}))},Zn.fontsSync=function(){var A=[];return zn.readdirSync(At).forEach((function(n){/\.flf$/.test(n)&&A.push(n.replace(/\.flf$/,""))})),A};var nt=Zn;function tt(A,n){let t=!1;return function(){return t||(nt.parseFont(A,n),t=!0),A}}const It=tt("standard","flf2a$ 6 5 16 15 13 0 24463 229\nStandard by Glenn Chappell & Ian Chai 3/93 -- based on Frank's .sig\nIncludes ISO Latin-1\nfiglet release 2.1 -- 12 Aug 1994\nModified for figlet 2.2 by John Cowan <cowan@ccil.org>\n to add Latin-{2,3,4,5} support (Unicode U+0100-017F).\nPermission is hereby given to modify this font, as long as the\nmodifier's name is placed on a comment line.\n\nModified by Paul Burton <solution@earthlink.net> 12/96 to include new parameter\nsupported by FIGlet and FIGWin. May also be slightly modified for better use\nof new full-width/kern/smush alternatives, but default output is NOT changed.\n\nFont modified May 20, 2012 by patorjk to add the 0xCA0 character\n $@\n $@\n $@\n $@\n $@\n $@@\n _ @\n | |@\n | |@\n |_|@\n (_)@\n @@\n _ _ @\n ( | )@\n V V @\n $ @\n $ @\n @@\n _ _ @\n _| || |_ @\n |_ .. _|@\n |_ _|@\n |_||_| @\n @@\n _ @\n | | @\n / __)@\n \\__ \\@\n ( /@\n |_| @@\n _ __@\n (_)/ /@\n / / @\n / /_ @\n /_/(_)@\n @@\n ___ @\n ( _ ) @\n / _ \\/\\@\n | (_> <@\n \\___/\\/@\n @@\n _ @\n ( )@\n |/ @\n $ @\n $ @\n @@\n __@\n / /@\n | | @\n | | @\n | | @\n \\_\\@@\n __ @\n \\ \\ @\n | |@\n | |@\n | |@\n /_/ @@\n @\n __/\\__@\n \\ /@\n /_ _\\@\n \\/ @\n @@\n @\n _ @\n _| |_ @\n |_ _|@\n |_| @\n @@\n @\n @\n @\n _ @\n ( )@\n |/ @@\n @\n @\n _____ @\n |_____|@\n $ @\n @@\n @\n @\n @\n _ @\n (_)@\n @@\n __@\n / /@\n / / @\n / / @\n /_/ @\n @@\n ___ @\n / _ \\ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n _ @\n / |@\n | |@\n | |@\n |_|@\n @@\n ____ @\n |___ \\ @\n __) |@\n / __/ @\n |_____|@\n @@\n _____ @\n |___ / @\n |_ \\ @\n ___) |@\n |____/ @\n @@\n _ _ @\n | || | @\n | || |_ @\n |__ _|@\n |_| @\n @@\n ____ @\n | ___| @\n |___ \\ @\n ___) |@\n |____/ @\n @@\n __ @\n / /_ @\n | '_ \\ @\n | (_) |@\n \\___/ @\n @@\n _____ @\n |___ |@\n / / @\n / / @\n /_/ @\n @@\n ___ @\n ( _ ) @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n ___ @\n / _ \\ @\n | (_) |@\n \\__, |@\n /_/ @\n @@\n @\n _ @\n (_)@\n _ @\n (_)@\n @@\n @\n _ @\n (_)@\n _ @\n ( )@\n |/ @@\n __@\n / /@\n / / @\n \\ \\ @\n \\_\\@\n @@\n @\n _____ @\n |_____|@\n |_____|@\n $ @\n @@\n __ @\n \\ \\ @\n \\ \\@\n / /@\n /_/ @\n @@\n ___ @\n |__ \\@\n / /@\n |_| @\n (_) @\n @@\n ____ @\n / __ \\ @\n / / _` |@\n | | (_| |@\n \\ \\__,_|@\n \\____/ @@\n _ @\n / \\ @\n / _ \\ @\n / ___ \\ @\n /_/ \\_\\@\n @@\n ____ @\n | __ ) @\n | _ \\ @\n | |_) |@\n |____/ @\n @@\n ____ @\n / ___|@\n | | @\n | |___ @\n \\____|@\n @@\n ____ @\n | _ \\ @\n | | | |@\n | |_| |@\n |____/ @\n @@\n _____ @\n | ____|@\n | _| @\n | |___ @\n |_____|@\n @@\n _____ @\n | ___|@\n | |_ @\n | _| @\n |_| @\n @@\n ____ @\n / ___|@\n | | _ @\n | |_| |@\n \\____|@\n @@\n _ _ @\n | | | |@\n | |_| |@\n | _ |@\n |_| |_|@\n @@\n ___ @\n |_ _|@\n | | @\n | | @\n |___|@\n @@\n _ @\n | |@\n _ | |@\n | |_| |@\n \\___/ @\n @@\n _ __@\n | |/ /@\n | ' / @\n | . \\ @\n |_|\\_\\@\n @@\n _ @\n | | @\n | | @\n | |___ @\n |_____|@\n @@\n __ __ @\n | \\/ |@\n | |\\/| |@\n | | | |@\n |_| |_|@\n @@\n _ _ @\n | \\ | |@\n | \\| |@\n | |\\ |@\n |_| \\_|@\n @@\n ___ @\n / _ \\ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n ____ @\n | _ \\ @\n | |_) |@\n | __/ @\n |_| @\n @@\n ___ @\n / _ \\ @\n | | | |@\n | |_| |@\n \\__\\_\\@\n @@\n ____ @\n | _ \\ @\n | |_) |@\n | _ < @\n |_| \\_\\@\n @@\n ____ @\n / ___| @\n \\___ \\ @\n ___) |@\n |____/ @\n @@\n _____ @\n |_ _|@\n | | @\n | | @\n |_| @\n @@\n _ _ @\n | | | |@\n | | | |@\n | |_| |@\n \\___/ @\n @@\n __ __@\n \\ \\ / /@\n \\ \\ / / @\n \\ V / @\n \\_/ @\n @@\n __ __@\n \\ \\ / /@\n \\ \\ /\\ / / @\n \\ V V / @\n \\_/\\_/ @\n @@\n __ __@\n \\ \\/ /@\n \\ / @\n / \\ @\n /_/\\_\\@\n @@\n __ __@\n \\ \\ / /@\n \\ V / @\n | | @\n |_| @\n @@\n _____@\n |__ /@\n / / @\n / /_ @\n /____|@\n @@\n __ @\n | _|@\n | | @\n | | @\n | | @\n |__|@@\n __ @\n \\ \\ @\n \\ \\ @\n \\ \\ @\n \\_\\@\n @@\n __ @\n |_ |@\n | |@\n | |@\n | |@\n |__|@@\n /\\ @\n |/\\|@\n $ @\n $ @\n $ @\n @@\n @\n @\n @\n @\n _____ @\n |_____|@@\n _ @\n ( )@\n \\|@\n $ @\n $ @\n @@\n @\n __ _ @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n _ @\n | |__ @\n | '_ \\ @\n | |_) |@\n |_.__/ @\n @@\n @\n ___ @\n / __|@\n | (__ @\n \\___|@\n @@\n _ @\n __| |@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n @\n ___ @\n / _ \\@\n | __/@\n \\___|@\n @@\n __ @\n / _|@\n | |_ @\n | _|@\n |_| @\n @@\n @\n __ _ @\n / _` |@\n | (_| |@\n \\__, |@\n |___/ @@\n _ @\n | |__ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n _ @\n (_)@\n | |@\n | |@\n |_|@\n @@\n _ @\n (_)@\n | |@\n | |@\n _/ |@\n |__/ @@\n _ @\n | | __@\n | |/ /@\n | < @\n |_|\\_\\@\n @@\n _ @\n | |@\n | |@\n | |@\n |_|@\n @@\n @\n _ __ ___ @\n | '_ ` _ \\ @\n | | | | | |@\n |_| |_| |_|@\n @@\n @\n _ __ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n @\n ___ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n @\n _ __ @\n | '_ \\ @\n | |_) |@\n | .__/ @\n |_| @@\n @\n __ _ @\n / _` |@\n | (_| |@\n \\__, |@\n |_|@@\n @\n _ __ @\n | '__|@\n | | @\n |_| @\n @@\n @\n ___ @\n / __|@\n \\__ \\@\n |___/@\n @@\n _ @\n | |_ @\n | __|@\n | |_ @\n \\__|@\n @@\n @\n _ _ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n @\n __ __@\n \\ \\ / /@\n \\ V / @\n \\_/ @\n @@\n @\n __ __@\n \\ \\ /\\ / /@\n \\ V V / @\n \\_/\\_/ @\n @@\n @\n __ __@\n \\ \\/ /@\n > < @\n /_/\\_\\@\n @@\n @\n _ _ @\n | | | |@\n | |_| |@\n \\__, |@\n |___/ @@\n @\n ____@\n |_ /@\n / / @\n /___|@\n @@\n __@\n / /@\n | | @\n < < @\n | | @\n \\_\\@@\n _ @\n | |@\n | |@\n | |@\n | |@\n |_|@@\n __ @\n \\ \\ @\n | | @\n > >@\n | | @\n /_/ @@\n /\\/|@\n |/\\/ @\n $ @\n $ @\n $ @\n @@\n _ _ @\n (_)_(_)@\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n _ _ @\n (_)_(_)@\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n _ _ @\n (_) (_)@\n | | | |@\n | |_| |@\n \\___/ @\n @@\n _ _ @\n (_)_(_)@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n _ _ @\n (_)_(_)@\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n _ _ @\n (_) (_)@\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n ___ @\n / _ \\@\n | |/ /@\n | |\\ \\@\n | ||_/@\n |_| @@\n160 NO-BREAK SPACE\n $@\n $@\n $@\n $@\n $@\n $@@\n161 INVERTED EXCLAMATION MARK\n _ @\n (_)@\n | |@\n | |@\n |_|@\n @@\n162 CENT SIGN\n _ @\n | | @\n / __)@\n | (__ @\n \\ )@\n |_| @@\n163 POUND SIGN\n ___ @\n / ,_\\ @\n _| |_ @\n | |___ @\n (_,____|@\n @@\n164 CURRENCY SIGN\n /\\___/\\@\n \\ _ /@\n | (_) |@\n / ___ \\@\n \\/ \\/@\n @@\n165 YEN SIGN\n __ __ @\n \\ V / @\n |__ __|@\n |__ __|@\n |_| @\n @@\n166 BROKEN BAR\n _ @\n | |@\n |_|@\n _ @\n | |@\n |_|@@\n167 SECTION SIGN\n __ @\n _/ _)@\n / \\ \\ @\n \\ \\\\ \\@\n \\ \\_/@\n (__/ @@\n168 DIAERESIS\n _ _ @\n (_) (_)@\n $ $ @\n $ $ @\n $ $ @\n @@\n169 COPYRIGHT SIGN\n _____ @\n / ___ \\ @\n / / __| \\ @\n | | (__ |@\n \\ \\___| / @\n \\_____/ @@\n170 FEMININE ORDINAL INDICATOR\n __ _ @\n / _` |@\n \\__,_|@\n |____|@\n $ @\n @@\n171 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n ____@\n / / /@\n / / / @\n \\ \\ \\ @\n \\_\\_\\@\n @@\n172 NOT SIGN\n @\n _____ @\n |___ |@\n |_|@\n $ @\n @@\n173 SOFT HYPHEN\n @\n @\n ____ @\n |____|@\n $ @\n @@\n174 REGISTERED SIGN\n _____ @\n / ___ \\ @\n / | _ \\ \\ @\n | | / |@\n \\ |_|_\\ / @\n \\_____/ @@\n175 MACRON\n _____ @\n |_____|@\n $ @\n $ @\n $ @\n @@\n176 DEGREE SIGN\n __ @\n / \\ @\n | () |@\n \\__/ @\n $ @\n @@\n177 PLUS-MINUS SIGN\n _ @\n _| |_ @\n |_ _|@\n _|_|_ @\n |_____|@\n @@\n178 SUPERSCRIPT TWO\n ___ @\n |_ )@\n / / @\n /___|@\n $ @\n @@\n179 SUPERSCRIPT THREE\n ____@\n |__ /@\n |_ \\@\n |___/@\n $ @\n @@\n180 ACUTE ACCENT\n __@\n /_/@\n $ @\n $ @\n $ @\n @@\n181 MICRO SIGN\n @\n _ _ @\n | | | |@\n | |_| |@\n | ._,_|@\n |_| @@\n182 PILCROW SIGN\n _____ @\n / |@\n | (| | |@\n \\__ | |@\n |_|_|@\n @@\n183 MIDDLE DOT\n @\n _ @\n (_)@\n $ @\n $ @\n @@\n184 CEDILLA\n @\n @\n @\n @\n _ @\n )_)@@\n185 SUPERSCRIPT ONE\n _ @\n / |@\n | |@\n |_|@\n $ @\n @@\n186 MASCULINE ORDINAL INDICATOR\n ___ @\n / _ \\@\n \\___/@\n |___|@\n $ @\n @@\n187 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n ____ @\n \\ \\ \\ @\n \\ \\ \\@\n / / /@\n /_/_/ @\n @@\n188 VULGAR FRACTION ONE QUARTER\n _ __ @\n / | / / _ @\n | |/ / | | @\n |_/ /|_ _|@\n /_/ |_| @\n @@\n189 VULGAR FRACTION ONE HALF\n _ __ @\n / | / /__ @\n | |/ /_ )@\n |_/ / / / @\n /_/ /___|@\n @@\n190 VULGAR FRACTION THREE QUARTERS\n ____ __ @\n |__ / / / _ @\n |_ \\/ / | | @\n |___/ /|_ _|@\n /_/ |_| @\n @@\n191 INVERTED QUESTION MARK\n _ @\n (_) @\n | | @\n / /_ @\n \\___|@\n @@\n192 LATIN CAPITAL LETTER A WITH GRAVE\n __ @\n \\_\\ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n193 LATIN CAPITAL LETTER A WITH ACUTE\n __ @\n /_/ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n194 LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n //\\ @\n |/_\\| @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n195 LATIN CAPITAL LETTER A WITH TILDE\n /\\/| @\n |/\\/ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n196 LATIN CAPITAL LETTER A WITH DIAERESIS\n _ _ @\n (_)_(_)@\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n197 LATIN CAPITAL LETTER A WITH RING ABOVE\n _ @\n (o) @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n198 LATIN CAPITAL LETTER AE\n ______ @\n / ____|@\n / _ _| @\n / __ |___ @\n /_/ |_____|@\n @@\n199 LATIN CAPITAL LETTER C WITH CEDILLA\n ____ @\n / ___|@\n | | @\n | |___ @\n \\____|@\n )_) @@\n200 LATIN CAPITAL LETTER E WITH GRAVE\n __ @\n _\\_\\_ @\n | ____|@\n | _|_ @\n |_____|@\n @@\n201 LATIN CAPITAL LETTER E WITH ACUTE\n __ @\n _/_/_ @\n | ____|@\n | _|_ @\n |_____|@\n @@\n202 LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n //\\ @\n |/_\\| @\n | ____|@\n | _|_ @\n |_____|@\n @@\n203 LATIN CAPITAL LETTER E WITH DIAERESIS\n _ _ @\n (_)_(_)@\n | ____|@\n | _|_ @\n |_____|@\n @@\n204 LATIN CAPITAL LETTER I WITH GRAVE\n __ @\n \\_\\ @\n |_ _|@\n | | @\n |___|@\n @@\n205 LATIN CAPITAL LETTER I WITH ACUTE\n __ @\n /_/ @\n |_ _|@\n | | @\n |___|@\n @@\n206 LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n |_ _|@\n | | @\n |___|@\n @@\n207 LATIN CAPITAL LETTER I WITH DIAERESIS\n _ _ @\n (_)_(_)@\n |_ _| @\n | | @\n |___| @\n @@\n208 LATIN CAPITAL LETTER ETH\n ____ @\n | _ \\ @\n _| |_| |@\n |__ __| |@\n |____/ @\n @@\n209 LATIN CAPITAL LETTER N WITH TILDE\n /\\/|@\n |/\\/ @\n | \\| |@\n | .` |@\n |_|\\_|@\n @@\n210 LATIN CAPITAL LETTER O WITH GRAVE\n __ @\n \\_\\ @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n211 LATIN CAPITAL LETTER O WITH ACUTE\n __ @\n /_/ @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n212 LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n //\\ @\n |/_\\| @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n213 LATIN CAPITAL LETTER O WITH TILDE\n /\\/| @\n |/\\/ @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n214 LATIN CAPITAL LETTER O WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n215 MULTIPLICATION SIGN\n @\n @\n /\\/\\@\n > <@\n \\/\\/@\n @@\n216 LATIN CAPITAL LETTER O WITH STROKE\n ____ @\n / _// @\n | |// |@\n | //| |@\n //__/ @\n @@\n217 LATIN CAPITAL LETTER U WITH GRAVE\n __ @\n _\\_\\_ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n218 LATIN CAPITAL LETTER U WITH ACUTE\n __ @\n _/_/_ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n219 LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n //\\ @\n |/ \\| @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n220 LATIN CAPITAL LETTER U WITH DIAERESIS\n _ _ @\n (_) (_)@\n | | | |@\n | |_| |@\n \\___/ @\n @@\n221 LATIN CAPITAL LETTER Y WITH ACUTE\n __ @\n __/_/__@\n \\ \\ / /@\n \\ V / @\n |_| @\n @@\n222 LATIN CAPITAL LETTER THORN\n _ @\n | |___ @\n | __ \\@\n | ___/@\n |_| @\n @@\n223 LATIN SMALL LETTER SHARP S\n ___ @\n / _ \\@\n | |/ /@\n | |\\ \\@\n | ||_/@\n |_| @@\n224 LATIN SMALL LETTER A WITH GRAVE\n __ @\n \\_\\_ @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n225 LATIN SMALL LETTER A WITH ACUTE\n __ @\n /_/_ @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n226 LATIN SMALL LETTER A WITH CIRCUMFLEX\n //\\ @\n |/_\\| @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n227 LATIN SMALL LETTER A WITH TILDE\n /\\/| @\n |/\\/_ @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n228 LATIN SMALL LETTER A WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n229 LATIN SMALL LETTER A WITH RING ABOVE\n __ @\n (()) @\n / _ '|@\n | (_| |@\n \\__,_|@\n @@\n230 LATIN SMALL LETTER AE\n @\n __ ____ @\n / _` _ \\@\n | (_| __/@\n \\__,____|@\n @@\n231 LATIN SMALL LETTER C WITH CEDILLA\n @\n ___ @\n / __|@\n | (__ @\n \\___|@\n )_) @@\n232 LATIN SMALL LETTER E WITH GRAVE\n __ @\n \\_\\ @\n / _ \\@\n | __/@\n \\___|@\n @@\n233 LATIN SMALL LETTER E WITH ACUTE\n __ @\n /_/ @\n / _ \\@\n | __/@\n \\___|@\n @@\n234 LATIN SMALL LETTER E WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n / _ \\@\n | __/@\n \\___|@\n @@\n235 LATIN SMALL LETTER E WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / _ \\ @\n | __/ @\n \\___| @\n @@\n236 LATIN SMALL LETTER I WITH GRAVE\n __ @\n \\_\\@\n | |@\n | |@\n |_|@\n @@\n237 LATIN SMALL LETTER I WITH ACUTE\n __@\n /_/@\n | |@\n | |@\n |_|@\n @@\n238 LATIN SMALL LETTER I WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n | | @\n | | @\n |_| @\n @@\n239 LATIN SMALL LETTER I WITH DIAERESIS\n _ _ @\n (_)_(_)@\n | | @\n | | @\n |_| @\n @@\n240 LATIN SMALL LETTER ETH\n /\\/\\ @\n > < @\n _\\/\\ |@\n / __` |@\n \\____/ @\n @@\n241 LATIN SMALL LETTER N WITH TILDE\n /\\/| @\n |/\\/ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n242 LATIN SMALL LETTER O WITH GRAVE\n __ @\n \\_\\ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n243 LATIN SMALL LETTER O WITH ACUTE\n __ @\n /_/ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n244 LATIN SMALL LETTER O WITH CIRCUMFLEX\n //\\ @\n |/_\\| @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n245 LATIN SMALL LETTER O WITH TILDE\n /\\/| @\n |/\\/ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n246 LATIN SMALL LETTER O WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n247 DIVISION SIGN\n @\n _ @\n _(_)_ @\n |_____|@\n (_) @\n @@\n248 LATIN SMALL LETTER O WITH STROKE\n @\n ____ @\n / _//\\ @\n | (//) |@\n \\//__/ @\n @@\n249 LATIN SMALL LETTER U WITH GRAVE\n __ @\n _\\_\\_ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n250 LATIN SMALL LETTER U WITH ACUTE\n __ @\n _/_/_ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n251 LATIN SMALL LETTER U WITH CIRCUMFLEX\n //\\ @\n |/ \\| @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n252 LATIN SMALL LETTER U WITH DIAERESIS\n _ _ @\n (_) (_)@\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n253 LATIN SMALL LETTER Y WITH ACUTE\n __ @\n _/_/_ @\n | | | |@\n | |_| |@\n \\__, |@\n |___/ @@\n254 LATIN SMALL LETTER THORN\n _ @\n | |__ @\n | '_ \\ @\n | |_) |@\n | .__/ @\n |_| @@\n255 LATIN SMALL LETTER Y WITH DIAERESIS\n _ _ @\n (_) (_)@\n | | | |@\n | |_| |@\n \\__, |@\n |___/ @@\n0x0100 LATIN CAPITAL LETTER A WITH MACRON\n ____ @\n /___/ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n0x0101 LATIN SMALL LETTER A WITH MACRON\n ___ @\n /_ _/@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n0x0102 LATIN CAPITAL LETTER A WITH BREVE\n _ _ @\n \\\\_// @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n0x0103 LATIN SMALL LETTER A WITH BREVE\n \\_/ @\n ___ @\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n0x0104 LATIN CAPITAL LETTER A WITH OGONEK\n @\n _ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n (_(@@\n0x0105 LATIN SMALL LETTER A WITH OGONEK\n @\n __ _ @\n / _` |@\n | (_| |@\n \\__,_|@\n (_(@@\n0x0106 LATIN CAPITAL LETTER C WITH ACUTE\n __ @\n _/_/ @\n / ___|@\n | |___ @\n \\____|@\n @@\n0x0107 LATIN SMALL LETTER C WITH ACUTE\n __ @\n /__/@\n / __|@\n | (__ @\n \\___|@\n @@\n0x0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX\n /\\ @\n _//\\\\@\n / ___|@\n | |___ @\n \\____|@\n @@\n0x0109 LATIN SMALL LETTER C WITH CIRCUMFLEX\n /\\ @\n /_\\ @\n / __|@\n | (__ @\n \\___|@\n @@\n0x010A LATIN CAPITAL LETTER C WITH DOT ABOVE\n [] @\n ____ @\n / ___|@\n | |___ @\n \\____|@\n @@\n0x010B LATIN SMALL LETTER C WITH DOT ABOVE\n [] @\n ___ @\n / __|@\n | (__ @\n \\___|@\n @@\n0x010C LATIN CAPITAL LETTER C WITH CARON\n \\\\// @\n _\\/_ @\n / ___|@\n | |___ @\n \\____|@\n @@\n0x010D LATIN SMALL LETTER C WITH CARON\n \\\\//@\n _\\/ @\n / __|@\n | (__ @\n \\___|@\n @@\n0x010E LATIN CAPITAL LETTER D WITH CARON\n \\\\// @\n __\\/ @\n | _ \\ @\n | |_| |@\n |____/ @\n @@\n0x010F LATIN SMALL LETTER D WITH CARON\n \\/ _ @\n __| |@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n0x0110 LATIN CAPITAL LETTER D WITH STROKE\n ____ @\n |_ __ \\ @\n /| |/ | |@\n /|_|/_| |@\n |_____/ @\n @@\n0x0111 LATIN SMALL LETTER D WITH STROKE\n ---|@\n __| |@\n / _` |@\n | (_| |@\n \\__,_|@\n @@\n0x0112 LATIN CAPITAL LETTER E WITH MACRON\n ____ @\n /___/ @\n | ____|@\n | _|_ @\n |_____|@\n @@\n0x0113 LATIN SMALL LETTER E WITH MACRON\n ____@\n /_ _/@\n / _ \\ @\n | __/ @\n \\___| @\n @@\n0x0114 LATIN CAPITAL LETTER E WITH BREVE\n _ _ @\n \\\\_// @\n | ____|@\n | _|_ @\n |_____|@\n @@\n0x0115 LATIN SMALL LETTER E WITH BREVE\n \\\\ //@\n -- @\n / _ \\ @\n | __/ @\n \\___| @\n @@\n0x0116 LATIN CAPITAL LETTER E WITH DOT ABOVE\n [] @\n _____ @\n | ____|@\n | _|_ @\n |_____|@\n @@\n0x0117 LATIN SMALL LETTER E WITH DOT ABOVE\n [] @\n __ @\n / _ \\@\n | __/@\n \\___|@\n @@\n0x0118 LATIN CAPITAL LETTER E WITH OGONEK\n @\n _____ @\n | ____|@\n | _|_ @\n |_____|@\n (__(@@\n0x0119 LATIN SMALL LETTER E WITH OGONEK\n @\n ___ @\n / _ \\@\n | __/@\n \\___|@\n (_(@@\n0x011A LATIN CAPITAL LETTER E WITH CARON\n \\\\// @\n __\\/_ @\n | ____|@\n | _|_ @\n |_____|@\n @@\n0x011B LATIN SMALL LETTER E WITH CARON\n \\\\//@\n \\/ @\n / _ \\@\n | __/@\n \\___|@\n @@\n0x011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX\n _/\\_ @\n / ___|@\n | | _ @\n | |_| |@\n \\____|@\n @@\n0x011D LATIN SMALL LETTER G WITH CIRCUMFLEX\n /\\ @\n _/_ \\@\n / _` |@\n | (_| |@\n \\__, |@\n |___/ @@\n0x011E LATIN CAPITAL LETTER G WITH BREVE\n _\\/_ @\n / ___|@\n | | _ @\n | |_| |@\n \\____|@\n @@\n0x011F LATIN SMALL LETTER G WITH BREVE\n \\___/ @\n __ _ @\n / _` |@\n | (_| |@\n \\__, |@\n |___/ @@\n0x0120 LATIN CAPITAL LETTER G WITH DOT ABOVE\n _[]_ @\n / ___|@\n | | _ @\n | |_| |@\n \\____|@\n @@\n0x0121 LATIN SMALL LETTER G WITH DOT ABOVE\n [] @\n __ _ @\n / _` |@\n | (_| |@\n \\__, |@\n |___/ @@\n0x0122 LATIN CAPITAL LETTER G WITH CEDILLA\n ____ @\n / ___|@\n | | _ @\n | |_| |@\n \\____|@\n )__) @@\n0x0123 LATIN SMALL LETTER G WITH CEDILLA\n @\n __ _ @\n / _` |@\n | (_| |@\n \\__, |@\n |_))))@@\n0x0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX\n _/ \\_ @\n | / \\ |@\n | |_| |@\n | _ |@\n |_| |_|@\n @@\n0x0125 LATIN SMALL LETTER H WITH CIRCUMFLEX\n _ /\\ @\n | |//\\ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n0x0126 LATIN CAPITAL LETTER H WITH STROKE\n _ _ @\n | |=| |@\n | |_| |@\n | _ |@\n |_| |_|@\n @@\n0x0127 LATIN SMALL LETTER H WITH STROKE\n _ @\n |=|__ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n0x0128 LATIN CAPITAL LETTER I WITH TILDE\n /\\//@\n |_ _|@\n | | @\n | | @\n |___|@\n @@\n0x0129 LATIN SMALL LETTER I WITH TILDE\n @\n /\\/@\n | |@\n | |@\n |_|@\n @@\n0x012A LATIN CAPITAL LETTER I WITH MACRON\n /___/@\n |_ _|@\n | | @\n | | @\n |___|@\n @@\n0x012B LATIN SMALL LETTER I WITH MACRON\n ____@\n /___/@\n | | @\n | | @\n |_| @\n @@\n0x012C LATIN CAPITAL LETTER I WITH BREVE\n \\__/@\n |_ _|@\n | | @\n | | @\n |___|@\n @@\n0x012D LATIN SMALL LETTER I WITH BREVE\n @\n \\_/@\n | |@\n | |@\n |_|@\n @@\n0x012E LATIN CAPITAL LETTER I WITH OGONEK\n ___ @\n |_ _|@\n | | @\n | | @\n |___|@\n (__(@@\n0x012F LATIN SMALL LETTER I WITH OGONEK\n _ @\n (_) @\n | | @\n | | @\n |_|_@\n (_(@@\n0x0130 LATIN CAPITAL LETTER I WITH DOT ABOVE\n _[] @\n |_ _|@\n | | @\n | | @\n |___|@\n @@\n0x0131 LATIN SMALL LETTER DOTLESS I\n @\n _ @\n | |@\n | |@\n |_|@\n @@\n0x0132 LATIN CAPITAL LIGATURE IJ\n ___ _ @\n |_ _|| |@\n | | | |@\n | |_| |@\n |__|__/ @\n @@\n0x0133 LATIN SMALL LIGATURE IJ\n _ _ @\n (_) (_)@\n | | | |@\n | | | |@\n |_|_/ |@\n |__/ @@\n0x0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX\n /\\ @\n /_\\|@\n _ | | @\n | |_| | @\n \\___/ @\n @@\n0x0135 LATIN SMALL LETTER J WITH CIRCUMFLEX\n /\\@\n /_\\@\n | |@\n | |@\n _/ |@\n |__/ @@\n0x0136 LATIN CAPITAL LETTER K WITH CEDILLA\n _ _ @\n | |/ / @\n | ' / @\n | . \\ @\n |_|\\_\\ @\n )__)@@\n0x0137 LATIN SMALL LETTER K WITH CEDILLA\n _ @\n | | __@\n | |/ /@\n | < @\n |_|\\_\\@\n )_)@@\n0x0138 LATIN SMALL LETTER KRA\n @\n _ __ @\n | |/ \\@\n | < @\n |_|\\_\\@\n @@\n0x0139 LATIN CAPITAL LETTER L WITH ACUTE\n _ //@\n | | // @\n | | @\n | |___ @\n |_____|@\n @@\n0x013A LATIN SMALL LETTER L WITH ACUTE\n //@\n | |@\n | |@\n | |@\n |_|@\n @@\n0x013B LATIN CAPITAL LETTER L WITH CEDILLA\n _ @\n | | @\n | | @\n | |___ @\n |_____|@\n )__)@@\n0x013C LATIN SMALL LETTER L WITH CEDILLA\n _ @\n | | @\n | | @\n | | @\n |_| @\n )_)@@\n0x013D LATIN CAPITAL LETTER L WITH CARON\n _ \\\\//@\n | | \\/ @\n | | @\n | |___ @\n |_____|@\n @@\n0x013E LATIN SMALL LETTER L WITH CARON\n _ \\\\//@\n | | \\/ @\n | | @\n | | @\n |_| @\n @@\n0x013F LATIN CAPITAL LETTER L WITH MIDDLE DOT\n _ @\n | | @\n | | [] @\n | |___ @\n |_____|@\n @@\n0x0140 LATIN SMALL LETTER L WITH MIDDLE DOT\n _ @\n | | @\n | | []@\n | | @\n |_| @\n @@\n0x0141 LATIN CAPITAL LETTER L WITH STROKE\n __ @\n | // @\n |//| @\n // |__ @\n |_____|@\n @@\n0x0142 LATIN SMALL LETTER L WITH STROKE\n _ @\n | |@\n |//@\n //|@\n |_|@\n @@\n0x0143 LATIN CAPITAL LETTER N WITH ACUTE\n _/ /_ @\n | \\ | |@\n | \\| |@\n | |\\ |@\n |_| \\_|@\n @@\n0x0144 LATIN SMALL LETTER N WITH ACUTE\n _ @\n _ /_/ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n0x0145 LATIN CAPITAL LETTER N WITH CEDILLA\n _ _ @\n | \\ | |@\n | \\| |@\n | |\\ |@\n |_| \\_|@\n )_) @@\n0x0146 LATIN SMALL LETTER N WITH CEDILLA\n @\n _ __ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n )_) @@\n0x0147 LATIN CAPITAL LETTER N WITH CARON\n _\\/ _ @\n | \\ | |@\n | \\| |@\n | |\\ |@\n |_| \\_|@\n @@\n0x0148 LATIN SMALL LETTER N WITH CARON\n \\\\// @\n _\\/_ @\n | '_ \\ @\n | | | |@\n |_| |_|@\n @@\n0x0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE\n @\n _ __ @\n ( )| '_\\ @\n |/| | | |@\n |_| |_|@\n @@\n0x014A LATIN CAPITAL LETTER ENG\n _ _ @\n | \\ | |@\n | \\| |@\n | |\\ |@\n |_| \\ |@\n )_)@@\n0x014B LATIN SMALL LETTER ENG\n _ __ @\n | '_ \\ @\n | | | |@\n |_| | |@\n | |@\n |__ @@\n0x014C LATIN CAPITAL LETTER O WITH MACRON\n ____ @\n /_ _/ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n0x014D LATIN SMALL LETTER O WITH MACRON\n ____ @\n /_ _/ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n0x014E LATIN CAPITAL LETTER O WITH BREVE\n \\ / @\n _-_ @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n0x014F LATIN SMALL LETTER O WITH BREVE\n \\ / @\n _-_ @\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n0x0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n ___ @\n /_/_/@\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n0x0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE\n ___ @\n /_/_/@\n / _ \\ @\n | |_| |@\n \\___/ @\n @@\n0x0152 LATIN CAPITAL LIGATURE OE\n ___ ___ @\n / _ \\| __|@\n | | | | | @\n | |_| | |__@\n \\___/|____@\n @@\n0x0153 LATIN SMALL LIGATURE OE\n @\n ___ ___ @\n / _ \\ / _ \\@\n | (_) | __/@\n \\___/ \\___|@\n @@\n0x0154 LATIN CAPITAL LETTER R WITH ACUTE\n _/_/ @\n | _ \\ @\n | |_) |@\n | _ < @\n |_| \\_\\@\n @@\n0x0155 LATIN SMALL LETTER R WITH ACUTE\n __@\n _ /_/@\n | '__|@\n | | @\n |_| @\n @@\n0x0156 LATIN CAPITAL LETTER R WITH CEDILLA\n ____ @\n | _ \\ @\n | |_) |@\n | _ < @\n |_| \\_\\@\n )_) @@\n0x0157 LATIN SMALL LETTER R WITH CEDILLA\n @\n _ __ @\n | '__|@\n | | @\n |_| @\n )_) @@\n0x0158 LATIN CAPITAL LETTER R WITH CARON\n _\\_/ @\n | _ \\ @\n | |_) |@\n | _ < @\n |_| \\_\\@\n @@\n0x0159 LATIN SMALL LETTER R WITH CARON\n \\\\// @\n _\\/_ @\n | '__|@\n | | @\n |_| @\n @@\n0x015A LATIN CAPITAL LETTER S WITH ACUTE\n _/_/ @\n / ___| @\n \\___ \\ @\n ___) |@\n |____/ @\n @@\n0x015B LATIN SMALL LETTER S WITH ACUTE\n __@\n _/_/@\n / __|@\n \\__ \\@\n |___/@\n @@\n0x015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX\n _/\\_ @\n / ___| @\n \\___ \\ @\n ___) |@\n |____/ @\n @@\n0x015D LATIN SMALL LETTER S WITH CIRCUMFLEX\n @\n /_\\_@\n / __|@\n \\__ \\@\n |___/@\n @@\n0x015E LATIN CAPITAL LETTER S WITH CEDILLA\n ____ @\n / ___| @\n \\___ \\ @\n ___) |@\n |____/ @\n )__)@@\n0x015F LATIN SMALL LETTER S WITH CEDILLA\n @\n ___ @\n / __|@\n \\__ \\@\n |___/@\n )_)@@\n0x0160 LATIN CAPITAL LETTER S WITH CARON\n _\\_/ @\n / ___| @\n \\___ \\ @\n ___) |@\n |____/ @\n @@\n0x0161 LATIN SMALL LETTER S WITH CARON\n \\\\//@\n _\\/ @\n / __|@\n \\__ \\@\n |___/@\n @@\n0x0162 LATIN CAPITAL LETTER T WITH CEDILLA\n _____ @\n |_ _|@\n | | @\n | | @\n |_| @\n )__)@@\n0x0163 LATIN SMALL LETTER T WITH CEDILLA\n _ @\n | |_ @\n | __|@\n | |_ @\n \\__|@\n )_)@@\n0x0164 LATIN CAPITAL LETTER T WITH CARON\n _____ @\n |_ _|@\n | | @\n | | @\n |_| @\n @@\n0x0165 LATIN SMALL LETTER T WITH CARON\n \\/ @\n | |_ @\n | __|@\n | |_ @\n \\__|@\n @@\n0x0166 LATIN CAPITAL LETTER T WITH STROKE\n _____ @\n |_ _|@\n | | @\n -|-|- @\n |_| @\n @@\n0x0167 LATIN SMALL LETTER T WITH STROKE\n _ @\n | |_ @\n | __|@\n |-|_ @\n \\__|@\n @@\n0x0168 LATIN CAPITAL LETTER U WITH TILDE\n @\n _/\\/_ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n0x0169 LATIN SMALL LETTER U WITH TILDE\n @\n _/\\/_ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n0x016A LATIN CAPITAL LETTER U WITH MACRON\n ____ @\n /__ _/@\n | | | |@\n | |_| |@\n \\___/ @\n @@\n0x016B LATIN SMALL LETTER U WITH MACRON\n ____ @\n / _ /@\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n0x016C LATIN CAPITAL LETTER U WITH BREVE\n @\n \\_/_ @\n | | | |@\n | |_| |@\n \\____|@\n @@\n0x016D LATIN SMALL LETTER U WITH BREVE\n @\n \\_/_ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n0x016E LATIN CAPITAL LETTER U WITH RING ABOVE\n O @\n __ _ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n0x016F LATIN SMALL LETTER U WITH RING ABOVE\n O @\n __ __ @\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n0x0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n -- --@\n /_//_/@\n | | | |@\n | |_| |@\n \\___/ @\n @@\n0x0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE\n ____@\n _/_/_/@\n | | | |@\n | |_| |@\n \\__,_|@\n @@\n0x0172 LATIN CAPITAL LETTER U WITH OGONEK\n _ _ @\n | | | |@\n | | | |@\n | |_| |@\n \\___/ @\n (__(@@\n0x0173 LATIN SMALL LETTER U WITH OGONEK\n @\n _ _ @\n | | | |@\n | |_| |@\n \\__,_|@\n (_(@@\n0x0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX\n __ /\\ __@\n \\ \\ //\\\\/ /@\n \\ \\ /\\ / / @\n \\ V V / @\n \\_/\\_/ @\n @@\n0x0175 LATIN SMALL LETTER W WITH CIRCUMFLEX\n /\\ @\n __ //\\\\__@\n \\ \\ /\\ / /@\n \\ V V / @\n \\_/\\_/ @\n @@\n0x0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX\n /\\ @\n __//\\\\ @\n \\ \\ / /@\n \\ V / @\n |_| @\n @@\n0x0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX\n /\\ @\n //\\\\ @\n | | | |@\n | |_| |@\n \\__, |@\n |___/ @@\n0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS\n [] []@\n __ _@\n \\ \\ / /@\n \\ V / @\n |_| @\n @@\n0x0179 LATIN CAPITAL LETTER Z WITH ACUTE\n __/_/@\n |__ /@\n / / @\n / /_ @\n /____|@\n @@\n0x017A LATIN SMALL LETTER Z WITH ACUTE\n _ @\n _/_/@\n |_ /@\n / / @\n /___|@\n @@\n0x017B LATIN CAPITAL LETTER Z WITH DOT ABOVE\n __[]_@\n |__ /@\n / / @\n / /_ @\n /____|@\n @@\n0x017C LATIN SMALL LETTER Z WITH DOT ABOVE\n [] @\n ____@\n |_ /@\n / / @\n /___|@\n @@\n0x017D LATIN CAPITAL LETTER Z WITH CARON\n _\\_/_@\n |__ /@\n / / @\n / /_ @\n /____|@\n @@\n0x017E LATIN SMALL LETTER Z WITH CARON\n \\\\//@\n _\\/_@\n |_ /@\n / / @\n /___|@\n @@\n0x017F LATIN SMALL LETTER LONG S\n __ @\n / _|@\n |-| | @\n |-| | @\n |_| @\n @@\n0x02C7 CARON\n \\\\//@\n \\/ @\n $@\n $@\n $@\n $@@\n0x02D8 BREVE\n \\\\_//@\n \\_/ @\n $@\n $@\n $@\n $@@\n0x02D9 DOT ABOVE\n []@\n $@\n $@\n $@\n $@\n $@@\n0x02DB OGONEK\n $@\n $@\n $@\n $@\n $@\n )_) @@\n0x02DD DOUBLE ACUTE ACCENT\n _ _ @\n /_/_/@\n $@\n $@\n $@\n $@@\n0xCA0 KANNADA LETTER TTHA\n _____)@\n /_ ___/@\n / _ \\ @\n | (_) | @\n $\\___/$ @\n @@\n ");function gt(A,{x:n,y:t,textAlign:I,textBaseline:g}){const e=A.split("\n"),i=e.length,_=Math.max(...e.map((A=>A.length)));return{lines:e,x:"end"===I?n-_:"center"===I?n-_/2:n,y:"bottom"===g?t-i:"middle"===g?t-i/2:t,width:_,height:i}}function et(A,n){return"object"==typeof A&&"figlet"===A.type?nt.textSync(A.text+"",{font:n}):A+""}function it(A){Object.defineProperties(this,{_memory:{value:A},_props:{value:{},writable:!0},_buffer:{value:null,writable:!0},_context:{value:null,writable:!0},_backend:{value:null,writable:!0}})}Object.defineProperties(it.prototype,{init:{value:function({width:A,height:n,cols:t,rows:I,mode:g="single",fontFamily:e="courier-new, courier, monospace",fontSize:i=15,fontWeight:_="normal"}={}){const{width:E,height:C}=yA("W",{fontSize:i,fontFamily:e,fontWeight:_}),o="double"===g?2*E:E,B=C,r=I??void 0,Q=kn(t??void 0,A,o),a=kn(r,n,B),s=Q*o,l=a*B,h=N(s,l),c=Array.from({length:Q*a},(()=>null));h.canvas.classList.add("charming-terminal");const u=wn.new(Q,a);return Object.assign(this._props,{mode:g,cellWidth:o,cellHeight:B,fontSize:i,fontFamily:e,fontWeight:_,width:Q,height:a,pixelWidth:s,pixelHeight:l}),Object.assign(this,{_buffer:c,_context:h,_backend:u}),this.clear({fill:"#000"}),this}},node:{value:function(){return this._context.canvas}},char:{value:function(A,n,t,I,g,e=!1){const{width:i,mode:_,cellWidth:E,cellHeight:C,fontWeight:o,fontSize:B,fontFamily:r}=this._props,Q=E*n,a=C*t,s=4*(i*t+n);if(g&&(this._context.fillStyle=g,this._context.fillRect(Q,a,E,C),this._buffer[s+2]=g),I&&(this._context.fillStyle=I,this._buffer[s+1]=I),A&&(this._context.font=`${o} ${B}px ${r}`,this._context.textBaseline=fn,this._context.fillText(A,Q,a+C),this._buffer[s]=A,"double"===_&&!e))return this._context.fillText(A,Q+E/2,a+C),this._buffer[s]+=A,this}},render:{value:function(){const A=this._backend.render(),{width:n,height:t}=this._props,I=new Uint32Array(this._memory.buffer,A,n*t*4);for(let A=0;A<t;A++)for(let t=0;t<n;t++){const g=4*(n*A+t),[e,i]=pn(I[g]),[_,E]=pn(I[g+1]),C=dn(I[g+2]),o=dn(I[g+3]),B=i+E>=2,r=e+_;(r||C)&&this.char(r,t,A,C,o,B)}return this}},point:{value:function({x:A,y:n,stroke:t}){t||this._backend.noStroke(),this._backend.stroke(...Mn(t)),this._backend.point(A,n)}},rect:{value:function({x:A,y:n,width:t,height:I,fill:g,stroke:e}){e?this._backend.stroke(...Mn(e)):this._backend.noStroke(),g?this._backend.fill(...Mn(g)):this._backend.noFill(),this._backend.rect(A,n,t,I)}},line:{value:function({x:A,y:n,x1:t,y1:I,stroke:g}){g?this._backend.stroke(...Mn(g)):this._backend.noStroke(),this._backend.noFill(),this._backend.line(A,n,t,I)}},text:{value:function({x:A,y:n,text:t,fill:I,textAlign:g="start",textBaseline:e="top",fontFamily:i=It()}){const _=et(t,i),{x:E,y:C,width:o,height:B,lines:r}=gt(_,{x:A,y:n,textAlign:g,textBaseline:e});I=function(A,n,t){return"function"==typeof A?A(n,t):()=>A}(I,o,B);for(let A=0;A<r.length;A++){const n=r[A];for(let t=0;t<n.length;t++){const g=n[t];this.point({x:E+t,y:C+A,stroke:{ch:g,fg:I(t,A)}})}}}},clear:{value:function({fill:A="#000"}){const{pixelWidth:n,pixelHeight:t}=this._props;this._context.fillStyle=A,this._context.fillRect(0,0,n,t)}},save:{value:function(){this._backend.pushMatrix()}},restore:{value:function(){this._backend.popMatrix()}},rotate:{value:function(A){this._context.rotate(A)}},scale:{value:function(A,n){return this._backend.scale(A,n),this}},translate:{value:function(A,n){this._backend.translate(A,n)}},toString:{value:function(){let A="";const{width:n,height:t}=this._props,{_mode:I,_buffer:g}=this;for(let e=0;e<t;e++){0!==e&&(A+="\n");for(let t=0;t<n;t++){const i="double"===I?"··":"·";A+=g[4*(n*e+t)]||i}}return A}},textBBox:{value:function({text:A,fontFamily:n=It(),textAlign:t="start",textBaseline:I="top",x:g=0,y:e=0}={}){const i=gt(et(A,n),{textAlign:t,textBaseline:I,x:g,y:e});return{x:i.x,y:i.y,width:i.width,height:i.height}}}});const _t=tt("ghost","flf2a$ 9 8 15 0 20 0 16255 0\nAuthor : myflix\nDate : 2004/9/26 12:46:52\nVersion: 1.0\n-------------------------------------------------\n\n-------------------------------------------------\nThis font has been created using JavE's FIGlet font export assistant.\nHave a look at: http://www.jave.de\n\nPermission is hereby given to modify this font, as long as the\nmodifier's name is placed on a comment line.\n\n---\n\nFont modified June 17, 2007 by patorjk \n- Widened the space character.\n\nFont modified May 26, 2012 by patorjk\n- Switched the _ and - character (which were swapped).\n- Added the 0xCA0 character\n$ $#\n$ $#\n$ $#\n$ $#\n$ $#\n$ $#\n$ $#\n$ $#\n$ $##\n,---. #\n| | #\n| | #\n| | #\n| | #\n| .' #\n`--' #\n.--. #\n'--' ##\n #\n,--.,--. #\n\\ |\\ | #\n `-' `-' #\n #\n #\n #\n #\n ##\n #\n ,-. ,-. #\n | | | | #\n,--| |-| |--.#\n'--| |-| |--'#\n'--| |-| |--'#\n | | | | #\n `-' `-' #\n ##\n ,-. #\n .-| |-. #\n| | |_/ #\n\\ | |. #\n '-| | '. #\n.- | | | #\n| `| | / #\n `-| |'` #\n `-' ##\n ,-. #\n ,--. / / #\n '--'/ / #\n / / #\n / / #\n / / #\n / / ,--. #\n/ / '--' #\n`-' ##\n #\n .-----. #\n/ .-. \\ #\n| \\_.' / #\n/ .-. ',-. #\n| | | . /_ #\n\\ '-' _.__)#\n `----'' #\n ##\n #\n,--. #\n\\ | #\n `-' #\n #\n #\n #\n #\n ##\n ,-. #\n / | #\n' .' #\n| | #\n| | #\n| | #\n' '. #\n \\ | #\n `-' ##\n,-. #\n| \\ #\n'. ' #\n | | #\n | | #\n | | #\n.' ' #\n| / #\n`-' ##\n #\n .-. #\n .-,| |,-. #\n _\\ ' ' /_ #\n(__ __) #\n / . . \\ #\n `-'| |`-' #\n `-' #\n ##\n #\n #\n ,-. #\n | | #\n,---| |---. #\n'---| |---' #\n | | #\n `-' #\n ##\n #\n #\n #\n #\n #\n #\n #\n.-. #\n',/ ##\n #\n #\n #\n .-') #\n _( OO) #\n(,------. #\n '------' #\n #\n ##\n #\n #\n #\n #\n #\n #\n #\n.-. #\n`-' ##\n ,-. #\n / / #\n / / #\n / / #\n / / #\n / / #\n / / #\n/ / #\n`-' ##\n #\n #\n .----. #\n / .. \\ #\n. / \\ . #\n| | ' | #\n' \\ / ' #\n \\ `' / #\n `---'' ##\n #\n #\n .---. #\n/_ | #\n | | #\n | | #\n | | #\n | | #\n `---' ##\n #\n #\n .-----. #\n/ ,-. \\ #\n'-' | | #\n .' / #\n .' /__ #\n| | #\n`-------' ##\n #\n #\n .-----. #\n/ -. \\ #\n'-' _' | #\n |_ < #\n.-. | | #\n\\ `-' / #\n `----'' ##\n #\n #\n .---. #\n / . | #\n / /| | #\n / / | |_ #\n/ '-' | #\n`----| |-' #\n `--' ##\n #\n #\n.------. #\n| ___| #\n| '--. #\n`---. '. #\n.- | | #\n| `-' / #\n `----'' ##\n #\n #\n ,--. #\n / .' #\n. / -. #\n| .-. ' #\n' \\ | | #\n\\ `' / #\n `----' ##\n #\n #\n.--------. #\n| __ ' #\n`--' . / #\n / / #\n . / #\n / / #\n `--' ##\n #\n #\n .-----. #\n / .-. \\ #\n| \\_.' / #\n / .-. '. #\n| | | | #\n \\ '-' / #\n `----'' ##\n #\n #\n .----. #\n / ,. \\ #\n| | \\ | #\n ' `-' ' #\n `- / ' #\n ,' / #\n `---' ##\n #\n #\n.-. #\n`-' #\n #\n.-. #\n`-' #\n #\n ##\n #\n #\n.-. #\n'-' #\n #\n.-. #\n',/ #\n #\n ##\n #\n ,-. #\n / / #\n / / #\n/ / #\n\\ \\ #\n \\ \\ #\n \\ \\ #\n `-' ##\n #\n #\n,-----. #\n'-----' #\n #\n,-----. #\n'-----' #\n #\n ##\n #\n,-. #\n \\ \\ #\n \\ \\ #\n \\ \\ #\n / / #\n / / #\n / / #\n`-' ##\n ,------. #\n' .--. ' #\n| | | | #\n'--' | | #\n __. | #\n | .' #\n |___| #\n .---. #\n '---' ##\n #\n #\n ____ #\n .' __ \\ #\n/ .' \\ | #\n| | (_/ | #\n\\ `.__.'\\ #\n `.___ .' #\n ##\n ('-. #\n ( OO ).-. #\n / . --. / #\n | \\-. \\ #\n.-'-' | | #\n \\| |_.' | #\n | .-. | #\n | | | | #\n `--' `--' ##\n.-. .-') #\n\\ ( OO ) #\n ;-----.\\ #\n | .-. | #\n | '-' /_) #\n | .-. `. #\n | | \\ | #\n | '--' / #\n `------' ##\n #\n #\n .-----. #\n ' .--./ #\n | |('-. #\n /_) |OO ) #\n || |`-'| #\n(_' '--'\\ #\n `-----' ##\n _ .-') _ #\n( ( OO) ) #\n \\ .'_ #\n ,`'--..._) #\n | | \\ ' #\n | | ' | #\n | | / : #\n | '--' / #\n `-------' ##\n ('-. #\n _( OO) #\n(,------. #\n | .---' #\n | | #\n(| '--. #\n | .--' #\n | `---. #\n `------' ##\n #\n #\n ,------. #\n('-| _.---' #\n(OO|(_\\ #\n/ | '--. #\n\\_)| .--' #\n \\| |_) #\n `--' ##\n #\n #\n ,----. #\n ' .-./-') #\n | |_( O- ) #\n | | .--, \\ #\n(| | '. (_/ #\n | '--' | #\n `------' ##\n ('-. .-. #\n( OO ) / #\n,--. ,--. #\n| | | | #\n| .| | #\n| | #\n| .-. | #\n| | | | #\n`--' `--' ##\n #\n #\n ,-.-') #\n | |OO) #\n | | \\ #\n | |(_/ #\n ,| |_.' #\n(_| | #\n `--' ##\n #\n #\n ,--. #\n .-')| ,| #\n( OO |(_| #\n| `-'| | #\n,--. | | #\n| '-' / #\n `-----' ##\n.-. .-') #\n\\ ( OO ) #\n,--. ,--. #\n| .' / #\n| /, #\n| ' _) #\n| . \\ #\n| |\\ \\ #\n`--' '--' ##\n #\n #\n ,--. #\n | |.-') #\n | | OO ) #\n | |`-' | #\n(| '---.' #\n | | #\n `------' ##\n _ .-') #\n( '.( OO )_ #\n ,--. ,--.)#\n | `.' | #\n | | #\n | |'.'| | #\n | | | | #\n | | | | #\n `--' `--' ##\n .-') _ #\n ( OO ) ) #\n,--./ ,--,' #\n| \\ | |\\ #\n| \\| | ) #\n| . |/ #\n| |\\ | #\n| | \\ | #\n`--' `--' ##\n #\n #\n .-'),-----. #\n( OO' .-. '#\n/ | | | |#\n\\_) | |\\| |#\n \\ | | | |#\n `' '-' '#\n `-----' ##\n _ (`-. #\n ( (OO ) #\n _.` \\ #\n(__...--'' #\n | / | | #\n | |_.' | #\n | .___.' #\n | | #\n `--' ##\n .-') #\n .( OO) #\n (_)---\\_) #\n ' .-. ' #\n ,| | | | #\n(_| | | | #\n | | | | #\n ' '-' '-.#\n `-----'--'##\n _ .-') #\n( \\( -O ) #\n ,------. #\n | /`. ' #\n | / | | #\n | |_.' | #\n | . '.' #\n | |\\ \\ #\n `--' '--' ##\n .-') #\n ( OO ). #\n(_)---\\_) #\n/ _ | #\n\\ :` `. #\n '..`''.) #\n.-._) \\ #\n\\ / #\n `-----' ##\n .-') _ #\n( OO) ) #\n/ '._ #\n|'--...__) #\n'--. .--' #\n | | #\n | | #\n | | #\n `--' ##\n #\n #\n ,--. ,--. #\n | | | | #\n | | | .-') #\n | |_|( OO )#\n | | | `-' /#\n(' '-'(_.-' #\n `-----' ##\n (`-. #\n _(OO )_ #\n,--(_/ ,. \\#\n\\ \\ /(__/#\n \\ \\ / / #\n \\ ' /, #\n \\ /__)#\n \\ / #\n `-' ##\n (`\\ .-') /`#\n `.( OO ),'#\n,--./ .--. #\n| | | #\n| | | |, #\n| |.'.| |_)#\n| | #\n| ,'. | #\n'--' '--' ##\n) (`-. #\n ( OO ). #\n(_/. \\_)-. #\n \\ `.' / #\n \\ /\\ #\n \\ \\ | #\n .' \\_) #\n / .'. \\ #\n'--' '--' ##\n #\n #\n ,--. ,--.#\n \\ `.' / #\n .-') / #\n(OO \\ / #\n | / /\\_ #\n `-./ /.__) #\n `--' ##\n .-') _ #\n ( OO) ) #\n,(_)----. #\n| | #\n'--. / #\n(_/ / #\n / /___ #\n| | #\n`--------' ##\n,----. #\n| | #\n| .-' #\n| | #\n| | #\n| | #\n| '-. #\n| | #\n`----' ##\n,-. #\n\\ \\ #\n \\ \\ #\n \\ \\ #\n \\ \\ #\n \\ \\ #\n \\ \\ #\n \\ \\ #\n `-' ##\n,----. #\n| | #\n`-. | #\n | | #\n | | #\n | | #\n.-' | #\n| | #\n`----' ##\n #\n #\n ,---. #\n / \\ \\ #\n`--' `--' #\n #\n #\n #\n ##\n #\n #\n #\n #\n #\n (`-. #\n (OO )_ #\n,------.) #\n`------' ##\n #\n #\n,--. #\n'. \\ #\n `--' #\n #\n #\n #\n ##\n ('-. #\n ( OO ).-. #\n / . --. / #\n | \\-. \\ #\n.-'-' | | #\n \\| |_.' | #\n | .-. | #\n | | | | #\n `--' `--' ##\n.-. .-') #\n\\ ( OO ) #\n ;-----.\\ #\n | .-. | #\n | '-' /_) #\n | .-. `. #\n | | \\ | #\n | '--' / #\n `------' ##\n #\n #\n .-----. #\n ' .--./ #\n | |('-. #\n /_) |OO ) #\n || |`-'| #\n(_' '--'\\ #\n `-----' ##\n _ .-') _ #\n( ( OO) ) #\n \\ .'_ #\n ,`'--..._) #\n | | \\ ' #\n | | ' | #\n | | / : #\n | '--' / #\n `-------' ##\n ('-. #\n _( OO) #\n(,------. #\n | .---' #\n | | #\n(| '--. #\n | .--' #\n | `---. #\n `------' ##\n #\n #\n ,------. #\n('-| _.---' #\n(OO|(_\\ #\n/ | '--. #\n\\_)| .--' #\n \\| |_) #\n `--' ##\n #\n #\n ,----. #\n ' .-./-') #\n | |_( O- ) #\n | | .--, \\ #\n(| | '. (_/ #\n | '--' | #\n `------' ##\n ('-. .-. #\n( OO ) / #\n,--. ,--. #\n| | | | #\n| .| | #\n| | #\n| .-. | #\n| | | | #\n`--' `--' ##\n #\n #\n ,-.-') #\n | |OO) #\n | | \\ #\n | |(_/ #\n ,| |_.' #\n(_| | #\n `--' ##\n #\n #\n ,--. #\n .-')| ,| #\n( OO |(_| #\n| `-'| | #\n,--. | | #\n| '-' / #\n `-----' ##\n.-. .-') #\n\\ ( OO ) #\n,--. ,--. #\n| .' / #\n| /, #\n| ' _) #\n| . \\ #\n| |\\ \\ #\n`--' '--' ##\n #\n #\n ,--. #\n | |.-') #\n | | OO ) #\n | |`-' | #\n(| '---.' #\n | | #\n `------' ##\n _ .-') #\n( '.( OO )_ #\n ,--. ,--.)#\n | `.' | #\n | | #\n | |'.'| | #\n | | | | #\n | | | | #\n `--' `--' ##\n .-') _ #\n ( OO ) ) #\n,--./ ,--,' #\n| \\ | |\\ #\n| \\| | ) #\n| . |/ #\n| |\\ | #\n| | \\ | #\n`--' `--' ##\n #\n #\n .-'),-----. #\n( OO' .-. '#\n/ | | | |#\n\\_) | |\\| |#\n \\ | | | |#\n `' '-' '#\n `-----' ##\n _ (`-. #\n ( (OO ) #\n _.` \\ #\n(__...--'' #\n | / | | #\n | |_.' | #\n | .___.' #\n | | #\n `--' ##\n .-') #\n .( OO) #\n (_)---\\_) #\n ' .-. ' #\n ,| | | | #\n(_| | | | #\n | | | | #\n ' '-' '-.#\n `-----'--'##\n _ .-') #\n( \\( -O ) #\n ,------. #\n | /`. ' #\n | / | | #\n | |_.' | #\n | . '.' #\n | |\\ \\ #\n `--' '--' ##\n .-') #\n ( OO ). #\n(_)---\\_) #\n/ _ | #\n\\ :` `. #\n '..`''.) #\n.-._) \\ #\n\\ / #\n `-----' ##\n .-') _ #\n( OO) ) #\n/ '._ #\n|'--...__) #\n'--. .--' #\n | | #\n | | #\n | | #\n `--' ##\n #\n #\n ,--. ,--. #\n | | | | #\n | | | .-') #\n | |_|( OO )#\n | | | `-' /#\n(' '-'(_.-' #\n `-----' ##\n (`-. #\n _(OO )_ #\n,--(_/ ,. \\#\n\\ \\ /(__/#\n \\ \\ / / #\n \\ ' /, #\n \\ /__)#\n \\ / #\n `-' ##\n (`\\ .-') /`#\n `.( OO ),'#\n,--./ .--. #\n| | | #\n| | | |, #\n| |.'.| |_)#\n| | #\n| ,'. | #\n'--' '--' ##\n) (`-. #\n ( OO ). #\n(_/. \\_)-. #\n \\ `.' / #\n \\ /\\ #\n \\ \\ | #\n .' \\_) #\n / .'. \\ #\n'--' '--' ##\n #\n #\n ,--. ,--.#\n \\ `.' / #\n .-') / #\n(OO \\ / #\n | / /\\_ #\n `-./ /.__) #\n `--' ##\n .-') _ #\n ( OO) ) #\n,(_)----. #\n| | #\n'--. / #\n(_/ / #\n / /___ #\n| | #\n`--------' ##\n ,--. #\n | | #\n | .' #\n .' / #\n< < #\n `. \\ #\n | '. #\n | | #\n `--' ##\n,-. #\n| | #\n| | #\n| | #\n| | #\n| | #\n| | #\n| | #\n`-' ##\n,--. #\n| | #\n'. | #\n \\ ` #\n > > #\n / . #\n.' | #\n| | #\n`--' ##\n #\n .--, #\n .--' / #\n / ---` #\n`--' #\n #\n #\n #\n ##\n ('-. #\n ( OO ).-. #\n / . --. / #\n | \\-. \\ #\n.-'-' | | #\n \\| |_.' | #\n | .-. | #\n | | | | #\n `--' `--' ##\n #\n #\n .-'),-----. #\n( OO' .-. '#\n/ | | | |#\n\\_) | |\\| |#\n \\ | | | |#\n `' '-' '#\n `-----' ##\n #\n #\n ,--. ,--. #\n | | | | #\n | | | .-') #\n | |_|( OO )#\n | | | `-' /#\n(' '-'(_.-' #\n `-----' ##\n ('-. #\n ( OO ).-. #\n / . --. / #\n | \\-. \\ #\n.-'-' | | #\n \\| |_.' | #\n | .-. | #\n | | | | #\n `--' `--' ##\n #\n #\n .-'),-----. #\n( OO' .-. '#\n/ | | | |#\n\\_) | |\\| |#\n \\ | | | |#\n `' '-' '#\n `-----' ##\n #\n #\n ,--. ,--. #\n | | | | #\n | | | .-') #\n | |_|( OO )#\n | | | `-' /#\n(' '-'(_.-' #\n `-----' ##\n�#\n #\n #\n #\n #\n #\n #\n #\n ##\n0xCA0 KANNADA LETTER TTHA\n #\n #\n _ _ _ _)#\n |______/ #\n ,-----. #\n' .-. ' #\n| | | | #\n' '-' ' #\n `-----' ##");var Et=A=>()=>A;function Ct(A,n){return function(t){return A+t*n}}function ot(A,n){var t=n-A;return t?Ct(A,t):Et(isNaN(A)?n:A)}function Bt(A){return function n(t){function I(n,I){var g=A((n=uA(n)).h,(I=uA(I)).h),e=ot(n.s,I.s),i=ot(n.l,I.l),_=ot(n.opacity,I.opacity);return function(A){return n.h=g(A),n.s=e(A),n.l=i(Math.pow(A,t)),n.opacity=_(A),n+""}}return t=+t,I.gamma=n,I}(1)}Bt((function(A,n){var t=n-A;return t?Ct(A,t>180||t<-180?t-360*Math.round(t/360):t):Et(isNaN(A)?n:A)}));var rt=Bt(ot);rt(uA(-100,.75,.35),uA(80,1.5,.8)),rt(uA(260,.75,.35),uA(80,1.5,.8));var Qt=uA();var at=j(),st=Math.PI/3,lt=2*Math.PI/3;function ht(A){return()=>()=>n=>{const t=qA([0,n],[0,1]);return n=>A(t(n))}}const ct=ht((function(A){(A<0||A>1)&&(A-=Math.floor(A));var n=Math.abs(A-.5);return Qt.h=360*A-100,Qt.s=1.5-1.5*n,Qt.l=.8-.9*n,Qt+""})),ut=ht((function(A){var n;return A=(.5-A)*Math.PI,at.r=255*(n=Math.sin(A))*n,at.g=255*(n=Math.sin(A+st))*n,at.b=255*(n=Math.sin(A+lt))*n,at+""}));function ft(A,n){return[A=0,n=1]=1===arguments.length?[0,A]:[A,n],A+(n-A)*Math.random()}const Dt=4095;function Lt(A){return.5*(1-Math.cos(A*Math.PI))}function Tt(A){const n=function(A){const n=4294967296;let t=(null==A?Math.random()*n:A)>>>0;return()=>(t=(1664525*t+1013904223)%n,t/n)}(A),t=new Array(Dt+1);for(let A=0;A<Dt+1;A++)t[A]=n();return t}const Rt=2*Math.PI;function wt(A){return function(...n){const t=new hI;return A(t,...n),t}}function yt(A){return function(...n){return A(this,this,...n),this}}function Nt(A,n,t){A.x=n.x+t.x,A.y=n.y+t.y}const kt=yt(Nt),dt=wt(Nt);function pt(A,n,t){A.x=n.x-t.x,A.y=n.y-t.y}const St=yt(pt),Mt=wt(pt);function Gt(A,n){return Math.sqrt(xt(A,n))}function xt(A,n){const t=A.x-n.x,I=A.y-n.y;return t*t+I*I}function Ft(A,n,t){A.x=n.x*t,A.y=n.y*t}const mt=yt(Ft),Ut=wt(Ft);function Ht(A,n,t){if(0!==t){const I=n/t;A.mult(I)}}function vt(A,n,t){A.x=n.x/t,A.y=n.y/t}const bt=yt(vt),Ot=wt(vt);function Jt(A,n){const t=n.mag();0!==t&&A.set(n).div(t)}const Yt=yt(Jt),Kt=wt(Jt);function Wt(A,n,t,I){const[g,e]=3===arguments.length?[0,t]:[t,I],i=A.set(n).mag();i<g&&A.mag(g),i>e&&A.mag(e)}function qt(A,n,t,I){const[g,e]=3===arguments.length?[0,t]:[t,I],i=Math.max(g,Math.min(e,n.x));A.x=i,A.y=n.y}function Pt(A,n,t,I){const[g,e]=3===arguments.length?[0,t]:[t,I],i=Math.max(g,Math.min(e,n.y));A.x=n.x,A.y=i}const $t=yt(qt),Vt=yt(Pt),jt=yt(Wt),Zt=wt(qt),zt=wt(Pt),Xt=wt(Wt);function AI(A){A.x=Math.random(),A.y=Math.random()}const nI=yt(AI),tI=wt(AI);function II(A,n){return A.x*n.x+A.y*n.y}function gI(A,n){return A.x*n.y-A.y*n.x}function eI(A,n){A.x=-1*n.x,A.y=-1*n.y}function iI(A,n){A.x=-1*n.x,A.y=n.y}function _I(A,n){A.x=n.x,A.y=-1*n.y}const EI=yt(eI),CI=yt(iI),oI=yt(_I),BI=wt(eI),rI=wt(iI),QI=wt(_I);function aI(A,n){const[t,I]=1==arguments.length?[0,A]:[A,n];return this.x>=t&&this.x<=I}function sI(A,n){const[t,I]=1==arguments.length?[0,A]:[A,n];return this.y>=t&&this.y<=I}function lI(){return Math.atan2(this.y,this.x)}function hI(A=0,n=0){Object.defineProperties(this,{x:{value:A,writable:!0},y:{value:n,writable:!0}})}Object.defineProperties(hI.prototype,{set:{value:function(A,n){return A instanceof hI?(this.x=A.x,this.y=A.y,this):(this.x=A,this.y=n,this)}},setX:{value:function(A){return this.x=A,this}},setY:{value:function(A){return this.y=A,this}},add:{value:kt},sub:{value:St},dist:{value:function(A){return Gt(this,A)}},dist2:{value:function(A){return xt(this,A)}},mult:{value:mt},div:{value:bt},mag:{value:function(A){const n=Math.sqrt(this.x*this.x+this.y*this.y);return 0===arguments.length?n:(Ht(this,A,n),this)}},norm:{value:Yt},clamp:{value:jt},clampX:{value:$t},clampY:{value:Vt},random:{value:nI},dot:{value:function(A){return II(this,A)}},cross:{value:function(A){return gI(this,A)}},random:{value:nI},neg:{value:EI},negX:{value:CI},negY:{value:oI},inX:{value:aI},inY:{value:sI},angle:{value:lI},clone:{value:function(){return new hI(this.x,this.y)}}});const cI=Math.PI,uI=2*cI,fI=1e-6,DI=uI-fI;function LI(A){this._+=A[0];for(let n=1,t=A.length;n<t;++n)this._+=arguments[n]+A[n]}class TI{constructor(A){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==A?LI:function(A){let n=Math.floor(A);if(!(n>=0))throw new Error(`invalid digits: ${A}`);if(n>15)return LI;const t=10**n;return function(A){this._+=A[0];for(let n=1,I=A.length;n<I;++n)this._+=Math.round(arguments[n]*t)/t+A[n]}}(A)}moveTo(A,n){this._append`M${this._x0=this._x1=+A},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(A,n){this._append`L${this._x1=+A},${this._y1=+n}`}quadraticCurveTo(A,n,t,I){this._append`Q${+A},${+n},${this._x1=+t},${this._y1=+I}`}bezierCurveTo(A,n,t,I,g,e){this._append`C${+A},${+n},${+t},${+I},${this._x1=+g},${this._y1=+e}`}arcTo(A,n,t,I,g){if(A=+A,n=+n,t=+t,I=+I,(g=+g)<0)throw new Error(`negative radius: ${g}`);let e=this._x1,i=this._y1,_=t-A,E=I-n,C=e-A,o=i-n,B=C*C+o*o;if(null===this._x1)this._append`M${this._x1=A},${this._y1=n}`;else if(B>fI)if(Math.abs(o*_-E*C)>fI&&g){let r=t-e,Q=I-i,a=_*_+E*E,s=r*r+Q*Q,l=Math.sqrt(a),h=Math.sqrt(B),c=g*Math.tan((cI-Math.acos((a+B-s)/(2*l*h)))/2),u=c/h,f=c/l;Math.abs(u-1)>fI&&this._append`L${A+u*C},${n+u*o}`,this._append`A${g},${g},0,0,${+(o*r>C*Q)},${this._x1=A+f*_},${this._y1=n+f*E}`}else this._append`L${this._x1=A},${this._y1=n}`;else;}arc(A,n,t,I,g,e){if(A=+A,n=+n,e=!!e,(t=+t)<0)throw new Error(`negative radius: ${t}`);let i=t*Math.cos(I),_=t*Math.sin(I),E=A+i,C=n+_,o=1^e,B=e?I-g:g-I;null===this._x1?this._append`M${E},${C}`:(Math.abs(this._x1-E)>fI||Math.abs(this._y1-C)>fI)&&this._append`L${E},${C}`,t&&(B<0&&(B=B%uI+uI),B>DI?this._append`A${t},${t},0,1,${o},${A-i},${n-_}A${t},${t},0,1,${o},${this._x1=E},${this._y1=C}`:B>fI&&this._append`A${t},${t},0,${+(B>=cI)},${o},${this._x1=A+t*Math.cos(g)},${this._y1=n+t*Math.sin(g)}`)}rect(A,n,t,I){this._append`M${this._x0=this._x1=+A},${this._y0=this._y1=+n}h${t=+t}v${+I}h${-t}Z`}toString(){return this._}}function RI(A){let n=[A[0]];for(let t=1,I=A.length;t<I;t++){n.push(arguments[t]);const I=A[t];if(","!==I&&""!==I)if(I.startsWith(",")){const A=I.split(",").filter((A=>""!==A)).map((A=>+A));n.push(...A)}else this._.push(n),n=[I]}this._.push(n)}class wI extends TI{constructor(){super(),this._=[],this._append=RI}toArray(){return this._}}A.TWO_PI=Rt,A.app=function(A){return new dA(A)},A.canvas=kA,A.cfb=function(A,n,t){return{ch:A,fg:n,bg:t}},A.circle=SA,A.clamp=function(A,n,t){return Math.max(Math.min(t,A),n)},A.clear=xA,A.constant=function(A){return{constant:!0,value:A}},A.cross=function(...A){const n=[],t=A.map((A=>A.length)),I=A.length-1,g=new Array(I+1).fill(0);for(;;){n.push(g.map(((n,t)=>A[t][n])));let e=I;for(;++g[e]===t[e];){if(0===e)return n;g[e--]=0}}},A.derive=function(A,n,t){const I=n.length,g=new Array(I),e=(n,I,g)=>{const e="object"==typeof n?{...n}:{};for(const[i,_]of Object.entries(t))e[i]="function"==typeof _?_.call(A,n,I,g):_;return e};for(let t=0;t<I;t++)g[t]=n[t].map(((n,t,I)=>e.call(A,n,t,I)));return g},A.each=function(A,n,t){const I=n.length;for(let g=0;g<I;g++){const I=n[g];for(let n=0;n<I.length;n++){const g=I[n];t.call(A,g,n,I,A)}}return n},A.eachRight=function(A,n,t){const I=n.length;for(let g=0;g<I;g++){const I=n[g];for(let n=I.length-1;n>=0;n--){const g=I[n];t.call(A,g,n,I,A)}}return n},A.extent=function(A,n=(A=>A)){return[Math.min(...A.map(n)),Math.max(...A.map(n))]},A.figlet=function(A){return{type:"figlet",text:A}},A.filter=function(A,n,t){const I=n.length,g=new Array(I);for(let e=0;e<I;e++){const I=g[e]=[],i=n[e],_=i.length;for(let n=0;n<_;n++){const g=i[n];t.call(A,g,n,i)&&I.push(g)}}return g},A.fontGhost=_t,A.fontStandard=It,A.glsl=function(A,...n){return{preserve:!0,strings:A,params:n}},A.gradientRainBowX=ct,A.gradientSineBowX=ut,A.group=mA,A.hsl=function(A,n,t){return`hsl(${A|=0}, ${n|=0}%, ${t|=0}%)`},A.line=HA,A.link=GA,A.map=function(A,n,t){const I=n.length,g=new Array(I);for(let e=0;e<I;e++)g[e]=n[e].map(((n,I,g)=>t.call(A,n,I,g)));return g},A.mapAttrs=zA,A.mapPosition=function(A,n,{scaleX:t,scaleY:I,domainX:g,domainY:e,reverseY:i=!1,reverseX:_=!1,padding:E=0,keysX:C=["x","x1"],keysY:o=["y","y1"]}={}){const B=A.app(),r=B.prop("width"),Q=B.prop("height"),a=[E,r-E],s=[E,Q-E];_&&a.reverse(),i&&s.reverse();const l=C.map((A=>[A,{domain:g,range:a,scale:t}])),h=o.map((A=>[A,{domain:e,range:s,scale:I}]));return zA(0,n,Object.fromEntries([...l,...h]))},A.path=OA,A.pathContext=function(){return new wI},A.point=bA,A.polygon=vA,A.push=function(A,n,t){const I=n.length,g="function"==typeof t?t:()=>t;for(let t=0;t<I;t++){const I=n[t],e=g.call(A,I,t,n,A);I.push(e)}return n},A.random=ft,A.randomChar=function(){const A=ft(32,127);return String.fromCharCode(A)},A.randomInt=function(A,n){return[A=0,n=1]=1===arguments.length?[0,A]:[A,n],A=Math.floor(A),n=Math.floor(n)-A,Math.floor(Math.random()*n+A)},A.randomNoise=function(A=0,n=1,{octaves:t=4,seed:I=ft(1e5),falloff:g=.5}={}){const e=qA([0,1],[A,n]),i=Tt(I);return(A=0,n=0,I=0)=>e(((A,n=0,I=0)=>{A<0&&(A=-A),n<0&&(n=-n),I<0&&(I=-I);let e,_,E,C,o,B=Math.floor(A),r=Math.floor(n),Q=Math.floor(I),a=A-B,s=n-r,l=I-Q,h=0,c=.5;for(let A=0;A<t;A++){let A=B+(r<<4)+(Q<<8);e=Lt(a),_=Lt(s),E=i[A&Dt],E+=e*(i[A+1&Dt]-E),C=i[A+16&Dt],C+=e*(i[A+16+1&Dt]-C),E+=_*(C-E),A+=256,C=i[A&Dt],C+=e*(i[A+1&Dt]-C),o=i[A+16&Dt],o+=e*(i[A+16+1&Dt]-o),C+=_*(o-C),E+=Lt(l)*(C-E),h+=E*c,c*=g,B<<=1,a*=2,r<<=1,s*=2,Q<<=1,l*=2,a>=1&&(B++,a--),s>=1&&(r++,s--),l>=1&&(Q++,l--)}return h})(A,n,I))},A.randomNormal=function(A=0,n=1){let t=null,I=null;return()=>{let g;if(null!==t)g=t,t=null;else do{t=2*Math.random()-1,g=2*Math.random()-1,I=t*t+g*g}while(!I||I>1);return A+n*g*Math.sqrt(-2*Math.log(I)/I)}},A.range=rn,A.rect=FA,A.rgb=function(A,n,t){return A|=0,n|=0,t|=0,1===arguments.length?`rgb(${A}, ${A}, ${A})`:`rgb(${A}, ${n}, ${t})`},A.scaleLinear=qA,A.scaleLog=function(A,n,t={}){return KA(A,n,{...t,transform:$A})},A.scaleOrdinal=VA,A.scaleSqrt=function(A,n,t={}){return KA(A,n,{...t,transform:PA})},A.terminal=async function(){const A=await yn(await Nn()),{memory:n}=A;return new it(n)},A.text=JA,A.triangle=UA,A.vec=function(...A){return new hI(...A)},A.vecAdd=dt,A.vecAngle=function(A){return lI.call(A)},A.vecClamp=Xt,A.vecClampX=Zt,A.vecClampY=zt,A.vecCross=gI,A.vecDist=Gt,A.vecDist2=xt,A.vecDiv=Ot,A.vecDot=II,A.vecFromAngle=function(A){return new hI(Math.cos(A),Math.sin(A))},A.vecInX=function(...A){return aI.call(...A)},A.vecInY=function(...A){return sI.call(...A)},A.vecMag=function(A,n){const t=Math.sqrt(A.x*A.x+A.y*A.y);if(1===arguments.length)return t;const I=(new hI).set(A);return Ht(I,n,t),I},A.vecMult=Ut,A.vecNeg=BI,A.vecNegX=rI,A.vecNegY=QI,A.vecNorm=Kt,A.vecRandom=tI,A.vecSub=Mt,A.wch=function(A){return[A.codePointAt(0)+4026531840,un]},A.webgl=function(A){return new sn}}));