UNPKG

chafa-wasm

Version:

Chafa WebAssembly module to convert images to text

88 lines (87 loc) 39.3 kB
/// <reference types="./chafa.d.ts" /> // @ts-nocheck async function Chafa(moduleArg={}){var moduleRtn;var b=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,ca=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;if(ca){const {createRequire:a}=await import("node:module");var require=a(import.meta.url)}var da="./this.program",ea=(a,c)=>{throw c;},fa=import.meta.url,ha="",ia,t; if(ca){var fs=require("node:fs");fa.startsWith("file:")&&(ha=require("node:path").dirname(require("node:url").fileURLToPath(fa))+"/");t=a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a)};ia=async a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ea=(a,c)=>{process.exitCode=a;throw c;}}else if(aa||ba){try{ha=(new URL(".",fa)).href}catch{}ba&&(t=a=>{var c=new XMLHttpRequest;c.open("GET",a,!1);c.responseType= "arraybuffer";c.send(null);return new Uint8Array(c.response)});ia=async a=>{a=await fetch(a,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+" : "+a.url);}}var ka=console.log.bind(console),v=console.error.bind(console),la=!1,ja=a=>a.startsWith("file://"),ma,na,w,x,y,z,A,B,C,D,E,oa,pa=!1; function qa(){var a=F.buffer;w=new Int8Array(a);y=new Int16Array(a);b.HEAPU8=x=new Uint8Array(a);z=new Uint16Array(a);A=new Int32Array(a);B=new Uint32Array(a);C=new Float32Array(a);D=new Float64Array(a);E=new BigInt64Array(a);oa=new BigUint64Array(a)}function G(a){a="Aborted("+a+")";v(a);la=!0;a+=". Build with -sASSERTIONS for more info.";pa&&ra();a=new WebAssembly.RuntimeError(a);na?.(a);throw a;}var sa; async function ta(a){try{var c=await ia(a);return new Uint8Array(c)}catch{}if(t)a=t(a);else throw"both async and sync fetching of the wasm failed";return a}async function ua(a,c){try{var e=await ta(a);return await WebAssembly.instantiate(e,c)}catch(d){v(`failed to asynchronously prepare wasm: ${d}`),G(d)}} async function va(a){var c=sa;if(!ca)try{var e=fetch(c,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(e,a)}catch(d){v(`wasm streaming compile failed: ${d}`),v("falling back to ArrayBuffer instantiation")}return ua(c,a)}class wa{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}} var xa=globalThis.TextDecoder&&new TextDecoder,ya=(a,c,e,d)=>{e=c+e;if(d)return e;for(;a[c]&&!(c>=e);)++c;return c},H=(a,c=0,e,d)=>{e=ya(a,c,e,d);if(16<e-c&&a.buffer&&xa)return xa.decode(a.subarray(c,e));for(d="";c<e;){var f=a[c++];if(f&128){var g=a[c++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var k=a[c++]&63;f=224==(f&240)?(f&15)<<12|g<<6|k:(f&7)<<18|g<<12|k<<6|a[c++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}, za=(a,c,e)=>a?H(x,a,c,e):"",Aa=[],Ca=a=>{var c=Aa[a];c||(Aa[a]=c=Ba.get(a));return c},I={},Da=a=>{for(;a.length;){var c=a.pop();a.pop()(c)}};function J(a){return this.Bf(B[a>>2])} var M={},N={},O={},Ea=class extends Error{constructor(a){super(a);this.name="InternalError"}},Fa=(a,c,e)=>{function d(h){h=e(h);if(h.length!==a.length)throw new Ea("Mismatched type converter count");for(var l=0;l<a.length;++l)P(a[l],h[l])}a.forEach(h=>O[h]=c);var f=Array(c.length),g=[],k=0;for(let [h,l]of c.entries())N.hasOwnProperty(l)?f[h]=N[l]:(g.push(l),M.hasOwnProperty(l)||(M[l]=[]),M[l].push(()=>{f[h]=N[l];++k;k===g.length&&d(f)}));0===g.length&&d(f)},Q=a=>{for(var c="";;){var e=x[a++];if(!e)return c; c+=String.fromCharCode(e)}},R=class extends Error{constructor(a){super(a);this.name="BindingError"}};function Ga(a,c,e={}){var d=c.name;if(!a)throw new R(`type "${d}" must have a positive integer typeid pointer`);if(N.hasOwnProperty(a)){if(e.Rf)return;throw new R(`Cannot register type '${d}' twice`);}N[a]=c;delete O[a];M.hasOwnProperty(a)&&(c=M[a],delete M[a],c.forEach(f=>f()))}function P(a,c,e={}){return Ga(a,c,e)} var Ha=(a,c,e)=>{switch(c){case 1:return e?d=>w[d]:d=>x[d];case 2:return e?d=>y[d>>1]:d=>z[d>>1];case 4:return e?d=>A[d>>2]:d=>B[d>>2];case 8:return e?d=>E[d>>3]:d=>oa[d>>3];default:throw new TypeError(`invalid integer width (${c}): ${a}`);}},Ia=[],S=[0,1,,1,null,1,!0,1,!1,1],Ja=a=>{9<a&&0===--S[a+1]&&(S[a]=void 0,Ia.push(a))},T=a=>{if(!a)throw new R(`Cannot use deleted val. handle = ${a}`);return S[a]},U=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const c= Ia.pop()||S.length;S[c]=a;S[c+1]=1;return c}},Ka={name:"emscripten::val",Bf:a=>{var c=T(a);Ja(a);return c},Cf:(a,c)=>U(c),Ef:J,Df:null},La=(a,c)=>{if(void 0===b[a].Ff){var e=b[a];b[a]=function(...d){if(!b[a].Ff.hasOwnProperty(d.length))throw new R(`Function '${c}' called with an invalid number of arguments (${d.length}) - expects one of (${b[a].Ff})!`);return b[a].Ff[d.length].apply(this,d)};b[a].Ff=[];b[a].Ff[e.If]=e}},V=(a,c,e)=>{if(b.hasOwnProperty(a)){if(void 0===e||void 0!==b[a].Ff&&void 0!== b[a].Ff[e])throw new R(`Cannot register public name '${a}' twice`);La(a,a);if(b[a].Ff.hasOwnProperty(e))throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${e})!`);b[a].Ff[e]=c}else b[a]=c,b[a].If=e},Ma=(a,c,e)=>{switch(c){case 1:return e?function(d){return this.Bf(w[d])}:function(d){return this.Bf(x[d])};case 2:return e?function(d){return this.Bf(y[d>>1])}:function(d){return this.Bf(z[d>>1])};case 4:return e?function(d){return this.Bf(A[d>>2])}:function(d){return this.Bf(B[d>> 2])};default:throw new TypeError(`invalid integer width (${c}): ${a}`);}},Na=(a,c)=>Object.defineProperty(c,"name",{value:a}),Pa=a=>{a=Oa(a);var c=Q(a);W(a);return c},Qa=(a,c)=>{var e=N[a];if(void 0===e)throw a=`${c} has unknown type ${Pa(a)}`,new R(a);return e},Ra=(a,c)=>{switch(c){case 4:return function(e){return this.Bf(C[e>>2])};case 8:return function(e){return this.Bf(D[e>>3])};default:throw new TypeError(`invalid float width (${c}): ${a}`);}}; function Sa(a){for(var c=1;c<a.length;++c)if(null!==a[c]&&void 0===a[c].Df)return!0;return!1} function Ta(a,c,e,d){var f=c.length;if(2>f)throw new R("argTypes array size mismatch! Must at least get return value and 'this' types!");var g=null!==c[1]&&!1,k=Sa(c),h=!c[0].Sf,l=f-2,m=Array(l),p=[],q=[];return Na(a,function(...n){q.length=0;p.length=g?2:1;p[0]=d;if(g){var u=c[1].Cf(q,this);p[1]=u}for(var r=0;r<l;++r)m[r]=c[r+2].Cf(q,n[r]),p.push(m[r]);n=e(...p);if(k)Da(q);else for(r=g?1:2;r<c.length;r++){var K=1===r?u:m[r-2];null!==c[r].Df&&c[r].Df(K)}u=h?c[0].Bf(n):void 0;return u})} var Ua=(a,c)=>{for(var e=[],d=0;d<a;d++)e.push(B[c+4*d>>2]);return e},X=(a,c)=>{a=Q(a);var e=Ca(c);if("function"!=typeof e)throw new R(`unknown function pointer with signature ${a}: ${c}`);return e};class Wa extends Error{} var Xa=(a,c)=>{function e(g){f[g]||N[g]||(O[g]?O[g].forEach(e):(d.push(g),f[g]=!0))}var d=[],f={};c.forEach(e);throw new Wa(`${a}: `+d.map(Pa).join([", "]));},Ya=a=>{a=a.trim();const c=a.indexOf("(");return-1===c?a:a.slice(0,c)},Y=(a,c,e)=>{var d=x;if(!(0<e))return 0;var f=c;e=c+e-1;for(var g=0;g<a.length;++g){var k=a.codePointAt(g);if(127>=k){if(c>=e)break;d[c++]=k}else if(2047>=k){if(c+1>=e)break;d[c++]=192|k>>6;d[c++]=128|k&63}else if(65535>=k){if(c+2>=e)break;d[c++]=224|k>>12;d[c++]=128|k>>6& 63;d[c++]=128|k&63}else{if(c+3>=e)break;d[c++]=240|k>>18;d[c++]=128|k>>12&63;d[c++]=128|k>>6&63;d[c++]=128|k&63;g++}}d[c]=0;return c-f},Z=a=>{for(var c=0,e=0;e<a.length;++e){var d=a.charCodeAt(e);127>=d?c++:2047>=d?c+=2:55296<=d&&57343>=d?(c+=4,++e):c+=3}return c},Za=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,$a=(a,c,e)=>{a>>=1;c=ya(z,a,c/2,e);if(16<c-a&&Za)return Za.decode(z.subarray(a,c));for(e="";a<c;++a)e+=String.fromCharCode(z[a]);return e},ab=(a,c,e)=>{e??=2147483647;if(2>e)return 0; e-=2;var d=c;e=e<2*a.length?e/2:a.length;for(var f=0;f<e;++f)y[c>>1]=a.charCodeAt(f),c+=2;y[c>>1]=0;return c-d},bb=a=>2*a.length,cb=(a,c,e)=>{var d="";a>>=2;for(var f=0;!(f>=c/4);f++){var g=B[a+f];if(!g&&!e)break;d+=String.fromCodePoint(g)}return d},db=(a,c,e)=>{e??=2147483647;if(4>e)return 0;var d=c;e=d+e-4;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);65535<g&&f++;A[c>>2]=g;c+=4;if(c+4>e)break}A[c>>2]=0;return c-d},eb=a=>{for(var c=0,e=0;e<a.length;++e)65535<a.codePointAt(e)&&e++,c+=4;return c}, fb=[],gb=a=>{var c=fb.length;fb.push(a);return c},hb=(a,c)=>{for(var e=Array(a),d=0;d<a;++d)e[d]=Qa(B[c+4*d>>2],`parameter ${d}`);return e},ib={},jb=a=>{var c=ib[a];return void 0===c?Q(a):c},kb=[0,31,60,91,121,152,182,213,244,274,305,335],lb=[0,31,59,90,120,151,181,212,243,273,304,334],mb={},ob=()=>{if(!nb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:da||"./this.program"},c;for(c in mb)void 0=== mb[c]?delete a[c]:a[c]=mb[c];var e=[];for(c in a)e.push(`${c}=${a[c]}`);nb=e}return nb},nb,pb=[null,[],[]],tb=(a,c,e,d)=>{var f={string:m=>{var p=0;if(null!==m&&void 0!==m&&0!==m){p=Z(m)+1;var q=qb(p);Y(m,q,p);p=q}return p},array:m=>{var p=qb(m.length);w.set(m,p);return p}};a=b["_"+a];var g=[],k=0;if(d)for(var h=0;h<d.length;h++){var l=f[e[h]];l?(0===k&&(k=rb()),g[h]=l(d[h])):g[h]=d[h]}e=a(...g);return e=function(m){0!==k&&sb(k);return"string"===c?m?H(x,m):"":"boolean"===c?!!m:m}(e)};b.ccall=tb; b.cwrap=(a,c,e,d)=>{var f=!e||e.every(g=>"number"===g||"boolean"===g);return"string"!==c&&f&&!d?b["_"+a]:(...g)=>tb(a,c,e,g,d)};b.setValue=function(a,c,e="i8"){e.endsWith("*")&&(e="*");switch(e){case "i1":w[a]=c;break;case "i8":w[a]=c;break;case "i16":y[a>>1]=c;break;case "i32":A[a>>2]=c;break;case "i64":E[a>>3]=BigInt(c);break;case "float":C[a>>2]=c;break;case "double":D[a>>3]=c;break;case "*":B[a>>2]=c;break;default:G(`invalid type for setValue: ${e}`)}}; b.getValue=function(a,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":return w[a];case "i8":return w[a];case "i16":return y[a>>1];case "i32":return A[a>>2];case "i64":return E[a>>3];case "float":return C[a>>2];case "double":return D[a>>3];case "*":return B[a>>2];default:G(`invalid type for getValue: ${c}`)}};b.UTF8ToString=za;b.stringToUTF8=(a,c,e)=>Y(a,c,e);b.lengthBytesUTF8=Z; var Oa,ub,W,ra,sb,qb,rb,F,Ba,vb={w:(a,c,e,d)=>G(`Assertion failed: ${a?H(x,a):""}, at: `+[c?c?H(x,c):"":"unknown filename",e,d?d?H(x,d):"":"unknown function"]),x:(a,c)=>Ca(a)(c),r:function(){return 0},G:()=>{},N:function(){return 0},F:()=>{},m:function(){},O:()=>G(""),o:a=>{var c=I[a];delete I[a];var e=c.Tf,d=c.Uf,f=c.Kf,g=f.map(k=>k.Qf).concat(f.map(k=>k.Wf));Fa([a],g,k=>{var h={},l,m;for([l,m]of f.entries()){const p=k[l],q=m.Of,n=m.Pf,u=k[l+f.length],r=m.Vf,K=m.Xf;h[m.Nf]={read:L=>p.Bf(q(n,L)), write:(L,xb)=>{var Va=[];r(K,L,u.Cf(Va,xb));Da(Va)},optional:p.optional}}return[{name:c.name,Bf:p=>{var q={},n;for(n in h)q[n]=h[n].read(p);d(p);return q},Cf:(p,q)=>{for(var n in h)if(!(n in q||h[n].optional))throw new TypeError(`Missing field: "${n}"`);var u=e();for(n in h)h[n].write(u,q[n]);null!==p&&p.push(d,u);return u},Ef:J,Df:d}]})},t:(a,c,e,d,f)=>{c=Q(c);d=0n===d;let g=k=>k;if(d){const k=8*e;g=h=>BigInt.asUintN(k,h);f=g(f)}P(a,{name:c,Bf:g,Cf:(k,h)=>{"number"==typeof h&&(h=BigInt(h));return h}, Ef:Ha(c,e,!d),Df:null})},S:(a,c,e,d)=>{c=Q(c);P(a,{name:c,Bf:function(f){return!!f},Cf:function(f,g){return g?e:d},Ef:function(f){return this.Bf(x[f])},Df:null})},Q:a=>P(a,Ka),c:(a,c,e,d,f)=>{c=Q(c);f=0===f?"object":1===f?"number":"string";switch(f){case "object":function k(){}k.values={};P(a,{name:c,constructor:k,valueType:f,Bf:function(h){return this.constructor.values[h]},Cf:(h,l)=>l.value,Ef:Ma(c,e,d),Df:null});V(c,k);break;case "number":var g={};P(a,{name:c,Jf:g,valueType:f,Bf:h=>h,Cf:(h,l)=> l,Ef:Ma(c,e,d),Df:null});V(c,g);delete b[c].If;break;case "string":g={},P(a,{name:c,Mf:{},Lf:{},Jf:g,valueType:f,Bf:function(h){return this.Lf[h]},Cf:function(h,l){return this.Mf[l]},Ef:Ma(c,e,d),Df:null}),V(c,g),delete b[c].If}},a:(a,c,e)=>{var d=Qa(a,"enum");c=Q(c);switch(d.valueType){case "object":a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:e},constructor:{value:Na(`${d.name}_${c}`,function(){})}});a.values[e]=d;a[c]=d;break;case "number":d.Jf[c]=e;break;case "string":d.Mf[c]= e,d.Lf[e]=c,d.Jf[c]=c}},s:(a,c,e)=>{c=Q(c);P(a,{name:c,Bf:d=>d,Cf:(d,f)=>f,Ef:Ra(c,e),Df:null})},i:(a,c,e,d,f,g)=>{var k=Ua(c,e);a=Q(a);a=Ya(a);f=X(d,f);V(a,function(){Xa(`Cannot call ${a} due to unbound types`,k)},c-1);Fa([],k,h=>{var l=[h[0],null].concat(h.slice(1));h=a;l=Ta(a,l,f,g);var m=c-1;if(!b.hasOwnProperty(h))throw new Ea("Replacing nonexistent public symbol");void 0!==b[h].Ff&&void 0!==m?b[h].Ff[m]=l:(b[h]=l,b[h].If=m);return[]})},d:(a,c,e,d,f)=>{c=Q(c);let g=h=>h;if(0===d){var k=32-8* e;g=h=>h<<k>>>k;f=g(f)}P(a,{name:c,Bf:g,Cf:(h,l)=>l,Ef:Ha(c,e,0!==d),Df:null})},b:(a,c,e)=>{function d(g){return new f(w.buffer,B[g+4>>2],B[g>>2])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][c];e=Q(e);P(a,{name:e,Bf:d,Ef:d},{Rf:!0})},R:(a,c)=>{c=Q(c);P(a,{name:c,Bf(e){var d=za(e+4,B[e>>2],!0);W(e);return d},Cf(e,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var f="string"==typeof d;if(!(f||ArrayBuffer.isView(d)&& 1==d.BYTES_PER_ELEMENT))throw new R("Cannot pass non-string to std::string");var g=f?Z(d):d.length;var k=ub(4+g+1),h=k+4;B[k>>2]=g;f?Y(d,h,g+1):x.set(d,h);null!==e&&e.push(W,k);return k},Ef:J,Df(e){W(e)}})},n:(a,c,e)=>{e=Q(e);if(2===c){var d=$a;var f=ab;var g=bb}else d=cb,f=db,g=eb;P(a,{name:e,Bf:k=>{var h=d(k+4,B[k>>2]*c,!0);W(k);return h},Cf:(k,h)=>{if("string"!=typeof h)throw new R(`Cannot pass non-string to C++ string type ${e}`);var l=g(h),m=ub(4+l+c);B[m>>2]=l/c;f(h,m+4,l+c);null!==k&&k.push(W, m);return m},Ef:J,Df(k){W(k)}})},v:(a,c,e,d,f,g)=>{I[a]={name:Q(c),Tf:X(e,d),Uf:X(f,g),Kf:[]}},k:(a,c,e,d,f,g,k,h,l,m)=>{I[a].Kf.push({Nf:Q(c),Qf:e,Of:X(d,f),Pf:g,Wf:k,Vf:X(h,l),Xf:m})},T:(a,c)=>{c=Q(c);P(a,{Sf:!0,name:c,Bf:()=>{},Cf:()=>{}})},y:()=>{},h:(a,c,e)=>{var [d,...f]=hb(a,c),g=d.Cf.bind(d),k=f.map(l=>l.Ef.bind(l));a--;var h=Array(a);c=`methodCaller<(${f.map(l=>l.name)}) => ${d.name}>`;return gb(Na(c,(l,m,p,q)=>{for(var n=0,u=0;u<a;++u)h[u]=k[u](q+n),n+=8;switch(e){case 0:var r=T(l).apply(null, h);break;case 2:r=Reflect.construct(T(l),h);break;case 3:r=h[0];break;case 1:r=T(l)[jb(m)](...h)}l=[];r=g(l,r);l.length&&(B[p>>2]=U(l));return r}))},e:Ja,U:a=>{if(!a)return U(globalThis);a=jb(a);return U(globalThis[a])},u:a=>{9<a&&(S[a+1]+=1)},g:(a,c,e,d,f)=>fb[a](c,e,d,f),f:a=>{var c=T(a);Da(c);Ja(a)},A:function(a,c){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1E3*a);A[c>>2]=a.getSeconds();A[c+4>>2]=a.getMinutes();A[c+8>>2]=a.getHours();A[c+12>>2]=a.getDate();A[c+16>>2]=a.getMonth(); A[c+20>>2]=a.getFullYear()-1900;A[c+24>>2]=a.getDay();var e=a.getFullYear();A[c+28>>2]=(0!==e%4||0===e%100&&0!==e%400?lb:kb)[a.getMonth()]+a.getDate()-1|0;A[c+36>>2]=-(60*a.getTimezoneOffset());e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();A[c+32>>2]=(e!=d&&a.getTimezoneOffset()==Math.min(d,e))|0},D:function(){return-52},E:function(){},J:(a,c,e,d)=>{var f=(new Date).getFullYear(),g=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f, 6,1)).getTimezoneOffset();B[a>>2]=60*Math.max(g,f);A[c>>2]=Number(g!=f);c=k=>{var h=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(h/60)).padStart(2,"0")}${String(h%60).padStart(2,"0")}`};a=c(g);c=c(f);f<g?(Y(a,e,17),Y(c,d,17)):(Y(a,d,17),Y(c,e,17))},B:function(a,c,e){if(!(0<=a&&3>=a))return 28;E[e>>3]=BigInt(Math.round(1E6*(0===a?Date.now():performance.now())));return 0},C:()=>Date.now(),p:()=>performance.now(),H:a=>{var c=x.length;a>>>=0;if(2147483648<a)return!1;for(var e=1;4>=e;e*=2){var d= c*(1+.2/e);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-F.buffer.byteLength+65535)/65536|0;try{F.grow(d);qa();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},L:(a,c)=>{var e=0,d=0,f;for(f of ob()){var g=c+e;B[a+d>>2]=g;e+=Y(f,g,Infinity)+1;d+=4}return 0},M:(a,c)=>{var e=ob();B[a>>2]=e.length;a=0;for(var d of e)a+=Z(d)+1;B[c>>2]=a;return 0},P:a=>{ea(a,new wa(a))},j:()=>52,I:(a,c)=>{var e=0;if(0==a)e=2;else if(1==a||2==a)e=64;w[c]=2;y[c+2>>1]= 1;E[c+8>>3]=BigInt(e);E[c+16>>3]=BigInt(0);return 0},q:()=>52,K:function(){return 70},l:(a,c,e,d)=>{for(var f=0,g=0;g<e;g++){var k=B[c>>2],h=B[c+4>>2];c+=8;for(var l=0;l<h;l++){var m=a,p=x[k+l],q=pb[m];0===p||10===p?((1===m?ka:v)(H(q)),q.length=0):q.push(p)}f+=h}B[d>>2]=f;return 0},z:a=>{ea(a,new wa(a))}},wb; wb=await (async function(){var a={a:vb};sa??=b.locateFile?ha+"chafa.wasm":(new URL("chafa.wasm",import.meta.url)).href;a=wb=(await va(a)).instance.exports;Oa=a.Y;b._chafa_canvas_new=a.Z;b._chafa_canvas_new_similar=a._;b._chafa_canvas_ref=a.$;b._chafa_canvas_unref=a.aa;b._chafa_canvas_peek_config=a.ba;b._chafa_canvas_set_placement=a.ca;b._chafa_canvas_draw_all_pixels=a.da;b._chafa_canvas_set_contents_rgba8=a.ea;b._chafa_canvas_build_ansi=a.fa;b._chafa_canvas_print=a.ga;b._chafa_canvas_print_rows= a.ha;b._chafa_canvas_print_rows_strv=a.ia;b._chafa_canvas_get_char_at=a.ja;b._chafa_canvas_set_char_at=a.ka;b._chafa_canvas_get_colors_at=a.la;b._chafa_canvas_set_colors_at=a.ma;b._chafa_canvas_get_raw_colors_at=a.na;b._chafa_canvas_set_raw_colors_at=a.oa;b._chafa_canvas_config_new=a.pa;b._chafa_canvas_config_copy=a.qa;b._chafa_canvas_config_ref=a.ra;b._chafa_canvas_config_unref=a.sa;b._chafa_canvas_config_get_geometry=a.ta;b._chafa_canvas_config_set_geometry=a.ua;b._chafa_canvas_config_get_cell_geometry= a.va;b._chafa_canvas_config_set_cell_geometry=a.wa;b._chafa_canvas_config_get_canvas_mode=a.xa;b._chafa_canvas_config_set_canvas_mode=a.ya;b._chafa_canvas_config_get_color_extractor=a.za;b._chafa_canvas_config_set_color_extractor=a.Aa;b._chafa_canvas_config_get_color_space=a.Ba;b._chafa_canvas_config_set_color_space=a.Ca;b._chafa_canvas_config_peek_symbol_map=a.Da;b._chafa_canvas_config_set_symbol_map=a.Ea;b._chafa_canvas_config_peek_fill_symbol_map=a.Fa;b._chafa_canvas_config_set_fill_symbol_map= a.Ga;b._chafa_canvas_config_get_transparency_threshold=a.Ha;b._chafa_canvas_config_set_transparency_threshold=a.Ia;b._chafa_canvas_config_get_fg_color=a.Ja;b._chafa_canvas_config_set_fg_color=a.Ka;b._chafa_canvas_config_get_bg_color=a.La;b._chafa_canvas_config_set_bg_color=a.Ma;b._chafa_canvas_config_get_work_factor=a.Na;b._chafa_canvas_config_set_work_factor=a.Oa;b._chafa_canvas_config_get_preprocessing_enabled=a.Pa;b._chafa_canvas_config_set_preprocessing_enabled=a.Qa;b._chafa_canvas_config_get_dither_mode= a.Ra;b._chafa_canvas_config_set_dither_mode=a.Sa;b._chafa_canvas_config_get_dither_grain_size=a.Ta;b._chafa_canvas_config_set_dither_grain_size=a.Ua;b._chafa_canvas_config_get_dither_intensity=a.Va;b._chafa_canvas_config_set_dither_intensity=a.Wa;b._chafa_canvas_config_get_pixel_mode=a.Xa;b._chafa_canvas_config_set_pixel_mode=a.Ya;b._chafa_canvas_config_get_optimizations=a.Za;b._chafa_canvas_config_set_optimizations=a._a;b._chafa_canvas_config_get_fg_only_enabled=a.$a;b._chafa_canvas_config_set_fg_only_enabled= a.ab;b._chafa_canvas_config_get_passthrough=a.bb;b._chafa_canvas_config_set_passthrough=a.cb;b._chafa_get_builtin_features=a.db;b._chafa_get_supported_features=a.eb;b._chafa_describe_features=a.fb;b._chafa_get_n_threads=a.gb;b._chafa_set_n_threads=a.hb;b._chafa_get_n_actual_threads=a.ib;b._chafa_frame_new=a.jb;b._chafa_frame_new_steal=a.kb;b._chafa_frame_new_borrow=a.lb;b._chafa_frame_ref=a.mb;b._chafa_frame_unref=a.nb;b._chafa_image_new=a.ob;b._chafa_image_ref=a.pb;b._chafa_image_unref=a.qb;b._chafa_image_set_frame= a.rb;b._chafa_placement_new=a.sb;b._chafa_placement_ref=a.tb;b._chafa_placement_unref=a.ub;b._chafa_placement_get_tuck=a.vb;b._chafa_placement_set_tuck=a.wb;b._chafa_placement_get_halign=a.xb;b._chafa_placement_set_halign=a.yb;b._chafa_placement_get_valign=a.zb;b._chafa_placement_set_valign=a.Ab;b._chafa_symbol_map_new=a.Bb;b._chafa_symbol_map_copy=a.Cb;b._chafa_symbol_map_ref=a.Db;b._chafa_symbol_map_unref=a.Eb;b._chafa_symbol_map_add_by_tags=a.Fb;b._chafa_symbol_map_remove_by_tags=a.Gb;b._chafa_symbol_map_add_by_range= a.Hb;b._chafa_symbol_map_remove_by_range=a.Ib;b._chafa_symbol_map_apply_selectors=a.Jb;b._chafa_symbol_map_get_allow_builtin_glyphs=a.Kb;b._chafa_symbol_map_set_allow_builtin_glyphs=a.Lb;b._chafa_symbol_map_add_glyph=a.Mb;b._chafa_symbol_map_get_glyph=a.Nb;b._chafa_term_db_new=a.Ob;b._chafa_term_db_copy=a.Pb;b._chafa_term_db_ref=a.Qb;b._chafa_term_db_unref=a.Rb;b._chafa_term_db_get_default=a.Sb;b._chafa_term_db_detect=a.Tb;b._chafa_term_db_get_fallback_info=a.Ub;b._chafa_term_info_new=a.Vb;b._chafa_term_info_copy= a.Wb;b._chafa_term_info_ref=a.Xb;b._chafa_term_info_unref=a.Yb;b._chafa_term_info_get_name=a.Zb;b._chafa_term_info_set_name=a._b;b._chafa_term_info_is_canvas_mode_supported=a.$b;b._chafa_term_info_have_seq=a.ac;b._chafa_term_info_get_best_canvas_mode=a.bc;b._chafa_term_info_is_pixel_mode_supported=a.cc;b._chafa_term_info_get_passthrough_type=a.dc;b._chafa_term_info_get_best_pixel_mode=a.ec;b._chafa_term_info_get_is_pixel_passthrough_needed=a.fc;b._chafa_term_info_set_is_pixel_passthrough_needed=a.gc; b._chafa_term_info_get_quirks=a.hc;b._chafa_term_info_set_quirks=a.ic;b._chafa_term_info_get_safe_symbol_tags=a.jc;b._chafa_term_info_set_safe_symbol_tags=a.kc;b._chafa_term_info_get_seq=a.lc;b._chafa_term_info_set_seq=a.mc;b._chafa_term_info_emit_seq=a.nc;b._chafa_term_info_emit_seq_valist=a.oc;b._chafa_term_info_parse_seq=a.pc;b._chafa_term_info_parse_seq_varargs=a.qc;b._chafa_term_info_get_inherit_seq=a.rc;b._chafa_term_info_set_inherit_seq=a.sc;b._chafa_term_info_supplement=a.tc;b._chafa_term_info_chain= a.uc;b._chafa_term_info_emit_reset_terminal_soft=a.vc;b._chafa_term_info_emit_reset_terminal_hard=a.wc;b._chafa_term_info_emit_reset_attributes=a.xc;b._chafa_term_info_emit_clear=a.yc;b._chafa_term_info_emit_invert_colors=a.zc;b._chafa_term_info_emit_cursor_to_top_left=a.Ac;b._chafa_term_info_emit_cursor_to_bottom_left=a.Bc;b._chafa_term_info_emit_cursor_to_pos=a.Cc;b._chafa_term_info_emit_cursor_up_1=a.Dc;b._chafa_term_info_emit_cursor_up=a.Ec;b._chafa_term_info_emit_cursor_down_1=a.Fc;b._chafa_term_info_emit_cursor_down= a.Gc;b._chafa_term_info_emit_cursor_left_1=a.Hc;b._chafa_term_info_emit_cursor_left=a.Ic;b._chafa_term_info_emit_cursor_right_1=a.Jc;b._chafa_term_info_emit_cursor_right=a.Kc;b._chafa_term_info_emit_cursor_up_scroll=a.Lc;b._chafa_term_info_emit_cursor_down_scroll=a.Mc;b._chafa_term_info_emit_insert_cells=a.Nc;b._chafa_term_info_emit_delete_cells=a.Oc;b._chafa_term_info_emit_insert_rows=a.Pc;b._chafa_term_info_emit_delete_rows=a.Qc;b._chafa_term_info_emit_set_scrolling_rows=a.Rc;b._chafa_term_info_emit_enable_insert= a.Sc;b._chafa_term_info_emit_disable_insert=a.Tc;b._chafa_term_info_emit_enable_cursor=a.Uc;b._chafa_term_info_emit_disable_cursor=a.Vc;b._chafa_term_info_emit_enable_echo=a.Wc;b._chafa_term_info_emit_disable_echo=a.Xc;b._chafa_term_info_emit_enable_wrap=a.Yc;b._chafa_term_info_emit_disable_wrap=a.Zc;b._chafa_term_info_emit_set_color_fg_direct=a._c;b._chafa_term_info_emit_set_color_bg_direct=a.$c;b._chafa_term_info_emit_set_color_fgbg_direct=a.ad;b._chafa_term_info_emit_set_color_fg_256=a.bd;b._chafa_term_info_emit_set_color_bg_256= a.cd;b._chafa_term_info_emit_set_color_fgbg_256=a.dd;b._chafa_term_info_emit_set_color_fg_16=a.ed;b._chafa_term_info_emit_set_color_bg_16=a.fd;b._chafa_term_info_emit_set_color_fgbg_16=a.gd;b._chafa_term_info_emit_begin_sixels=a.hd;b._chafa_term_info_emit_end_sixels=a.id;b._chafa_term_info_emit_repeat_char=a.jd;b._chafa_term_info_emit_begin_kitty_immediate_image_v1=a.kd;b._chafa_term_info_emit_end_kitty_image=a.ld;b._chafa_term_info_emit_begin_kitty_image_chunk=a.md;b._chafa_term_info_emit_end_kitty_image_chunk= a.nd;b._chafa_term_info_emit_begin_iterm2_image=a.od;b._chafa_term_info_emit_end_iterm2_image=a.pd;b._chafa_term_info_emit_enable_sixel_scrolling=a.qd;b._chafa_term_info_emit_disable_sixel_scrolling=a.rd;b._chafa_term_info_emit_enable_bold=a.sd;b._chafa_term_info_emit_set_color_fg_8=a.td;b._chafa_term_info_emit_set_color_bg_8=a.ud;b._chafa_term_info_emit_set_color_fgbg_8=a.vd;b._chafa_term_info_emit_reset_default_fg=a.wd;b._chafa_term_info_emit_set_default_fg=a.xd;b._chafa_term_info_emit_query_default_fg= a.yd;b._chafa_term_info_emit_reset_default_bg=a.zd;b._chafa_term_info_emit_set_default_bg=a.Ad;b._chafa_term_info_emit_query_default_bg=a.Bd;b._chafa_term_info_emit_return_key=a.Cd;b._chafa_term_info_emit_backspace_key=a.Dd;b._chafa_term_info_emit_tab_key=a.Ed;b._chafa_term_info_emit_tab_shift_key=a.Fd;b._chafa_term_info_emit_up_key=a.Gd;b._chafa_term_info_emit_up_ctrl_key=a.Hd;b._chafa_term_info_emit_up_shift_key=a.Id;b._chafa_term_info_emit_down_key=a.Jd;b._chafa_term_info_emit_down_ctrl_key=a.Kd; b._chafa_term_info_emit_down_shift_key=a.Ld;b._chafa_term_info_emit_left_key=a.Md;b._chafa_term_info_emit_left_ctrl_key=a.Nd;b._chafa_term_info_emit_left_shift_key=a.Od;b._chafa_term_info_emit_right_key=a.Pd;b._chafa_term_info_emit_right_ctrl_key=a.Qd;b._chafa_term_info_emit_right_shift_key=a.Rd;b._chafa_term_info_emit_page_up_key=a.Sd;b._chafa_term_info_emit_page_up_ctrl_key=a.Td;b._chafa_term_info_emit_page_up_shift_key=a.Ud;b._chafa_term_info_emit_page_down_key=a.Vd;b._chafa_term_info_emit_page_down_ctrl_key= a.Wd;b._chafa_term_info_emit_page_down_shift_key=a.Xd;b._chafa_term_info_emit_home_key=a.Yd;b._chafa_term_info_emit_home_ctrl_key=a.Zd;b._chafa_term_info_emit_home_shift_key=a._d;b._chafa_term_info_emit_end_key=a.$d;b._chafa_term_info_emit_end_ctrl_key=a.ae;b._chafa_term_info_emit_end_shift_key=a.be;b._chafa_term_info_emit_insert_key=a.ce;b._chafa_term_info_emit_insert_ctrl_key=a.de;b._chafa_term_info_emit_insert_shift_key=a.ee;b._chafa_term_info_emit_delete_key=a.fe;b._chafa_term_info_emit_delete_ctrl_key= a.ge;b._chafa_term_info_emit_delete_shift_key=a.he;b._chafa_term_info_emit_f1_key=a.ie;b._chafa_term_info_emit_f1_ctrl_key=a.je;b._chafa_term_info_emit_f1_shift_key=a.ke;b._chafa_term_info_emit_f2_key=a.le;b._chafa_term_info_emit_f2_ctrl_key=a.me;b._chafa_term_info_emit_f2_shift_key=a.ne;b._chafa_term_info_emit_f3_key=a.oe;b._chafa_term_info_emit_f3_ctrl_key=a.pe;b._chafa_term_info_emit_f3_shift_key=a.qe;b._chafa_term_info_emit_f4_key=a.re;b._chafa_term_info_emit_f4_ctrl_key=a.se;b._chafa_term_info_emit_f4_shift_key= a.te;b._chafa_term_info_emit_f5_key=a.ue;b._chafa_term_info_emit_f5_ctrl_key=a.ve;b._chafa_term_info_emit_f5_shift_key=a.we;b._chafa_term_info_emit_f6_key=a.xe;b._chafa_term_info_emit_f6_ctrl_key=a.ye;b._chafa_term_info_emit_f6_shift_key=a.ze;b._chafa_term_info_emit_f7_key=a.Ae;b._chafa_term_info_emit_f7_ctrl_key=a.Be;b._chafa_term_info_emit_f7_shift_key=a.Ce;b._chafa_term_info_emit_f8_key=a.De;b._chafa_term_info_emit_f8_ctrl_key=a.Ee;b._chafa_term_info_emit_f8_shift_key=a.Fe;b._chafa_term_info_emit_f9_key= a.Ge;b._chafa_term_info_emit_f9_ctrl_key=a.He;b._chafa_term_info_emit_f9_shift_key=a.Ie;b._chafa_term_info_emit_f10_key=a.Je;b._chafa_term_info_emit_f10_ctrl_key=a.Ke;b._chafa_term_info_emit_f10_shift_key=a.Le;b._chafa_term_info_emit_f11_key=a.Me;b._chafa_term_info_emit_f11_ctrl_key=a.Ne;b._chafa_term_info_emit_f11_shift_key=a.Oe;b._chafa_term_info_emit_f12_key=a.Pe;b._chafa_term_info_emit_f12_ctrl_key=a.Qe;b._chafa_term_info_emit_f12_shift_key=a.Re;b._chafa_term_info_emit_reset_color_fg=a.Se;b._chafa_term_info_emit_reset_color_bg= a.Te;b._chafa_term_info_emit_reset_color_fgbg=a.Ue;b._chafa_term_info_emit_reset_scrolling_rows=a.Ve;b._chafa_term_info_emit_save_cursor_pos=a.We;b._chafa_term_info_emit_restore_cursor_pos=a.Xe;b._chafa_term_info_emit_set_sixel_advance_down=a.Ye;b._chafa_term_info_emit_set_sixel_advance_right=a.Ze;b._chafa_term_info_emit_enable_alt_screen=a._e;b._chafa_term_info_emit_disable_alt_screen=a.$e;b._chafa_term_info_emit_begin_screen_passthrough=a.af;b._chafa_term_info_emit_end_screen_passthrough=a.bf;b._chafa_term_info_emit_begin_tmux_passthrough= a.cf;b._chafa_term_info_emit_end_tmux_passthrough=a.df;b._chafa_term_info_emit_begin_kitty_immediate_virt_image_v1=a.ef;b._chafa_term_info_emit_query_primary_device_attributes=a.ff;b._chafa_term_info_emit_primary_device_attributes=a.gf;b._chafa_term_info_emit_query_text_area_size_cells=a.hf;b._chafa_term_info_emit_text_area_size_cells=a.jf;b._chafa_term_info_emit_query_text_area_size_px=a.kf;b._chafa_term_info_emit_text_area_size_px=a.lf;b._chafa_term_info_emit_query_cell_size_px=a.mf;b._chafa_term_info_emit_cell_size_px= a.nf;b._chafa_term_info_emit_begin_hyperlink=a.of;b._chafa_term_info_emit_begin_hyperlink_anchor=a.pf;b._chafa_term_info_emit_end_hyperlink=a.qf;b._chafa_calc_canvas_geometry=a.rf;b._chafa_free_gstring_array=a.sf;b._g_string_free_and_steal=a.tf;ub=b._malloc=a.uf;W=b._free=a.vf;b._realloc=a.wf;ra=a.xf;sb=a.yf;qb=a.zf;rb=a.Af;F=a.V;Ba=a.X;qa();return wb}());b.calledRun=!0;la||(pa=!0,wb.W(),ma?.(b)); const yb=[{Hf:[137,80,78,71,13,10,26,10],Gf:"_decode_png"},{Hf:[255,216],Gf:"_decode_jpeg"},{Hf:[255,10],Gf:"_decode_jpegxl"},{Hf:[0,0,0,12,74,88,76,32,13,10,135,10],Gf:"_decode_jpegxl"},{Hf:[82,73,70,70],Gf:"_decode_webp"}],zb={width:0,height:0,data:new Uint8ClampedArray(0)}; b.decodeImage=(a,c)=>{if(globalThis.ArrayBuffer&&a instanceof ArrayBuffer)try{let e;for(const {Hf:d,Gf:f}of yb)if(!(a.byteLength<d.length)&&(new Uint8ClampedArray(a,0,d.length)).every((g,k)=>g===d[k])){e=b[f](a);break}if(0<e?.width&&0<e?.height){c(null,e);return}throw Error("Failed to decode image");}catch(e){c(e,zb);return}else if("width"in a&&"number"===typeof a.width&&"height"in a&&"number"===typeof a.height&&"data"in a&&a.data instanceof Uint8ClampedArray){c(null,a);return}c(Error("Unsupported image type"), zb)}; b.imageToCanvas=(a,c,e)=>{b.decodeImage(a,(d,f)=>{if(null!=d)e(d,{canvas:0,config:null});else if(c=c??{},"object"!==typeof c)e(Error("Configuration must be an object"),{canvas:0,config:null});else if(d={},d.format=null!=c.format?b.ChafaPixelMode[c.format]?.value??b.ChafaPixelMode.values[c.format]?.value:b.ChafaPixelMode.CHAFA_PIXEL_MODE_SYMBOLS.value,null==d.format)e(Error("Invalid format"),{canvas:0,config:null});else if(d.fontRatio=null!=c.fontRatio?"number"!==typeof c.fontRatio?Number.parseFloat(c.fontRatio):c.fontRatio: d.format===b.ChafaPixelMode.CHAFA_PIXEL_MODE_SYMBOLS.value||d.format===b.ChafaPixelMode.CHAFA_PIXEL_MODE_KITTY.value?.5:1,Number.isNaN(d.fontRatio)||0>d.fontRatio)e(Error("Font ratio must be at least 0"),{canvas:0,config:null});else if(null==c.width&&null==c.height?f.width>f.height?(d.width=80,d.height=Math.round(f.height/f.width*d.width*d.fontRatio)):(d.height=25,d.width=Math.round(f.width/f.height*(d.height/d.fontRatio))):null!=c.width&&null==c.height?(d.width="number"!==typeof c.width?Number.parseInt(c.width, 10):c.width|0,d.height=Math.round(f.height/f.width*d.width*d.fontRatio)):null==c.width&&null!=c.height?(d.height="number"!==typeof c.height?Number.parseInt(c.height,10):c.height|0,d.width=Math.round(f.width/f.height*(d.height/d.fontRatio))):null!=c.width&&null!=c.height&&(d.width="number"!==typeof c.width?Number.parseInt(c.width,10):c.width|0,d.height="number"!==typeof c.height?Number.parseInt(c.height,10):c.height|0),Number.isNaN(d.width)||1>d.width)e(Error("Width must be at least 1"),{canvas:0, config:null});else if(Number.isNaN(d.height)||1>d.height)e(Error("Height must be at least 1"),{canvas:0,config:null});else if(d.colors=null!=c.colors?b.ChafaCanvasMode[c.colors]?.value??b.ChafaCanvasMode.values[c.colors]?.value:b.ChafaCanvasMode.CHAFA_CANVAS_MODE_TRUECOLOR.value,null==d.colors)e(Error("Invalid color mode"),{canvas:0,config:null});else if(d.colorExtractor=null!=c.colorExtractor?b.ChafaColorExtractor[c.colorExtractor]?.value??b.ChafaColorExtractor.values[c.colorExtractor]?.value:b.ChafaColorExtractor.CHAFA_COLOR_EXTRACTOR_AVERAGE.value, null==d.colorExtractor)e(Error("Invalid color extractor"),{canvas:0,config:null});else if(d.colorSpace=null!=c.colorSpace?b.ChafaColorSpace[c.colorSpace]?.value??b.ChafaColorSpace.values[c.colorSpace]?.value:b.ChafaColorSpace.CHAFA_COLOR_SPACE_RGB.value,null==d.colorSpace)e(Error("Invalid color space"),{canvas:0,config:null});else if(d.symbols=null!=c.symbols?String(c.symbols):d.colors===b.ChafaCanvasMode.CHAFA_CANVAS_MODE_FGBG.value?"block+border+space-wide":"block+border+space-wide-inverted",d.symbols)if(d.fill= null!=c.fill?String(c.fill):"none",d.fg=null!=c.fg?"number"!==typeof c.fg?String(c.fg).startsWith("#")?Number.parseInt(c.fg.slice(1),16):Number.parseInt(c.fg,10):c.fg|0:16777215,Number.isNaN(d.fg)||0>d.fg||16777215<d.fg)e(Error("Foreground color must be between 0 and 0xffffff"),{canvas:0,config:null});else if(d.bg=null!=c.bg?"number"!==typeof c.bg?String(c.bg).startsWith("#")?Number.parseInt(c.bg.slice(1),16):Number.parseInt(c.bg,10):c.bg|0:0,Number.isNaN(d.bg)||0>d.bg||16777215<d.bg)e(Error("Background color must be between 0 and 0xffffff"), {canvas:0,config:null});else if(d.fgOnly=null!=c.fgOnly?"boolean"!==typeof c.fgOnly?["true","yes","on"].includes(String(c.fgOnly).toLowerCase()):c.fgOnly:!1,d.dither=null!=c.dither?b.ChafaDitherMode[c.dither]?.value??b.ChafaDitherMode.values[c.dither]?.value:b.ChafaDitherMode.CHAFA_DITHER_MODE_NONE.value,null==d.dither)e(Error("Invalid dither mode"),{canvas:0,config:null});else if(d.ditherGrainWidth=null!=c.ditherGrainWidth?"number"!==typeof c.ditherGrainWidth?Number.parseInt(c.ditherGrainWidth,10): c.ditherGrainWidth|0:4,[1,2,4,8].includes(d.ditherGrainWidth))if(d.ditherGrainHeight=null!=c.ditherGrainHeight?"number"!==typeof c.ditherGrainHeight?Number.parseInt(c.ditherGrainHeight,10):c.ditherGrainHeight|0:d.ditherGrainWidth,[1,2,4,8].includes(d.ditherGrainHeight))if(d.ditherIntensity=null!=c.ditherIntensity?"number"!==typeof c.ditherIntensity?Number.parseFloat(c.ditherIntensity):c.ditherIntensity:1,Number.isNaN(d.ditherIntensity)||0>d.ditherIntensity)e(Error("Dither intensity must be at least 0"), {canvas:0,config:null});else if(d.preprocess=null!=c.preprocess?"boolean"!==typeof c.preprocess?["true","yes","on"].includes(String(c.preprocess).toLowerCase()):c.preprocess:!0,d.threshold=null!=c.threshold?"number"!==typeof c.threshold?Number.parseFloat(c.threshold):c.threshold:.5,Number.isNaN(d.threshold)||0>d.threshold||1<d.threshold)e(Error("Transparency threshold must be between 0 and 1"),{canvas:0,config:null});else if(d.optimize=null!=c.optimize?"number"!==typeof c.optimize?Number.parseInt(c.optimize, 10):c.optimize|0:d.colors===b.ChafaCanvasMode.CHAFA_CANVAS_MODE_FGBG.value?0:5,Number.isNaN(d.optimize)||0>d.optimize||9<d.optimize)e(Error("Optimization level must be between 0 and 9"),{canvas:0,config:null});else if(d.work=null!=c.work?"number"!==typeof c.work?Number.parseInt(c.work,10):c.work|0:5,Number.isNaN(d.work)||1>d.work||9<d.work)e(Error("Work factor must be between 1 and 9"),{canvas:0,config:null});else{Object.freeze(d);var g=b.ChafaOptimizations.CHAFA_OPTIMIZATION_NONE.value|(1<=d.optimize? b.ChafaOptimizations.CHAFA_OPTIMIZATION_REUSE_ATTRIBUTES.value:0)|(6<=d.optimize?b.ChafaOptimizations.CHAFA_OPTIMIZATION_REPEAT_CELLS.value:0)|(7<=d.optimize?b.ChafaOptimizations.CHAFA_OPTIMIZATION_SKIP_CELLS.value:0),k=(d.work-1)/8;try{const r=f.data.length*f.data.BYTES_PER_ELEMENT;var h=b._malloc(r);(new Uint8ClampedArray(b.HEAPU8.buffer,h,r)).set(f.data);const K=b.lengthBytesUTF8(d.symbols);var l=b._malloc(K+1);b.stringToUTF8(d.symbols,l,K+1);var m=b._chafa_symbol_map_new();b._chafa_symbol_map_apply_selectors(m, l);const L=b.lengthBytesUTF8(d.fill);var p=b._malloc(L+1);b.stringToUTF8(d.fill,p,L+1);var q=b._chafa_symbol_map_new();b._chafa_symbol_map_apply_selectors(q,p);var n=b._chafa_canvas_config_new();b._chafa_canvas_config_set_pixel_mode(n,d.format);b._chafa_canvas_config_set_geometry(n,d.width,d.height);b._chafa_canvas_config_set_passthrough(n,b.ChafaPassthrough.CHAFA_PASSTHROUGH_NONE.value);b._chafa_canvas_config_set_symbol_map(n,m);b._chafa_canvas_config_set_fill_symbol_map(n,q);b._chafa_canvas_config_set_canvas_mode(n, d.colors);b._chafa_canvas_config_set_color_extractor(n,d.colorExtractor);b._chafa_canvas_config_set_color_space(n,d.colorSpace);b._chafa_canvas_config_set_fg_color(n,d.fg);b._chafa_canvas_config_set_bg_color(n,d.bg);b._chafa_canvas_config_set_fg_only_enabled(n,d.fgOnly);b._chafa_canvas_config_set_dither_mode(n,d.dither);b._chafa_canvas_config_set_dither_grain_size(n,d.ditherGrainWidth,d.ditherGrainHeight);b._chafa_canvas_config_set_dither_intensity(n,d.ditherIntensity);b._chafa_canvas_config_set_preprocessing_enabled(n, d.preprocess);b._chafa_canvas_config_set_transparency_threshold(n,d.threshold);b._chafa_canvas_config_set_optimizations(n,g);b._chafa_canvas_config_set_work_factor(n,k);var u=b._chafa_canvas_new(n);b._chafa_canvas_draw_all_pixels(u,b.ChafaPixelType.CHAFA_PIXEL_RGBA8_UNASSOCIATED.value,h,f.width,f.height,4*f.width);e(null,{canvas:u,config:d})}catch(r){e(r,{canvas:0,config:null})}finally{null!=u&&b._chafa_canvas_unref(u),null!=n&&b._chafa_canvas_config_unref(n),null!=m&&b._chafa_symbol_map_unref(m), null!=l&&b._free(l),null!=q&&b._chafa_symbol_map_unref(q),null!=p&&b._free(p),null!=h&&b._free(h)}}else e(Error("Grain height must be exactly 1, 2, 4 or 8"),{canvas:0,config:null});else e(Error("Grain width must be exactly 1, 2, 4 or 8"),{canvas:0,config:null});else e(Error("Symbol map cannot be empty"),{canvas:0,config:null})})}; b.imageToMatrix=(a,c,e)=>{b.imageToCanvas(a,c,(d,{canvas:f,config:g})=>{if(null!=d||null==g)e(d,{matrix:[],config:g});else{d=Array(g.height);for(let k=0;k<g.height;k++){d[k]=Array(g.width);for(let h=0;h<g.width;h++){let l,m;try{const p=b._chafa_canvas_get_char_at(f,h,k);let q,n;g.colors===b.ChafaCanvasMode.CHAFA_CANVAS_MODE_FGBG.value?(q=g.fg,n=-1):(l=b._malloc(4),m=b._malloc(4),b._chafa_canvas_get_colors_at(f,h,k,l,m),q=b.getValue(l,"i32"),n=b.getValue(m,"i32"));d[k][h]=[p,q,n]}catch(p){e(p,{matrix:[], config:g});return}finally{null!=l&&b._free(l),null!=m&&b._free(m)}}}e(null,{matrix:d,config:g})}})};b.imageToAnsi=(a,c,e)=>{b.imageToCanvas(a,c,(d,{canvas:f,config:g})=>{if(null!=d||null==g)e(d,{ansi:"",config:g});else try{var k=b._chafa_canvas_print(f,null);var h=b._g_string_free_and_steal(k);const l=b.UTF8ToString(h);e(null,{ansi:l,config:g})}catch(l){e(l,{ansi:"",config:g})}finally{null!=k&&b._free(k),null!=h&&b._free(h)}})}; b.imageToHtml=(a,c,e)=>{b.imageToMatrix(a,c,(d,{matrix:f,config:g})=>{if(null!=d||null==g)e(d,{html:"",config:g});else{d="";for(let k=0;k<g.height;k++){for(let h=0;h<g.width;h++){const [l,m,p]=f[k][h];if(1>l)continue;const q=-1<m?`#${m.toString(16).padStart(6,"0")}`:"transparent",n=-1<p?`#${p.toString(16).padStart(6,"0")}`:"transparent";d+=`<span style="color:${q};background:${n}">&#${l};</span>`}k<g.height-1&&(d+="\n")}e(null,{html:d,config:g})}})}; b.imageToConsoleLogArgs=(a,c,e)=>{b.imageToMatrix(a,c,(d,{matrix:f,config:g})=>{if(null!=d||null==g)e(d,{args:[],config:g});else{d=Array(g.width*g.height+1);d[0]="";for(let k=0;k<g.height;k++){for(let h=0;h<g.width;h++){const [l,m,p]=f[k][h];if(1>l)continue;const q=-1<m?`#${m.toString(16).padStart(6,"0")}`:"transparent",n=-1<p?`#${p.toString(16).padStart(6,"0")}`:"transparent";d[0]+=`%c${37===l?"%%":String.fromCodePoint(l)}`;d[g.width*k+h+1]=`color:${q};background:${n}`}k<g.height-1&&(d[0]+="\n")}e(null, {args:d,config:g})}})};pa?moduleRtn=b:moduleRtn=new Promise((a,c)=>{ma=a;na=c}); ;return moduleRtn}export default Chafa;