gemi 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/app/index.js +1 -1
  2. package/dist/auth/AuthenticationServiceProvider.d.ts.map +1 -1
  3. package/dist/auth/adapters/prisma.d.ts.map +1 -1
  4. package/dist/chunk-b00ht5w5.js +20 -0
  5. package/dist/{chunk-8arqqbhx.js.map → chunk-b00ht5w5.js.map} +6 -8
  6. package/dist/chunk-er3mjwg8.js +3 -0
  7. package/dist/chunk-er3mjwg8.js.map +16 -0
  8. package/dist/{chunk-avqfpn5v.js → chunk-fb9t8eg2.js} +2 -2
  9. package/dist/chunk-fjq41s3w.js +4 -0
  10. package/dist/{chunk-hwaaf04e.js.map → chunk-fjq41s3w.js.map} +2 -2
  11. package/dist/chunk-g4ft88hv.js +4 -0
  12. package/dist/{chunk-b8d5htph.js.map → chunk-g4ft88hv.js.map} +2 -2
  13. package/dist/{chunk-6g1mntab.js → chunk-h6zfehre.js} +1 -1
  14. package/dist/{chunk-wv5423nm.js → chunk-hxqh9rvy.js} +1 -1
  15. package/dist/chunk-k6038src.js +4 -0
  16. package/dist/{chunk-5yex263y.js.map → chunk-k6038src.js.map} +2 -2
  17. package/dist/{chunk-ameyxxdy.js → chunk-mvkmyfc5.js} +1 -1
  18. package/dist/chunk-sgj164yk.js +4 -0
  19. package/dist/{chunk-zp1h0k9v.js.map → chunk-sgj164yk.js.map} +4 -4
  20. package/dist/facades/index.js +2 -2
  21. package/dist/facades/index.js.map +3 -3
  22. package/dist/kernel/index.js +2 -2
  23. package/dist/kernel/index.js.map +3 -3
  24. package/dist/services/index.js +3 -3
  25. package/dist/services/index.js.map +2 -2
  26. package/package.json +1 -1
  27. package/dist/chunk-5yex263y.js +0 -4
  28. package/dist/chunk-8arqqbhx.js +0 -20
  29. package/dist/chunk-b8d5htph.js +0 -4
  30. package/dist/chunk-d1jvc299.js +0 -4
  31. package/dist/chunk-d1jvc299.js.map +0 -16
  32. package/dist/chunk-hwaaf04e.js +0 -4
  33. package/dist/chunk-zp1h0k9v.js +0 -4
  34. /package/dist/{chunk-xfkkp6tk.js → chunk-b5mkak9v.js} +0 -0
  35. /package/dist/{chunk-xfkkp6tk.js.map → chunk-b5mkak9v.js.map} +0 -0
  36. /package/dist/{chunk-avqfpn5v.js.map → chunk-fb9t8eg2.js.map} +0 -0
  37. /package/dist/{chunk-6g1mntab.js.map → chunk-h6zfehre.js.map} +0 -0
  38. /package/dist/{chunk-wv5423nm.js.map → chunk-hxqh9rvy.js.map} +0 -0
  39. /package/dist/{chunk-ameyxxdy.js.map → chunk-mvkmyfc5.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Bb as b5,Cb as L1,Db as O5,Fb as v5,Gb as T2,Hb as i,Ib as k}from"../http/index.js";import{Lb as e5,Mb as H2}from"../chunk-98e4g3z6.js";import{Nb as a5,Ob as I2,Pb as D1,Qb as j1,Rb as e,Sb as x,Tb as T,Vb as O}from"../chunk-0tsd6d6s.js";import{Xb as l6,Yb as V}from"../chunk-vvdgy5ba.js";var l=V((L9,S1)=>{var A1=function($){return typeof $!=="undefined"&&$!==null},t5=function($){return typeof $==="object"},i5=function($){return Object.prototype.toString.call($)==="[object Object]"},o5=function($){return typeof $==="function"},$4=function($){return typeof $==="boolean"},J4=function($){return $ instanceof Buffer},F4=function($){if(A1($))switch($.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},W4=function($){return $ instanceof ArrayBuffer},Z4=function($){return typeof $==="string"&&$.length>0},w4=function($){return typeof $==="number"&&!Number.isNaN($)},U4=function($){return Number.isInteger($)},B4=function($,J,F){return $>=J&&$<=F},Y4=function($,J){return J.includes($)},Q4=function($,J,F){return new Error(`Expected ${J} for ${$} but received ${F} of type ${typeof F}`)},K4=function($,J){return J.message=$.message,J};S1.exports={defined:A1,object:t5,plainObject:i5,fn:o5,bool:$4,buffer:J4,typedArray:F4,arrayBuffer:W4,string:Z4,number:w4,integer:U4,inRange:B4,inArray:Y4,invalidParameterError:Q4,nativeError:K4}});var L2=V((y9,C1)=>{var G4=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};C1.exports=G4});var E2=V((P9,M1)=>{var I4=Number.MAX_SAFE_INTEGER||9007199254740991,H4=["major","premajor","minor","preminor","patch","prepatch","prerelease"];M1.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:I4,RELEASE_TYPES:H4,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var y2=V((c,f1)=>{var{MAX_SAFE_COMPONENT_LENGTH:a2,MAX_SAFE_BUILD_LENGTH:L4,MAX_LENGTH:y4}=E2(),P4=L2();c=f1.exports={};var N4=c.re=[],X4=c.safeRe=[],H=c.src=[],L=c.t={},V4=0,r2="[a-zA-Z0-9-]",D4=[["\\s",1],["\\d",y4],[r2,L4]],_4=($)=>{for(let[J,F]of D4)$=$.split(`${J}*`).join(`${J}{0,${F}}`).split(`${J}+`).join(`${J}{1,${F}}`);return $},X=($,J,F)=>{let W=_4(J),Z=V4++;P4($,Z,J),L[$]=Z,H[Z]=J,N4[Z]=new RegExp(J,F?"g":void 0),X4[Z]=new RegExp(W,F?"g":void 0)};X("NUMERICIDENTIFIER","0|[1-9]\\d*");X("NUMERICIDENTIFIERLOOSE","\\d+");X("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${r2}*`);X("MAINVERSION",`(${H[L.NUMERICIDENTIFIER]})\\.(${H[L.NUMERICIDENTIFIER]})\\.(${H[L.NUMERICIDENTIFIER]})`);X("MAINVERSIONLOOSE",`(${H[L.NUMERICIDENTIFIERLOOSE]})\\.(${H[L.NUMERICIDENTIFIERLOOSE]})\\.(${H[L.NUMERICIDENTIFIERLOOSE]})`);X("PRERELEASEIDENTIFIER",`(?:${H[L.NUMERICIDENTIFIER]}|${H[L.NONNUMERICIDENTIFIER]})`);X("PRERELEASEIDENTIFIERLOOSE",`(?:${H[L.NUMERICIDENTIFIERLOOSE]}|${H[L.NONNUMERICIDENTIFIER]})`);X("PRERELEASE",`(?:-(${H[L.PRERELEASEIDENTIFIER]}(?:\\.${H[L.PRERELEASEIDENTIFIER]})*))`);X("PRERELEASELOOSE",`(?:-?(${H[L.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${H[L.PRERELEASEIDENTIFIERLOOSE]})*))`);X("BUILDIDENTIFIER",`${r2}+`);X("BUILD",`(?:\\+(${H[L.BUILDIDENTIFIER]}(?:\\.${H[L.BUILDIDENTIFIER]})*))`);X("FULLPLAIN",`v?${H[L.MAINVERSION]}${H[L.PRERELEASE]}?${H[L.BUILD]}?`);X("FULL",`^${H[L.FULLPLAIN]}\$`);X("LOOSEPLAIN",`[v=\\s]*${H[L.MAINVERSIONLOOSE]}${H[L.PRERELEASELOOSE]}?${H[L.BUILD]}?`);X("LOOSE",`^${H[L.LOOSEPLAIN]}\$`);X("GTLT","((?:<|>)?=?)");X("XRANGEIDENTIFIERLOOSE",`${H[L.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);X("XRANGEIDENTIFIER",`${H[L.NUMERICIDENTIFIER]}|x|X|\\*`);X("XRANGEPLAIN",`[v=\\s]*(${H[L.XRANGEIDENTIFIER]})(?:\\.(${H[L.XRANGEIDENTIFIER]})(?:\\.(${H[L.XRANGEIDENTIFIER]})(?:${H[L.PRERELEASE]})?${H[L.BUILD]}?)?)?`);X("XRANGEPLAINLOOSE",`[v=\\s]*(${H[L.XRANGEIDENTIFIERLOOSE]})(?:\\.(${H[L.XRANGEIDENTIFIERLOOSE]})(?:\\.(${H[L.XRANGEIDENTIFIERLOOSE]})(?:${H[L.PRERELEASELOOSE]})?${H[L.BUILD]}?)?)?`);X("XRANGE",`^${H[L.GTLT]}\\s*${H[L.XRANGEPLAIN]}\$`);X("XRANGELOOSE",`^${H[L.GTLT]}\\s*${H[L.XRANGEPLAINLOOSE]}\$`);X("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a2}})(?:\\.(\\d{1,${a2}}))?(?:\\.(\\d{1,${a2}}))?`);X("COERCE",`${H[L.COERCEPLAIN]}(?:\$|[^\\d])`);X("COERCEFULL",H[L.COERCEPLAIN]+`(?:${H[L.PRERELEASE]})?(?:${H[L.BUILD]})?(?:\$|[^\\d])`);X("COERCERTL",H[L.COERCE],!0);X("COERCERTLFULL",H[L.COERCEFULL],!0);X("LONETILDE","(?:~>?)");X("TILDETRIM",`(\\s*)${H[L.LONETILDE]}\\s+`,!0);c.tildeTrimReplace="$1~";X("TILDE",`^${H[L.LONETILDE]}${H[L.XRANGEPLAIN]}\$`);X("TILDELOOSE",`^${H[L.LONETILDE]}${H[L.XRANGEPLAINLOOSE]}\$`);X("LONECARET","(?:\\^)");X("CARETTRIM",`(\\s*)${H[L.LONECARET]}\\s+`,!0);c.caretTrimReplace="$1^";X("CARET",`^${H[L.LONECARET]}${H[L.XRANGEPLAIN]}\$`);X("CARETLOOSE",`^${H[L.LONECARET]}${H[L.XRANGEPLAINLOOSE]}\$`);X("COMPARATORLOOSE",`^${H[L.GTLT]}\\s*(${H[L.LOOSEPLAIN]})\$|^\$`);X("COMPARATOR",`^${H[L.GTLT]}\\s*(${H[L.FULLPLAIN]})\$|^\$`);X("COMPARATORTRIM",`(\\s*)${H[L.GTLT]}\\s*(${H[L.LOOSEPLAIN]}|${H[L.XRANGEPLAIN]})`,!0);c.comparatorTrimReplace="$1$2$3";X("HYPHENRANGE",`^\\s*(${H[L.XRANGEPLAIN]})\\s+-\\s+(${H[L.XRANGEPLAIN]})\\s*\$`);X("HYPHENRANGELOOSE",`^\\s*(${H[L.XRANGEPLAINLOOSE]})\\s+-\\s+(${H[L.XRANGEPLAINLOOSE]})\\s*\$`);X("STAR","(<|>)?=?\\s*\\*");X("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");X("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var R2=V((N9,k1)=>{var z4=Object.freeze({loose:!0}),j4=Object.freeze({}),T4=($)=>{if(!$)return j4;if(typeof $!=="object")return z4;return $};k1.exports=T4});var O1=V((X9,b1)=>{var x1=/^[0-9]+$/,d1=($,J)=>{let F=x1.test($),W=x1.test(J);if(F&&W)$=+$,J=+J;return $===J?0:F&&!W?-1:W&&!F?1:$<J?-1:1},E4=($,J)=>d1(J,$);b1.exports={compareIdentifiers:d1,rcompareIdentifiers:E4}});var U2=V((V9,m1)=>{var q2=L2(),{MAX_LENGTH:v1,MAX_SAFE_INTEGER:A2}=E2(),{safeRe:h1,t:g1}=y2(),R4=R2(),{compareIdentifiers:w2}=O1();class g{constructor($,J){if(J=R4(J),$ instanceof g)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>v1)throw new TypeError(`version is longer than ${v1} characters`);q2("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let F=$.trim().match(J.loose?h1[g1.LOOSE]:h1[g1.FULL]);if(!F)throw new TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+F[1],this.minor=+F[2],this.patch=+F[3],this.major>A2||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A2||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A2||this.patch<0)throw new TypeError("Invalid patch version");if(!F[4])this.prerelease=[];else this.prerelease=F[4].split(".").map((W)=>{if(/^[0-9]+$/.test(W)){let Z=+W;if(Z>=0&&Z<A2)return Z}return W});this.build=F[5]?F[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(q2("SemVer.compare",this.version,this.options,$),!($ instanceof g)){if(typeof $==="string"&&$===this.version)return 0;$=new g($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof g))$=new g($,this.options);return w2(this.major,$.major)||w2(this.minor,$.minor)||w2(this.patch,$.patch)}comparePre($){if(!($ instanceof g))$=new g($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let J=0;do{let F=this.prerelease[J],W=$.prerelease[J];if(q2("prerelease compare",J,F,W),F===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(F===void 0)return-1;else if(F===W)continue;else return w2(F,W)}while(++J)}compareBuild($){if(!($ instanceof g))$=new g($,this.options);let J=0;do{let F=this.build[J],W=$.build[J];if(q2("build compare",J,F,W),F===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(F===void 0)return-1;else if(F===W)continue;else return w2(F,W)}while(++J)}inc($,J,F){switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",J,F);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",J,F);break;case"prepatch":this.prerelease.length=0,this.inc("patch",J,F),this.inc("pre",J,F);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",J,F);this.inc("pre",J,F);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let W=Number(F)?1:0;if(!J&&F===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[W];else{let Z=this.prerelease.length;while(--Z>=0)if(typeof this.prerelease[Z]==="number")this.prerelease[Z]++,Z=-2;if(Z===-1){if(J===this.prerelease.join(".")&&F===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(W)}}if(J){let Z=[J,W];if(F===!1)Z=[J];if(w2(this.prerelease[0],J)===0){if(isNaN(this.prerelease[1]))this.prerelease=Z}else this.prerelease=Z}break}default:throw new Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}m1.exports=g});var c1=V((D9,u1)=>{var l1=U2(),q4=($,J,F=!1)=>{if($ instanceof l1)return $;try{return new l1($,J)}catch(W){if(!F)return null;throw W}};u1.exports=q4});var r1=V((_9,a1)=>{var A4=U2(),S4=c1(),{safeRe:S2,t:C2}=y2(),C4=($,J)=>{if($ instanceof A4)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let F=null;if(!J.rtl)F=$.match(J.includePrerelease?S2[C2.COERCEFULL]:S2[C2.COERCE]);else{let K=J.includePrerelease?S2[C2.COERCERTLFULL]:S2[C2.COERCERTL],I;while((I=K.exec($))&&(!F||F.index+F[0].length!==$.length)){if(!F||I.index+I[0].length!==F.index+F[0].length)F=I;K.lastIndex=I.index+I[1].length+I[2].length}K.lastIndex=-1}if(F===null)return null;let W=F[2],Z=F[3]||"0",w=F[4]||"0",B=J.includePrerelease&&F[5]?`-${F[5]}`:"",Y=J.includePrerelease&&F[6]?`+${F[6]}`:"";return S4(`${W}.${Z}.${w}${B}${Y}`,J)};a1.exports=C4});var o=V((z9,p1)=>{var e1=U2(),M4=($,J,F)=>new e1($,F).compare(new e1(J,F));p1.exports=M4});var e2=V((j9,n1)=>{var f4=o(),k4=($,J,F)=>f4($,J,F)>=0;n1.exports=k4});var i1=V((T9,t1)=>{class s1{constructor(){this.max=1000,this.map=new Map}get($){let J=this.map.get($);if(J===void 0)return;else return this.map.delete($),this.map.set($,J),J}delete($){return this.map.delete($)}set($,J){if(!this.delete($)&&J!==void 0){if(this.map.size>=this.max){let W=this.map.keys().next().value;this.delete(W)}this.map.set($,J)}return this}}t1.exports=s1});var $0=V((E9,o1)=>{var x4=o(),d4=($,J,F)=>x4($,J,F)===0;o1.exports=d4});var F0=V((R9,J0)=>{var b4=o(),O4=($,J,F)=>b4($,J,F)!==0;J0.exports=O4});var Z0=V((q9,W0)=>{var v4=o(),h4=($,J,F)=>v4($,J,F)>0;W0.exports=h4});var U0=V((A9,w0)=>{var g4=o(),m4=($,J,F)=>g4($,J,F)<0;w0.exports=m4});var Y0=V((S9,B0)=>{var l4=o(),u4=($,J,F)=>l4($,J,F)<=0;B0.exports=u4});var K0=V((C9,Q0)=>{var c4=$0(),a4=F0(),r4=Z0(),e4=e2(),p4=U0(),n4=Y0(),s4=($,J,F,W)=>{switch(J){case"===":if(typeof $==="object")$=$.version;if(typeof F==="object")F=F.version;return $===F;case"!==":if(typeof $==="object")$=$.version;if(typeof F==="object")F=F.version;return $!==F;case"":case"=":case"==":return c4($,F,W);case"!=":return a4($,F,W);case">":return r4($,F,W);case">=":return e4($,F,W);case"<":return p4($,F,W);case"<=":return n4($,F,W);default:throw new TypeError(`Invalid operator: ${J}`)}};Q0.exports=s4});var N0=V((M9,P0)=>{var P2=Symbol("SemVer ANY");class M2{static get ANY(){return P2}constructor($,J){if(J=G0(J),$ instanceof M2)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),n2("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===P2)this.value="";else this.value=this.operator+this.semver.version;n2("comp",this)}parse($){let J=this.options.loose?I0[H0.COMPARATORLOOSE]:I0[H0.COMPARATOR],F=$.match(J);if(!F)throw new TypeError(`Invalid comparator: ${$}`);if(this.operator=F[1]!==void 0?F[1]:"",this.operator==="=")this.operator="";if(!F[2])this.semver=P2;else this.semver=new L0(F[2],this.options.loose)}toString(){return this.value}test($){if(n2("Comparator.test",$,this.options.loose),this.semver===P2||$===P2)return!0;if(typeof $==="string")try{$=new L0($,this.options)}catch(J){return!1}return p2($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof M2))throw new TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new y0($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new y0(this.value,J).test($.semver)}if(J=G0(J),J.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!J.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(p2(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(p2(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}P0.exports=M2;var G0=R2(),{safeRe:I0,t:H0}=y2(),p2=K0(),n2=L2(),L0=U2(),y0=s2()});var s2=V((f9,_0)=>{var t4=/\s+/g;class N2{constructor($,J){if(J=o4(J),$ instanceof N2)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new N2($.raw,J);if($ instanceof t2)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease,this.raw=$.trim().replace(t4," "),this.set=this.raw.split("||").map((F)=>this.parseRange(F.trim())).filter((F)=>F.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let F=this.set[0];if(this.set=this.set.filter((W)=>!V0(W[0])),this.set.length===0)this.set=[F];else if(this.set.length>1){for(let W of this.set)if(W.length===1&&U3(W[0])){this.set=[W];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let J=this.set[$];for(let F=0;F<J.length;F++){if(F>0)this.formatted+=" ";this.formatted+=J[F].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let F=((this.options.includePrerelease&&Z3)|(this.options.loose&&w3))+":"+$,W=X0.get(F);if(W)return W;let Z=this.options.loose,w=Z?M[A.HYPHENRANGELOOSE]:M[A.HYPHENRANGE];$=$.replace(w,P3(this.options.includePrerelease)),z("hyphen replace",$),$=$.replace(M[A.COMPARATORTRIM],J3),z("comparator trim",$),$=$.replace(M[A.TILDETRIM],F3),z("tilde trim",$),$=$.replace(M[A.CARETTRIM],W3),z("caret trim",$);let B=$.split(" ").map((N)=>B3(N,this.options)).join(" ").split(/\s+/).map((N)=>y3(N,this.options));if(Z)B=B.filter((N)=>{return z("loose invalid filter",N,this.options),!!N.match(M[A.COMPARATORLOOSE])});z("range list",B);let Y=new Map,K=B.map((N)=>new t2(N,this.options));for(let N of K){if(V0(N))return[N];Y.set(N.value,N)}if(Y.size>1&&Y.has(""))Y.delete("");let I=[...Y.values()];return X0.set(F,I),I}intersects($,J){if(!($ instanceof N2))throw new TypeError("a Range is required");return this.set.some((F)=>{return D0(F,J)&&$.set.some((W)=>{return D0(W,J)&&F.every((Z)=>{return W.every((w)=>{return Z.intersects(w,J)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new $3($,this.options)}catch(J){return!1}for(let J=0;J<this.set.length;J++)if(N3(this.set[J],$,this.options))return!0;return!1}}_0.exports=N2;var i4=i1(),X0=new i4,o4=R2(),t2=N0(),z=L2(),$3=U2(),{safeRe:M,t:A,comparatorTrimReplace:J3,tildeTrimReplace:F3,caretTrimReplace:W3}=y2(),{FLAG_INCLUDE_PRERELEASE:Z3,FLAG_LOOSE:w3}=E2(),V0=($)=>$.value==="<0.0.0-0",U3=($)=>$.value==="",D0=($,J)=>{let F=!0,W=$.slice(),Z=W.pop();while(F&&W.length)F=W.every((w)=>{return Z.intersects(w,J)}),Z=W.pop();return F},B3=($,J)=>{return z("comp",$,J),$=K3($,J),z("caret",$),$=Y3($,J),z("tildes",$),$=I3($,J),z("xrange",$),$=L3($,J),z("stars",$),$},S=($)=>!$||$.toLowerCase()==="x"||$==="*",Y3=($,J)=>{return $.trim().split(/\s+/).map((F)=>Q3(F,J)).join(" ")},Q3=($,J)=>{let F=J.loose?M[A.TILDELOOSE]:M[A.TILDE];return $.replace(F,(W,Z,w,B,Y)=>{z("tilde",$,W,Z,w,B,Y);let K;if(S(Z))K="";else if(S(w))K=`>=${Z}.0.0 <${+Z+1}.0.0-0`;else if(S(B))K=`>=${Z}.${w}.0 <${Z}.${+w+1}.0-0`;else if(Y)z("replaceTilde pr",Y),K=`>=${Z}.${w}.${B}-${Y} <${Z}.${+w+1}.0-0`;else K=`>=${Z}.${w}.${B} <${Z}.${+w+1}.0-0`;return z("tilde return",K),K})},K3=($,J)=>{return $.trim().split(/\s+/).map((F)=>G3(F,J)).join(" ")},G3=($,J)=>{z("caret",$,J);let F=J.loose?M[A.CARETLOOSE]:M[A.CARET],W=J.includePrerelease?"-0":"";return $.replace(F,(Z,w,B,Y,K)=>{z("caret",$,Z,w,B,Y,K);let I;if(S(w))I="";else if(S(B))I=`>=${w}.0.0${W} <${+w+1}.0.0-0`;else if(S(Y))if(w==="0")I=`>=${w}.${B}.0${W} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.0${W} <${+w+1}.0.0-0`;else if(K)if(z("replaceCaret pr",K),w==="0")if(B==="0")I=`>=${w}.${B}.${Y}-${K} <${w}.${B}.${+Y+1}-0`;else I=`>=${w}.${B}.${Y}-${K} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.${Y}-${K} <${+w+1}.0.0-0`;else if(z("no pr"),w==="0")if(B==="0")I=`>=${w}.${B}.${Y}${W} <${w}.${B}.${+Y+1}-0`;else I=`>=${w}.${B}.${Y}${W} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.${Y} <${+w+1}.0.0-0`;return z("caret return",I),I})},I3=($,J)=>{return z("replaceXRanges",$,J),$.split(/\s+/).map((F)=>H3(F,J)).join(" ")},H3=($,J)=>{$=$.trim();let F=J.loose?M[A.XRANGELOOSE]:M[A.XRANGE];return $.replace(F,(W,Z,w,B,Y,K)=>{z("xRange",$,W,Z,w,B,Y,K);let I=S(w),N=I||S(B),D=N||S(Y),q=D;if(Z==="="&&q)Z="";if(K=J.includePrerelease?"-0":"",I)if(Z===">"||Z==="<")W="<0.0.0-0";else W="*";else if(Z&&q){if(N)B=0;if(Y=0,Z===">")if(Z=">=",N)w=+w+1,B=0,Y=0;else B=+B+1,Y=0;else if(Z==="<=")if(Z="<",N)w=+w+1;else B=+B+1;if(Z==="<")K="-0";W=`${Z+w}.${B}.${Y}${K}`}else if(N)W=`>=${w}.0.0${K} <${+w+1}.0.0-0`;else if(D)W=`>=${w}.${B}.0${K} <${w}.${+B+1}.0-0`;return z("xRange return",W),W})},L3=($,J)=>{return z("replaceStars",$,J),$.trim().replace(M[A.STAR],"")},y3=($,J)=>{return z("replaceGTE0",$,J),$.trim().replace(M[J.includePrerelease?A.GTE0PRE:A.GTE0],"")},P3=($)=>(J,F,W,Z,w,B,Y,K,I,N,D,q)=>{if(S(W))F="";else if(S(Z))F=`>=${W}.0.0${$?"-0":""}`;else if(S(w))F=`>=${W}.${Z}.0${$?"-0":""}`;else if(B)F=`>=${F}`;else F=`>=${F}${$?"-0":""}`;if(S(I))K="";else if(S(N))K=`<${+I+1}.0.0-0`;else if(S(D))K=`<${I}.${+N+1}.0-0`;else if(q)K=`<=${I}.${N}.${D}-${q}`;else if($)K=`<${I}.${N}.${+D+1}-0`;else K=`<=${K}`;return`${F} ${K}`.trim()},N3=($,J,F)=>{for(let W=0;W<$.length;W++)if(!$[W].test(J))return!1;if(J.prerelease.length&&!F.includePrerelease){for(let W=0;W<$.length;W++){if(z($[W].semver),$[W].semver===t2.ANY)continue;if($[W].semver.prerelease.length>0){let Z=$[W].semver;if(Z.major===J.major&&Z.minor===J.minor&&Z.patch===J.patch)return!0}}return!1}return!0}});var j0=V((k9,z0)=>{var X3=s2(),V3=($,J,F)=>{try{J=new X3(J,F)}catch(W){return!1}return J.test($)};z0.exports=V3});var i2=V((x9,D3)=>{D3.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.33.5",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unneb\xE4ck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix B\xFCnemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","J\xE9r\xE9my Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kot\u011B\u0161ovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouci\xF1o <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugu\xE9 <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>","Don Denton <don@happycollision.com>"],scripts:{install:"node install/check",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run test-lint && npm run test-unit && npm run test-licensing && npm run test-types","test-lint":"semistandard && cpplint","test-unit":"nyc --reporter=lcov --reporter=text --check-coverage --branches=100 mocha","test-licensing":"license-checker --production --summary --onlyAllow=\"Apache-2.0;BSD;ISC;LGPL-3.0-or-later;MIT\"","test-leak":"./test/leak/leak.sh","test-types":"tsd","package-from-local-build":"node npm/from-local-build","package-from-github-release":"node npm/from-github-release","docs-build":"node docs/build && node docs/search-index/build","docs-serve":"cd docs && npx serve","docs-publish":"cd docs && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{color:"^4.2.3","detect-libc":"^2.0.3",semver:"^7.6.3"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.33.5","@img/sharp-darwin-x64":"0.33.5","@img/sharp-libvips-darwin-arm64":"1.0.4","@img/sharp-libvips-darwin-x64":"1.0.4","@img/sharp-libvips-linux-arm":"1.0.5","@img/sharp-libvips-linux-arm64":"1.0.4","@img/sharp-libvips-linux-s390x":"1.0.4","@img/sharp-libvips-linux-x64":"1.0.4","@img/sharp-libvips-linuxmusl-arm64":"1.0.4","@img/sharp-libvips-linuxmusl-x64":"1.0.4","@img/sharp-linux-arm":"0.33.5","@img/sharp-linux-arm64":"0.33.5","@img/sharp-linux-s390x":"0.33.5","@img/sharp-linux-x64":"0.33.5","@img/sharp-linuxmusl-arm64":"0.33.5","@img/sharp-linuxmusl-x64":"0.33.5","@img/sharp-wasm32":"0.33.5","@img/sharp-win32-ia32":"0.33.5","@img/sharp-win32-x64":"0.33.5"},devDependencies:{"@emnapi/runtime":"^1.2.0","@img/sharp-libvips-dev":"1.0.4","@img/sharp-libvips-dev-wasm32":"1.0.5","@img/sharp-libvips-win32-ia32":"1.0.4","@img/sharp-libvips-win32-x64":"1.0.4","@types/node":"*",async:"^3.2.5",cc:"^3.0.1",emnapi:"^1.2.0","exif-reader":"^2.0.1","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^8.0.3","license-checker":"^25.0.1",mocha:"^10.7.3","node-addon-api":"^8.1.0",nyc:"^17.0.0",prebuild:"^13.0.1",semistandard:"^17.0.0","tar-fs":"^3.0.6",tsd:"^0.31.1"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0"},config:{libvips:">=8.15.3"},funding:{url:"https://opencollective.com/libvips"},binary:{napi_versions:[9]},semistandard:{env:["mocha"]},cc:{linelength:"120",filter:["build/include"]},nyc:{include:["lib"]},tsd:{directory:"test/types/"}}});var $1=V((d9,k0)=>{var{spawnSync:f2}=import.meta.require("child_process"),{createHash:_3}=import.meta.require("crypto"),q0=r1(),z3=e2(),j3=j0(),T0=import.meta.require("detect-libc"),{config:T3,engines:E0,optionalDependencies:E3}=i2(),R3=process.env.npm_package_config_libvips||T3.libvips,A0=q0(R3).version,q3=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-ia32","win32-x64"],k2={encoding:"utf8",shell:!0},A3=($)=>{if($ instanceof Error)console.error(`sharp: Installation error: ${$.message}`);else console.log(`sharp: ${$}`)},S0=()=>T0.isNonGlibcLinuxSync()?T0.familySync():"",S3=()=>`${process.platform}${S0()}-${process.arch}`,B2=()=>{if(C0())return"wasm32";let{npm_config_arch:$,npm_config_platform:J,npm_config_libc:F}=process.env,W=typeof F==="string"?F:S0();return`${J||process.platform}${W}-${$||process.arch}`},C3=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${B2()}/include`)}catch{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/include"`);})()}catch{}}return""},M3=()=>{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/cplusplus"`);})()}catch{}return""},f3=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${B2()}/lib`)}catch{try{return import.meta.require(`@img/sharp-libvips-${B2()}/lib`)}catch{}}return""},k3=()=>{if(process.release?.name==="node"&&process.versions){if(!j3(process.versions.node,E0.node))return{found:process.versions.node,expected:E0.node}}},C0=()=>{let{CC:$}=process.env;return Boolean($&&$.endsWith("/emcc"))},x3=()=>{if(process.platform==="darwin"&&process.arch==="x64")return(f2("sysctl sysctl.proc_translated",k2).stdout||"").trim()==="sysctl.proc_translated: 1";return!1},R0=($)=>_3("sha512").update($).digest("hex"),d3=()=>{try{let $=R0(`imgsharp-libvips-${B2()}`),J=q0(E3[`@img/sharp-libvips-${B2()}`]).version;return R0(`${$}npm:${J}`).slice(0,10)}catch{}return""},b3=()=>f2(`node-gyp rebuild --directory=src ${C0()?"--nodedir=emscripten":""}`,{...k2,stdio:"inherit"}).status,M0=()=>{if(process.platform!=="win32")return(f2("pkg-config --modversion vips-cpp",{...k2,env:{...process.env,PKG_CONFIG_PATH:f0()}}).stdout||"").trim();else return""},f0=()=>{if(process.platform!=="win32")return[(f2('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',k2).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":");else return""},o2=($,J,F)=>{if(F)F(`Detected ${J}, skipping search for globally-installed libvips`);return $},O3=($)=>{if(Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)===!0)return o2(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS",$);if(Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)===!0)return o2(!0,"SHARP_FORCE_GLOBAL_LIBVIPS",$);if(x3())return o2(!1,"Rosetta",$);let J=M0();return!!J&&z3(J,A0)};k0.exports={minimumLibvipsVersion:A0,prebuiltPlatforms:q3,buildPlatformArch:B2,buildSharpLibvipsIncludeDir:C3,buildSharpLibvipsCPlusPlusDir:M3,buildSharpLibvipsLibDir:f3,isUnsupportedNodeRuntime:k3,runtimePlatformArch:S3,log:A3,yarnLocator:d3,spawnRebuild:b3,globalLibvipsVersion:M0,pkgConfigPath:f0,useGlobalLibvips:O3}});var X2=V((b9,d0)=>{var{familySync:v3,versionSync:h3}=import.meta.require("detect-libc"),{runtimePlatformArch:g3,isUnsupportedNodeRuntime:x0,prebuiltPlatforms:m3,minimumLibvipsVersion:l3}=$1(),$2=g3(),u3=[`../src/build/Release/sharp-${$2}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${$2}/sharp.node`,"@img/sharp-wasm32/sharp.node"],J1,x2=[];for(let $ of u3)try{J1=import.meta.require($);break}catch(J){x2.push(J)}if(J1)d0.exports=J1;else{let[$,J,F]=["linux","darwin","win32"].map((w)=>$2.startsWith(w)),W=[`Could not load the "sharp" module using the ${$2} runtime`];x2.forEach((w)=>{if(w.code!=="MODULE_NOT_FOUND")W.push(`${w.code}: ${w.message}`)});let Z=x2.map((w)=>w.message).join(" ");if(W.push("Possible solutions:"),x0()){let{found:w,expected:B}=x0();W.push("- Please upgrade Node.js:",` Found ${w}`,` Requires ${B}`)}else if(m3.includes($2)){let[w,B]=$2.split("-"),Y=w.endsWith("musl")?" --libc=musl":"";W.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${w.replace("musl","")}${Y} --cpu=${B} sharp`)}else W.push(`- Manually install libvips >= ${l3}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if($&&/(symbol not found|CXXABI_)/i.test(Z))try{let{config:w}=import.meta.require(`@img/sharp-libvips-${$2}/package`),B=`${v3()} ${h3()}`,Y=`${w.musl?"musl":"glibc"} ${w.musl||w.glibc}`;W.push("- Update your OS:",` Found ${B}`,` Requires ${Y}`)}catch(w){}if($&&/\/snap\/core[0-9]{2}/.test(Z))W.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node");if(J&&/Incompatible library version/.test(Z))W.push("- Update Homebrew:"," brew update && brew upgrade vips");if(x2.some((w)=>w.code==="ERR_DLOPEN_DISABLED"))W.push("- Run Node.js without using the --no-addons flag");if(F&&/The specified procedure could not be found/.test(Z))W.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp");throw W.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(W.join("\n"))}});var O0=V((O9,b0)=>{var c3=import.meta.require("util"),F1=import.meta.require("stream"),a3=l();X2();var r3=c3.debuglog("sharp"),J2=function($,J){if(arguments.length===1&&!a3.defined($))throw new Error("Invalid input");if(!(this instanceof J2))return new J2($,J);return F1.Duplex.call(this),this.options={topOffsetPre:-1,leftOffsetPre:-1,widthPre:-1,heightPre:-1,topOffsetPost:-1,leftOffsetPost:-1,widthPost:-1,heightPost:-1,width:-1,height:-1,canvas:"crop",position:0,resizeBackground:[0,0,0,255],useExifOrientation:!1,angle:0,rotationAngle:0,rotationBackground:[0,0,0,255],rotateBeforePreExtract:!1,flip:!1,flop:!1,extendTop:0,extendBottom:0,extendLeft:0,extendRight:0,extendBackground:[0,0,0,255],extendWith:"background",withoutEnlargement:!1,withoutReduction:!1,affineMatrix:[],affineBackground:[0,0,0,255],affineIdx:0,affineIdy:0,affineOdx:0,affineOdy:0,affineInterpolator:this.constructor.interpolators.bilinear,kernel:"lanczos3",fastShrinkOnLoad:!0,tint:[-1,0,0,0],flatten:!1,flattenBackground:[0,0,0],unflatten:!1,negate:!1,negateAlpha:!0,medianSize:0,blurSigma:0,precision:"integer",minAmpl:0.2,sharpenSigma:0,sharpenM1:1,sharpenM2:2,sharpenX1:2,sharpenY2:10,sharpenY3:20,threshold:0,thresholdGrayscale:!0,trimBackground:[],trimThreshold:-1,trimLineArt:!1,gamma:0,gammaOut:0,greyscale:!1,normalise:!1,normaliseLower:1,normaliseUpper:99,claheWidth:0,claheHeight:0,claheMaxSlope:3,brightness:1,saturation:1,hue:0,lightness:0,booleanBufferIn:null,booleanFileIn:"",joinChannelIn:[],extractChannel:-1,removeAlpha:!1,ensureAlpha:-1,colourspace:"srgb",colourspacePipeline:"last",composite:[],fileOut:"",formatOut:"input",streamOut:!1,keepMetadata:0,withMetadataOrientation:-1,withMetadataDensity:0,withIccProfile:"",withExif:{},withExifMerge:!0,resolveWithObject:!1,jpegQuality:80,jpegProgressive:!1,jpegChromaSubsampling:"4:2:0",jpegTrellisQuantisation:!1,jpegOvershootDeringing:!1,jpegOptimiseScans:!1,jpegOptimiseCoding:!0,jpegQuantisationTable:0,pngProgressive:!1,pngCompressionLevel:6,pngAdaptiveFiltering:!1,pngPalette:!1,pngQuality:100,pngEffort:7,pngBitdepth:8,pngDither:1,jp2Quality:80,jp2TileHeight:512,jp2TileWidth:512,jp2Lossless:!1,jp2ChromaSubsampling:"4:4:4",webpQuality:80,webpAlphaQuality:100,webpLossless:!1,webpNearLossless:!1,webpSmartSubsample:!1,webpPreset:"default",webpEffort:4,webpMinSize:!1,webpMixed:!1,gifBitdepth:8,gifEffort:7,gifDither:1,gifInterFrameMaxError:0,gifInterPaletteMaxError:3,gifReuse:!0,gifProgressive:!1,tiffQuality:80,tiffCompression:"jpeg",tiffPredictor:"horizontal",tiffPyramid:!1,tiffMiniswhite:!1,tiffBitdepth:8,tiffTile:!1,tiffTileHeight:256,tiffTileWidth:256,tiffXres:1,tiffYres:1,tiffResolutionUnit:"inch",heifQuality:50,heifLossless:!1,heifCompression:"av1",heifEffort:4,heifChromaSubsampling:"4:4:4",heifBitdepth:8,jxlDistance:1,jxlDecodingTier:0,jxlEffort:7,jxlLossless:!1,rawDepth:"uchar",tileSize:256,tileOverlap:0,tileContainer:"fs",tileLayout:"dz",tileFormat:"last",tileDepth:"last",tileAngle:0,tileSkipBlanks:-1,tileBackground:[255,255,255,255],tileCentre:!1,tileId:"https://example.com/iiif",tileBasename:"",timeoutSeconds:0,linearA:[],linearB:[],debuglog:(F)=>{this.emit("warning",F),r3(F)},queueListener:function(F){J2.queue.emit("change",F)}},this.options.input=this._createInputDescriptor($,J,{allowStream:!0}),this};Object.setPrototypeOf(J2.prototype,F1.Duplex.prototype);Object.setPrototypeOf(J2,F1.Duplex);function e3(){let $=this.constructor.call(),{debuglog:J,queueListener:F,...W}=this.options;if($.options=structuredClone(W),$.options.debuglog=J,$.options.queueListener=F,this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),$.options.input.buffer=this.options.input.buffer,$.emit("finish")});return $}Object.assign(J2.prototype,{clone:e3});b0.exports=J2});var W1=V((v9,v0)=>{v0.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var g0=V((h9,h0)=>{h0.exports=function $(J){if(!J||typeof J==="string")return!1;return J instanceof Array||Array.isArray(J)||J.length>=0&&(J.splice instanceof Function||Object.getOwnPropertyDescriptor(J,J.length-1)&&J.constructor.name!=="String")}});var u0=V((g9,l0)=>{var p3=g0(),n3=Array.prototype.concat,s3=Array.prototype.slice,m0=l0.exports=function $(J){var F=[];for(var W=0,Z=J.length;W<Z;W++){var w=J[W];if(p3(w))F=n3.call(F,s3.call(w));else F.push(w)}return F};m0.wrap=function($){return function(){return $(m0(arguments))}}});var e0=V((m9,r0)=>{var V2=W1(),D2=u0(),c0=Object.hasOwnProperty,a0=Object.create(null);for(d2 in V2)if(c0.call(V2,d2))a0[V2[d2]]=d2;var d2,d=r0.exports={to:{},get:{}};d.get=function($){var J=$.substring(0,3).toLowerCase(),F,W;switch(J){case"hsl":F=d.get.hsl($),W="hsl";break;case"hwb":F=d.get.hwb($),W="hwb";break;default:F=d.get.rgb($),W="rgb";break}if(!F)return null;return{model:W,value:F}};d.get.rgb=function($){if(!$)return null;var J=/^#([a-f0-9]{3,4})$/i,F=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,W=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,Z=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,w=/^(\w+)$/,B=[0,0,0,1],Y,K,I;if(Y=$.match(F)){I=Y[2],Y=Y[1];for(K=0;K<3;K++){var N=K*2;B[K]=parseInt(Y.slice(N,N+2),16)}if(I)B[3]=parseInt(I,16)/255}else if(Y=$.match(J)){Y=Y[1],I=Y[3];for(K=0;K<3;K++)B[K]=parseInt(Y[K]+Y[K],16);if(I)B[3]=parseInt(I+I,16)/255}else if(Y=$.match(W)){for(K=0;K<3;K++)B[K]=parseInt(Y[K+1],0);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=$.match(Z)){for(K=0;K<3;K++)B[K]=Math.round(parseFloat(Y[K+1])*2.55);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=$.match(w)){if(Y[1]==="transparent")return[0,0,0,0];if(!c0.call(V2,Y[1]))return null;return B=V2[Y[1]],B[3]=1,B}else return null;for(K=0;K<3;K++)B[K]=n(B[K],0,255);return B[3]=n(B[3],0,1),B};d.get.hsl=function($){if(!$)return null;var J=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,F=$.match(J);if(F){var W=parseFloat(F[4]),Z=(parseFloat(F[1])%360+360)%360,w=n(parseFloat(F[2]),0,100),B=n(parseFloat(F[3]),0,100),Y=n(isNaN(W)?1:W,0,1);return[Z,w,B,Y]}return null};d.get.hwb=function($){if(!$)return null;var J=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,F=$.match(J);if(F){var W=parseFloat(F[4]),Z=(parseFloat(F[1])%360+360)%360,w=n(parseFloat(F[2]),0,100),B=n(parseFloat(F[3]),0,100),Y=n(isNaN(W)?1:W,0,1);return[Z,w,B,Y]}return null};d.to.hex=function(){var $=D2(arguments);return"#"+b2($[0])+b2($[1])+b2($[2])+($[3]<1?b2(Math.round($[3]*255)):"")};d.to.rgb=function(){var $=D2(arguments);return $.length<4||$[3]===1?"rgb("+Math.round($[0])+", "+Math.round($[1])+", "+Math.round($[2])+")":"rgba("+Math.round($[0])+", "+Math.round($[1])+", "+Math.round($[2])+", "+$[3]+")"};d.to.rgb.percent=function(){var $=D2(arguments),J=Math.round($[0]/255*100),F=Math.round($[1]/255*100),W=Math.round($[2]/255*100);return $.length<4||$[3]===1?"rgb("+J+"%, "+F+"%, "+W+"%)":"rgba("+J+"%, "+F+"%, "+W+"%, "+$[3]+")"};d.to.hsl=function(){var $=D2(arguments);return $.length<4||$[3]===1?"hsl("+$[0]+", "+$[1]+"%, "+$[2]+"%)":"hsla("+$[0]+", "+$[1]+"%, "+$[2]+"%, "+$[3]+")"};d.to.hwb=function(){var $=D2(arguments),J="";if($.length>=4&&$[3]!==1)J=", "+$[3];return"hwb("+$[0]+", "+$[1]+"%, "+$[2]+"%"+J+")"};d.to.keyword=function($){return a0[$.slice(0,3)]};function n($,J,F){return Math.min(Math.max(J,$),F)}function b2($){var J=Math.round($).toString(16).toUpperCase();return J.length<2?"0"+J:J}});var Z1=V((l9,n0)=>{var _2=W1(),p0={};for(let $ of Object.keys(_2))p0[_2[$]]=$;var y={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};n0.exports=y;for(let $ of Object.keys(y)){if(!("channels"in y[$]))throw new Error("missing channels property: "+$);if(!("labels"in y[$]))throw new Error("missing channel labels property: "+$);if(y[$].labels.length!==y[$].channels)throw new Error("channel and label counts mismatch: "+$);let{channels:J,labels:F}=y[$];delete y[$].channels,delete y[$].labels,Object.defineProperty(y[$],"channels",{value:J}),Object.defineProperty(y[$],"labels",{value:F})}y.rgb.hsl=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.min(J,F,W),w=Math.max(J,F,W),B=w-Z,Y,K;if(w===Z)Y=0;else if(J===w)Y=(F-W)/B;else if(F===w)Y=2+(W-J)/B;else if(W===w)Y=4+(J-F)/B;if(Y=Math.min(Y*60,360),Y<0)Y+=360;let I=(Z+w)/2;if(w===Z)K=0;else if(I<=0.5)K=B/(w+Z);else K=B/(2-w-Z);return[Y,K*100,I*100]};y.rgb.hsv=function($){let J,F,W,Z,w,B=$[0]/255,Y=$[1]/255,K=$[2]/255,I=Math.max(B,Y,K),N=I-Math.min(B,Y,K),D=function(q){return(I-q)/6/N+0.5};if(N===0)Z=0,w=0;else{if(w=N/I,J=D(B),F=D(Y),W=D(K),B===I)Z=W-F;else if(Y===I)Z=0.3333333333333333+J-W;else if(K===I)Z=0.6666666666666666+F-J;if(Z<0)Z+=1;else if(Z>1)Z-=1}return[Z*360,w*100,I*100]};y.rgb.hwb=function($){let J=$[0],F=$[1],W=$[2],Z=y.rgb.hsl($)[0],w=0.00392156862745098*Math.min(J,Math.min(F,W));return W=1-0.00392156862745098*Math.max(J,Math.max(F,W)),[Z,w*100,W*100]};y.rgb.cmyk=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.min(1-J,1-F,1-W),w=(1-J-Z)/(1-Z)||0,B=(1-F-Z)/(1-Z)||0,Y=(1-W-Z)/(1-Z)||0;return[w*100,B*100,Y*100,Z*100]};function t3($,J){return($[0]-J[0])**2+($[1]-J[1])**2+($[2]-J[2])**2}y.rgb.keyword=function($){let J=p0[$];if(J)return J;let F=1/0,W;for(let Z of Object.keys(_2)){let w=_2[Z],B=t3($,w);if(B<F)F=B,W=Z}return W};y.keyword.rgb=function($){return _2[$]};y.rgb.xyz=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255;J=J>0.04045?((J+0.055)/1.055)**2.4:J/12.92,F=F>0.04045?((F+0.055)/1.055)**2.4:F/12.92,W=W>0.04045?((W+0.055)/1.055)**2.4:W/12.92;let Z=J*0.4124+F*0.3576+W*0.1805,w=J*0.2126+F*0.7152+W*0.0722,B=J*0.0193+F*0.1192+W*0.9505;return[Z*100,w*100,B*100]};y.rgb.lab=function($){let J=y.rgb.xyz($),F=J[0],W=J[1],Z=J[2];F/=95.047,W/=100,Z/=108.883,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let w=116*W-16,B=500*(F-W),Y=200*(W-Z);return[w,B,Y]};y.hsl.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100,Z,w,B;if(F===0)return B=W*255,[B,B,B];if(W<0.5)Z=W*(1+F);else Z=W+F-W*F;let Y=2*W-Z,K=[0,0,0];for(let I=0;I<3;I++){if(w=J+0.3333333333333333*-(I-1),w<0)w++;if(w>1)w--;if(6*w<1)B=Y+(Z-Y)*6*w;else if(2*w<1)B=Z;else if(3*w<2)B=Y+(Z-Y)*(0.6666666666666666-w)*6;else B=Y;K[I]=B*255}return K};y.hsl.hsv=function($){let J=$[0],F=$[1]/100,W=$[2]/100,Z=F,w=Math.max(W,0.01);W*=2,F*=W<=1?W:2-W,Z*=w<=1?w:2-w;let B=(W+F)/2,Y=W===0?2*Z/(w+Z):2*F/(W+F);return[J,Y*100,B*100]};y.hsv.rgb=function($){let J=$[0]/60,F=$[1]/100,W=$[2]/100,Z=Math.floor(J)%6,w=J-Math.floor(J),B=255*W*(1-F),Y=255*W*(1-F*w),K=255*W*(1-F*(1-w));switch(W*=255,Z){case 0:return[W,K,B];case 1:return[Y,W,B];case 2:return[B,W,K];case 3:return[B,Y,W];case 4:return[K,B,W];case 5:return[W,B,Y]}};y.hsv.hsl=function($){let J=$[0],F=$[1]/100,W=$[2]/100,Z=Math.max(W,0.01),w,B;B=(2-F)*W;let Y=(2-F)*Z;return w=F*Z,w/=Y<=1?Y:2-Y,w=w||0,B/=2,[J,w*100,B*100]};y.hwb.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100,Z=F+W,w;if(Z>1)F/=Z,W/=Z;let B=Math.floor(6*J),Y=1-W;if(w=6*J-B,(B&1)!==0)w=1-w;let K=F+w*(Y-F),I,N,D;switch(B){default:case 6:case 0:I=Y,N=K,D=F;break;case 1:I=K,N=Y,D=F;break;case 2:I=F,N=Y,D=K;break;case 3:I=F,N=K,D=Y;break;case 4:I=K,N=F,D=Y;break;case 5:I=Y,N=F,D=K;break}return[I*255,N*255,D*255]};y.cmyk.rgb=function($){let J=$[0]/100,F=$[1]/100,W=$[2]/100,Z=$[3]/100,w=1-Math.min(1,J*(1-Z)+Z),B=1-Math.min(1,F*(1-Z)+Z),Y=1-Math.min(1,W*(1-Z)+Z);return[w*255,B*255,Y*255]};y.xyz.rgb=function($){let J=$[0]/100,F=$[1]/100,W=$[2]/100,Z,w,B;return Z=J*3.2406+F*-1.5372+W*-0.4986,w=J*-0.9689+F*1.8758+W*0.0415,B=J*0.0557+F*-0.204+W*1.057,Z=Z>0.0031308?1.055*Z**0.4166666666666667-0.055:Z*12.92,w=w>0.0031308?1.055*w**0.4166666666666667-0.055:w*12.92,B=B>0.0031308?1.055*B**0.4166666666666667-0.055:B*12.92,Z=Math.min(Math.max(0,Z),1),w=Math.min(Math.max(0,w),1),B=Math.min(Math.max(0,B),1),[Z*255,w*255,B*255]};y.xyz.lab=function($){let J=$[0],F=$[1],W=$[2];J/=95.047,F/=100,W/=108.883,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862;let Z=116*F-16,w=500*(J-F),B=200*(F-W);return[Z,w,B]};y.lab.xyz=function($){let J=$[0],F=$[1],W=$[2],Z,w,B;w=(J+16)/116,Z=F/500+w,B=w-W/200;let Y=w**3,K=Z**3,I=B**3;return w=Y>0.008856?Y:(w-0.13793103448275862)/7.787,Z=K>0.008856?K:(Z-0.13793103448275862)/7.787,B=I>0.008856?I:(B-0.13793103448275862)/7.787,Z*=95.047,w*=100,B*=108.883,[Z,w,B]};y.lab.lch=function($){let J=$[0],F=$[1],W=$[2],Z;if(Z=Math.atan2(W,F)*360/2/Math.PI,Z<0)Z+=360;let B=Math.sqrt(F*F+W*W);return[J,B,Z]};y.lch.lab=function($){let J=$[0],F=$[1],Z=$[2]/360*2*Math.PI,w=F*Math.cos(Z),B=F*Math.sin(Z);return[J,w,B]};y.rgb.ansi16=function($,J=null){let[F,W,Z]=$,w=J===null?y.rgb.hsv($)[2]:J;if(w=Math.round(w/50),w===0)return 30;let B=30+(Math.round(Z/255)<<2|Math.round(W/255)<<1|Math.round(F/255));if(w===2)B+=60;return B};y.hsv.ansi16=function($){return y.rgb.ansi16(y.hsv.rgb($),$[2])};y.rgb.ansi256=function($){let J=$[0],F=$[1],W=$[2];if(J===F&&F===W){if(J<8)return 16;if(J>248)return 231;return Math.round((J-8)/247*24)+232}return 16+36*Math.round(J/255*5)+6*Math.round(F/255*5)+Math.round(W/255*5)};y.ansi16.rgb=function($){let J=$%10;if(J===0||J===7){if($>50)J+=3.5;return J=J/10.5*255,[J,J,J]}let F=(~~($>50)+1)*0.5,W=(J&1)*F*255,Z=(J>>1&1)*F*255,w=(J>>2&1)*F*255;return[W,Z,w]};y.ansi256.rgb=function($){if($>=232){let w=($-232)*10+8;return[w,w,w]}$-=16;let J,F=Math.floor($/36)/5*255,W=Math.floor((J=$%36)/6)/5*255,Z=J%6/5*255;return[F,W,Z]};y.rgb.hex=function($){let F=(((Math.round($[0])&255)<<16)+((Math.round($[1])&255)<<8)+(Math.round($[2])&255)).toString(16).toUpperCase();return"000000".substring(F.length)+F};y.hex.rgb=function($){let J=$.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!J)return[0,0,0];let F=J[0];if(J[0].length===3)F=F.split("").map((Y)=>{return Y+Y}).join("");let W=parseInt(F,16),Z=W>>16&255,w=W>>8&255,B=W&255;return[Z,w,B]};y.rgb.hcg=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.max(Math.max(J,F),W),w=Math.min(Math.min(J,F),W),B=Z-w,Y,K;if(B<1)Y=w/(1-B);else Y=0;if(B<=0)K=0;else if(Z===J)K=(F-W)/B%6;else if(Z===F)K=2+(W-J)/B;else K=4+(J-F)/B;return K/=6,K%=1,[K*360,B*100,Y*100]};y.hsl.hcg=function($){let J=$[1]/100,F=$[2]/100,W=F<0.5?2*J*F:2*J*(1-F),Z=0;if(W<1)Z=(F-0.5*W)/(1-W);return[$[0],W*100,Z*100]};y.hsv.hcg=function($){let J=$[1]/100,F=$[2]/100,W=J*F,Z=0;if(W<1)Z=(F-W)/(1-W);return[$[0],W*100,Z*100]};y.hcg.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100;if(F===0)return[W*255,W*255,W*255];let Z=[0,0,0],w=J%1*6,B=w%1,Y=1-B,K=0;switch(Math.floor(w)){case 0:Z[0]=1,Z[1]=B,Z[2]=0;break;case 1:Z[0]=Y,Z[1]=1,Z[2]=0;break;case 2:Z[0]=0,Z[1]=1,Z[2]=B;break;case 3:Z[0]=0,Z[1]=Y,Z[2]=1;break;case 4:Z[0]=B,Z[1]=0,Z[2]=1;break;default:Z[0]=1,Z[1]=0,Z[2]=Y}return K=(1-F)*W,[(F*Z[0]+K)*255,(F*Z[1]+K)*255,(F*Z[2]+K)*255]};y.hcg.hsv=function($){let J=$[1]/100,F=$[2]/100,W=J+F*(1-J),Z=0;if(W>0)Z=J/W;return[$[0],Z*100,W*100]};y.hcg.hsl=function($){let J=$[1]/100,W=$[2]/100*(1-J)+0.5*J,Z=0;if(W>0&&W<0.5)Z=J/(2*W);else if(W>=0.5&&W<1)Z=J/(2*(1-W));return[$[0],Z*100,W*100]};y.hcg.hwb=function($){let J=$[1]/100,F=$[2]/100,W=J+F*(1-J);return[$[0],(W-J)*100,(1-W)*100]};y.hwb.hcg=function($){let J=$[1]/100,W=1-$[2]/100,Z=W-J,w=0;if(Z<1)w=(W-Z)/(1-Z);return[$[0],Z*100,w*100]};y.apple.rgb=function($){return[$[0]/65535*255,$[1]/65535*255,$[2]/65535*255]};y.rgb.apple=function($){return[$[0]/255*65535,$[1]/255*65535,$[2]/255*65535]};y.gray.rgb=function($){return[$[0]/100*255,$[0]/100*255,$[0]/100*255]};y.gray.hsl=function($){return[0,0,$[0]]};y.gray.hsv=y.gray.hsl;y.gray.hwb=function($){return[0,100,$[0]]};y.gray.cmyk=function($){return[0,0,0,$[0]]};y.gray.lab=function($){return[$[0],0,0]};y.gray.hex=function($){let J=Math.round($[0]/100*255)&255,W=((J<<16)+(J<<8)+J).toString(16).toUpperCase();return"000000".substring(W.length)+W};y.rgb.gray=function($){return[($[0]+$[1]+$[2])/3/255*100]}});var t0=V((u9,s0)=>{var O2=Z1();function i3(){let $={},J=Object.keys(O2);for(let F=J.length,W=0;W<F;W++)$[J[W]]={distance:-1,parent:null};return $}function o3($){let J=i3(),F=[$];J[$].distance=0;while(F.length){let W=F.pop(),Z=Object.keys(O2[W]);for(let w=Z.length,B=0;B<w;B++){let Y=Z[B],K=J[Y];if(K.distance===-1)K.distance=J[W].distance+1,K.parent=W,F.unshift(Y)}}return J}function $8($,J){return function(F){return J($(F))}}function J8($,J){let F=[J[$].parent,$],W=O2[J[$].parent][$],Z=J[$].parent;while(J[Z].parent)F.unshift(J[Z].parent),W=$8(O2[J[Z].parent][Z],W),Z=J[Z].parent;return W.conversion=F,W}s0.exports=function($){let J=o3($),F={},W=Object.keys(J);for(let Z=W.length,w=0;w<Z;w++){let B=W[w];if(J[B].parent===null)continue;F[B]=J8(B,J)}return F}});var o0=V((c9,i0)=>{var w1=Z1(),F8=t0(),Y2={},W8=Object.keys(w1);function Z8($){let J=function(...F){let W=F[0];if(W===void 0||W===null)return W;if(W.length>1)F=W;return $(F)};if("conversion"in $)J.conversion=$.conversion;return J}function w8($){let J=function(...F){let W=F[0];if(W===void 0||W===null)return W;if(W.length>1)F=W;let Z=$(F);if(typeof Z==="object")for(let w=Z.length,B=0;B<w;B++)Z[B]=Math.round(Z[B]);return Z};if("conversion"in $)J.conversion=$.conversion;return J}W8.forEach(($)=>{Y2[$]={},Object.defineProperty(Y2[$],"channels",{value:w1[$].channels}),Object.defineProperty(Y2[$],"labels",{value:w1[$].labels});let J=F8($);Object.keys(J).forEach((W)=>{let Z=J[W];Y2[$][W]=w8(Z),Y2[$][W].raw=Z8(Z)})});i0.exports=Y2});var h2=V((a9,J5)=>{var Q2=e0(),b=o0(),$5=["keyword","gray","hex"],U1={};for(let $ of Object.keys(b))U1[[...b[$].labels].sort().join("")]=$;var v2={};function R($,J){if(!(this instanceof R))return new R($,J);if(J&&J in $5)J=null;if(J&&!(J in b))throw new Error("Unknown model: "+J);let F,W;if($==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if($ instanceof R)this.model=$.model,this.color=[...$.color],this.valpha=$.valpha;else if(typeof $==="string"){let Z=Q2.get($);if(Z===null)throw new Error("Unable to parse color from string: "+$);this.model=Z.model,W=b[this.model].channels,this.color=Z.value.slice(0,W),this.valpha=typeof Z.value[W]==="number"?Z.value[W]:1}else if($.length>0){this.model=J||"rgb",W=b[this.model].channels;let Z=Array.prototype.slice.call($,0,W);this.color=B1(Z,W),this.valpha=typeof $[W]==="number"?$[W]:1}else if(typeof $==="number")this.model="rgb",this.color=[$>>16&255,$>>8&255,$&255],this.valpha=1;else{this.valpha=1;let Z=Object.keys($);if("alpha"in $)Z.splice(Z.indexOf("alpha"),1),this.valpha=typeof $.alpha==="number"?$.alpha:0;let w=Z.sort().join("");if(!(w in U1))throw new Error("Unable to parse color from object: "+JSON.stringify($));this.model=U1[w];let{labels:B}=b[this.model],Y=[];for(F=0;F<B.length;F++)Y.push($[B[F]]);this.color=B1(Y)}if(v2[this.model]){W=b[this.model].channels;for(F=0;F<W;F++){let Z=v2[this.model][F];if(Z)this.color[F]=Z(this.color[F])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}R.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string($){let J=this.model in Q2.to?this:this.rgb();J=J.round(typeof $==="number"?$:1);let F=J.valpha===1?J.color:[...J.color,this.valpha];return Q2.to[J.model](F)},percentString($){let J=this.rgb().round(typeof $==="number"?$:1),F=J.valpha===1?J.color:[...J.color,this.valpha];return Q2.to.rgb.percent(F)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let $={},{channels:J}=b[this.model],{labels:F}=b[this.model];for(let W=0;W<J;W++)$[F[W]]=this.color[W];if(this.valpha!==1)$.alpha=this.valpha;return $},unitArray(){let $=this.rgb().color;if($[0]/=255,$[1]/=255,$[2]/=255,this.valpha!==1)$.push(this.valpha);return $},unitObject(){let $=this.rgb().object();if($.r/=255,$.g/=255,$.b/=255,this.valpha!==1)$.alpha=this.valpha;return $},round($){return $=Math.max($||0,0),new R([...this.color.map(B8($)),this.valpha],this.model)},alpha($){if($!==void 0)return new R([...this.color,Math.max(0,Math.min(1,$))],this.model);return this.valpha},red:j("rgb",0,E(255)),green:j("rgb",1,E(255)),blue:j("rgb",2,E(255)),hue:j(["hsl","hsv","hsl","hwb","hcg"],0,($)=>($%360+360)%360),saturationl:j("hsl",1,E(100)),lightness:j("hsl",2,E(100)),saturationv:j("hsv",1,E(100)),value:j("hsv",2,E(100)),chroma:j("hcg",1,E(100)),gray:j("hcg",2,E(100)),white:j("hwb",1,E(100)),wblack:j("hwb",2,E(100)),cyan:j("cmyk",0,E(100)),magenta:j("cmyk",1,E(100)),yellow:j("cmyk",2,E(100)),black:j("cmyk",3,E(100)),x:j("xyz",0,E(95.047)),y:j("xyz",1,E(100)),z:j("xyz",2,E(108.833)),l:j("lab",0,E(100)),a:j("lab",1),b:j("lab",2),keyword($){if($!==void 0)return new R($);return b[this.model].keyword(this.color)},hex($){if($!==void 0)return new R($);return Q2.to.hex(this.rgb().round().color)},hexa($){if($!==void 0)return new R($);let J=this.rgb().round().color,F=Math.round(this.valpha*255).toString(16).toUpperCase();if(F.length===1)F="0"+F;return Q2.to.hex(J)+F},rgbNumber(){let $=this.rgb().color;return($[0]&255)<<16|($[1]&255)<<8|$[2]&255},luminosity(){let $=this.rgb().color,J=[];for(let[F,W]of $.entries()){let Z=W/255;J[F]=Z<=0.04045?Z/12.92:((Z+0.055)/1.055)**2.4}return 0.2126*J[0]+0.7152*J[1]+0.0722*J[2]},contrast($){let J=this.luminosity(),F=$.luminosity();if(J>F)return(J+0.05)/(F+0.05);return(F+0.05)/(J+0.05)},level($){let J=this.contrast($);if(J>=7)return"AAA";return J>=4.5?"AA":""},isDark(){let $=this.rgb().color;return($[0]*2126+$[1]*7152+$[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let $=this.rgb();for(let J=0;J<3;J++)$.color[J]=255-$.color[J];return $},lighten($){let J=this.hsl();return J.color[2]+=J.color[2]*$,J},darken($){let J=this.hsl();return J.color[2]-=J.color[2]*$,J},saturate($){let J=this.hsl();return J.color[1]+=J.color[1]*$,J},desaturate($){let J=this.hsl();return J.color[1]-=J.color[1]*$,J},whiten($){let J=this.hwb();return J.color[1]+=J.color[1]*$,J},blacken($){let J=this.hwb();return J.color[2]+=J.color[2]*$,J},grayscale(){let $=this.rgb().color,J=$[0]*0.3+$[1]*0.59+$[2]*0.11;return R.rgb(J,J,J)},fade($){return this.alpha(this.valpha-this.valpha*$)},opaquer($){return this.alpha(this.valpha+this.valpha*$)},rotate($){let J=this.hsl(),F=J.color[0];return F=(F+$)%360,F=F<0?360+F:F,J.color[0]=F,J},mix($,J){if(!$||!$.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof $);let F=$.rgb(),W=this.rgb(),Z=J===void 0?0.5:J,w=2*Z-1,B=F.alpha()-W.alpha(),Y=((w*B===-1?w:(w+B)/(1+w*B))+1)/2,K=1-Y;return R.rgb(Y*F.red()+K*W.red(),Y*F.green()+K*W.green(),Y*F.blue()+K*W.blue(),F.alpha()*Z+W.alpha()*(1-Z))}};for(let $ of Object.keys(b)){if($5.includes($))continue;let{channels:J}=b[$];R.prototype[$]=function(...F){if(this.model===$)return new R(this);if(F.length>0)return new R(F,$);return new R([...Y8(b[this.model][$].raw(this.color)),this.valpha],$)},R[$]=function(...F){let W=F[0];if(typeof W==="number")W=B1(F,J);return new R(W,$)}}function U8($,J){return Number($.toFixed(J))}function B8($){return function(J){return U8(J,$)}}function j($,J,F){$=Array.isArray($)?$:[$];for(let W of $)(v2[W]||(v2[W]=[]))[J]=F;return $=$[0],function(W){let Z;if(W!==void 0){if(F)W=F(W);return Z=this[$](),Z.color[J]=W,Z}if(Z=this[$]().color[J],F)Z=F(Z);return Z}}function E($){return function(J){return Math.max(0,Math.min($,J))}}function Y8($){return Array.isArray($)?$:[$]}function B1($,J){for(let F=0;F<J;F++)if(typeof $[F]!=="number")$[F]=0;return $}J5.exports=R});var Z5=V((r9,W5)=>{var Q8=h2(),G=l(),s=X2(),K8={left:"low",center:"centre",centre:"centre",right:"high"};function F5($){let{raw:J,density:F,limitInputPixels:W,ignoreIcc:Z,unlimited:w,sequentialRead:B,failOn:Y,failOnError:K,animated:I,page:N,pages:D,subifd:q}=$;return[J,F,W,Z,w,B,Y,K,I,N,D,q].some(G.defined)?{raw:J,density:F,limitInputPixels:W,ignoreIcc:Z,unlimited:w,sequentialRead:B,failOn:Y,failOnError:K,animated:I,page:N,pages:D,subifd:q}:void 0}function G8($,J,F){let W={failOn:"warning",limitInputPixels:Math.pow(16383,2),ignoreIcc:!1,unlimited:!1,sequentialRead:!0};if(G.string($))W.file=$;else if(G.buffer($)){if($.length===0)throw Error("Input Buffer is empty");W.buffer=$}else if(G.arrayBuffer($)){if($.byteLength===0)throw Error("Input bit Array is empty");W.buffer=Buffer.from($,0,$.byteLength)}else if(G.typedArray($)){if($.length===0)throw Error("Input Bit Array is empty");W.buffer=Buffer.from($.buffer,$.byteOffset,$.byteLength)}else if(G.plainObject($)&&!G.defined(J)){if(J=$,F5(J))W.buffer=[]}else if(!G.defined($)&&!G.defined(J)&&G.object(F)&&F.allowStream)W.buffer=[];else throw new Error(`Unsupported input '${$}' of type ${typeof $}${G.defined(J)?` when also providing options of type ${typeof J}`:""}`);if(G.object(J)){if(G.defined(J.failOnError))if(G.bool(J.failOnError))W.failOn=J.failOnError?"warning":"none";else throw G.invalidParameterError("failOnError","boolean",J.failOnError);if(G.defined(J.failOn))if(G.string(J.failOn)&&G.inArray(J.failOn,["none","truncated","error","warning"]))W.failOn=J.failOn;else throw G.invalidParameterError("failOn","one of: none, truncated, error, warning",J.failOn);if(G.defined(J.density))if(G.inRange(J.density,1,1e5))W.density=J.density;else throw G.invalidParameterError("density","number between 1 and 100000",J.density);if(G.defined(J.ignoreIcc))if(G.bool(J.ignoreIcc))W.ignoreIcc=J.ignoreIcc;else throw G.invalidParameterError("ignoreIcc","boolean",J.ignoreIcc);if(G.defined(J.limitInputPixels))if(G.bool(J.limitInputPixels))W.limitInputPixels=J.limitInputPixels?Math.pow(16383,2):0;else if(G.integer(J.limitInputPixels)&&G.inRange(J.limitInputPixels,0,Number.MAX_SAFE_INTEGER))W.limitInputPixels=J.limitInputPixels;else throw G.invalidParameterError("limitInputPixels","positive integer",J.limitInputPixels);if(G.defined(J.unlimited))if(G.bool(J.unlimited))W.unlimited=J.unlimited;else throw G.invalidParameterError("unlimited","boolean",J.unlimited);if(G.defined(J.sequentialRead))if(G.bool(J.sequentialRead))W.sequentialRead=J.sequentialRead;else throw G.invalidParameterError("sequentialRead","boolean",J.sequentialRead);if(G.defined(J.raw))if(G.object(J.raw)&&G.integer(J.raw.width)&&J.raw.width>0&&G.integer(J.raw.height)&&J.raw.height>0&&G.integer(J.raw.channels)&&G.inRange(J.raw.channels,1,4))switch(W.rawWidth=J.raw.width,W.rawHeight=J.raw.height,W.rawChannels=J.raw.channels,W.rawPremultiplied=!!J.raw.premultiplied,$.constructor){case Uint8Array:case Uint8ClampedArray:W.rawDepth="uchar";break;case Int8Array:W.rawDepth="char";break;case Uint16Array:W.rawDepth="ushort";break;case Int16Array:W.rawDepth="short";break;case Uint32Array:W.rawDepth="uint";break;case Int32Array:W.rawDepth="int";break;case Float32Array:W.rawDepth="float";break;case Float64Array:W.rawDepth="double";break;default:W.rawDepth="uchar";break}else throw new Error("Expected width, height and channels for raw pixel input");if(G.defined(J.animated))if(G.bool(J.animated))W.pages=J.animated?-1:1;else throw G.invalidParameterError("animated","boolean",J.animated);if(G.defined(J.pages))if(G.integer(J.pages)&&G.inRange(J.pages,-1,1e5))W.pages=J.pages;else throw G.invalidParameterError("pages","integer between -1 and 100000",J.pages);if(G.defined(J.page))if(G.integer(J.page)&&G.inRange(J.page,0,1e5))W.page=J.page;else throw G.invalidParameterError("page","integer between 0 and 100000",J.page);if(G.defined(J.level))if(G.integer(J.level)&&G.inRange(J.level,0,256))W.level=J.level;else throw G.invalidParameterError("level","integer between 0 and 256",J.level);if(G.defined(J.subifd))if(G.integer(J.subifd)&&G.inRange(J.subifd,-1,1e5))W.subifd=J.subifd;else throw G.invalidParameterError("subifd","integer between -1 and 100000",J.subifd);if(G.defined(J.create))if(G.object(J.create)&&G.integer(J.create.width)&&J.create.width>0&&G.integer(J.create.height)&&J.create.height>0&&G.integer(J.create.channels)){if(W.createWidth=J.create.width,W.createHeight=J.create.height,W.createChannels=J.create.channels,G.defined(J.create.noise)){if(!G.object(J.create.noise))throw new Error("Expected noise to be an object");if(!G.inArray(J.create.noise.type,["gaussian"]))throw new Error("Only gaussian noise is supported at the moment");if(!G.inRange(J.create.channels,1,4))throw G.invalidParameterError("create.channels","number between 1 and 4",J.create.channels);if(W.createNoiseType=J.create.noise.type,G.number(J.create.noise.mean)&&G.inRange(J.create.noise.mean,0,1e4))W.createNoiseMean=J.create.noise.mean;else throw G.invalidParameterError("create.noise.mean","number between 0 and 10000",J.create.noise.mean);if(G.number(J.create.noise.sigma)&&G.inRange(J.create.noise.sigma,0,1e4))W.createNoiseSigma=J.create.noise.sigma;else throw G.invalidParameterError("create.noise.sigma","number between 0 and 10000",J.create.noise.sigma)}else if(G.defined(J.create.background)){if(!G.inRange(J.create.channels,3,4))throw G.invalidParameterError("create.channels","number between 3 and 4",J.create.channels);let Z=Q8(J.create.background);W.createBackground=[Z.red(),Z.green(),Z.blue(),Math.round(Z.alpha()*255)]}else throw new Error("Expected valid noise or background to create a new input image");delete W.buffer}else throw new Error("Expected valid width, height and channels to create a new input image");if(G.defined(J.text))if(G.object(J.text)&&G.string(J.text.text)){if(W.textValue=J.text.text,G.defined(J.text.height)&&G.defined(J.text.dpi))throw new Error("Expected only one of dpi or height");if(G.defined(J.text.font))if(G.string(J.text.font))W.textFont=J.text.font;else throw G.invalidParameterError("text.font","string",J.text.font);if(G.defined(J.text.fontfile))if(G.string(J.text.fontfile))W.textFontfile=J.text.fontfile;else throw G.invalidParameterError("text.fontfile","string",J.text.fontfile);if(G.defined(J.text.width))if(G.integer(J.text.width)&&J.text.width>0)W.textWidth=J.text.width;else throw G.invalidParameterError("text.width","positive integer",J.text.width);if(G.defined(J.text.height))if(G.integer(J.text.height)&&J.text.height>0)W.textHeight=J.text.height;else throw G.invalidParameterError("text.height","positive integer",J.text.height);if(G.defined(J.text.align))if(G.string(J.text.align)&&G.string(this.constructor.align[J.text.align]))W.textAlign=this.constructor.align[J.text.align];else throw G.invalidParameterError("text.align","valid alignment",J.text.align);if(G.defined(J.text.justify))if(G.bool(J.text.justify))W.textJustify=J.text.justify;else throw G.invalidParameterError("text.justify","boolean",J.text.justify);if(G.defined(J.text.dpi))if(G.integer(J.text.dpi)&&G.inRange(J.text.dpi,1,1e6))W.textDpi=J.text.dpi;else throw G.invalidParameterError("text.dpi","integer between 1 and 1000000",J.text.dpi);if(G.defined(J.text.rgba))if(G.bool(J.text.rgba))W.textRgba=J.text.rgba;else throw G.invalidParameterError("text.rgba","bool",J.text.rgba);if(G.defined(J.text.spacing))if(G.integer(J.text.spacing)&&G.inRange(J.text.spacing,-1e6,1e6))W.textSpacing=J.text.spacing;else throw G.invalidParameterError("text.spacing","integer between -1000000 and 1000000",J.text.spacing);if(G.defined(J.text.wrap))if(G.string(J.text.wrap)&&G.inArray(J.text.wrap,["word","char","word-char","none"]))W.textWrap=J.text.wrap;else throw G.invalidParameterError("text.wrap","one of: word, char, word-char, none",J.text.wrap);delete W.buffer}else throw new Error("Expected a valid string to create an image with text.")}else if(G.defined(J))throw new Error("Invalid input options "+J);return W}function I8($,J,F){if(Array.isArray(this.options.input.buffer))if(G.buffer($)){if(this.options.input.buffer.length===0)this.on("finish",()=>{this.streamInFinished=!0});this.options.input.buffer.push($),F()}else F(new Error("Non-Buffer data on Writable Stream"));else F(new Error("Unexpected data on Writable Stream"))}function H8(){if(this._isStreamInput())this.options.input.buffer=Buffer.concat(this.options.input.buffer)}function L8(){return Array.isArray(this.options.input.buffer)}function y8($){let J=Error();if(G.fn($)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),s.metadata(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)})});else s.metadata(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)});return this}else if(this._isStreamInput())return new Promise((F,W)=>{let Z=()=>{this._flattenBufferIn(),s.metadata(this.options,(w,B)=>{if(w)W(G.nativeError(w,J));else F(B)})};if(this.writableFinished)Z();else this.once("finish",Z)});else return new Promise((F,W)=>{s.metadata(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})}function P8($){let J=Error();if(G.fn($)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),s.stats(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)})});else s.stats(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)});return this}else if(this._isStreamInput())return new Promise((F,W)=>{this.on("finish",function(){this._flattenBufferIn(),s.stats(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})});else return new Promise((F,W)=>{s.stats(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})}W5.exports=function($){Object.assign($.prototype,{_inputOptionsFromObject:F5,_createInputDescriptor:G8,_write:I8,_flattenBufferIn:H8,_isStreamInput:L8,metadata:y8,stats:P8}),$.align=K8}});var K5=V((e9,Q5)=>{var P=l(),U5={center:0,centre:0,north:1,east:2,south:3,west:4,northeast:5,southeast:6,southwest:7,northwest:8},B5={top:1,right:2,bottom:3,left:4,"right top":5,"right bottom":6,"left bottom":7,"left top":8},w5={background:"background",copy:"copy",repeat:"repeat",mirror:"mirror"},Y5={entropy:16,attention:17},Y1={nearest:"nearest",linear:"linear",cubic:"cubic",mitchell:"mitchell",lanczos2:"lanczos2",lanczos3:"lanczos3"},N8={contain:"contain",cover:"cover",fill:"fill",inside:"inside",outside:"outside"},X8={contain:"embed",cover:"crop",fill:"ignore_aspect",inside:"max",outside:"min"};function Q1($){return $.angle%360!==0||$.useExifOrientation===!0||$.rotationAngle!==0}function g2($){return $.width!==-1||$.height!==-1}function V8($,J,F){if(g2(this.options))this.options.debuglog("ignoring previous resize options");if(this.options.widthPost!==-1)this.options.debuglog("operation order will be: extract, resize, extract");if(P.defined($))if(P.object($)&&!P.defined(F))F=$;else if(P.integer($)&&$>0)this.options.width=$;else throw P.invalidParameterError("width","positive integer",$);else this.options.width=-1;if(P.defined(J))if(P.integer(J)&&J>0)this.options.height=J;else throw P.invalidParameterError("height","positive integer",J);else this.options.height=-1;if(P.object(F)){if(P.defined(F.width))if(P.integer(F.width)&&F.width>0)this.options.width=F.width;else throw P.invalidParameterError("width","positive integer",F.width);if(P.defined(F.height))if(P.integer(F.height)&&F.height>0)this.options.height=F.height;else throw P.invalidParameterError("height","positive integer",F.height);if(P.defined(F.fit)){let W=X8[F.fit];if(P.string(W))this.options.canvas=W;else throw P.invalidParameterError("fit","valid fit",F.fit)}if(P.defined(F.position)){let W=P.integer(F.position)?F.position:Y5[F.position]||B5[F.position]||U5[F.position];if(P.integer(W)&&(P.inRange(W,0,8)||P.inRange(W,16,17)))this.options.position=W;else throw P.invalidParameterError("position","valid position/gravity/strategy",F.position)}if(this._setBackgroundColourOption("resizeBackground",F.background),P.defined(F.kernel))if(P.string(Y1[F.kernel]))this.options.kernel=Y1[F.kernel];else throw P.invalidParameterError("kernel","valid kernel name",F.kernel);if(P.defined(F.withoutEnlargement))this._setBooleanOption("withoutEnlargement",F.withoutEnlargement);if(P.defined(F.withoutReduction))this._setBooleanOption("withoutReduction",F.withoutReduction);if(P.defined(F.fastShrinkOnLoad))this._setBooleanOption("fastShrinkOnLoad",F.fastShrinkOnLoad)}if(Q1(this.options)&&g2(this.options))this.options.rotateBeforePreExtract=!0;return this}function D8($){if(P.integer($)&&$>0)this.options.extendTop=$,this.options.extendBottom=$,this.options.extendLeft=$,this.options.extendRight=$;else if(P.object($)){if(P.defined($.top))if(P.integer($.top)&&$.top>=0)this.options.extendTop=$.top;else throw P.invalidParameterError("top","positive integer",$.top);if(P.defined($.bottom))if(P.integer($.bottom)&&$.bottom>=0)this.options.extendBottom=$.bottom;else throw P.invalidParameterError("bottom","positive integer",$.bottom);if(P.defined($.left))if(P.integer($.left)&&$.left>=0)this.options.extendLeft=$.left;else throw P.invalidParameterError("left","positive integer",$.left);if(P.defined($.right))if(P.integer($.right)&&$.right>=0)this.options.extendRight=$.right;else throw P.invalidParameterError("right","positive integer",$.right);if(this._setBackgroundColourOption("extendBackground",$.background),P.defined($.extendWith))if(P.string(w5[$.extendWith]))this.options.extendWith=w5[$.extendWith];else throw P.invalidParameterError("extendWith","one of: background, copy, repeat, mirror",$.extendWith)}else throw P.invalidParameterError("extend","integer or object",$);return this}function _8($){let J=g2(this.options)||this.options.widthPre!==-1?"Post":"Pre";if(this.options[`width${J}`]!==-1)this.options.debuglog("ignoring previous extract options");if(["left","top","width","height"].forEach(function(F){let W=$[F];if(P.integer(W)&&W>=0)this.options[F+(F==="left"||F==="top"?"Offset":"")+J]=W;else throw P.invalidParameterError(F,"integer",W)},this),Q1(this.options)&&!g2(this.options)){if(this.options.widthPre===-1||this.options.widthPost===-1)this.options.rotateBeforePreExtract=!0}return this}function z8($){if(this.options.trimThreshold=10,P.defined($))if(P.object($)){if(P.defined($.background))this._setBackgroundColourOption("trimBackground",$.background);if(P.defined($.threshold))if(P.number($.threshold)&&$.threshold>=0)this.options.trimThreshold=$.threshold;else throw P.invalidParameterError("threshold","positive number",$.threshold);if(P.defined($.lineArt))this._setBooleanOption("trimLineArt",$.lineArt)}else throw P.invalidParameterError("trim","object",$);if(Q1(this.options))this.options.rotateBeforePreExtract=!0;return this}Q5.exports=function($){Object.assign($.prototype,{resize:V8,extend:D8,extract:_8,trim:z8}),$.gravity=U5,$.strategy=Y5,$.kernel=Y1,$.fit=N8,$.position=B5}});var I5=V((p9,G5)=>{var _=l(),K1={clear:"clear",source:"source",over:"over",in:"in",out:"out",atop:"atop",dest:"dest","dest-over":"dest-over","dest-in":"dest-in","dest-out":"dest-out","dest-atop":"dest-atop",xor:"xor",add:"add",saturate:"saturate",multiply:"multiply",screen:"screen",overlay:"overlay",darken:"darken",lighten:"lighten","colour-dodge":"colour-dodge","color-dodge":"colour-dodge","colour-burn":"colour-burn","color-burn":"colour-burn","hard-light":"hard-light","soft-light":"soft-light",difference:"difference",exclusion:"exclusion"};function j8($){if(!Array.isArray($))throw _.invalidParameterError("images to composite","array",$);return this.options.composite=$.map((J)=>{if(!_.object(J))throw _.invalidParameterError("image to composite","object",J);let F=this._inputOptionsFromObject(J),W={input:this._createInputDescriptor(J.input,F,{allowStream:!1}),blend:"over",tile:!1,left:0,top:0,hasOffset:!1,gravity:0,premultiplied:!1};if(_.defined(J.blend))if(_.string(K1[J.blend]))W.blend=K1[J.blend];else throw _.invalidParameterError("blend","valid blend name",J.blend);if(_.defined(J.tile))if(_.bool(J.tile))W.tile=J.tile;else throw _.invalidParameterError("tile","boolean",J.tile);if(_.defined(J.left))if(_.integer(J.left))W.left=J.left;else throw _.invalidParameterError("left","integer",J.left);if(_.defined(J.top))if(_.integer(J.top))W.top=J.top;else throw _.invalidParameterError("top","integer",J.top);if(_.defined(J.top)!==_.defined(J.left))throw new Error("Expected both left and top to be set");else W.hasOffset=_.integer(J.top)&&_.integer(J.left);if(_.defined(J.gravity))if(_.integer(J.gravity)&&_.inRange(J.gravity,0,8))W.gravity=J.gravity;else if(_.string(J.gravity)&&_.integer(this.constructor.gravity[J.gravity]))W.gravity=this.constructor.gravity[J.gravity];else throw _.invalidParameterError("gravity","valid gravity",J.gravity);if(_.defined(J.premultiplied))if(_.bool(J.premultiplied))W.premultiplied=J.premultiplied;else throw _.invalidParameterError("premultiplied","boolean",J.premultiplied);return W}),this}G5.exports=function($){$.prototype.composite=j8,$.blend=K1}});var y5=V((n9,L5)=>{var T8=h2(),Q=l(),H5={integer:"integer",float:"float",approximate:"approximate"};function E8($,J){if(this.options.useExifOrientation||this.options.angle||this.options.rotationAngle)this.options.debuglog("ignoring previous rotate options");if(!Q.defined($))this.options.useExifOrientation=!0;else if(Q.integer($)&&!($%90))this.options.angle=$;else if(Q.number($)){if(this.options.rotationAngle=$,Q.object(J)&&J.background){let F=T8(J.background);this.options.rotationBackground=[F.red(),F.green(),F.blue(),Math.round(F.alpha()*255)]}}else throw Q.invalidParameterError("angle","numeric",$);return this}function R8($){return this.options.flip=Q.bool($)?$:!0,this}function q8($){return this.options.flop=Q.bool($)?$:!0,this}function A8($,J){let F=[].concat(...$);if(F.length===4&&F.every(Q.number))this.options.affineMatrix=F;else throw Q.invalidParameterError("matrix","1x4 or 2x2 array",$);if(Q.defined(J))if(Q.object(J)){if(this._setBackgroundColourOption("affineBackground",J.background),Q.defined(J.idx))if(Q.number(J.idx))this.options.affineIdx=J.idx;else throw Q.invalidParameterError("options.idx","number",J.idx);if(Q.defined(J.idy))if(Q.number(J.idy))this.options.affineIdy=J.idy;else throw Q.invalidParameterError("options.idy","number",J.idy);if(Q.defined(J.odx))if(Q.number(J.odx))this.options.affineOdx=J.odx;else throw Q.invalidParameterError("options.odx","number",J.odx);if(Q.defined(J.ody))if(Q.number(J.ody))this.options.affineOdy=J.ody;else throw Q.invalidParameterError("options.ody","number",J.ody);if(Q.defined(J.interpolator))if(Q.inArray(J.interpolator,Object.values(this.constructor.interpolators)))this.options.affineInterpolator=J.interpolator;else throw Q.invalidParameterError("options.interpolator","valid interpolator name",J.interpolator)}else throw Q.invalidParameterError("options","object",J);return this}function S8($,J,F){if(!Q.defined($))this.options.sharpenSigma=-1;else if(Q.bool($))this.options.sharpenSigma=$?-1:0;else if(Q.number($)&&Q.inRange($,0.01,1e4)){if(this.options.sharpenSigma=$,Q.defined(J))if(Q.number(J)&&Q.inRange(J,0,1e4))this.options.sharpenM1=J;else throw Q.invalidParameterError("flat","number between 0 and 10000",J);if(Q.defined(F))if(Q.number(F)&&Q.inRange(F,0,1e4))this.options.sharpenM2=F;else throw Q.invalidParameterError("jagged","number between 0 and 10000",F)}else if(Q.plainObject($)){if(Q.number($.sigma)&&Q.inRange($.sigma,0.000001,10))this.options.sharpenSigma=$.sigma;else throw Q.invalidParameterError("options.sigma","number between 0.000001 and 10",$.sigma);if(Q.defined($.m1))if(Q.number($.m1)&&Q.inRange($.m1,0,1e6))this.options.sharpenM1=$.m1;else throw Q.invalidParameterError("options.m1","number between 0 and 1000000",$.m1);if(Q.defined($.m2))if(Q.number($.m2)&&Q.inRange($.m2,0,1e6))this.options.sharpenM2=$.m2;else throw Q.invalidParameterError("options.m2","number between 0 and 1000000",$.m2);if(Q.defined($.x1))if(Q.number($.x1)&&Q.inRange($.x1,0,1e6))this.options.sharpenX1=$.x1;else throw Q.invalidParameterError("options.x1","number between 0 and 1000000",$.x1);if(Q.defined($.y2))if(Q.number($.y2)&&Q.inRange($.y2,0,1e6))this.options.sharpenY2=$.y2;else throw Q.invalidParameterError("options.y2","number between 0 and 1000000",$.y2);if(Q.defined($.y3))if(Q.number($.y3)&&Q.inRange($.y3,0,1e6))this.options.sharpenY3=$.y3;else throw Q.invalidParameterError("options.y3","number between 0 and 1000000",$.y3)}else throw Q.invalidParameterError("sigma","number between 0.01 and 10000",$);return this}function C8($){if(!Q.defined($))this.options.medianSize=3;else if(Q.integer($)&&Q.inRange($,1,1000))this.options.medianSize=$;else throw Q.invalidParameterError("size","integer between 1 and 1000",$);return this}function M8($){let J;if(Q.number($))J=$;else if(Q.plainObject($)){if(!Q.number($.sigma))throw Q.invalidParameterError("options.sigma","number between 0.3 and 1000",J);if(J=$.sigma,"precision"in $)if(Q.string(H5[$.precision]))this.options.precision=H5[$.precision];else throw Q.invalidParameterError("precision","one of: integer, float, approximate",$.precision);if("minAmplitude"in $)if(Q.number($.minAmplitude)&&Q.inRange($.minAmplitude,0.001,1))this.options.minAmpl=$.minAmplitude;else throw Q.invalidParameterError("minAmplitude","number between 0.001 and 1",$.minAmplitude)}if(!Q.defined($))this.options.blurSigma=-1;else if(Q.bool($))this.options.blurSigma=$?-1:0;else if(Q.number(J)&&Q.inRange(J,0.3,1000))this.options.blurSigma=J;else throw Q.invalidParameterError("sigma","number between 0.3 and 1000",J);return this}function f8($){if(this.options.flatten=Q.bool($)?$:!0,Q.object($))this._setBackgroundColourOption("flattenBackground",$.background);return this}function k8(){return this.options.unflatten=!0,this}function x8($,J){if(!Q.defined($))this.options.gamma=2.2;else if(Q.number($)&&Q.inRange($,1,3))this.options.gamma=$;else throw Q.invalidParameterError("gamma","number between 1.0 and 3.0",$);if(!Q.defined(J))this.options.gammaOut=this.options.gamma;else if(Q.number(J)&&Q.inRange(J,1,3))this.options.gammaOut=J;else throw Q.invalidParameterError("gammaOut","number between 1.0 and 3.0",J);return this}function d8($){if(this.options.negate=Q.bool($)?$:!0,Q.plainObject($)&&"alpha"in $)if(!Q.bool($.alpha))throw Q.invalidParameterError("alpha","should be boolean value",$.alpha);else this.options.negateAlpha=$.alpha;return this}function b8($){if(Q.plainObject($)){if(Q.defined($.lower))if(Q.number($.lower)&&Q.inRange($.lower,0,99))this.options.normaliseLower=$.lower;else throw Q.invalidParameterError("lower","number between 0 and 99",$.lower);if(Q.defined($.upper))if(Q.number($.upper)&&Q.inRange($.upper,1,100))this.options.normaliseUpper=$.upper;else throw Q.invalidParameterError("upper","number between 1 and 100",$.upper)}if(this.options.normaliseLower>=this.options.normaliseUpper)throw Q.invalidParameterError("range","lower to be less than upper",`${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);return this.options.normalise=!0,this}function O8($){return this.normalise($)}function v8($){if(Q.plainObject($)){if(Q.integer($.width)&&$.width>0)this.options.claheWidth=$.width;else throw Q.invalidParameterError("width","integer greater than zero",$.width);if(Q.integer($.height)&&$.height>0)this.options.claheHeight=$.height;else throw Q.invalidParameterError("height","integer greater than zero",$.height);if(Q.defined($.maxSlope))if(Q.integer($.maxSlope)&&Q.inRange($.maxSlope,0,100))this.options.claheMaxSlope=$.maxSlope;else throw Q.invalidParameterError("maxSlope","integer between 0 and 100",$.maxSlope)}else throw Q.invalidParameterError("options","plain object",$);return this}function h8($){if(!Q.object($)||!Array.isArray($.kernel)||!Q.integer($.width)||!Q.integer($.height)||!Q.inRange($.width,3,1001)||!Q.inRange($.height,3,1001)||$.height*$.width!==$.kernel.length)throw new Error("Invalid convolution kernel");if(!Q.integer($.scale))$.scale=$.kernel.reduce(function(J,F){return J+F},0);if($.scale<1)$.scale=1;if(!Q.integer($.offset))$.offset=0;return this.options.convKernel=$,this}function g8($,J){if(!Q.defined($))this.options.threshold=128;else if(Q.bool($))this.options.threshold=$?128:0;else if(Q.integer($)&&Q.inRange($,0,255))this.options.threshold=$;else throw Q.invalidParameterError("threshold","integer between 0 and 255",$);if(!Q.object(J)||J.greyscale===!0||J.grayscale===!0)this.options.thresholdGrayscale=!0;else this.options.thresholdGrayscale=!1;return this}function m8($,J,F){if(this.options.boolean=this._createInputDescriptor($,F),Q.string(J)&&Q.inArray(J,["and","or","eor"]))this.options.booleanOp=J;else throw Q.invalidParameterError("operator","one of: and, or, eor",J);return this}function l8($,J){if(!Q.defined($)&&Q.number(J))$=1;else if(Q.number($)&&!Q.defined(J))J=0;if(!Q.defined($))this.options.linearA=[];else if(Q.number($))this.options.linearA=[$];else if(Array.isArray($)&&$.length&&$.every(Q.number))this.options.linearA=$;else throw Q.invalidParameterError("a","number or array of numbers",$);if(!Q.defined(J))this.options.linearB=[];else if(Q.number(J))this.options.linearB=[J];else if(Array.isArray(J)&&J.length&&J.every(Q.number))this.options.linearB=J;else throw Q.invalidParameterError("b","number or array of numbers",J);if(this.options.linearA.length!==this.options.linearB.length)throw new Error("Expected a and b to be arrays of the same length");return this}function u8($){if(!Array.isArray($))throw Q.invalidParameterError("inputMatrix","array",$);if($.length!==3&&$.length!==4)throw Q.invalidParameterError("inputMatrix","3x3 or 4x4 array",$.length);let J=$.flat().map(Number);if(J.length!==9&&J.length!==16)throw Q.invalidParameterError("inputMatrix","cardinality of 9 or 16",J.length);return this.options.recombMatrix=J,this}function c8($){if(!Q.plainObject($))throw Q.invalidParameterError("options","plain object",$);if("brightness"in $)if(Q.number($.brightness)&&$.brightness>=0)this.options.brightness=$.brightness;else throw Q.invalidParameterError("brightness","number above zero",$.brightness);if("saturation"in $)if(Q.number($.saturation)&&$.saturation>=0)this.options.saturation=$.saturation;else throw Q.invalidParameterError("saturation","number above zero",$.saturation);if("hue"in $)if(Q.integer($.hue))this.options.hue=$.hue%360;else throw Q.invalidParameterError("hue","number",$.hue);if("lightness"in $)if(Q.number($.lightness))this.options.lightness=$.lightness;else throw Q.invalidParameterError("lightness","number",$.lightness);return this}L5.exports=function($){Object.assign($.prototype,{rotate:E8,flip:R8,flop:q8,affine:A8,sharpen:S8,median:C8,blur:M8,flatten:f8,unflatten:k8,gamma:x8,negate:d8,normalise:b8,normalize:O8,clahe:v8,convolve:h8,threshold:g8,boolean:m8,linear:l8,recomb:u8,modulate:c8})}});var X5=V((s9,N5)=>{var a8=h2(),a=l(),P5={multiband:"multiband","b-w":"b-w",bw:"b-w",cmyk:"cmyk",srgb:"srgb"};function r8($){return this._setBackgroundColourOption("tint",$),this}function e8($){return this.options.greyscale=a.bool($)?$:!0,this}function p8($){return this.greyscale($)}function n8($){if(!a.string($))throw a.invalidParameterError("colourspace","string",$);return this.options.colourspacePipeline=$,this}function s8($){return this.pipelineColourspace($)}function t8($){if(!a.string($))throw a.invalidParameterError("colourspace","string",$);return this.options.colourspace=$,this}function i8($){return this.toColourspace($)}function o8($,J){if(a.defined(J))if(a.object(J)||a.string(J)){let F=a8(J);this.options[$]=[F.red(),F.green(),F.blue(),Math.round(F.alpha()*255)]}else throw a.invalidParameterError("background","object or string",J)}N5.exports=function($){Object.assign($.prototype,{tint:r8,greyscale:e8,grayscale:p8,pipelineColourspace:n8,pipelineColorspace:s8,toColourspace:t8,toColorspace:i8,_setBackgroundColourOption:o8}),$.colourspace=P5,$.colorspace=P5}});var D5=V((t9,V5)=>{var u=l(),$6={and:"and",or:"or",eor:"eor"};function J6(){return this.options.removeAlpha=!0,this}function F6($){if(u.defined($))if(u.number($)&&u.inRange($,0,1))this.options.ensureAlpha=$;else throw u.invalidParameterError("alpha","number between 0 and 1",$);else this.options.ensureAlpha=1;return this}function W6($){let J={red:0,green:1,blue:2,alpha:3};if(Object.keys(J).includes($))$=J[$];if(u.integer($)&&u.inRange($,0,4))this.options.extractChannel=$;else throw u.invalidParameterError("channel","integer or one of: red, green, blue, alpha",$);return this}function Z6($,J){if(Array.isArray($))$.forEach(function(F){this.options.joinChannelIn.push(this._createInputDescriptor(F,J))},this);else this.options.joinChannelIn.push(this._createInputDescriptor($,J));return this}function w6($){if(u.string($)&&u.inArray($,["and","or","eor"]))this.options.bandBoolOp=$;else throw u.invalidParameterError("boolOp","one of: and, or, eor",$);return this}V5.exports=function($){Object.assign($.prototype,{removeAlpha:J6,ensureAlpha:F6,extractChannel:W6,joinChannel:Z6,bandbool:w6}),$.bool=$6}});var R5=V((i9,E5)=>{var G1=import.meta.require("path"),U=l(),K2=X2(),_5=new Map([["heic","heif"],["heif","heif"],["avif","avif"],["jpeg","jpeg"],["jpg","jpeg"],["jpe","jpeg"],["tile","tile"],["dz","tile"],["png","png"],["raw","raw"],["tiff","tiff"],["tif","tiff"],["webp","webp"],["gif","gif"],["jp2","jp2"],["jpx","jp2"],["j2k","jp2"],["j2c","jp2"],["jxl","jxl"]]),U6=/\.(jp[2x]|j2[kc])$/i,z5=()=>new Error("JP2 output requires libvips with support for OpenJPEG"),j5=($)=>1<<31-Math.clz32(Math.ceil(Math.log2($)));function B6($,J){let F;if(!U.string($))F=new Error("Missing output file path");else if(U.string(this.options.input.file)&&G1.resolve(this.options.input.file)===G1.resolve($))F=new Error("Cannot use same file for input and output");else if(U6.test(G1.extname($))&&!this.constructor.format.jp2k.output.file)F=z5();if(F)if(U.fn(J))J(F);else return Promise.reject(F);else{this.options.fileOut=$;let W=Error();return this._pipeline(J,W)}return this}function Y6($,J){if(U.object($))this._setBooleanOption("resolveWithObject",$.resolveWithObject);else if(this.options.resolveWithObject)this.options.resolveWithObject=!1;this.options.fileOut="";let F=Error();return this._pipeline(U.fn($)?$:J,F)}function Q6(){return this.options.keepMetadata|=1,this}function K6($){if(U.object($))for(let[J,F]of Object.entries($))if(U.object(F))for(let[W,Z]of Object.entries(F))if(U.string(Z))this.options.withExif[`exif-${J.toLowerCase()}-${W}`]=Z;else throw U.invalidParameterError(`${J}.${W}`,"string",Z);else throw U.invalidParameterError(J,"object",F);else throw U.invalidParameterError("exif","object",$);return this.options.withExifMerge=!1,this.keepExif()}function G6($){return this.withExif($),this.options.withExifMerge=!0,this}function I6(){return this.options.keepMetadata|=8,this}function H6($,J){if(U.string($))this.options.withIccProfile=$;else throw U.invalidParameterError("icc","string",$);if(this.keepIccProfile(),U.object(J)){if(U.defined(J.attach))if(U.bool(J.attach)){if(!J.attach)this.options.keepMetadata&=-9}else throw U.invalidParameterError("attach","boolean",J.attach)}return this}function L6(){return this.options.keepMetadata=31,this}function y6($){if(this.keepMetadata(),this.withIccProfile("srgb"),U.object($)){if(U.defined($.orientation))if(U.integer($.orientation)&&U.inRange($.orientation,1,8))this.options.withMetadataOrientation=$.orientation;else throw U.invalidParameterError("orientation","integer between 1 and 8",$.orientation);if(U.defined($.density))if(U.number($.density)&&$.density>0)this.options.withMetadataDensity=$.density;else throw U.invalidParameterError("density","positive number",$.density);if(U.defined($.icc))this.withIccProfile($.icc);if(U.defined($.exif))this.withExifMerge($.exif)}return this}function P6($,J){let F=_5.get((U.object($)&&U.string($.id)?$.id:$).toLowerCase());if(!F)throw U.invalidParameterError("format",`one of: ${[..._5.keys()].join(", ")}`,$);return this[F](J)}function N6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jpegQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.progressive))this._setBooleanOption("jpegProgressive",$.progressive);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jpegChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling);let J=U.bool($.optimizeCoding)?$.optimizeCoding:$.optimiseCoding;if(U.defined(J))this._setBooleanOption("jpegOptimiseCoding",J);if(U.defined($.mozjpeg))if(U.bool($.mozjpeg)){if($.mozjpeg)this.options.jpegTrellisQuantisation=!0,this.options.jpegOvershootDeringing=!0,this.options.jpegOptimiseScans=!0,this.options.jpegProgressive=!0,this.options.jpegQuantisationTable=3}else throw U.invalidParameterError("mozjpeg","boolean",$.mozjpeg);let F=U.bool($.trellisQuantization)?$.trellisQuantization:$.trellisQuantisation;if(U.defined(F))this._setBooleanOption("jpegTrellisQuantisation",F);if(U.defined($.overshootDeringing))this._setBooleanOption("jpegOvershootDeringing",$.overshootDeringing);let W=U.bool($.optimizeScans)?$.optimizeScans:$.optimiseScans;if(U.defined(W)){if(this._setBooleanOption("jpegOptimiseScans",W),W)this.options.jpegProgressive=!0}let Z=U.number($.quantizationTable)?$.quantizationTable:$.quantisationTable;if(U.defined(Z))if(U.integer(Z)&&U.inRange(Z,0,8))this.options.jpegQuantisationTable=Z;else throw U.invalidParameterError("quantisationTable","integer between 0 and 8",Z)}return this._updateFormatOut("jpeg",$)}function X6($){if(U.object($)){if(U.defined($.progressive))this._setBooleanOption("pngProgressive",$.progressive);if(U.defined($.compressionLevel))if(U.integer($.compressionLevel)&&U.inRange($.compressionLevel,0,9))this.options.pngCompressionLevel=$.compressionLevel;else throw U.invalidParameterError("compressionLevel","integer between 0 and 9",$.compressionLevel);if(U.defined($.adaptiveFiltering))this._setBooleanOption("pngAdaptiveFiltering",$.adaptiveFiltering);let J=$.colours||$.colors;if(U.defined(J))if(U.integer(J)&&U.inRange(J,2,256))this.options.pngBitdepth=j5(J);else throw U.invalidParameterError("colours","integer between 2 and 256",J);if(U.defined($.palette))this._setBooleanOption("pngPalette",$.palette);else if([$.quality,$.effort,$.colours,$.colors,$.dither].some(U.defined))this._setBooleanOption("pngPalette",!0);if(this.options.pngPalette){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,0,100))this.options.pngQuality=$.quality;else throw U.invalidParameterError("quality","integer between 0 and 100",$.quality);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,1,10))this.options.pngEffort=$.effort;else throw U.invalidParameterError("effort","integer between 1 and 10",$.effort);if(U.defined($.dither))if(U.number($.dither)&&U.inRange($.dither,0,1))this.options.pngDither=$.dither;else throw U.invalidParameterError("dither","number between 0.0 and 1.0",$.dither)}}return this._updateFormatOut("png",$)}function V6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.webpQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.alphaQuality))if(U.integer($.alphaQuality)&&U.inRange($.alphaQuality,0,100))this.options.webpAlphaQuality=$.alphaQuality;else throw U.invalidParameterError("alphaQuality","integer between 0 and 100",$.alphaQuality);if(U.defined($.lossless))this._setBooleanOption("webpLossless",$.lossless);if(U.defined($.nearLossless))this._setBooleanOption("webpNearLossless",$.nearLossless);if(U.defined($.smartSubsample))this._setBooleanOption("webpSmartSubsample",$.smartSubsample);if(U.defined($.preset))if(U.string($.preset)&&U.inArray($.preset,["default","photo","picture","drawing","icon","text"]))this.options.webpPreset=$.preset;else throw U.invalidParameterError("preset","one of: default, photo, picture, drawing, icon, text",$.preset);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,0,6))this.options.webpEffort=$.effort;else throw U.invalidParameterError("effort","integer between 0 and 6",$.effort);if(U.defined($.minSize))this._setBooleanOption("webpMinSize",$.minSize);if(U.defined($.mixed))this._setBooleanOption("webpMixed",$.mixed)}return T5($,this.options),this._updateFormatOut("webp",$)}function D6($){if(U.object($)){if(U.defined($.reuse))this._setBooleanOption("gifReuse",$.reuse);if(U.defined($.progressive))this._setBooleanOption("gifProgressive",$.progressive);let J=$.colours||$.colors;if(U.defined(J))if(U.integer(J)&&U.inRange(J,2,256))this.options.gifBitdepth=j5(J);else throw U.invalidParameterError("colours","integer between 2 and 256",J);if(U.defined($.effort))if(U.number($.effort)&&U.inRange($.effort,1,10))this.options.gifEffort=$.effort;else throw U.invalidParameterError("effort","integer between 1 and 10",$.effort);if(U.defined($.dither))if(U.number($.dither)&&U.inRange($.dither,0,1))this.options.gifDither=$.dither;else throw U.invalidParameterError("dither","number between 0.0 and 1.0",$.dither);if(U.defined($.interFrameMaxError))if(U.number($.interFrameMaxError)&&U.inRange($.interFrameMaxError,0,32))this.options.gifInterFrameMaxError=$.interFrameMaxError;else throw U.invalidParameterError("interFrameMaxError","number between 0.0 and 32.0",$.interFrameMaxError);if(U.defined($.interPaletteMaxError))if(U.number($.interPaletteMaxError)&&U.inRange($.interPaletteMaxError,0,256))this.options.gifInterPaletteMaxError=$.interPaletteMaxError;else throw U.invalidParameterError("interPaletteMaxError","number between 0.0 and 256.0",$.interPaletteMaxError)}return T5($,this.options),this._updateFormatOut("gif",$)}function _6($){if(!this.constructor.format.jp2k.output.buffer)throw z5();if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jp2Quality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.lossless))if(U.bool($.lossless))this.options.jp2Lossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.tileWidth))if(U.integer($.tileWidth)&&U.inRange($.tileWidth,1,32768))this.options.jp2TileWidth=$.tileWidth;else throw U.invalidParameterError("tileWidth","integer between 1 and 32768",$.tileWidth);if(U.defined($.tileHeight))if(U.integer($.tileHeight)&&U.inRange($.tileHeight,1,32768))this.options.jp2TileHeight=$.tileHeight;else throw U.invalidParameterError("tileHeight","integer between 1 and 32768",$.tileHeight);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jp2ChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling)}return this._updateFormatOut("jp2",$)}function T5($,J){if(U.object($)&&U.defined($.loop))if(U.integer($.loop)&&U.inRange($.loop,0,65535))J.loop=$.loop;else throw U.invalidParameterError("loop","integer between 0 and 65535",$.loop);if(U.object($)&&U.defined($.delay))if(U.integer($.delay)&&U.inRange($.delay,0,65535))J.delay=[$.delay];else if(Array.isArray($.delay)&&$.delay.every(U.integer)&&$.delay.every((F)=>U.inRange(F,0,65535)))J.delay=$.delay;else throw U.invalidParameterError("delay","integer or an array of integers between 0 and 65535",$.delay)}function z6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.tiffQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.bitdepth))if(U.integer($.bitdepth)&&U.inArray($.bitdepth,[1,2,4,8]))this.options.tiffBitdepth=$.bitdepth;else throw U.invalidParameterError("bitdepth","1, 2, 4 or 8",$.bitdepth);if(U.defined($.tile))this._setBooleanOption("tiffTile",$.tile);if(U.defined($.tileWidth))if(U.integer($.tileWidth)&&$.tileWidth>0)this.options.tiffTileWidth=$.tileWidth;else throw U.invalidParameterError("tileWidth","integer greater than zero",$.tileWidth);if(U.defined($.tileHeight))if(U.integer($.tileHeight)&&$.tileHeight>0)this.options.tiffTileHeight=$.tileHeight;else throw U.invalidParameterError("tileHeight","integer greater than zero",$.tileHeight);if(U.defined($.miniswhite))this._setBooleanOption("tiffMiniswhite",$.miniswhite);if(U.defined($.pyramid))this._setBooleanOption("tiffPyramid",$.pyramid);if(U.defined($.xres))if(U.number($.xres)&&$.xres>0)this.options.tiffXres=$.xres;else throw U.invalidParameterError("xres","number greater than zero",$.xres);if(U.defined($.yres))if(U.number($.yres)&&$.yres>0)this.options.tiffYres=$.yres;else throw U.invalidParameterError("yres","number greater than zero",$.yres);if(U.defined($.compression))if(U.string($.compression)&&U.inArray($.compression,["none","jpeg","deflate","packbits","ccittfax4","lzw","webp","zstd","jp2k"]))this.options.tiffCompression=$.compression;else throw U.invalidParameterError("compression","one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k",$.compression);if(U.defined($.predictor))if(U.string($.predictor)&&U.inArray($.predictor,["none","horizontal","float"]))this.options.tiffPredictor=$.predictor;else throw U.invalidParameterError("predictor","one of: none, horizontal, float",$.predictor);if(U.defined($.resolutionUnit))if(U.string($.resolutionUnit)&&U.inArray($.resolutionUnit,["inch","cm"]))this.options.tiffResolutionUnit=$.resolutionUnit;else throw U.invalidParameterError("resolutionUnit","one of: inch, cm",$.resolutionUnit)}return this._updateFormatOut("tiff",$)}function j6($){return this.heif({...$,compression:"av1"})}function T6($){if(U.object($)){if(U.string($.compression)&&U.inArray($.compression,["av1","hevc"]))this.options.heifCompression=$.compression;else throw U.invalidParameterError("compression","one of: av1, hevc",$.compression);if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.heifQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.lossless))if(U.bool($.lossless))this.options.heifLossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,0,9))this.options.heifEffort=$.effort;else throw U.invalidParameterError("effort","integer between 0 and 9",$.effort);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.heifChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling);if(U.defined($.bitdepth))if(U.integer($.bitdepth)&&U.inArray($.bitdepth,[8,10,12])){if($.bitdepth!==8&&this.constructor.versions.heif)throw U.invalidParameterError("bitdepth when using prebuilt binaries",8,$.bitdepth);this.options.heifBitdepth=$.bitdepth}else throw U.invalidParameterError("bitdepth","8, 10 or 12",$.bitdepth)}else throw U.invalidParameterError("options","Object",$);return this._updateFormatOut("heif",$)}function E6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jxlDistance=$.quality>=30?0.1+(100-$.quality)*0.09:0.017666666666666667*$.quality*$.quality-1.15*$.quality+25;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);else if(U.defined($.distance))if(U.number($.distance)&&U.inRange($.distance,0,15))this.options.jxlDistance=$.distance;else throw U.invalidParameterError("distance","number between 0.0 and 15.0",$.distance);if(U.defined($.decodingTier))if(U.integer($.decodingTier)&&U.inRange($.decodingTier,0,4))this.options.jxlDecodingTier=$.decodingTier;else throw U.invalidParameterError("decodingTier","integer between 0 and 4",$.decodingTier);if(U.defined($.lossless))if(U.bool($.lossless))this.options.jxlLossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,3,9))this.options.jxlEffort=$.effort;else throw U.invalidParameterError("effort","integer between 3 and 9",$.effort)}return this._updateFormatOut("jxl",$)}function R6($){if(U.object($)){if(U.defined($.depth))if(U.string($.depth)&&U.inArray($.depth,["char","uchar","short","ushort","int","uint","float","complex","double","dpcomplex"]))this.options.rawDepth=$.depth;else throw U.invalidParameterError("depth","one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex",$.depth)}return this._updateFormatOut("raw")}function q6($){if(U.object($)){if(U.defined($.size))if(U.integer($.size)&&U.inRange($.size,1,8192))this.options.tileSize=$.size;else throw U.invalidParameterError("size","integer between 1 and 8192",$.size);if(U.defined($.overlap))if(U.integer($.overlap)&&U.inRange($.overlap,0,8192)){if($.overlap>this.options.tileSize)throw U.invalidParameterError("overlap",`<= size (${this.options.tileSize})`,$.overlap);this.options.tileOverlap=$.overlap}else throw U.invalidParameterError("overlap","integer between 0 and 8192",$.overlap);if(U.defined($.container))if(U.string($.container)&&U.inArray($.container,["fs","zip"]))this.options.tileContainer=$.container;else throw U.invalidParameterError("container","one of: fs, zip",$.container);if(U.defined($.layout))if(U.string($.layout)&&U.inArray($.layout,["dz","google","iiif","iiif3","zoomify"]))this.options.tileLayout=$.layout;else throw U.invalidParameterError("layout","one of: dz, google, iiif, iiif3, zoomify",$.layout);if(U.defined($.angle))if(U.integer($.angle)&&!($.angle%90))this.options.tileAngle=$.angle;else throw U.invalidParameterError("angle","positive/negative multiple of 90",$.angle);if(this._setBackgroundColourOption("tileBackground",$.background),U.defined($.depth))if(U.string($.depth)&&U.inArray($.depth,["onepixel","onetile","one"]))this.options.tileDepth=$.depth;else throw U.invalidParameterError("depth","one of: onepixel, onetile, one",$.depth);if(U.defined($.skipBlanks))if(U.integer($.skipBlanks)&&U.inRange($.skipBlanks,-1,65535))this.options.tileSkipBlanks=$.skipBlanks;else throw U.invalidParameterError("skipBlanks","integer between -1 and 255/65535",$.skipBlanks);else if(U.defined($.layout)&&$.layout==="google")this.options.tileSkipBlanks=5;let J=U.bool($.center)?$.center:$.centre;if(U.defined(J))this._setBooleanOption("tileCentre",J);if(U.defined($.id))if(U.string($.id))this.options.tileId=$.id;else throw U.invalidParameterError("id","string",$.id);if(U.defined($.basename))if(U.string($.basename))this.options.tileBasename=$.basename;else throw U.invalidParameterError("basename","string",$.basename)}if(U.inArray(this.options.formatOut,["jpeg","png","webp"]))this.options.tileFormat=this.options.formatOut;else if(this.options.formatOut!=="input")throw U.invalidParameterError("format","one of: jpeg, png, webp",this.options.formatOut);return this._updateFormatOut("dz")}function A6($){if(!U.plainObject($))throw U.invalidParameterError("options","object",$);if(U.integer($.seconds)&&U.inRange($.seconds,0,3600))this.options.timeoutSeconds=$.seconds;else throw U.invalidParameterError("seconds","integer between 0 and 3600",$.seconds);return this}function S6($,J){if(!(U.object(J)&&J.force===!1))this.options.formatOut=$;return this}function C6($,J){if(U.bool(J))this.options[$]=J;else throw U.invalidParameterError($,"boolean",J)}function M6(){if(!this.options.streamOut){this.options.streamOut=!0;let $=Error();this._pipeline(void 0,$)}}function f6($,J){if(typeof $==="function"){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(F,W,Z)=>{if(F)$(U.nativeError(F,J));else $(null,W,Z)})});else K2.pipeline(this.options,(F,W,Z)=>{if(F)$(U.nativeError(F,J));else $(null,W,Z)});return this}else if(this.options.streamOut){if(this._isStreamInput()){if(this.once("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(F,W,Z)=>{if(F)this.emit("error",U.nativeError(F,J));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))})}),this.streamInFinished)this.emit("finish")}else K2.pipeline(this.options,(F,W,Z)=>{if(F)this.emit("error",U.nativeError(F,J));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))});return this}else if(this._isStreamInput())return new Promise((F,W)=>{this.once("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(Z,w,B)=>{if(Z)W(U.nativeError(Z,J));else if(this.options.resolveWithObject)F({data:w,info:B});else F(w)})})});else return new Promise((F,W)=>{K2.pipeline(this.options,(Z,w,B)=>{if(Z)W(U.nativeError(Z,J));else if(this.options.resolveWithObject)F({data:w,info:B});else F(w)})})}E5.exports=function($){Object.assign($.prototype,{toFile:B6,toBuffer:Y6,keepExif:Q6,withExif:K6,withExifMerge:G6,keepIccProfile:I6,withIccProfile:H6,keepMetadata:L6,withMetadata:y6,toFormat:P6,jpeg:N6,jp2:_6,png:X6,webp:V6,tiff:z6,avif:j6,heif:T6,jxl:E6,gif:D6,raw:R6,tile:q6,timeout:A6,_updateFormatOut:S6,_setBooleanOption:C6,_read:M6,_pipeline:f6})}});var C5=V((o9,S5)=>{var k6=import.meta.require("events"),m2=import.meta.require("detect-libc"),v=l(),{runtimePlatformArch:x6}=$1(),C=X2(),q5=x6(),I1=C.libvipsVersion(),t=C.format();t.heif.output.alias=["avif","heic"];t.jpeg.output.alias=["jpe","jpg"];t.tiff.output.alias=["tif"];t.jp2k.output.alias=["j2c","j2k","jp2","jpx"];var d6={nearest:"nearest",bilinear:"bilinear",bicubic:"bicubic",locallyBoundedBicubic:"lbb",nohalo:"nohalo",vertexSplitQuadraticBasisSpline:"vsqbs"},G2={vips:I1.semver};if(!I1.isGlobal)if(!I1.isWasm)try{G2=import.meta.require(`@img/sharp-${q5}/versions`)}catch($){try{G2=import.meta.require(`@img/sharp-libvips-${q5}/versions`)}catch(J){}}else try{G2=(()=>{throw new Error(`Cannot require module "@img/sharp-wasm32/versions"`);})()}catch($){}G2.sharp=i2().version;if(G2.heif&&t.heif)t.heif.input.fileSuffix=[".avif"],t.heif.output.alias=["avif"];function A5($){if(v.bool($))if($)return C.cache(50,20,100);else return C.cache(0,0,0);else if(v.object($))return C.cache($.memory,$.files,$.items);else return C.cache()}A5(!0);function b6($){return C.concurrency(v.integer($)?$:null)}if(m2.familySync()===m2.GLIBC&&!C._isUsingJemalloc())C.concurrency(1);else if(m2.familySync()===m2.MUSL&&C.concurrency()===1024)C.concurrency(import.meta.require("os").availableParallelism());var O6=new k6.EventEmitter;function v6(){return C.counters()}function h6($){return C.simd(v.bool($)?$:null)}function g6($){if(v.object($))if(Array.isArray($.operation)&&$.operation.every(v.string))C.block($.operation,!0);else throw v.invalidParameterError("operation","Array<string>",$.operation);else throw v.invalidParameterError("options","object",$)}function m6($){if(v.object($))if(Array.isArray($.operation)&&$.operation.every(v.string))C.block($.operation,!1);else throw v.invalidParameterError("operation","Array<string>",$.operation);else throw v.invalidParameterError("options","object",$)}S5.exports=function($){$.cache=A5,$.concurrency=b6,$.counters=v6,$.simd=h6,$.format=t,$.interpolators=d6,$.versions=G2,$.queue=O6,$.block=g6,$.unblock=m6}});var f5=V(($7,M5)=>{var r=O0();Z5()(r);K5()(r);I5()(r);y5()(r);X5()(r);D5()(r);R5()(r);C5()(r);M5.exports=r});import{AsyncLocalStorage as s5}from"async_hooks";class Z2 extends O{$;static _name="BroadcastingServiceContainer";publishCb;context=new s5;constructor($){super();this.service=$}onPublish($){this.publishCb=$}publish(...$){let[J,F,W]=$;this.publishCb(J,F,W)}async handleMessage($,J){let F=JSON.parse(J);if(F.type==="subscribe"){let W=Object.entries(this.service.channels).sort(([Z],[w])=>Z.length-w.length);for(let[Z,w]of W){let B=new URLPattern({pathname:Z});if(B.test({pathname:F.topic})){let Y=B.exec({pathname:F.topic})?.pathname.groups,K=new w;if(await K.subscribe.call(K,Y))$.subscribe(F.topic);break}}}if(F.type==="broadcast")$.publish(F.topic,JSON.stringify({topic:F.topic,data:F.payload}));if(F.type==="unsubscribe")$.unsubscribe(F.topic)}run($,J){let F=$.get("Cookie"),W=new Map;if(F){let Z=F.split(";");for(let w of Z){let[B,Y]=w.split("=");W.set(B.trim(),Y.trim())}}this.context.run({headers:$,cookies:W},J)}}class p{static async user(){let $=x.getStore(),J=Z2.use().context.getStore(),F="",W="";if($?.req)F=$.req.cookies.get("access_token"),W=$.req.headers.get("User-Agent");if(J?.cookies)W=J.headers.get("User-Agent"),F=J.cookies.get("access_token");let Z=$?.user;if(!Z)Z=(await k.use().getSession(F,W))?.user,$?.setUser(Z);if(Z)return Z;return null}static async guard($){let J=await p.user();if(!J)throw new T2;try{if(!await $(J))throw new T2}catch(F){throw new T2}}static async guardSafe($){let J=await p.user();if(!J)return!1;try{return await $(J)}catch(F){return!1}}static async authenticate($){await k.use().authenticate($)}static async createMagicLink($){return await k.use().createMagicLinkToken($)}}function m($,J){return $.replace(/:([^/]+)/g,(F,W)=>{let Z=W.endsWith("?"),w=Z?W.slice(0,-1):W,B=J[w];if(B===void 0){if(Z)return"";throw new Error(`Missing parameter: ${w}`)}return String(B)}).replace(/\/\//g,"/")}class T1 extends j1{constructor($){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:$}},view:{status:307,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:$}}}}}class E1{static to($,...J){let[F={}]=J;throw new T1(m($,F))}}function R1($,J){return $.replace(/{{([^}]+)}}/g,(F,W)=>{let Z=J[W];if(Z===void 0)throw new Error(`Missing parameter: ${W}`);return Z})}class q1{static scope($){return $}static translate($,...J){let F=H2.use(),W=F.detectLocale(x.getStore().req),Z=F.translations.get(`${W}.server`)?.[$];if(!Z)return $;return R1(Z,J[0])}}var k5=l6(f5(),1);import{Buffer as u6}from"buffer";class z2 extends O{$;static _name="FileStorageServiceContainer";constructor($){super();this.service=$}}class x5{static async put($){return z2.use().service.driver.put($)}static async metadata($){let J=u6.from(await $.arrayBuffer());try{return await k5.default(J).metadata()}catch{return{}}}static async fetch($){return z2.use().service.driver.fetch($)}static list($){return z2.use().service.driver.list($)}static delete(){}}function d5($){return Object.fromEntries(Object.entries($).filter(([,J])=>{return J!==null&&J!==void 0}))}class F2 extends Error{constructor(){super("Adapter not found");this.name="AdapterNotFound"}}class H1{createSession(){throw new F2}deleteSession(){throw new F2}findSession(){throw new F2}findUserByEmailAddress(){throw new F2}updateSession(){throw new F2}createUser(){throw new F2}}class h5 extends T{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class g5 extends T{schema={name:{string:"Invalid name",required:"Name is required","min:2":"Name must be at least 3 characters"},email:{string:"Invalid email",required:"Email is required",email:"Invalid email"},password:{required:"Password is required","min:8":"Password must be at least 8 characters"}}}class m5 extends T{schema={email:{required:"Email is required",email:"Invalid email"}}}class l5 extends T{schema={password:{required:"Password is required",password:"Invalid password"}}}class f extends b5{provider=k.use()?.provider;async createOrUpdateSession($){let J=k.use().provider,F=new T,W=F.headers.get("User-Agent"),Z=new Bun.CryptoHasher("sha256");Z.update(`${$.email}${W}`);let w=Z.digest("hex"),B=await J.adapter.findSession({token:w,userAgent:F.headers.get("User-Agent")});if(!B)B=await J.adapter.createSession({token:w,userId:$.id,userAgent:F.headers.get("User-Agent"),expiresAt:new Date(i.Now.instant().add({hours:J.sessionExpiresInHours}).toString()),absoluteExpiresAt:new Date(i.Now.instant().add({hours:J.sessionAbsoluteExpiresInHours}).toString())});else B=await J.adapter.updateSession({token:w,expiresAt:new Date(i.Now.instant().add({hours:J.sessionExpiresInHours}).toString())});return B}async me(){let $=await p.user();if(!$)throw new v5;return $}async verifyEmail($=new T){let J=await $.input(),F=await this.provider.adapter.findUserByVerificationToken(J.get("token"));if(!F)return{email:null};if(await this.provider.adapter.verifyUser(F.id),F)return{email:F.email};return{email:null}}async signInWithMagicLink($=new T){let J=k.use().provider,F=$.search.get("token"),W=$.search.get("email"),Z=null;try{Z=await J.adapter.findUserByMagicLinkToken({email:W,token:F})}catch(B){return{error:"Invalid token"}}if(!Z)return{error:"Invalid token"};await J.adapter.verifyUser(Z.id),await J.adapter.deleteMagicLinkToken(W);let w=await this.createOrUpdateSession(Z);return $.ctx().setCookie("access_token",w.token,{expires:w.expiresAt}),await J.onSignIn(Z),{session:w}}async signInWithPin($=new T){let J=k.use().provider,F=await $.input(),{email:W,pin:Z}=F.toJSON(),w=await J.adapter.findUserByMagicLinkToken({email:W,pin:Z});if(!w)throw new e({pin:["Invalid pin"]});await J.adapter.deleteMagicLinkToken(W),await this.provider.adapter.verifyUser(w.id);let B=await this.createOrUpdateSession(w);return $.ctx().setCookie("access_token",B.token,{expires:B.expiresAt}),await J.onSignIn(w),{session:B}}async signIn($=new h5){let J=await $.input.call($),{email:F,password:W}=J.toJSON(),Z=await this.provider.adapter.findUserByEmailAddress(F,this.provider.verifyEmail);if(!Z)throw new e({invalid_credentials:["Invalid credentials"]});if(!await this.provider.verifyPassword(W,Z.password))throw new e({invalid_credentials:["Invalid credentials"]});let B=await this.createOrUpdateSession(Z);$.ctx().setCookie("access_token",B.token,{expires:B.expiresAt}),await this.provider.onSignIn(Z);let{password:Y,...K}=Z;return K}async signUp($=new g5){let J=await $.input(),{email:F,password:W,name:Z,invitationId:w}=J.toJSON();if(await this.provider.adapter.findUserByEmailAddress(F,!1))throw new e({email:["Email address already exists"]});let Y=await this.provider.hashPassword(W),K=H2.use().detectLocale($),I;if(w){if(I=await this.provider.adapter.findInvitation(w,F),I)await this.provider.adapter.deleteInvitationById(w)}let N,D;if(I)N=await this.provider.adapter.createUser({email:F,name:Z,password:Y,emailVerifiedAt:new Date,locale:K}),await this.provider.adapter.createAccount({organizationId:I.organizationId,userId:N.id,organizationRole:I.role});else D=await this.provider.generateEmailVerificationToken(F),N=await this.provider.adapter.createUser({email:F,name:Z,password:Y,verificationToken:D,locale:K});return await this.provider.onSignUp(N,D),N}async signOut($=new T){let J=$.cookies.get("access_token"),F=await p.user();return await this.provider.adapter.deleteSession({token:J}),$.ctx().setCookie("access_token","",{expires:new Date(0)}),await this.provider.onSignOut(F),{}}async forgotPassword($=new m5){let J=await $.input(),{email:F}=J.toJSON(),W=await this.provider.adapter.findUserByEmailAddress(F,this.provider.verifyEmail);if(!W)return{};let Z=await this.provider.generateForgotPasswordToken(W);return await this.provider.adapter.createPasswordResetToken({user:W,token:Z}),await this.provider.onForgotPassword(W,Z),{}}async resetPassword($=new l5){let J=await $.input(),{password:F,token:W}=J.toJSON(),Z=await this.provider.adapter.findPasswordResetToken({token:W});if(!Z)throw new e({token:["Invalid token"]});if(i.Instant.from(Z.createdAt.toISOString()).add({hours:24}).until(i.Now.instant()).sign>=0)throw new e({token:["Token expired"]});await this.provider.adapter.deletePasswordResetToken({token:W});let B=await this.provider.adapter.findUserByEmailAddress(Z.user.email,this.provider.verifyEmail);if(!B)throw new e({email:["User not found"]});let Y=await this.provider.hashPassword(F);return await this.provider.adapter.updateUserPassword({id:B.id,password:Y}),await this.provider.adapter.deleteAllUserSessions(B.id),await this.provider.onResetPassword(B),{}}async changePassword($=new T){let J=await p.user(),F=await $.input(),{oldPassword:W,newPassword:Z}=F.toJSON(),{password:w}=await this.provider.adapter.findUserByEmailAddress(J.email,this.provider.verifyEmail);if(!await this.provider.verifyPassword(W,w))throw new e({oldPassword:["Incorrect password"]});let Y=await this.provider.hashPassword(Z);return await this.provider.adapter.updateUserPassword({id:J.id,password:Y}),await this.provider.adapter.deleteAllUserSessions(J.id),{}}async oauthRedirect($=new T){let{provider:J}=$.params,F=k.use().provider.oauthProviders[J];if(!F)throw new Error(`Invalid provider: ${J}`);return{url:await F.getRedirectUrl($)}}async oauthCallback($=new T){let{provider:J}=$.params,F=k.use().provider,W=F.oauthProviders[J],{email:Z,name:w}=await W.onCallback($),B=await F.adapter.findUserByEmailAddress(Z,!1),Y=H2.use().detectLocale($);if(!B)B=await this.provider.adapter.createUser({email:Z,name:w,locale:Y});let K=await this.createOrUpdateSession(B);return $.ctx().setCookie("access_token",K.token,{expires:K.expiresAt}),await F.onSignIn(B),{session:K}}async createMagicLinkToken($=new T){let J=await $.input(),{email:F}=J.toJSON(),W=k.use(),Z=W.provider,{user:w,pin:B,token:Y}=await W.createMagicLinkToken(F);return await Z.onMagicLinkCreated(w,{email:F,pin:B,token:Y}),{email:F}}}class u5 extends L1{routes={"/:provider":this.view("__",[f,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[f,"oauthCallback"])}}class c6 extends L1{routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[f,"signInWithMagicLink"]),"/oauth":u5}}class y1 extends I2{middlewares=["cache:private"];routes={"/sign-in":this.post(f,"signIn"),"/sign-up":this.post(f,"signUp"),"/sign-out":this.post(f,"signOut"),"/forgot-password":this.post(f,"forgotPassword"),"/reset-password":this.post(f,"resetPassword"),"/change-password":this.post(f,"changePassword"),"/verify-email":this.post(f,"verifyEmail"),"/me":this.get(f,"me").middleware(["auth"]),"/magic-link":this.post(f,"createMagicLinkToken"),"/sign-in-with-pin":this.post(f,"signInWithPin")}}class a6 extends O5{basePath="/auth";verifyEmail=!0;sessionExpiresInHours=24;sessionAbsoluteExpiresInHours=672;adapter=new H1;oauthProviders={};boot(){}async verifyPassword($,J){return await Bun.password.verify($,J)}async hashPassword($){return await Bun.password.hash($)}async generateForgotPasswordToken($){let J=new Bun.CryptoHasher("sha256");return J.update(`${$.email}${Date.now()}`),J.digest("hex")}generateEmailVerificationToken($){if(!this.verifyEmail)return"";let J=new Bun.CryptoHasher("sha256");return J.update(`${$}${Date.now()}`),J.digest("hex")}generateMagicLinkToken($){let J=new Bun.CryptoHasher("sha256");return J.update(`${$}${Date.now()}`),J.digest("hex")}extendSession($){return{}}onSignUp($,J){}onSignIn($){}onSignOut($){}onForgotPassword($,J){}onResetPassword($){}onMagicLinkCreated($,J){return}}class P1 extends I2{routes={"/resize":this.file(async()=>{let $=new T,J=new URL($.rawRequest.url),F=J.searchParams.get("url"),W=Number(J.searchParams.get("w")),Z=Number(J.searchParams.get("h")),w=J.searchParams.get("fit")??"cover",B=Number(J.searchParams.get("q"));if(!F)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let K=`${F.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${F}`,I=await fetch(K);if(!I.ok)return new Response(JSON.stringify({error:"Image not found",info:K}),{headers:{"Content-Type":"application/json"},status:404});let N=Buffer.from(await I.arrayBuffer()),D=await c5.use().service.driver.resize(N,{height:Z,width:W,fit:w,quality:B});return I.headers.delete("Content-Type"),I.headers.delete("Content-Length"),new Response(D,{headers:{"Content-Type":"image/webp","Content-Length":`${D.byteLength}`,...I.headers.toJSON()}})})}}class c5 extends O{$;static _name="ImageOptimizationServiceContainer";constructor($){super();this.service=$}}import{mkdir as r6,exists as e6,readdir as p6}from"fs/promises";class h extends O{$;static _name="LoggingServiceContainer";writer;isReady=!1;logsDirPath=`${process.env.ROOT_DIR}/storage/logs`;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;currentLogFilePath;constructor($){super();this.service=$;this.boot().then(()=>{this.isReady=!0})}async boot(){if(!process.env.ROOT_DIR)return;if(!await e6(this.logsDirPath))await r6(this.logsDirPath);this.newLogFile()}async newLogFile(){if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let F=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.service.onLogFileClosed(F),this.fileSize=0,this.writerSize=0}let J=(await p6(this.logsDirPath)).sort().reverse()[0];if(J){let F=Bun.file(`${this.logsDirPath}/${J}`);if(F.size<this.service.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${J}`,this.writer=F.writer(),this.writer.write(await F.text()),this.writer.write("\n"),this.writer.flush(),this.fileSize=F.size}if(!this.writer){let F=`${new Date(Date.now()).toISOString()}.log`.replaceAll(":","-");this.currentLogFilePath=`${this.logsDirPath}/${F}`;let W=Bun.file(`${this.logsDirPath}/${F}`);this.writer=W.writer(),this.fileSize=0,this.writerSize=0}this.isCreatingFile=!1}async log($,J,F={}){if(!this.isReady)await new Promise((Y)=>{let K=setInterval(()=>{if(this.isReady)Y({}),clearInterval(K)},100)});let W=x.getStore(),Z={};if(W)Z={url:W.req.rawRequest.url,method:W.req.rawRequest.method,headers:W.req.rawRequest.headers,body:W.req.rawRequest.body};let w={timestamp:new Date(Date.now()).toISOString(),env:"production",level:$,message:J,metadata:{...Z,...F}},B="";try{B=JSON.stringify(w)}catch(Y){throw new Error("Metadata must be a valid JSON object")}this.writerSize+=B.length,this.fileSize+=B.length,this.writer.write(B),this.writer.write("\n"),l2.channel("/logs/live",{}).publish(JSON.stringify(w)),this.service.onLogCreated(w),this.tryFlush()}async tryFlush(){if(this.fileSize>this.service.maxFileSize){if(!this.isCreatingFile)await this.newLogFile()}if(this.writerSize>this.service.maxFileSize/2)await this.writer.flush(),this.writerSize=0,await this.newLogFile();else clearTimeout(this.flushTimeout),this.flushTimeout=setTimeout(async()=>{await this.writer.flush(),this.writerSize=0},100)}}class N1 extends I2{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(h.use().currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function n6($){let J=new Map;for(let F of $)if(typeof F==="string"){let[W,Z=""]=F.split(":");if(W.startsWith("-")){if(J.has(W.replace("-","")))J.delete(W.replace("-",""))}else J.set(W,Z.split(",").filter(Boolean))}else J.set(F,[]);return J}class X1 extends O{$;static _name="MiddlewareServiceContainer";constructor($){super();this.service=$}runMiddleware($){let J=new T;return Array.from(n6($).entries()).map(([F,W])=>{if(typeof F==="string"){let Z=this.service.aliases[F];if(Z){let w=new Z(J);return()=>w.run.call(w,...W)}}else{if(a5(F)){let Z=new F(J);return Z.run.bind(Z)}return F}}).filter(Boolean).reduce((F,W)=>{return async()=>{return{...await F(),...await W()}}},()=>Promise.resolve({}))()}}function r5($){return $.replace(/-([a-z])/g,(J)=>J[1].toUpperCase())}function s6($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function V1($,J=""){let F={};for(let[W,Z]of Object.entries($))if("run"in Z){let w=Z;if(!F[W])F[W]={};let{method:B,middlewares:Y}=w,K=w.run.bind(w);F[W][B]={exec:K,middleware:Y}}else if(typeof Z==="function"){let w={},B=[];if(s6(Z)){let K=new Z;w=K.routes,B=[K.middleware,...K.middlewares]}else{let[K]=(W==="/"?J:W).split("/").reverse();if(K==="")throw new Error(`"${W}" is not valid for a resource route`);if(K.includes(":"))throw new Error(`Last segment of a resource route has to be static. See "${W}"`);w=Z(`${r5(K)}Id`)}let Y=V1(w,W);for(let[K,I]of Object.entries(Y)){let N=K==="/"?"":K,D=W==="/"?"":W,q=`${D}${N}`===""?"/":`${D}${N}`;if(!F[q])F[q]={};for(let[c2,j2]of Object.entries(I))F[q][c2]={exec:j2.exec,middleware:[...B,...j2.middleware]}}}else for(let w of Object.values(Z)){if(!F[W])F[W]={};let{method:B,middlewares:Y}=w,K=w.run.bind(w);F[W][B]={exec:K,middleware:Y}}return Object.fromEntries(Object.entries(F).sort(([W],[Z])=>{let w=W.split("/").length+W.split(":").length,B=Z.split("/").length+Z.split(":").length;return w-B}))}class _1 extends O{$;static _name="ApiRouterServiceContainer";flatRoutes={};constructor($){super();this.service=$;this.flatRoutes=V1({"/":this.service.rootRouter.bind(this.service),"/auth":y1,"/__gemi__/services/i18n":e5,"/__gemi__/services/logs":N1,"/__gemi__/services/image":P1})}getRouteHandlerAndParams($){let F=new URL($.url).pathname.replace("/api",""),W={},Z;for(let[w]of Object.entries(this.flatRoutes))try{let B=new URLPattern({pathname:w});if(B.test({pathname:F})){Z=w,W=B.exec({pathname:F})?.pathname.groups;break}}catch(B){console.error(B)}return{params:W,path:Z}}async runRouteMiddleware($,J){let W=this.flatRoutes[$][J.rawRequest.method].middleware;try{await X1.use().runMiddleware(W)}catch(Z){if(Z.kind===D1){if(J.rawRequest.url.includes("/api")){let{status:w=400,data:B,headers:Y}=Z.payload.api;return new Response(JSON.stringify(B),{status:w,headers:{"Content-Type":"application/json",...Y}})}}else throw this.service.onRequestFail(J,Z),console.error(Z),Z}}async getRouteData($){let J=this.flatRoutes[$],F=x.getStore(),W=J[F.req.rawRequest.method].exec??(()=>Promise.resolve({})),Z={};try{Z=await W()}catch(w){if(w.kind===D1){let{status:B=400,data:Y,headers:K}=w.payload.api;return new Response(JSON.stringify(Y),{status:B,headers:{"Content-Type":"application/json",...K}})}else throw this.service.onRequestFail(F.req,w),console.error(w),w}return Z}async handleApiRequest($){let{params:J,path:F}=this.getRouteHandlerAndParams($),W=this.flatRoutes[F];if(!W||!W[$.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let Z=new T($,J,"api",F);if(!$.url.includes("/__gemi__"))this.service.onRequestStart(Z);return await x.run(Z,async()=>{let w=x.getStore();w.setRequest(Z);let B=await this.runRouteMiddleware(F,Z);if(B instanceof Response)return B;let Y=await this.getRouteData(F);if(Y instanceof Response)return Y;let K=w.headers;if(K.append("Content-Type","application/json"),w.cookies.forEach((I)=>K.append("Set-Cookie",I.toString())),w.destroy(),!$.url.includes("/__gemi__"))this.service.onRequestEnd(Z);return new Response(JSON.stringify(Y),{headers:K})})}}class u2{static prepare($,...J){let F={params:{},search:{}},[W={}]=J,{search:Z,params:w}={...F,...W},B=x.getStore();if(B.req.kind==="api")throw new Error("Query.prefetch() cannot be called from an API request");let Y=B.req.rawRequest,K=new URL(Y.url),I=new URLSearchParams(d5(Z));I.delete("json"),I.sort();let N=[`${m($,w)}`,I.toString()].filter((W2)=>W2.length>0).join("?"),D=`${K.origin}/${N}`,q=new Request(D,{headers:Y.headers}),c2=new T(q,w),j2=(W2)=>{B.prefetchedResources.set(m($,w),{[I.toString()]:W2})},z1=()=>{return x.run(c2,async()=>{let W2=await _1.use().getRouteData($);return j2(W2),W2})};return{instant:z1,prefetch:()=>{B.prefetchPromiseQueue.add(z1)}}}static instant($,...J){return u2.prepare($,...J).instant()}static prefetch($,...J){return u2.prepare($,...J).prefetch()}}class l2{static channel($,J){let F=Z2.use().service.channels[$];if(!F)return console.error(`Channel ${$} not found`),{publish:()=>{}};let W=new F;return{publish:(Z,w=!1)=>{let B=m($,J);Z2.use().publish(B,JSON.stringify({topic:B,data:W.publish(Z)}),w)}}}}class p5{static absolute($,...J){return`${process.env.HOST_NAME}${m(String($),J[0]??{})}`}static relative($,...J){return m(String($),J[0]??{})}}class n5{static debug($,J){h.use().log("debug",$,J)}static info($,J){h.use().log("info",$,J)}static notice($,J){h.use().log("notice",$,J)}static warning($,J){h.use().log("warning",$,J)}static error($,J){h.use().log("error",$,J)}static critical($,J){h.use().log("critical",$,J)}static alert($,J){h.use().log("alert",$,J)}static emergency($,J){h.use().log("emergency",$,J)}}export{p5 as Url,E1 as Redirect,u2 as Query,n5 as Log,q1 as I18n,x5 as FileStorage,l2 as Broadcast,p as Auth};export{Z2 as qb,E1 as rb,f5 as sb,z2 as tb,h as ub,n5 as vb,c6 as wb,a6 as xb,c5 as yb,X1 as zb,_1 as Ab};
2
+ import{Bb as b5,Cb as L1,Db as O5,Fb as v5,Gb as T2,Hb as i,Ib as k}from"../http/index.js";import{Lb as e5,Mb as H2}from"../chunk-98e4g3z6.js";import{Nb as a5,Ob as I2,Pb as D1,Qb as j1,Rb as e,Sb as x,Tb as T,Vb as O}from"../chunk-0tsd6d6s.js";import{Xb as l6,Yb as V}from"../chunk-vvdgy5ba.js";var l=V((L9,S1)=>{var A1=function($){return typeof $!=="undefined"&&$!==null},t5=function($){return typeof $==="object"},i5=function($){return Object.prototype.toString.call($)==="[object Object]"},o5=function($){return typeof $==="function"},$4=function($){return typeof $==="boolean"},J4=function($){return $ instanceof Buffer},F4=function($){if(A1($))switch($.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},W4=function($){return $ instanceof ArrayBuffer},Z4=function($){return typeof $==="string"&&$.length>0},w4=function($){return typeof $==="number"&&!Number.isNaN($)},U4=function($){return Number.isInteger($)},B4=function($,J,F){return $>=J&&$<=F},Y4=function($,J){return J.includes($)},Q4=function($,J,F){return new Error(`Expected ${J} for ${$} but received ${F} of type ${typeof F}`)},K4=function($,J){return J.message=$.message,J};S1.exports={defined:A1,object:t5,plainObject:i5,fn:o5,bool:$4,buffer:J4,typedArray:F4,arrayBuffer:W4,string:Z4,number:w4,integer:U4,inRange:B4,inArray:Y4,invalidParameterError:Q4,nativeError:K4}});var L2=V((y9,C1)=>{var G4=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};C1.exports=G4});var E2=V((P9,M1)=>{var I4=Number.MAX_SAFE_INTEGER||9007199254740991,H4=["major","premajor","minor","preminor","patch","prepatch","prerelease"];M1.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:I4,RELEASE_TYPES:H4,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var y2=V((c,f1)=>{var{MAX_SAFE_COMPONENT_LENGTH:a2,MAX_SAFE_BUILD_LENGTH:L4,MAX_LENGTH:y4}=E2(),P4=L2();c=f1.exports={};var N4=c.re=[],X4=c.safeRe=[],H=c.src=[],L=c.t={},V4=0,r2="[a-zA-Z0-9-]",D4=[["\\s",1],["\\d",y4],[r2,L4]],_4=($)=>{for(let[J,F]of D4)$=$.split(`${J}*`).join(`${J}{0,${F}}`).split(`${J}+`).join(`${J}{1,${F}}`);return $},X=($,J,F)=>{let W=_4(J),Z=V4++;P4($,Z,J),L[$]=Z,H[Z]=J,N4[Z]=new RegExp(J,F?"g":void 0),X4[Z]=new RegExp(W,F?"g":void 0)};X("NUMERICIDENTIFIER","0|[1-9]\\d*");X("NUMERICIDENTIFIERLOOSE","\\d+");X("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${r2}*`);X("MAINVERSION",`(${H[L.NUMERICIDENTIFIER]})\\.(${H[L.NUMERICIDENTIFIER]})\\.(${H[L.NUMERICIDENTIFIER]})`);X("MAINVERSIONLOOSE",`(${H[L.NUMERICIDENTIFIERLOOSE]})\\.(${H[L.NUMERICIDENTIFIERLOOSE]})\\.(${H[L.NUMERICIDENTIFIERLOOSE]})`);X("PRERELEASEIDENTIFIER",`(?:${H[L.NUMERICIDENTIFIER]}|${H[L.NONNUMERICIDENTIFIER]})`);X("PRERELEASEIDENTIFIERLOOSE",`(?:${H[L.NUMERICIDENTIFIERLOOSE]}|${H[L.NONNUMERICIDENTIFIER]})`);X("PRERELEASE",`(?:-(${H[L.PRERELEASEIDENTIFIER]}(?:\\.${H[L.PRERELEASEIDENTIFIER]})*))`);X("PRERELEASELOOSE",`(?:-?(${H[L.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${H[L.PRERELEASEIDENTIFIERLOOSE]})*))`);X("BUILDIDENTIFIER",`${r2}+`);X("BUILD",`(?:\\+(${H[L.BUILDIDENTIFIER]}(?:\\.${H[L.BUILDIDENTIFIER]})*))`);X("FULLPLAIN",`v?${H[L.MAINVERSION]}${H[L.PRERELEASE]}?${H[L.BUILD]}?`);X("FULL",`^${H[L.FULLPLAIN]}\$`);X("LOOSEPLAIN",`[v=\\s]*${H[L.MAINVERSIONLOOSE]}${H[L.PRERELEASELOOSE]}?${H[L.BUILD]}?`);X("LOOSE",`^${H[L.LOOSEPLAIN]}\$`);X("GTLT","((?:<|>)?=?)");X("XRANGEIDENTIFIERLOOSE",`${H[L.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);X("XRANGEIDENTIFIER",`${H[L.NUMERICIDENTIFIER]}|x|X|\\*`);X("XRANGEPLAIN",`[v=\\s]*(${H[L.XRANGEIDENTIFIER]})(?:\\.(${H[L.XRANGEIDENTIFIER]})(?:\\.(${H[L.XRANGEIDENTIFIER]})(?:${H[L.PRERELEASE]})?${H[L.BUILD]}?)?)?`);X("XRANGEPLAINLOOSE",`[v=\\s]*(${H[L.XRANGEIDENTIFIERLOOSE]})(?:\\.(${H[L.XRANGEIDENTIFIERLOOSE]})(?:\\.(${H[L.XRANGEIDENTIFIERLOOSE]})(?:${H[L.PRERELEASELOOSE]})?${H[L.BUILD]}?)?)?`);X("XRANGE",`^${H[L.GTLT]}\\s*${H[L.XRANGEPLAIN]}\$`);X("XRANGELOOSE",`^${H[L.GTLT]}\\s*${H[L.XRANGEPLAINLOOSE]}\$`);X("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a2}})(?:\\.(\\d{1,${a2}}))?(?:\\.(\\d{1,${a2}}))?`);X("COERCE",`${H[L.COERCEPLAIN]}(?:\$|[^\\d])`);X("COERCEFULL",H[L.COERCEPLAIN]+`(?:${H[L.PRERELEASE]})?(?:${H[L.BUILD]})?(?:\$|[^\\d])`);X("COERCERTL",H[L.COERCE],!0);X("COERCERTLFULL",H[L.COERCEFULL],!0);X("LONETILDE","(?:~>?)");X("TILDETRIM",`(\\s*)${H[L.LONETILDE]}\\s+`,!0);c.tildeTrimReplace="$1~";X("TILDE",`^${H[L.LONETILDE]}${H[L.XRANGEPLAIN]}\$`);X("TILDELOOSE",`^${H[L.LONETILDE]}${H[L.XRANGEPLAINLOOSE]}\$`);X("LONECARET","(?:\\^)");X("CARETTRIM",`(\\s*)${H[L.LONECARET]}\\s+`,!0);c.caretTrimReplace="$1^";X("CARET",`^${H[L.LONECARET]}${H[L.XRANGEPLAIN]}\$`);X("CARETLOOSE",`^${H[L.LONECARET]}${H[L.XRANGEPLAINLOOSE]}\$`);X("COMPARATORLOOSE",`^${H[L.GTLT]}\\s*(${H[L.LOOSEPLAIN]})\$|^\$`);X("COMPARATOR",`^${H[L.GTLT]}\\s*(${H[L.FULLPLAIN]})\$|^\$`);X("COMPARATORTRIM",`(\\s*)${H[L.GTLT]}\\s*(${H[L.LOOSEPLAIN]}|${H[L.XRANGEPLAIN]})`,!0);c.comparatorTrimReplace="$1$2$3";X("HYPHENRANGE",`^\\s*(${H[L.XRANGEPLAIN]})\\s+-\\s+(${H[L.XRANGEPLAIN]})\\s*\$`);X("HYPHENRANGELOOSE",`^\\s*(${H[L.XRANGEPLAINLOOSE]})\\s+-\\s+(${H[L.XRANGEPLAINLOOSE]})\\s*\$`);X("STAR","(<|>)?=?\\s*\\*");X("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");X("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var R2=V((N9,k1)=>{var z4=Object.freeze({loose:!0}),j4=Object.freeze({}),T4=($)=>{if(!$)return j4;if(typeof $!=="object")return z4;return $};k1.exports=T4});var O1=V((X9,b1)=>{var x1=/^[0-9]+$/,d1=($,J)=>{let F=x1.test($),W=x1.test(J);if(F&&W)$=+$,J=+J;return $===J?0:F&&!W?-1:W&&!F?1:$<J?-1:1},E4=($,J)=>d1(J,$);b1.exports={compareIdentifiers:d1,rcompareIdentifiers:E4}});var U2=V((V9,m1)=>{var q2=L2(),{MAX_LENGTH:v1,MAX_SAFE_INTEGER:A2}=E2(),{safeRe:h1,t:g1}=y2(),R4=R2(),{compareIdentifiers:w2}=O1();class g{constructor($,J){if(J=R4(J),$ instanceof g)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>v1)throw new TypeError(`version is longer than ${v1} characters`);q2("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let F=$.trim().match(J.loose?h1[g1.LOOSE]:h1[g1.FULL]);if(!F)throw new TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+F[1],this.minor=+F[2],this.patch=+F[3],this.major>A2||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A2||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A2||this.patch<0)throw new TypeError("Invalid patch version");if(!F[4])this.prerelease=[];else this.prerelease=F[4].split(".").map((W)=>{if(/^[0-9]+$/.test(W)){let Z=+W;if(Z>=0&&Z<A2)return Z}return W});this.build=F[5]?F[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(q2("SemVer.compare",this.version,this.options,$),!($ instanceof g)){if(typeof $==="string"&&$===this.version)return 0;$=new g($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof g))$=new g($,this.options);return w2(this.major,$.major)||w2(this.minor,$.minor)||w2(this.patch,$.patch)}comparePre($){if(!($ instanceof g))$=new g($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let J=0;do{let F=this.prerelease[J],W=$.prerelease[J];if(q2("prerelease compare",J,F,W),F===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(F===void 0)return-1;else if(F===W)continue;else return w2(F,W)}while(++J)}compareBuild($){if(!($ instanceof g))$=new g($,this.options);let J=0;do{let F=this.build[J],W=$.build[J];if(q2("build compare",J,F,W),F===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(F===void 0)return-1;else if(F===W)continue;else return w2(F,W)}while(++J)}inc($,J,F){switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",J,F);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",J,F);break;case"prepatch":this.prerelease.length=0,this.inc("patch",J,F),this.inc("pre",J,F);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",J,F);this.inc("pre",J,F);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let W=Number(F)?1:0;if(!J&&F===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[W];else{let Z=this.prerelease.length;while(--Z>=0)if(typeof this.prerelease[Z]==="number")this.prerelease[Z]++,Z=-2;if(Z===-1){if(J===this.prerelease.join(".")&&F===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(W)}}if(J){let Z=[J,W];if(F===!1)Z=[J];if(w2(this.prerelease[0],J)===0){if(isNaN(this.prerelease[1]))this.prerelease=Z}else this.prerelease=Z}break}default:throw new Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}m1.exports=g});var c1=V((D9,u1)=>{var l1=U2(),q4=($,J,F=!1)=>{if($ instanceof l1)return $;try{return new l1($,J)}catch(W){if(!F)return null;throw W}};u1.exports=q4});var r1=V((_9,a1)=>{var A4=U2(),S4=c1(),{safeRe:S2,t:C2}=y2(),C4=($,J)=>{if($ instanceof A4)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let F=null;if(!J.rtl)F=$.match(J.includePrerelease?S2[C2.COERCEFULL]:S2[C2.COERCE]);else{let K=J.includePrerelease?S2[C2.COERCERTLFULL]:S2[C2.COERCERTL],I;while((I=K.exec($))&&(!F||F.index+F[0].length!==$.length)){if(!F||I.index+I[0].length!==F.index+F[0].length)F=I;K.lastIndex=I.index+I[1].length+I[2].length}K.lastIndex=-1}if(F===null)return null;let W=F[2],Z=F[3]||"0",w=F[4]||"0",B=J.includePrerelease&&F[5]?`-${F[5]}`:"",Y=J.includePrerelease&&F[6]?`+${F[6]}`:"";return S4(`${W}.${Z}.${w}${B}${Y}`,J)};a1.exports=C4});var o=V((z9,p1)=>{var e1=U2(),M4=($,J,F)=>new e1($,F).compare(new e1(J,F));p1.exports=M4});var e2=V((j9,n1)=>{var f4=o(),k4=($,J,F)=>f4($,J,F)>=0;n1.exports=k4});var i1=V((T9,t1)=>{class s1{constructor(){this.max=1000,this.map=new Map}get($){let J=this.map.get($);if(J===void 0)return;else return this.map.delete($),this.map.set($,J),J}delete($){return this.map.delete($)}set($,J){if(!this.delete($)&&J!==void 0){if(this.map.size>=this.max){let W=this.map.keys().next().value;this.delete(W)}this.map.set($,J)}return this}}t1.exports=s1});var $0=V((E9,o1)=>{var x4=o(),d4=($,J,F)=>x4($,J,F)===0;o1.exports=d4});var F0=V((R9,J0)=>{var b4=o(),O4=($,J,F)=>b4($,J,F)!==0;J0.exports=O4});var Z0=V((q9,W0)=>{var v4=o(),h4=($,J,F)=>v4($,J,F)>0;W0.exports=h4});var U0=V((A9,w0)=>{var g4=o(),m4=($,J,F)=>g4($,J,F)<0;w0.exports=m4});var Y0=V((S9,B0)=>{var l4=o(),u4=($,J,F)=>l4($,J,F)<=0;B0.exports=u4});var K0=V((C9,Q0)=>{var c4=$0(),a4=F0(),r4=Z0(),e4=e2(),p4=U0(),n4=Y0(),s4=($,J,F,W)=>{switch(J){case"===":if(typeof $==="object")$=$.version;if(typeof F==="object")F=F.version;return $===F;case"!==":if(typeof $==="object")$=$.version;if(typeof F==="object")F=F.version;return $!==F;case"":case"=":case"==":return c4($,F,W);case"!=":return a4($,F,W);case">":return r4($,F,W);case">=":return e4($,F,W);case"<":return p4($,F,W);case"<=":return n4($,F,W);default:throw new TypeError(`Invalid operator: ${J}`)}};Q0.exports=s4});var N0=V((M9,P0)=>{var P2=Symbol("SemVer ANY");class M2{static get ANY(){return P2}constructor($,J){if(J=G0(J),$ instanceof M2)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),n2("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===P2)this.value="";else this.value=this.operator+this.semver.version;n2("comp",this)}parse($){let J=this.options.loose?I0[H0.COMPARATORLOOSE]:I0[H0.COMPARATOR],F=$.match(J);if(!F)throw new TypeError(`Invalid comparator: ${$}`);if(this.operator=F[1]!==void 0?F[1]:"",this.operator==="=")this.operator="";if(!F[2])this.semver=P2;else this.semver=new L0(F[2],this.options.loose)}toString(){return this.value}test($){if(n2("Comparator.test",$,this.options.loose),this.semver===P2||$===P2)return!0;if(typeof $==="string")try{$=new L0($,this.options)}catch(J){return!1}return p2($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof M2))throw new TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new y0($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new y0(this.value,J).test($.semver)}if(J=G0(J),J.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!J.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(p2(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(p2(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}P0.exports=M2;var G0=R2(),{safeRe:I0,t:H0}=y2(),p2=K0(),n2=L2(),L0=U2(),y0=s2()});var s2=V((f9,_0)=>{var t4=/\s+/g;class N2{constructor($,J){if(J=o4(J),$ instanceof N2)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new N2($.raw,J);if($ instanceof t2)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease,this.raw=$.trim().replace(t4," "),this.set=this.raw.split("||").map((F)=>this.parseRange(F.trim())).filter((F)=>F.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let F=this.set[0];if(this.set=this.set.filter((W)=>!V0(W[0])),this.set.length===0)this.set=[F];else if(this.set.length>1){for(let W of this.set)if(W.length===1&&U3(W[0])){this.set=[W];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let J=this.set[$];for(let F=0;F<J.length;F++){if(F>0)this.formatted+=" ";this.formatted+=J[F].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let F=((this.options.includePrerelease&&Z3)|(this.options.loose&&w3))+":"+$,W=X0.get(F);if(W)return W;let Z=this.options.loose,w=Z?M[A.HYPHENRANGELOOSE]:M[A.HYPHENRANGE];$=$.replace(w,P3(this.options.includePrerelease)),z("hyphen replace",$),$=$.replace(M[A.COMPARATORTRIM],J3),z("comparator trim",$),$=$.replace(M[A.TILDETRIM],F3),z("tilde trim",$),$=$.replace(M[A.CARETTRIM],W3),z("caret trim",$);let B=$.split(" ").map((N)=>B3(N,this.options)).join(" ").split(/\s+/).map((N)=>y3(N,this.options));if(Z)B=B.filter((N)=>{return z("loose invalid filter",N,this.options),!!N.match(M[A.COMPARATORLOOSE])});z("range list",B);let Y=new Map,K=B.map((N)=>new t2(N,this.options));for(let N of K){if(V0(N))return[N];Y.set(N.value,N)}if(Y.size>1&&Y.has(""))Y.delete("");let I=[...Y.values()];return X0.set(F,I),I}intersects($,J){if(!($ instanceof N2))throw new TypeError("a Range is required");return this.set.some((F)=>{return D0(F,J)&&$.set.some((W)=>{return D0(W,J)&&F.every((Z)=>{return W.every((w)=>{return Z.intersects(w,J)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new $3($,this.options)}catch(J){return!1}for(let J=0;J<this.set.length;J++)if(N3(this.set[J],$,this.options))return!0;return!1}}_0.exports=N2;var i4=i1(),X0=new i4,o4=R2(),t2=N0(),z=L2(),$3=U2(),{safeRe:M,t:A,comparatorTrimReplace:J3,tildeTrimReplace:F3,caretTrimReplace:W3}=y2(),{FLAG_INCLUDE_PRERELEASE:Z3,FLAG_LOOSE:w3}=E2(),V0=($)=>$.value==="<0.0.0-0",U3=($)=>$.value==="",D0=($,J)=>{let F=!0,W=$.slice(),Z=W.pop();while(F&&W.length)F=W.every((w)=>{return Z.intersects(w,J)}),Z=W.pop();return F},B3=($,J)=>{return z("comp",$,J),$=K3($,J),z("caret",$),$=Y3($,J),z("tildes",$),$=I3($,J),z("xrange",$),$=L3($,J),z("stars",$),$},S=($)=>!$||$.toLowerCase()==="x"||$==="*",Y3=($,J)=>{return $.trim().split(/\s+/).map((F)=>Q3(F,J)).join(" ")},Q3=($,J)=>{let F=J.loose?M[A.TILDELOOSE]:M[A.TILDE];return $.replace(F,(W,Z,w,B,Y)=>{z("tilde",$,W,Z,w,B,Y);let K;if(S(Z))K="";else if(S(w))K=`>=${Z}.0.0 <${+Z+1}.0.0-0`;else if(S(B))K=`>=${Z}.${w}.0 <${Z}.${+w+1}.0-0`;else if(Y)z("replaceTilde pr",Y),K=`>=${Z}.${w}.${B}-${Y} <${Z}.${+w+1}.0-0`;else K=`>=${Z}.${w}.${B} <${Z}.${+w+1}.0-0`;return z("tilde return",K),K})},K3=($,J)=>{return $.trim().split(/\s+/).map((F)=>G3(F,J)).join(" ")},G3=($,J)=>{z("caret",$,J);let F=J.loose?M[A.CARETLOOSE]:M[A.CARET],W=J.includePrerelease?"-0":"";return $.replace(F,(Z,w,B,Y,K)=>{z("caret",$,Z,w,B,Y,K);let I;if(S(w))I="";else if(S(B))I=`>=${w}.0.0${W} <${+w+1}.0.0-0`;else if(S(Y))if(w==="0")I=`>=${w}.${B}.0${W} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.0${W} <${+w+1}.0.0-0`;else if(K)if(z("replaceCaret pr",K),w==="0")if(B==="0")I=`>=${w}.${B}.${Y}-${K} <${w}.${B}.${+Y+1}-0`;else I=`>=${w}.${B}.${Y}-${K} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.${Y}-${K} <${+w+1}.0.0-0`;else if(z("no pr"),w==="0")if(B==="0")I=`>=${w}.${B}.${Y}${W} <${w}.${B}.${+Y+1}-0`;else I=`>=${w}.${B}.${Y}${W} <${w}.${+B+1}.0-0`;else I=`>=${w}.${B}.${Y} <${+w+1}.0.0-0`;return z("caret return",I),I})},I3=($,J)=>{return z("replaceXRanges",$,J),$.split(/\s+/).map((F)=>H3(F,J)).join(" ")},H3=($,J)=>{$=$.trim();let F=J.loose?M[A.XRANGELOOSE]:M[A.XRANGE];return $.replace(F,(W,Z,w,B,Y,K)=>{z("xRange",$,W,Z,w,B,Y,K);let I=S(w),N=I||S(B),D=N||S(Y),q=D;if(Z==="="&&q)Z="";if(K=J.includePrerelease?"-0":"",I)if(Z===">"||Z==="<")W="<0.0.0-0";else W="*";else if(Z&&q){if(N)B=0;if(Y=0,Z===">")if(Z=">=",N)w=+w+1,B=0,Y=0;else B=+B+1,Y=0;else if(Z==="<=")if(Z="<",N)w=+w+1;else B=+B+1;if(Z==="<")K="-0";W=`${Z+w}.${B}.${Y}${K}`}else if(N)W=`>=${w}.0.0${K} <${+w+1}.0.0-0`;else if(D)W=`>=${w}.${B}.0${K} <${w}.${+B+1}.0-0`;return z("xRange return",W),W})},L3=($,J)=>{return z("replaceStars",$,J),$.trim().replace(M[A.STAR],"")},y3=($,J)=>{return z("replaceGTE0",$,J),$.trim().replace(M[J.includePrerelease?A.GTE0PRE:A.GTE0],"")},P3=($)=>(J,F,W,Z,w,B,Y,K,I,N,D,q)=>{if(S(W))F="";else if(S(Z))F=`>=${W}.0.0${$?"-0":""}`;else if(S(w))F=`>=${W}.${Z}.0${$?"-0":""}`;else if(B)F=`>=${F}`;else F=`>=${F}${$?"-0":""}`;if(S(I))K="";else if(S(N))K=`<${+I+1}.0.0-0`;else if(S(D))K=`<${I}.${+N+1}.0-0`;else if(q)K=`<=${I}.${N}.${D}-${q}`;else if($)K=`<${I}.${N}.${+D+1}-0`;else K=`<=${K}`;return`${F} ${K}`.trim()},N3=($,J,F)=>{for(let W=0;W<$.length;W++)if(!$[W].test(J))return!1;if(J.prerelease.length&&!F.includePrerelease){for(let W=0;W<$.length;W++){if(z($[W].semver),$[W].semver===t2.ANY)continue;if($[W].semver.prerelease.length>0){let Z=$[W].semver;if(Z.major===J.major&&Z.minor===J.minor&&Z.patch===J.patch)return!0}}return!1}return!0}});var j0=V((k9,z0)=>{var X3=s2(),V3=($,J,F)=>{try{J=new X3(J,F)}catch(W){return!1}return J.test($)};z0.exports=V3});var i2=V((x9,D3)=>{D3.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.33.5",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unneb\xE4ck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix B\xFCnemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","J\xE9r\xE9my Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kot\u011B\u0161ovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouci\xF1o <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugu\xE9 <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>","Don Denton <don@happycollision.com>"],scripts:{install:"node install/check",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run test-lint && npm run test-unit && npm run test-licensing && npm run test-types","test-lint":"semistandard && cpplint","test-unit":"nyc --reporter=lcov --reporter=text --check-coverage --branches=100 mocha","test-licensing":"license-checker --production --summary --onlyAllow=\"Apache-2.0;BSD;ISC;LGPL-3.0-or-later;MIT\"","test-leak":"./test/leak/leak.sh","test-types":"tsd","package-from-local-build":"node npm/from-local-build","package-from-github-release":"node npm/from-github-release","docs-build":"node docs/build && node docs/search-index/build","docs-serve":"cd docs && npx serve","docs-publish":"cd docs && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{color:"^4.2.3","detect-libc":"^2.0.3",semver:"^7.6.3"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.33.5","@img/sharp-darwin-x64":"0.33.5","@img/sharp-libvips-darwin-arm64":"1.0.4","@img/sharp-libvips-darwin-x64":"1.0.4","@img/sharp-libvips-linux-arm":"1.0.5","@img/sharp-libvips-linux-arm64":"1.0.4","@img/sharp-libvips-linux-s390x":"1.0.4","@img/sharp-libvips-linux-x64":"1.0.4","@img/sharp-libvips-linuxmusl-arm64":"1.0.4","@img/sharp-libvips-linuxmusl-x64":"1.0.4","@img/sharp-linux-arm":"0.33.5","@img/sharp-linux-arm64":"0.33.5","@img/sharp-linux-s390x":"0.33.5","@img/sharp-linux-x64":"0.33.5","@img/sharp-linuxmusl-arm64":"0.33.5","@img/sharp-linuxmusl-x64":"0.33.5","@img/sharp-wasm32":"0.33.5","@img/sharp-win32-ia32":"0.33.5","@img/sharp-win32-x64":"0.33.5"},devDependencies:{"@emnapi/runtime":"^1.2.0","@img/sharp-libvips-dev":"1.0.4","@img/sharp-libvips-dev-wasm32":"1.0.5","@img/sharp-libvips-win32-ia32":"1.0.4","@img/sharp-libvips-win32-x64":"1.0.4","@types/node":"*",async:"^3.2.5",cc:"^3.0.1",emnapi:"^1.2.0","exif-reader":"^2.0.1","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^8.0.3","license-checker":"^25.0.1",mocha:"^10.7.3","node-addon-api":"^8.1.0",nyc:"^17.0.0",prebuild:"^13.0.1",semistandard:"^17.0.0","tar-fs":"^3.0.6",tsd:"^0.31.1"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0"},config:{libvips:">=8.15.3"},funding:{url:"https://opencollective.com/libvips"},binary:{napi_versions:[9]},semistandard:{env:["mocha"]},cc:{linelength:"120",filter:["build/include"]},nyc:{include:["lib"]},tsd:{directory:"test/types/"}}});var $1=V((d9,k0)=>{var{spawnSync:f2}=import.meta.require("child_process"),{createHash:_3}=import.meta.require("crypto"),q0=r1(),z3=e2(),j3=j0(),T0=import.meta.require("detect-libc"),{config:T3,engines:E0,optionalDependencies:E3}=i2(),R3=process.env.npm_package_config_libvips||T3.libvips,A0=q0(R3).version,q3=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-ia32","win32-x64"],k2={encoding:"utf8",shell:!0},A3=($)=>{if($ instanceof Error)console.error(`sharp: Installation error: ${$.message}`);else console.log(`sharp: ${$}`)},S0=()=>T0.isNonGlibcLinuxSync()?T0.familySync():"",S3=()=>`${process.platform}${S0()}-${process.arch}`,B2=()=>{if(C0())return"wasm32";let{npm_config_arch:$,npm_config_platform:J,npm_config_libc:F}=process.env,W=typeof F==="string"?F:S0();return`${J||process.platform}${W}-${$||process.arch}`},C3=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${B2()}/include`)}catch{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/include"`);})()}catch{}}return""},M3=()=>{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/cplusplus"`);})()}catch{}return""},f3=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${B2()}/lib`)}catch{try{return import.meta.require(`@img/sharp-libvips-${B2()}/lib`)}catch{}}return""},k3=()=>{if(process.release?.name==="node"&&process.versions){if(!j3(process.versions.node,E0.node))return{found:process.versions.node,expected:E0.node}}},C0=()=>{let{CC:$}=process.env;return Boolean($&&$.endsWith("/emcc"))},x3=()=>{if(process.platform==="darwin"&&process.arch==="x64")return(f2("sysctl sysctl.proc_translated",k2).stdout||"").trim()==="sysctl.proc_translated: 1";return!1},R0=($)=>_3("sha512").update($).digest("hex"),d3=()=>{try{let $=R0(`imgsharp-libvips-${B2()}`),J=q0(E3[`@img/sharp-libvips-${B2()}`]).version;return R0(`${$}npm:${J}`).slice(0,10)}catch{}return""},b3=()=>f2(`node-gyp rebuild --directory=src ${C0()?"--nodedir=emscripten":""}`,{...k2,stdio:"inherit"}).status,M0=()=>{if(process.platform!=="win32")return(f2("pkg-config --modversion vips-cpp",{...k2,env:{...process.env,PKG_CONFIG_PATH:f0()}}).stdout||"").trim();else return""},f0=()=>{if(process.platform!=="win32")return[(f2('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',k2).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":");else return""},o2=($,J,F)=>{if(F)F(`Detected ${J}, skipping search for globally-installed libvips`);return $},O3=($)=>{if(Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)===!0)return o2(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS",$);if(Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)===!0)return o2(!0,"SHARP_FORCE_GLOBAL_LIBVIPS",$);if(x3())return o2(!1,"Rosetta",$);let J=M0();return!!J&&z3(J,A0)};k0.exports={minimumLibvipsVersion:A0,prebuiltPlatforms:q3,buildPlatformArch:B2,buildSharpLibvipsIncludeDir:C3,buildSharpLibvipsCPlusPlusDir:M3,buildSharpLibvipsLibDir:f3,isUnsupportedNodeRuntime:k3,runtimePlatformArch:S3,log:A3,yarnLocator:d3,spawnRebuild:b3,globalLibvipsVersion:M0,pkgConfigPath:f0,useGlobalLibvips:O3}});var X2=V((b9,d0)=>{var{familySync:v3,versionSync:h3}=import.meta.require("detect-libc"),{runtimePlatformArch:g3,isUnsupportedNodeRuntime:x0,prebuiltPlatforms:m3,minimumLibvipsVersion:l3}=$1(),$2=g3(),u3=[`../src/build/Release/sharp-${$2}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${$2}/sharp.node`,"@img/sharp-wasm32/sharp.node"],J1,x2=[];for(let $ of u3)try{J1=import.meta.require($);break}catch(J){x2.push(J)}if(J1)d0.exports=J1;else{let[$,J,F]=["linux","darwin","win32"].map((w)=>$2.startsWith(w)),W=[`Could not load the "sharp" module using the ${$2} runtime`];x2.forEach((w)=>{if(w.code!=="MODULE_NOT_FOUND")W.push(`${w.code}: ${w.message}`)});let Z=x2.map((w)=>w.message).join(" ");if(W.push("Possible solutions:"),x0()){let{found:w,expected:B}=x0();W.push("- Please upgrade Node.js:",` Found ${w}`,` Requires ${B}`)}else if(m3.includes($2)){let[w,B]=$2.split("-"),Y=w.endsWith("musl")?" --libc=musl":"";W.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${w.replace("musl","")}${Y} --cpu=${B} sharp`)}else W.push(`- Manually install libvips >= ${l3}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if($&&/(symbol not found|CXXABI_)/i.test(Z))try{let{config:w}=import.meta.require(`@img/sharp-libvips-${$2}/package`),B=`${v3()} ${h3()}`,Y=`${w.musl?"musl":"glibc"} ${w.musl||w.glibc}`;W.push("- Update your OS:",` Found ${B}`,` Requires ${Y}`)}catch(w){}if($&&/\/snap\/core[0-9]{2}/.test(Z))W.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node");if(J&&/Incompatible library version/.test(Z))W.push("- Update Homebrew:"," brew update && brew upgrade vips");if(x2.some((w)=>w.code==="ERR_DLOPEN_DISABLED"))W.push("- Run Node.js without using the --no-addons flag");if(F&&/The specified procedure could not be found/.test(Z))W.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp");throw W.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(W.join("\n"))}});var O0=V((O9,b0)=>{var c3=import.meta.require("util"),F1=import.meta.require("stream"),a3=l();X2();var r3=c3.debuglog("sharp"),J2=function($,J){if(arguments.length===1&&!a3.defined($))throw new Error("Invalid input");if(!(this instanceof J2))return new J2($,J);return F1.Duplex.call(this),this.options={topOffsetPre:-1,leftOffsetPre:-1,widthPre:-1,heightPre:-1,topOffsetPost:-1,leftOffsetPost:-1,widthPost:-1,heightPost:-1,width:-1,height:-1,canvas:"crop",position:0,resizeBackground:[0,0,0,255],useExifOrientation:!1,angle:0,rotationAngle:0,rotationBackground:[0,0,0,255],rotateBeforePreExtract:!1,flip:!1,flop:!1,extendTop:0,extendBottom:0,extendLeft:0,extendRight:0,extendBackground:[0,0,0,255],extendWith:"background",withoutEnlargement:!1,withoutReduction:!1,affineMatrix:[],affineBackground:[0,0,0,255],affineIdx:0,affineIdy:0,affineOdx:0,affineOdy:0,affineInterpolator:this.constructor.interpolators.bilinear,kernel:"lanczos3",fastShrinkOnLoad:!0,tint:[-1,0,0,0],flatten:!1,flattenBackground:[0,0,0],unflatten:!1,negate:!1,negateAlpha:!0,medianSize:0,blurSigma:0,precision:"integer",minAmpl:0.2,sharpenSigma:0,sharpenM1:1,sharpenM2:2,sharpenX1:2,sharpenY2:10,sharpenY3:20,threshold:0,thresholdGrayscale:!0,trimBackground:[],trimThreshold:-1,trimLineArt:!1,gamma:0,gammaOut:0,greyscale:!1,normalise:!1,normaliseLower:1,normaliseUpper:99,claheWidth:0,claheHeight:0,claheMaxSlope:3,brightness:1,saturation:1,hue:0,lightness:0,booleanBufferIn:null,booleanFileIn:"",joinChannelIn:[],extractChannel:-1,removeAlpha:!1,ensureAlpha:-1,colourspace:"srgb",colourspacePipeline:"last",composite:[],fileOut:"",formatOut:"input",streamOut:!1,keepMetadata:0,withMetadataOrientation:-1,withMetadataDensity:0,withIccProfile:"",withExif:{},withExifMerge:!0,resolveWithObject:!1,jpegQuality:80,jpegProgressive:!1,jpegChromaSubsampling:"4:2:0",jpegTrellisQuantisation:!1,jpegOvershootDeringing:!1,jpegOptimiseScans:!1,jpegOptimiseCoding:!0,jpegQuantisationTable:0,pngProgressive:!1,pngCompressionLevel:6,pngAdaptiveFiltering:!1,pngPalette:!1,pngQuality:100,pngEffort:7,pngBitdepth:8,pngDither:1,jp2Quality:80,jp2TileHeight:512,jp2TileWidth:512,jp2Lossless:!1,jp2ChromaSubsampling:"4:4:4",webpQuality:80,webpAlphaQuality:100,webpLossless:!1,webpNearLossless:!1,webpSmartSubsample:!1,webpPreset:"default",webpEffort:4,webpMinSize:!1,webpMixed:!1,gifBitdepth:8,gifEffort:7,gifDither:1,gifInterFrameMaxError:0,gifInterPaletteMaxError:3,gifReuse:!0,gifProgressive:!1,tiffQuality:80,tiffCompression:"jpeg",tiffPredictor:"horizontal",tiffPyramid:!1,tiffMiniswhite:!1,tiffBitdepth:8,tiffTile:!1,tiffTileHeight:256,tiffTileWidth:256,tiffXres:1,tiffYres:1,tiffResolutionUnit:"inch",heifQuality:50,heifLossless:!1,heifCompression:"av1",heifEffort:4,heifChromaSubsampling:"4:4:4",heifBitdepth:8,jxlDistance:1,jxlDecodingTier:0,jxlEffort:7,jxlLossless:!1,rawDepth:"uchar",tileSize:256,tileOverlap:0,tileContainer:"fs",tileLayout:"dz",tileFormat:"last",tileDepth:"last",tileAngle:0,tileSkipBlanks:-1,tileBackground:[255,255,255,255],tileCentre:!1,tileId:"https://example.com/iiif",tileBasename:"",timeoutSeconds:0,linearA:[],linearB:[],debuglog:(F)=>{this.emit("warning",F),r3(F)},queueListener:function(F){J2.queue.emit("change",F)}},this.options.input=this._createInputDescriptor($,J,{allowStream:!0}),this};Object.setPrototypeOf(J2.prototype,F1.Duplex.prototype);Object.setPrototypeOf(J2,F1.Duplex);function e3(){let $=this.constructor.call(),{debuglog:J,queueListener:F,...W}=this.options;if($.options=structuredClone(W),$.options.debuglog=J,$.options.queueListener=F,this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),$.options.input.buffer=this.options.input.buffer,$.emit("finish")});return $}Object.assign(J2.prototype,{clone:e3});b0.exports=J2});var W1=V((v9,v0)=>{v0.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var g0=V((h9,h0)=>{h0.exports=function $(J){if(!J||typeof J==="string")return!1;return J instanceof Array||Array.isArray(J)||J.length>=0&&(J.splice instanceof Function||Object.getOwnPropertyDescriptor(J,J.length-1)&&J.constructor.name!=="String")}});var u0=V((g9,l0)=>{var p3=g0(),n3=Array.prototype.concat,s3=Array.prototype.slice,m0=l0.exports=function $(J){var F=[];for(var W=0,Z=J.length;W<Z;W++){var w=J[W];if(p3(w))F=n3.call(F,s3.call(w));else F.push(w)}return F};m0.wrap=function($){return function(){return $(m0(arguments))}}});var e0=V((m9,r0)=>{var V2=W1(),D2=u0(),c0=Object.hasOwnProperty,a0=Object.create(null);for(d2 in V2)if(c0.call(V2,d2))a0[V2[d2]]=d2;var d2,d=r0.exports={to:{},get:{}};d.get=function($){var J=$.substring(0,3).toLowerCase(),F,W;switch(J){case"hsl":F=d.get.hsl($),W="hsl";break;case"hwb":F=d.get.hwb($),W="hwb";break;default:F=d.get.rgb($),W="rgb";break}if(!F)return null;return{model:W,value:F}};d.get.rgb=function($){if(!$)return null;var J=/^#([a-f0-9]{3,4})$/i,F=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,W=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,Z=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,w=/^(\w+)$/,B=[0,0,0,1],Y,K,I;if(Y=$.match(F)){I=Y[2],Y=Y[1];for(K=0;K<3;K++){var N=K*2;B[K]=parseInt(Y.slice(N,N+2),16)}if(I)B[3]=parseInt(I,16)/255}else if(Y=$.match(J)){Y=Y[1],I=Y[3];for(K=0;K<3;K++)B[K]=parseInt(Y[K]+Y[K],16);if(I)B[3]=parseInt(I+I,16)/255}else if(Y=$.match(W)){for(K=0;K<3;K++)B[K]=parseInt(Y[K+1],0);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=$.match(Z)){for(K=0;K<3;K++)B[K]=Math.round(parseFloat(Y[K+1])*2.55);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=$.match(w)){if(Y[1]==="transparent")return[0,0,0,0];if(!c0.call(V2,Y[1]))return null;return B=V2[Y[1]],B[3]=1,B}else return null;for(K=0;K<3;K++)B[K]=n(B[K],0,255);return B[3]=n(B[3],0,1),B};d.get.hsl=function($){if(!$)return null;var J=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,F=$.match(J);if(F){var W=parseFloat(F[4]),Z=(parseFloat(F[1])%360+360)%360,w=n(parseFloat(F[2]),0,100),B=n(parseFloat(F[3]),0,100),Y=n(isNaN(W)?1:W,0,1);return[Z,w,B,Y]}return null};d.get.hwb=function($){if(!$)return null;var J=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,F=$.match(J);if(F){var W=parseFloat(F[4]),Z=(parseFloat(F[1])%360+360)%360,w=n(parseFloat(F[2]),0,100),B=n(parseFloat(F[3]),0,100),Y=n(isNaN(W)?1:W,0,1);return[Z,w,B,Y]}return null};d.to.hex=function(){var $=D2(arguments);return"#"+b2($[0])+b2($[1])+b2($[2])+($[3]<1?b2(Math.round($[3]*255)):"")};d.to.rgb=function(){var $=D2(arguments);return $.length<4||$[3]===1?"rgb("+Math.round($[0])+", "+Math.round($[1])+", "+Math.round($[2])+")":"rgba("+Math.round($[0])+", "+Math.round($[1])+", "+Math.round($[2])+", "+$[3]+")"};d.to.rgb.percent=function(){var $=D2(arguments),J=Math.round($[0]/255*100),F=Math.round($[1]/255*100),W=Math.round($[2]/255*100);return $.length<4||$[3]===1?"rgb("+J+"%, "+F+"%, "+W+"%)":"rgba("+J+"%, "+F+"%, "+W+"%, "+$[3]+")"};d.to.hsl=function(){var $=D2(arguments);return $.length<4||$[3]===1?"hsl("+$[0]+", "+$[1]+"%, "+$[2]+"%)":"hsla("+$[0]+", "+$[1]+"%, "+$[2]+"%, "+$[3]+")"};d.to.hwb=function(){var $=D2(arguments),J="";if($.length>=4&&$[3]!==1)J=", "+$[3];return"hwb("+$[0]+", "+$[1]+"%, "+$[2]+"%"+J+")"};d.to.keyword=function($){return a0[$.slice(0,3)]};function n($,J,F){return Math.min(Math.max(J,$),F)}function b2($){var J=Math.round($).toString(16).toUpperCase();return J.length<2?"0"+J:J}});var Z1=V((l9,n0)=>{var _2=W1(),p0={};for(let $ of Object.keys(_2))p0[_2[$]]=$;var y={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};n0.exports=y;for(let $ of Object.keys(y)){if(!("channels"in y[$]))throw new Error("missing channels property: "+$);if(!("labels"in y[$]))throw new Error("missing channel labels property: "+$);if(y[$].labels.length!==y[$].channels)throw new Error("channel and label counts mismatch: "+$);let{channels:J,labels:F}=y[$];delete y[$].channels,delete y[$].labels,Object.defineProperty(y[$],"channels",{value:J}),Object.defineProperty(y[$],"labels",{value:F})}y.rgb.hsl=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.min(J,F,W),w=Math.max(J,F,W),B=w-Z,Y,K;if(w===Z)Y=0;else if(J===w)Y=(F-W)/B;else if(F===w)Y=2+(W-J)/B;else if(W===w)Y=4+(J-F)/B;if(Y=Math.min(Y*60,360),Y<0)Y+=360;let I=(Z+w)/2;if(w===Z)K=0;else if(I<=0.5)K=B/(w+Z);else K=B/(2-w-Z);return[Y,K*100,I*100]};y.rgb.hsv=function($){let J,F,W,Z,w,B=$[0]/255,Y=$[1]/255,K=$[2]/255,I=Math.max(B,Y,K),N=I-Math.min(B,Y,K),D=function(q){return(I-q)/6/N+0.5};if(N===0)Z=0,w=0;else{if(w=N/I,J=D(B),F=D(Y),W=D(K),B===I)Z=W-F;else if(Y===I)Z=0.3333333333333333+J-W;else if(K===I)Z=0.6666666666666666+F-J;if(Z<0)Z+=1;else if(Z>1)Z-=1}return[Z*360,w*100,I*100]};y.rgb.hwb=function($){let J=$[0],F=$[1],W=$[2],Z=y.rgb.hsl($)[0],w=0.00392156862745098*Math.min(J,Math.min(F,W));return W=1-0.00392156862745098*Math.max(J,Math.max(F,W)),[Z,w*100,W*100]};y.rgb.cmyk=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.min(1-J,1-F,1-W),w=(1-J-Z)/(1-Z)||0,B=(1-F-Z)/(1-Z)||0,Y=(1-W-Z)/(1-Z)||0;return[w*100,B*100,Y*100,Z*100]};function t3($,J){return($[0]-J[0])**2+($[1]-J[1])**2+($[2]-J[2])**2}y.rgb.keyword=function($){let J=p0[$];if(J)return J;let F=1/0,W;for(let Z of Object.keys(_2)){let w=_2[Z],B=t3($,w);if(B<F)F=B,W=Z}return W};y.keyword.rgb=function($){return _2[$]};y.rgb.xyz=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255;J=J>0.04045?((J+0.055)/1.055)**2.4:J/12.92,F=F>0.04045?((F+0.055)/1.055)**2.4:F/12.92,W=W>0.04045?((W+0.055)/1.055)**2.4:W/12.92;let Z=J*0.4124+F*0.3576+W*0.1805,w=J*0.2126+F*0.7152+W*0.0722,B=J*0.0193+F*0.1192+W*0.9505;return[Z*100,w*100,B*100]};y.rgb.lab=function($){let J=y.rgb.xyz($),F=J[0],W=J[1],Z=J[2];F/=95.047,W/=100,Z/=108.883,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let w=116*W-16,B=500*(F-W),Y=200*(W-Z);return[w,B,Y]};y.hsl.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100,Z,w,B;if(F===0)return B=W*255,[B,B,B];if(W<0.5)Z=W*(1+F);else Z=W+F-W*F;let Y=2*W-Z,K=[0,0,0];for(let I=0;I<3;I++){if(w=J+0.3333333333333333*-(I-1),w<0)w++;if(w>1)w--;if(6*w<1)B=Y+(Z-Y)*6*w;else if(2*w<1)B=Z;else if(3*w<2)B=Y+(Z-Y)*(0.6666666666666666-w)*6;else B=Y;K[I]=B*255}return K};y.hsl.hsv=function($){let J=$[0],F=$[1]/100,W=$[2]/100,Z=F,w=Math.max(W,0.01);W*=2,F*=W<=1?W:2-W,Z*=w<=1?w:2-w;let B=(W+F)/2,Y=W===0?2*Z/(w+Z):2*F/(W+F);return[J,Y*100,B*100]};y.hsv.rgb=function($){let J=$[0]/60,F=$[1]/100,W=$[2]/100,Z=Math.floor(J)%6,w=J-Math.floor(J),B=255*W*(1-F),Y=255*W*(1-F*w),K=255*W*(1-F*(1-w));switch(W*=255,Z){case 0:return[W,K,B];case 1:return[Y,W,B];case 2:return[B,W,K];case 3:return[B,Y,W];case 4:return[K,B,W];case 5:return[W,B,Y]}};y.hsv.hsl=function($){let J=$[0],F=$[1]/100,W=$[2]/100,Z=Math.max(W,0.01),w,B;B=(2-F)*W;let Y=(2-F)*Z;return w=F*Z,w/=Y<=1?Y:2-Y,w=w||0,B/=2,[J,w*100,B*100]};y.hwb.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100,Z=F+W,w;if(Z>1)F/=Z,W/=Z;let B=Math.floor(6*J),Y=1-W;if(w=6*J-B,(B&1)!==0)w=1-w;let K=F+w*(Y-F),I,N,D;switch(B){default:case 6:case 0:I=Y,N=K,D=F;break;case 1:I=K,N=Y,D=F;break;case 2:I=F,N=Y,D=K;break;case 3:I=F,N=K,D=Y;break;case 4:I=K,N=F,D=Y;break;case 5:I=Y,N=F,D=K;break}return[I*255,N*255,D*255]};y.cmyk.rgb=function($){let J=$[0]/100,F=$[1]/100,W=$[2]/100,Z=$[3]/100,w=1-Math.min(1,J*(1-Z)+Z),B=1-Math.min(1,F*(1-Z)+Z),Y=1-Math.min(1,W*(1-Z)+Z);return[w*255,B*255,Y*255]};y.xyz.rgb=function($){let J=$[0]/100,F=$[1]/100,W=$[2]/100,Z,w,B;return Z=J*3.2406+F*-1.5372+W*-0.4986,w=J*-0.9689+F*1.8758+W*0.0415,B=J*0.0557+F*-0.204+W*1.057,Z=Z>0.0031308?1.055*Z**0.4166666666666667-0.055:Z*12.92,w=w>0.0031308?1.055*w**0.4166666666666667-0.055:w*12.92,B=B>0.0031308?1.055*B**0.4166666666666667-0.055:B*12.92,Z=Math.min(Math.max(0,Z),1),w=Math.min(Math.max(0,w),1),B=Math.min(Math.max(0,B),1),[Z*255,w*255,B*255]};y.xyz.lab=function($){let J=$[0],F=$[1],W=$[2];J/=95.047,F/=100,W/=108.883,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862;let Z=116*F-16,w=500*(J-F),B=200*(F-W);return[Z,w,B]};y.lab.xyz=function($){let J=$[0],F=$[1],W=$[2],Z,w,B;w=(J+16)/116,Z=F/500+w,B=w-W/200;let Y=w**3,K=Z**3,I=B**3;return w=Y>0.008856?Y:(w-0.13793103448275862)/7.787,Z=K>0.008856?K:(Z-0.13793103448275862)/7.787,B=I>0.008856?I:(B-0.13793103448275862)/7.787,Z*=95.047,w*=100,B*=108.883,[Z,w,B]};y.lab.lch=function($){let J=$[0],F=$[1],W=$[2],Z;if(Z=Math.atan2(W,F)*360/2/Math.PI,Z<0)Z+=360;let B=Math.sqrt(F*F+W*W);return[J,B,Z]};y.lch.lab=function($){let J=$[0],F=$[1],Z=$[2]/360*2*Math.PI,w=F*Math.cos(Z),B=F*Math.sin(Z);return[J,w,B]};y.rgb.ansi16=function($,J=null){let[F,W,Z]=$,w=J===null?y.rgb.hsv($)[2]:J;if(w=Math.round(w/50),w===0)return 30;let B=30+(Math.round(Z/255)<<2|Math.round(W/255)<<1|Math.round(F/255));if(w===2)B+=60;return B};y.hsv.ansi16=function($){return y.rgb.ansi16(y.hsv.rgb($),$[2])};y.rgb.ansi256=function($){let J=$[0],F=$[1],W=$[2];if(J===F&&F===W){if(J<8)return 16;if(J>248)return 231;return Math.round((J-8)/247*24)+232}return 16+36*Math.round(J/255*5)+6*Math.round(F/255*5)+Math.round(W/255*5)};y.ansi16.rgb=function($){let J=$%10;if(J===0||J===7){if($>50)J+=3.5;return J=J/10.5*255,[J,J,J]}let F=(~~($>50)+1)*0.5,W=(J&1)*F*255,Z=(J>>1&1)*F*255,w=(J>>2&1)*F*255;return[W,Z,w]};y.ansi256.rgb=function($){if($>=232){let w=($-232)*10+8;return[w,w,w]}$-=16;let J,F=Math.floor($/36)/5*255,W=Math.floor((J=$%36)/6)/5*255,Z=J%6/5*255;return[F,W,Z]};y.rgb.hex=function($){let F=(((Math.round($[0])&255)<<16)+((Math.round($[1])&255)<<8)+(Math.round($[2])&255)).toString(16).toUpperCase();return"000000".substring(F.length)+F};y.hex.rgb=function($){let J=$.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!J)return[0,0,0];let F=J[0];if(J[0].length===3)F=F.split("").map((Y)=>{return Y+Y}).join("");let W=parseInt(F,16),Z=W>>16&255,w=W>>8&255,B=W&255;return[Z,w,B]};y.rgb.hcg=function($){let J=$[0]/255,F=$[1]/255,W=$[2]/255,Z=Math.max(Math.max(J,F),W),w=Math.min(Math.min(J,F),W),B=Z-w,Y,K;if(B<1)Y=w/(1-B);else Y=0;if(B<=0)K=0;else if(Z===J)K=(F-W)/B%6;else if(Z===F)K=2+(W-J)/B;else K=4+(J-F)/B;return K/=6,K%=1,[K*360,B*100,Y*100]};y.hsl.hcg=function($){let J=$[1]/100,F=$[2]/100,W=F<0.5?2*J*F:2*J*(1-F),Z=0;if(W<1)Z=(F-0.5*W)/(1-W);return[$[0],W*100,Z*100]};y.hsv.hcg=function($){let J=$[1]/100,F=$[2]/100,W=J*F,Z=0;if(W<1)Z=(F-W)/(1-W);return[$[0],W*100,Z*100]};y.hcg.rgb=function($){let J=$[0]/360,F=$[1]/100,W=$[2]/100;if(F===0)return[W*255,W*255,W*255];let Z=[0,0,0],w=J%1*6,B=w%1,Y=1-B,K=0;switch(Math.floor(w)){case 0:Z[0]=1,Z[1]=B,Z[2]=0;break;case 1:Z[0]=Y,Z[1]=1,Z[2]=0;break;case 2:Z[0]=0,Z[1]=1,Z[2]=B;break;case 3:Z[0]=0,Z[1]=Y,Z[2]=1;break;case 4:Z[0]=B,Z[1]=0,Z[2]=1;break;default:Z[0]=1,Z[1]=0,Z[2]=Y}return K=(1-F)*W,[(F*Z[0]+K)*255,(F*Z[1]+K)*255,(F*Z[2]+K)*255]};y.hcg.hsv=function($){let J=$[1]/100,F=$[2]/100,W=J+F*(1-J),Z=0;if(W>0)Z=J/W;return[$[0],Z*100,W*100]};y.hcg.hsl=function($){let J=$[1]/100,W=$[2]/100*(1-J)+0.5*J,Z=0;if(W>0&&W<0.5)Z=J/(2*W);else if(W>=0.5&&W<1)Z=J/(2*(1-W));return[$[0],Z*100,W*100]};y.hcg.hwb=function($){let J=$[1]/100,F=$[2]/100,W=J+F*(1-J);return[$[0],(W-J)*100,(1-W)*100]};y.hwb.hcg=function($){let J=$[1]/100,W=1-$[2]/100,Z=W-J,w=0;if(Z<1)w=(W-Z)/(1-Z);return[$[0],Z*100,w*100]};y.apple.rgb=function($){return[$[0]/65535*255,$[1]/65535*255,$[2]/65535*255]};y.rgb.apple=function($){return[$[0]/255*65535,$[1]/255*65535,$[2]/255*65535]};y.gray.rgb=function($){return[$[0]/100*255,$[0]/100*255,$[0]/100*255]};y.gray.hsl=function($){return[0,0,$[0]]};y.gray.hsv=y.gray.hsl;y.gray.hwb=function($){return[0,100,$[0]]};y.gray.cmyk=function($){return[0,0,0,$[0]]};y.gray.lab=function($){return[$[0],0,0]};y.gray.hex=function($){let J=Math.round($[0]/100*255)&255,W=((J<<16)+(J<<8)+J).toString(16).toUpperCase();return"000000".substring(W.length)+W};y.rgb.gray=function($){return[($[0]+$[1]+$[2])/3/255*100]}});var t0=V((u9,s0)=>{var O2=Z1();function i3(){let $={},J=Object.keys(O2);for(let F=J.length,W=0;W<F;W++)$[J[W]]={distance:-1,parent:null};return $}function o3($){let J=i3(),F=[$];J[$].distance=0;while(F.length){let W=F.pop(),Z=Object.keys(O2[W]);for(let w=Z.length,B=0;B<w;B++){let Y=Z[B],K=J[Y];if(K.distance===-1)K.distance=J[W].distance+1,K.parent=W,F.unshift(Y)}}return J}function $8($,J){return function(F){return J($(F))}}function J8($,J){let F=[J[$].parent,$],W=O2[J[$].parent][$],Z=J[$].parent;while(J[Z].parent)F.unshift(J[Z].parent),W=$8(O2[J[Z].parent][Z],W),Z=J[Z].parent;return W.conversion=F,W}s0.exports=function($){let J=o3($),F={},W=Object.keys(J);for(let Z=W.length,w=0;w<Z;w++){let B=W[w];if(J[B].parent===null)continue;F[B]=J8(B,J)}return F}});var o0=V((c9,i0)=>{var w1=Z1(),F8=t0(),Y2={},W8=Object.keys(w1);function Z8($){let J=function(...F){let W=F[0];if(W===void 0||W===null)return W;if(W.length>1)F=W;return $(F)};if("conversion"in $)J.conversion=$.conversion;return J}function w8($){let J=function(...F){let W=F[0];if(W===void 0||W===null)return W;if(W.length>1)F=W;let Z=$(F);if(typeof Z==="object")for(let w=Z.length,B=0;B<w;B++)Z[B]=Math.round(Z[B]);return Z};if("conversion"in $)J.conversion=$.conversion;return J}W8.forEach(($)=>{Y2[$]={},Object.defineProperty(Y2[$],"channels",{value:w1[$].channels}),Object.defineProperty(Y2[$],"labels",{value:w1[$].labels});let J=F8($);Object.keys(J).forEach((W)=>{let Z=J[W];Y2[$][W]=w8(Z),Y2[$][W].raw=Z8(Z)})});i0.exports=Y2});var h2=V((a9,J5)=>{var Q2=e0(),b=o0(),$5=["keyword","gray","hex"],U1={};for(let $ of Object.keys(b))U1[[...b[$].labels].sort().join("")]=$;var v2={};function R($,J){if(!(this instanceof R))return new R($,J);if(J&&J in $5)J=null;if(J&&!(J in b))throw new Error("Unknown model: "+J);let F,W;if($==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if($ instanceof R)this.model=$.model,this.color=[...$.color],this.valpha=$.valpha;else if(typeof $==="string"){let Z=Q2.get($);if(Z===null)throw new Error("Unable to parse color from string: "+$);this.model=Z.model,W=b[this.model].channels,this.color=Z.value.slice(0,W),this.valpha=typeof Z.value[W]==="number"?Z.value[W]:1}else if($.length>0){this.model=J||"rgb",W=b[this.model].channels;let Z=Array.prototype.slice.call($,0,W);this.color=B1(Z,W),this.valpha=typeof $[W]==="number"?$[W]:1}else if(typeof $==="number")this.model="rgb",this.color=[$>>16&255,$>>8&255,$&255],this.valpha=1;else{this.valpha=1;let Z=Object.keys($);if("alpha"in $)Z.splice(Z.indexOf("alpha"),1),this.valpha=typeof $.alpha==="number"?$.alpha:0;let w=Z.sort().join("");if(!(w in U1))throw new Error("Unable to parse color from object: "+JSON.stringify($));this.model=U1[w];let{labels:B}=b[this.model],Y=[];for(F=0;F<B.length;F++)Y.push($[B[F]]);this.color=B1(Y)}if(v2[this.model]){W=b[this.model].channels;for(F=0;F<W;F++){let Z=v2[this.model][F];if(Z)this.color[F]=Z(this.color[F])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}R.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string($){let J=this.model in Q2.to?this:this.rgb();J=J.round(typeof $==="number"?$:1);let F=J.valpha===1?J.color:[...J.color,this.valpha];return Q2.to[J.model](F)},percentString($){let J=this.rgb().round(typeof $==="number"?$:1),F=J.valpha===1?J.color:[...J.color,this.valpha];return Q2.to.rgb.percent(F)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let $={},{channels:J}=b[this.model],{labels:F}=b[this.model];for(let W=0;W<J;W++)$[F[W]]=this.color[W];if(this.valpha!==1)$.alpha=this.valpha;return $},unitArray(){let $=this.rgb().color;if($[0]/=255,$[1]/=255,$[2]/=255,this.valpha!==1)$.push(this.valpha);return $},unitObject(){let $=this.rgb().object();if($.r/=255,$.g/=255,$.b/=255,this.valpha!==1)$.alpha=this.valpha;return $},round($){return $=Math.max($||0,0),new R([...this.color.map(B8($)),this.valpha],this.model)},alpha($){if($!==void 0)return new R([...this.color,Math.max(0,Math.min(1,$))],this.model);return this.valpha},red:j("rgb",0,E(255)),green:j("rgb",1,E(255)),blue:j("rgb",2,E(255)),hue:j(["hsl","hsv","hsl","hwb","hcg"],0,($)=>($%360+360)%360),saturationl:j("hsl",1,E(100)),lightness:j("hsl",2,E(100)),saturationv:j("hsv",1,E(100)),value:j("hsv",2,E(100)),chroma:j("hcg",1,E(100)),gray:j("hcg",2,E(100)),white:j("hwb",1,E(100)),wblack:j("hwb",2,E(100)),cyan:j("cmyk",0,E(100)),magenta:j("cmyk",1,E(100)),yellow:j("cmyk",2,E(100)),black:j("cmyk",3,E(100)),x:j("xyz",0,E(95.047)),y:j("xyz",1,E(100)),z:j("xyz",2,E(108.833)),l:j("lab",0,E(100)),a:j("lab",1),b:j("lab",2),keyword($){if($!==void 0)return new R($);return b[this.model].keyword(this.color)},hex($){if($!==void 0)return new R($);return Q2.to.hex(this.rgb().round().color)},hexa($){if($!==void 0)return new R($);let J=this.rgb().round().color,F=Math.round(this.valpha*255).toString(16).toUpperCase();if(F.length===1)F="0"+F;return Q2.to.hex(J)+F},rgbNumber(){let $=this.rgb().color;return($[0]&255)<<16|($[1]&255)<<8|$[2]&255},luminosity(){let $=this.rgb().color,J=[];for(let[F,W]of $.entries()){let Z=W/255;J[F]=Z<=0.04045?Z/12.92:((Z+0.055)/1.055)**2.4}return 0.2126*J[0]+0.7152*J[1]+0.0722*J[2]},contrast($){let J=this.luminosity(),F=$.luminosity();if(J>F)return(J+0.05)/(F+0.05);return(F+0.05)/(J+0.05)},level($){let J=this.contrast($);if(J>=7)return"AAA";return J>=4.5?"AA":""},isDark(){let $=this.rgb().color;return($[0]*2126+$[1]*7152+$[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let $=this.rgb();for(let J=0;J<3;J++)$.color[J]=255-$.color[J];return $},lighten($){let J=this.hsl();return J.color[2]+=J.color[2]*$,J},darken($){let J=this.hsl();return J.color[2]-=J.color[2]*$,J},saturate($){let J=this.hsl();return J.color[1]+=J.color[1]*$,J},desaturate($){let J=this.hsl();return J.color[1]-=J.color[1]*$,J},whiten($){let J=this.hwb();return J.color[1]+=J.color[1]*$,J},blacken($){let J=this.hwb();return J.color[2]+=J.color[2]*$,J},grayscale(){let $=this.rgb().color,J=$[0]*0.3+$[1]*0.59+$[2]*0.11;return R.rgb(J,J,J)},fade($){return this.alpha(this.valpha-this.valpha*$)},opaquer($){return this.alpha(this.valpha+this.valpha*$)},rotate($){let J=this.hsl(),F=J.color[0];return F=(F+$)%360,F=F<0?360+F:F,J.color[0]=F,J},mix($,J){if(!$||!$.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof $);let F=$.rgb(),W=this.rgb(),Z=J===void 0?0.5:J,w=2*Z-1,B=F.alpha()-W.alpha(),Y=((w*B===-1?w:(w+B)/(1+w*B))+1)/2,K=1-Y;return R.rgb(Y*F.red()+K*W.red(),Y*F.green()+K*W.green(),Y*F.blue()+K*W.blue(),F.alpha()*Z+W.alpha()*(1-Z))}};for(let $ of Object.keys(b)){if($5.includes($))continue;let{channels:J}=b[$];R.prototype[$]=function(...F){if(this.model===$)return new R(this);if(F.length>0)return new R(F,$);return new R([...Y8(b[this.model][$].raw(this.color)),this.valpha],$)},R[$]=function(...F){let W=F[0];if(typeof W==="number")W=B1(F,J);return new R(W,$)}}function U8($,J){return Number($.toFixed(J))}function B8($){return function(J){return U8(J,$)}}function j($,J,F){$=Array.isArray($)?$:[$];for(let W of $)(v2[W]||(v2[W]=[]))[J]=F;return $=$[0],function(W){let Z;if(W!==void 0){if(F)W=F(W);return Z=this[$](),Z.color[J]=W,Z}if(Z=this[$]().color[J],F)Z=F(Z);return Z}}function E($){return function(J){return Math.max(0,Math.min($,J))}}function Y8($){return Array.isArray($)?$:[$]}function B1($,J){for(let F=0;F<J;F++)if(typeof $[F]!=="number")$[F]=0;return $}J5.exports=R});var Z5=V((r9,W5)=>{var Q8=h2(),G=l(),s=X2(),K8={left:"low",center:"centre",centre:"centre",right:"high"};function F5($){let{raw:J,density:F,limitInputPixels:W,ignoreIcc:Z,unlimited:w,sequentialRead:B,failOn:Y,failOnError:K,animated:I,page:N,pages:D,subifd:q}=$;return[J,F,W,Z,w,B,Y,K,I,N,D,q].some(G.defined)?{raw:J,density:F,limitInputPixels:W,ignoreIcc:Z,unlimited:w,sequentialRead:B,failOn:Y,failOnError:K,animated:I,page:N,pages:D,subifd:q}:void 0}function G8($,J,F){let W={failOn:"warning",limitInputPixels:Math.pow(16383,2),ignoreIcc:!1,unlimited:!1,sequentialRead:!0};if(G.string($))W.file=$;else if(G.buffer($)){if($.length===0)throw Error("Input Buffer is empty");W.buffer=$}else if(G.arrayBuffer($)){if($.byteLength===0)throw Error("Input bit Array is empty");W.buffer=Buffer.from($,0,$.byteLength)}else if(G.typedArray($)){if($.length===0)throw Error("Input Bit Array is empty");W.buffer=Buffer.from($.buffer,$.byteOffset,$.byteLength)}else if(G.plainObject($)&&!G.defined(J)){if(J=$,F5(J))W.buffer=[]}else if(!G.defined($)&&!G.defined(J)&&G.object(F)&&F.allowStream)W.buffer=[];else throw new Error(`Unsupported input '${$}' of type ${typeof $}${G.defined(J)?` when also providing options of type ${typeof J}`:""}`);if(G.object(J)){if(G.defined(J.failOnError))if(G.bool(J.failOnError))W.failOn=J.failOnError?"warning":"none";else throw G.invalidParameterError("failOnError","boolean",J.failOnError);if(G.defined(J.failOn))if(G.string(J.failOn)&&G.inArray(J.failOn,["none","truncated","error","warning"]))W.failOn=J.failOn;else throw G.invalidParameterError("failOn","one of: none, truncated, error, warning",J.failOn);if(G.defined(J.density))if(G.inRange(J.density,1,1e5))W.density=J.density;else throw G.invalidParameterError("density","number between 1 and 100000",J.density);if(G.defined(J.ignoreIcc))if(G.bool(J.ignoreIcc))W.ignoreIcc=J.ignoreIcc;else throw G.invalidParameterError("ignoreIcc","boolean",J.ignoreIcc);if(G.defined(J.limitInputPixels))if(G.bool(J.limitInputPixels))W.limitInputPixels=J.limitInputPixels?Math.pow(16383,2):0;else if(G.integer(J.limitInputPixels)&&G.inRange(J.limitInputPixels,0,Number.MAX_SAFE_INTEGER))W.limitInputPixels=J.limitInputPixels;else throw G.invalidParameterError("limitInputPixels","positive integer",J.limitInputPixels);if(G.defined(J.unlimited))if(G.bool(J.unlimited))W.unlimited=J.unlimited;else throw G.invalidParameterError("unlimited","boolean",J.unlimited);if(G.defined(J.sequentialRead))if(G.bool(J.sequentialRead))W.sequentialRead=J.sequentialRead;else throw G.invalidParameterError("sequentialRead","boolean",J.sequentialRead);if(G.defined(J.raw))if(G.object(J.raw)&&G.integer(J.raw.width)&&J.raw.width>0&&G.integer(J.raw.height)&&J.raw.height>0&&G.integer(J.raw.channels)&&G.inRange(J.raw.channels,1,4))switch(W.rawWidth=J.raw.width,W.rawHeight=J.raw.height,W.rawChannels=J.raw.channels,W.rawPremultiplied=!!J.raw.premultiplied,$.constructor){case Uint8Array:case Uint8ClampedArray:W.rawDepth="uchar";break;case Int8Array:W.rawDepth="char";break;case Uint16Array:W.rawDepth="ushort";break;case Int16Array:W.rawDepth="short";break;case Uint32Array:W.rawDepth="uint";break;case Int32Array:W.rawDepth="int";break;case Float32Array:W.rawDepth="float";break;case Float64Array:W.rawDepth="double";break;default:W.rawDepth="uchar";break}else throw new Error("Expected width, height and channels for raw pixel input");if(G.defined(J.animated))if(G.bool(J.animated))W.pages=J.animated?-1:1;else throw G.invalidParameterError("animated","boolean",J.animated);if(G.defined(J.pages))if(G.integer(J.pages)&&G.inRange(J.pages,-1,1e5))W.pages=J.pages;else throw G.invalidParameterError("pages","integer between -1 and 100000",J.pages);if(G.defined(J.page))if(G.integer(J.page)&&G.inRange(J.page,0,1e5))W.page=J.page;else throw G.invalidParameterError("page","integer between 0 and 100000",J.page);if(G.defined(J.level))if(G.integer(J.level)&&G.inRange(J.level,0,256))W.level=J.level;else throw G.invalidParameterError("level","integer between 0 and 256",J.level);if(G.defined(J.subifd))if(G.integer(J.subifd)&&G.inRange(J.subifd,-1,1e5))W.subifd=J.subifd;else throw G.invalidParameterError("subifd","integer between -1 and 100000",J.subifd);if(G.defined(J.create))if(G.object(J.create)&&G.integer(J.create.width)&&J.create.width>0&&G.integer(J.create.height)&&J.create.height>0&&G.integer(J.create.channels)){if(W.createWidth=J.create.width,W.createHeight=J.create.height,W.createChannels=J.create.channels,G.defined(J.create.noise)){if(!G.object(J.create.noise))throw new Error("Expected noise to be an object");if(!G.inArray(J.create.noise.type,["gaussian"]))throw new Error("Only gaussian noise is supported at the moment");if(!G.inRange(J.create.channels,1,4))throw G.invalidParameterError("create.channels","number between 1 and 4",J.create.channels);if(W.createNoiseType=J.create.noise.type,G.number(J.create.noise.mean)&&G.inRange(J.create.noise.mean,0,1e4))W.createNoiseMean=J.create.noise.mean;else throw G.invalidParameterError("create.noise.mean","number between 0 and 10000",J.create.noise.mean);if(G.number(J.create.noise.sigma)&&G.inRange(J.create.noise.sigma,0,1e4))W.createNoiseSigma=J.create.noise.sigma;else throw G.invalidParameterError("create.noise.sigma","number between 0 and 10000",J.create.noise.sigma)}else if(G.defined(J.create.background)){if(!G.inRange(J.create.channels,3,4))throw G.invalidParameterError("create.channels","number between 3 and 4",J.create.channels);let Z=Q8(J.create.background);W.createBackground=[Z.red(),Z.green(),Z.blue(),Math.round(Z.alpha()*255)]}else throw new Error("Expected valid noise or background to create a new input image");delete W.buffer}else throw new Error("Expected valid width, height and channels to create a new input image");if(G.defined(J.text))if(G.object(J.text)&&G.string(J.text.text)){if(W.textValue=J.text.text,G.defined(J.text.height)&&G.defined(J.text.dpi))throw new Error("Expected only one of dpi or height");if(G.defined(J.text.font))if(G.string(J.text.font))W.textFont=J.text.font;else throw G.invalidParameterError("text.font","string",J.text.font);if(G.defined(J.text.fontfile))if(G.string(J.text.fontfile))W.textFontfile=J.text.fontfile;else throw G.invalidParameterError("text.fontfile","string",J.text.fontfile);if(G.defined(J.text.width))if(G.integer(J.text.width)&&J.text.width>0)W.textWidth=J.text.width;else throw G.invalidParameterError("text.width","positive integer",J.text.width);if(G.defined(J.text.height))if(G.integer(J.text.height)&&J.text.height>0)W.textHeight=J.text.height;else throw G.invalidParameterError("text.height","positive integer",J.text.height);if(G.defined(J.text.align))if(G.string(J.text.align)&&G.string(this.constructor.align[J.text.align]))W.textAlign=this.constructor.align[J.text.align];else throw G.invalidParameterError("text.align","valid alignment",J.text.align);if(G.defined(J.text.justify))if(G.bool(J.text.justify))W.textJustify=J.text.justify;else throw G.invalidParameterError("text.justify","boolean",J.text.justify);if(G.defined(J.text.dpi))if(G.integer(J.text.dpi)&&G.inRange(J.text.dpi,1,1e6))W.textDpi=J.text.dpi;else throw G.invalidParameterError("text.dpi","integer between 1 and 1000000",J.text.dpi);if(G.defined(J.text.rgba))if(G.bool(J.text.rgba))W.textRgba=J.text.rgba;else throw G.invalidParameterError("text.rgba","bool",J.text.rgba);if(G.defined(J.text.spacing))if(G.integer(J.text.spacing)&&G.inRange(J.text.spacing,-1e6,1e6))W.textSpacing=J.text.spacing;else throw G.invalidParameterError("text.spacing","integer between -1000000 and 1000000",J.text.spacing);if(G.defined(J.text.wrap))if(G.string(J.text.wrap)&&G.inArray(J.text.wrap,["word","char","word-char","none"]))W.textWrap=J.text.wrap;else throw G.invalidParameterError("text.wrap","one of: word, char, word-char, none",J.text.wrap);delete W.buffer}else throw new Error("Expected a valid string to create an image with text.")}else if(G.defined(J))throw new Error("Invalid input options "+J);return W}function I8($,J,F){if(Array.isArray(this.options.input.buffer))if(G.buffer($)){if(this.options.input.buffer.length===0)this.on("finish",()=>{this.streamInFinished=!0});this.options.input.buffer.push($),F()}else F(new Error("Non-Buffer data on Writable Stream"));else F(new Error("Unexpected data on Writable Stream"))}function H8(){if(this._isStreamInput())this.options.input.buffer=Buffer.concat(this.options.input.buffer)}function L8(){return Array.isArray(this.options.input.buffer)}function y8($){let J=Error();if(G.fn($)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),s.metadata(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)})});else s.metadata(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)});return this}else if(this._isStreamInput())return new Promise((F,W)=>{let Z=()=>{this._flattenBufferIn(),s.metadata(this.options,(w,B)=>{if(w)W(G.nativeError(w,J));else F(B)})};if(this.writableFinished)Z();else this.once("finish",Z)});else return new Promise((F,W)=>{s.metadata(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})}function P8($){let J=Error();if(G.fn($)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),s.stats(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)})});else s.stats(this.options,(F,W)=>{if(F)$(G.nativeError(F,J));else $(null,W)});return this}else if(this._isStreamInput())return new Promise((F,W)=>{this.on("finish",function(){this._flattenBufferIn(),s.stats(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})});else return new Promise((F,W)=>{s.stats(this.options,(Z,w)=>{if(Z)W(G.nativeError(Z,J));else F(w)})})}W5.exports=function($){Object.assign($.prototype,{_inputOptionsFromObject:F5,_createInputDescriptor:G8,_write:I8,_flattenBufferIn:H8,_isStreamInput:L8,metadata:y8,stats:P8}),$.align=K8}});var K5=V((e9,Q5)=>{var P=l(),U5={center:0,centre:0,north:1,east:2,south:3,west:4,northeast:5,southeast:6,southwest:7,northwest:8},B5={top:1,right:2,bottom:3,left:4,"right top":5,"right bottom":6,"left bottom":7,"left top":8},w5={background:"background",copy:"copy",repeat:"repeat",mirror:"mirror"},Y5={entropy:16,attention:17},Y1={nearest:"nearest",linear:"linear",cubic:"cubic",mitchell:"mitchell",lanczos2:"lanczos2",lanczos3:"lanczos3"},N8={contain:"contain",cover:"cover",fill:"fill",inside:"inside",outside:"outside"},X8={contain:"embed",cover:"crop",fill:"ignore_aspect",inside:"max",outside:"min"};function Q1($){return $.angle%360!==0||$.useExifOrientation===!0||$.rotationAngle!==0}function g2($){return $.width!==-1||$.height!==-1}function V8($,J,F){if(g2(this.options))this.options.debuglog("ignoring previous resize options");if(this.options.widthPost!==-1)this.options.debuglog("operation order will be: extract, resize, extract");if(P.defined($))if(P.object($)&&!P.defined(F))F=$;else if(P.integer($)&&$>0)this.options.width=$;else throw P.invalidParameterError("width","positive integer",$);else this.options.width=-1;if(P.defined(J))if(P.integer(J)&&J>0)this.options.height=J;else throw P.invalidParameterError("height","positive integer",J);else this.options.height=-1;if(P.object(F)){if(P.defined(F.width))if(P.integer(F.width)&&F.width>0)this.options.width=F.width;else throw P.invalidParameterError("width","positive integer",F.width);if(P.defined(F.height))if(P.integer(F.height)&&F.height>0)this.options.height=F.height;else throw P.invalidParameterError("height","positive integer",F.height);if(P.defined(F.fit)){let W=X8[F.fit];if(P.string(W))this.options.canvas=W;else throw P.invalidParameterError("fit","valid fit",F.fit)}if(P.defined(F.position)){let W=P.integer(F.position)?F.position:Y5[F.position]||B5[F.position]||U5[F.position];if(P.integer(W)&&(P.inRange(W,0,8)||P.inRange(W,16,17)))this.options.position=W;else throw P.invalidParameterError("position","valid position/gravity/strategy",F.position)}if(this._setBackgroundColourOption("resizeBackground",F.background),P.defined(F.kernel))if(P.string(Y1[F.kernel]))this.options.kernel=Y1[F.kernel];else throw P.invalidParameterError("kernel","valid kernel name",F.kernel);if(P.defined(F.withoutEnlargement))this._setBooleanOption("withoutEnlargement",F.withoutEnlargement);if(P.defined(F.withoutReduction))this._setBooleanOption("withoutReduction",F.withoutReduction);if(P.defined(F.fastShrinkOnLoad))this._setBooleanOption("fastShrinkOnLoad",F.fastShrinkOnLoad)}if(Q1(this.options)&&g2(this.options))this.options.rotateBeforePreExtract=!0;return this}function D8($){if(P.integer($)&&$>0)this.options.extendTop=$,this.options.extendBottom=$,this.options.extendLeft=$,this.options.extendRight=$;else if(P.object($)){if(P.defined($.top))if(P.integer($.top)&&$.top>=0)this.options.extendTop=$.top;else throw P.invalidParameterError("top","positive integer",$.top);if(P.defined($.bottom))if(P.integer($.bottom)&&$.bottom>=0)this.options.extendBottom=$.bottom;else throw P.invalidParameterError("bottom","positive integer",$.bottom);if(P.defined($.left))if(P.integer($.left)&&$.left>=0)this.options.extendLeft=$.left;else throw P.invalidParameterError("left","positive integer",$.left);if(P.defined($.right))if(P.integer($.right)&&$.right>=0)this.options.extendRight=$.right;else throw P.invalidParameterError("right","positive integer",$.right);if(this._setBackgroundColourOption("extendBackground",$.background),P.defined($.extendWith))if(P.string(w5[$.extendWith]))this.options.extendWith=w5[$.extendWith];else throw P.invalidParameterError("extendWith","one of: background, copy, repeat, mirror",$.extendWith)}else throw P.invalidParameterError("extend","integer or object",$);return this}function _8($){let J=g2(this.options)||this.options.widthPre!==-1?"Post":"Pre";if(this.options[`width${J}`]!==-1)this.options.debuglog("ignoring previous extract options");if(["left","top","width","height"].forEach(function(F){let W=$[F];if(P.integer(W)&&W>=0)this.options[F+(F==="left"||F==="top"?"Offset":"")+J]=W;else throw P.invalidParameterError(F,"integer",W)},this),Q1(this.options)&&!g2(this.options)){if(this.options.widthPre===-1||this.options.widthPost===-1)this.options.rotateBeforePreExtract=!0}return this}function z8($){if(this.options.trimThreshold=10,P.defined($))if(P.object($)){if(P.defined($.background))this._setBackgroundColourOption("trimBackground",$.background);if(P.defined($.threshold))if(P.number($.threshold)&&$.threshold>=0)this.options.trimThreshold=$.threshold;else throw P.invalidParameterError("threshold","positive number",$.threshold);if(P.defined($.lineArt))this._setBooleanOption("trimLineArt",$.lineArt)}else throw P.invalidParameterError("trim","object",$);if(Q1(this.options))this.options.rotateBeforePreExtract=!0;return this}Q5.exports=function($){Object.assign($.prototype,{resize:V8,extend:D8,extract:_8,trim:z8}),$.gravity=U5,$.strategy=Y5,$.kernel=Y1,$.fit=N8,$.position=B5}});var I5=V((p9,G5)=>{var _=l(),K1={clear:"clear",source:"source",over:"over",in:"in",out:"out",atop:"atop",dest:"dest","dest-over":"dest-over","dest-in":"dest-in","dest-out":"dest-out","dest-atop":"dest-atop",xor:"xor",add:"add",saturate:"saturate",multiply:"multiply",screen:"screen",overlay:"overlay",darken:"darken",lighten:"lighten","colour-dodge":"colour-dodge","color-dodge":"colour-dodge","colour-burn":"colour-burn","color-burn":"colour-burn","hard-light":"hard-light","soft-light":"soft-light",difference:"difference",exclusion:"exclusion"};function j8($){if(!Array.isArray($))throw _.invalidParameterError("images to composite","array",$);return this.options.composite=$.map((J)=>{if(!_.object(J))throw _.invalidParameterError("image to composite","object",J);let F=this._inputOptionsFromObject(J),W={input:this._createInputDescriptor(J.input,F,{allowStream:!1}),blend:"over",tile:!1,left:0,top:0,hasOffset:!1,gravity:0,premultiplied:!1};if(_.defined(J.blend))if(_.string(K1[J.blend]))W.blend=K1[J.blend];else throw _.invalidParameterError("blend","valid blend name",J.blend);if(_.defined(J.tile))if(_.bool(J.tile))W.tile=J.tile;else throw _.invalidParameterError("tile","boolean",J.tile);if(_.defined(J.left))if(_.integer(J.left))W.left=J.left;else throw _.invalidParameterError("left","integer",J.left);if(_.defined(J.top))if(_.integer(J.top))W.top=J.top;else throw _.invalidParameterError("top","integer",J.top);if(_.defined(J.top)!==_.defined(J.left))throw new Error("Expected both left and top to be set");else W.hasOffset=_.integer(J.top)&&_.integer(J.left);if(_.defined(J.gravity))if(_.integer(J.gravity)&&_.inRange(J.gravity,0,8))W.gravity=J.gravity;else if(_.string(J.gravity)&&_.integer(this.constructor.gravity[J.gravity]))W.gravity=this.constructor.gravity[J.gravity];else throw _.invalidParameterError("gravity","valid gravity",J.gravity);if(_.defined(J.premultiplied))if(_.bool(J.premultiplied))W.premultiplied=J.premultiplied;else throw _.invalidParameterError("premultiplied","boolean",J.premultiplied);return W}),this}G5.exports=function($){$.prototype.composite=j8,$.blend=K1}});var y5=V((n9,L5)=>{var T8=h2(),Q=l(),H5={integer:"integer",float:"float",approximate:"approximate"};function E8($,J){if(this.options.useExifOrientation||this.options.angle||this.options.rotationAngle)this.options.debuglog("ignoring previous rotate options");if(!Q.defined($))this.options.useExifOrientation=!0;else if(Q.integer($)&&!($%90))this.options.angle=$;else if(Q.number($)){if(this.options.rotationAngle=$,Q.object(J)&&J.background){let F=T8(J.background);this.options.rotationBackground=[F.red(),F.green(),F.blue(),Math.round(F.alpha()*255)]}}else throw Q.invalidParameterError("angle","numeric",$);return this}function R8($){return this.options.flip=Q.bool($)?$:!0,this}function q8($){return this.options.flop=Q.bool($)?$:!0,this}function A8($,J){let F=[].concat(...$);if(F.length===4&&F.every(Q.number))this.options.affineMatrix=F;else throw Q.invalidParameterError("matrix","1x4 or 2x2 array",$);if(Q.defined(J))if(Q.object(J)){if(this._setBackgroundColourOption("affineBackground",J.background),Q.defined(J.idx))if(Q.number(J.idx))this.options.affineIdx=J.idx;else throw Q.invalidParameterError("options.idx","number",J.idx);if(Q.defined(J.idy))if(Q.number(J.idy))this.options.affineIdy=J.idy;else throw Q.invalidParameterError("options.idy","number",J.idy);if(Q.defined(J.odx))if(Q.number(J.odx))this.options.affineOdx=J.odx;else throw Q.invalidParameterError("options.odx","number",J.odx);if(Q.defined(J.ody))if(Q.number(J.ody))this.options.affineOdy=J.ody;else throw Q.invalidParameterError("options.ody","number",J.ody);if(Q.defined(J.interpolator))if(Q.inArray(J.interpolator,Object.values(this.constructor.interpolators)))this.options.affineInterpolator=J.interpolator;else throw Q.invalidParameterError("options.interpolator","valid interpolator name",J.interpolator)}else throw Q.invalidParameterError("options","object",J);return this}function S8($,J,F){if(!Q.defined($))this.options.sharpenSigma=-1;else if(Q.bool($))this.options.sharpenSigma=$?-1:0;else if(Q.number($)&&Q.inRange($,0.01,1e4)){if(this.options.sharpenSigma=$,Q.defined(J))if(Q.number(J)&&Q.inRange(J,0,1e4))this.options.sharpenM1=J;else throw Q.invalidParameterError("flat","number between 0 and 10000",J);if(Q.defined(F))if(Q.number(F)&&Q.inRange(F,0,1e4))this.options.sharpenM2=F;else throw Q.invalidParameterError("jagged","number between 0 and 10000",F)}else if(Q.plainObject($)){if(Q.number($.sigma)&&Q.inRange($.sigma,0.000001,10))this.options.sharpenSigma=$.sigma;else throw Q.invalidParameterError("options.sigma","number between 0.000001 and 10",$.sigma);if(Q.defined($.m1))if(Q.number($.m1)&&Q.inRange($.m1,0,1e6))this.options.sharpenM1=$.m1;else throw Q.invalidParameterError("options.m1","number between 0 and 1000000",$.m1);if(Q.defined($.m2))if(Q.number($.m2)&&Q.inRange($.m2,0,1e6))this.options.sharpenM2=$.m2;else throw Q.invalidParameterError("options.m2","number between 0 and 1000000",$.m2);if(Q.defined($.x1))if(Q.number($.x1)&&Q.inRange($.x1,0,1e6))this.options.sharpenX1=$.x1;else throw Q.invalidParameterError("options.x1","number between 0 and 1000000",$.x1);if(Q.defined($.y2))if(Q.number($.y2)&&Q.inRange($.y2,0,1e6))this.options.sharpenY2=$.y2;else throw Q.invalidParameterError("options.y2","number between 0 and 1000000",$.y2);if(Q.defined($.y3))if(Q.number($.y3)&&Q.inRange($.y3,0,1e6))this.options.sharpenY3=$.y3;else throw Q.invalidParameterError("options.y3","number between 0 and 1000000",$.y3)}else throw Q.invalidParameterError("sigma","number between 0.01 and 10000",$);return this}function C8($){if(!Q.defined($))this.options.medianSize=3;else if(Q.integer($)&&Q.inRange($,1,1000))this.options.medianSize=$;else throw Q.invalidParameterError("size","integer between 1 and 1000",$);return this}function M8($){let J;if(Q.number($))J=$;else if(Q.plainObject($)){if(!Q.number($.sigma))throw Q.invalidParameterError("options.sigma","number between 0.3 and 1000",J);if(J=$.sigma,"precision"in $)if(Q.string(H5[$.precision]))this.options.precision=H5[$.precision];else throw Q.invalidParameterError("precision","one of: integer, float, approximate",$.precision);if("minAmplitude"in $)if(Q.number($.minAmplitude)&&Q.inRange($.minAmplitude,0.001,1))this.options.minAmpl=$.minAmplitude;else throw Q.invalidParameterError("minAmplitude","number between 0.001 and 1",$.minAmplitude)}if(!Q.defined($))this.options.blurSigma=-1;else if(Q.bool($))this.options.blurSigma=$?-1:0;else if(Q.number(J)&&Q.inRange(J,0.3,1000))this.options.blurSigma=J;else throw Q.invalidParameterError("sigma","number between 0.3 and 1000",J);return this}function f8($){if(this.options.flatten=Q.bool($)?$:!0,Q.object($))this._setBackgroundColourOption("flattenBackground",$.background);return this}function k8(){return this.options.unflatten=!0,this}function x8($,J){if(!Q.defined($))this.options.gamma=2.2;else if(Q.number($)&&Q.inRange($,1,3))this.options.gamma=$;else throw Q.invalidParameterError("gamma","number between 1.0 and 3.0",$);if(!Q.defined(J))this.options.gammaOut=this.options.gamma;else if(Q.number(J)&&Q.inRange(J,1,3))this.options.gammaOut=J;else throw Q.invalidParameterError("gammaOut","number between 1.0 and 3.0",J);return this}function d8($){if(this.options.negate=Q.bool($)?$:!0,Q.plainObject($)&&"alpha"in $)if(!Q.bool($.alpha))throw Q.invalidParameterError("alpha","should be boolean value",$.alpha);else this.options.negateAlpha=$.alpha;return this}function b8($){if(Q.plainObject($)){if(Q.defined($.lower))if(Q.number($.lower)&&Q.inRange($.lower,0,99))this.options.normaliseLower=$.lower;else throw Q.invalidParameterError("lower","number between 0 and 99",$.lower);if(Q.defined($.upper))if(Q.number($.upper)&&Q.inRange($.upper,1,100))this.options.normaliseUpper=$.upper;else throw Q.invalidParameterError("upper","number between 1 and 100",$.upper)}if(this.options.normaliseLower>=this.options.normaliseUpper)throw Q.invalidParameterError("range","lower to be less than upper",`${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);return this.options.normalise=!0,this}function O8($){return this.normalise($)}function v8($){if(Q.plainObject($)){if(Q.integer($.width)&&$.width>0)this.options.claheWidth=$.width;else throw Q.invalidParameterError("width","integer greater than zero",$.width);if(Q.integer($.height)&&$.height>0)this.options.claheHeight=$.height;else throw Q.invalidParameterError("height","integer greater than zero",$.height);if(Q.defined($.maxSlope))if(Q.integer($.maxSlope)&&Q.inRange($.maxSlope,0,100))this.options.claheMaxSlope=$.maxSlope;else throw Q.invalidParameterError("maxSlope","integer between 0 and 100",$.maxSlope)}else throw Q.invalidParameterError("options","plain object",$);return this}function h8($){if(!Q.object($)||!Array.isArray($.kernel)||!Q.integer($.width)||!Q.integer($.height)||!Q.inRange($.width,3,1001)||!Q.inRange($.height,3,1001)||$.height*$.width!==$.kernel.length)throw new Error("Invalid convolution kernel");if(!Q.integer($.scale))$.scale=$.kernel.reduce(function(J,F){return J+F},0);if($.scale<1)$.scale=1;if(!Q.integer($.offset))$.offset=0;return this.options.convKernel=$,this}function g8($,J){if(!Q.defined($))this.options.threshold=128;else if(Q.bool($))this.options.threshold=$?128:0;else if(Q.integer($)&&Q.inRange($,0,255))this.options.threshold=$;else throw Q.invalidParameterError("threshold","integer between 0 and 255",$);if(!Q.object(J)||J.greyscale===!0||J.grayscale===!0)this.options.thresholdGrayscale=!0;else this.options.thresholdGrayscale=!1;return this}function m8($,J,F){if(this.options.boolean=this._createInputDescriptor($,F),Q.string(J)&&Q.inArray(J,["and","or","eor"]))this.options.booleanOp=J;else throw Q.invalidParameterError("operator","one of: and, or, eor",J);return this}function l8($,J){if(!Q.defined($)&&Q.number(J))$=1;else if(Q.number($)&&!Q.defined(J))J=0;if(!Q.defined($))this.options.linearA=[];else if(Q.number($))this.options.linearA=[$];else if(Array.isArray($)&&$.length&&$.every(Q.number))this.options.linearA=$;else throw Q.invalidParameterError("a","number or array of numbers",$);if(!Q.defined(J))this.options.linearB=[];else if(Q.number(J))this.options.linearB=[J];else if(Array.isArray(J)&&J.length&&J.every(Q.number))this.options.linearB=J;else throw Q.invalidParameterError("b","number or array of numbers",J);if(this.options.linearA.length!==this.options.linearB.length)throw new Error("Expected a and b to be arrays of the same length");return this}function u8($){if(!Array.isArray($))throw Q.invalidParameterError("inputMatrix","array",$);if($.length!==3&&$.length!==4)throw Q.invalidParameterError("inputMatrix","3x3 or 4x4 array",$.length);let J=$.flat().map(Number);if(J.length!==9&&J.length!==16)throw Q.invalidParameterError("inputMatrix","cardinality of 9 or 16",J.length);return this.options.recombMatrix=J,this}function c8($){if(!Q.plainObject($))throw Q.invalidParameterError("options","plain object",$);if("brightness"in $)if(Q.number($.brightness)&&$.brightness>=0)this.options.brightness=$.brightness;else throw Q.invalidParameterError("brightness","number above zero",$.brightness);if("saturation"in $)if(Q.number($.saturation)&&$.saturation>=0)this.options.saturation=$.saturation;else throw Q.invalidParameterError("saturation","number above zero",$.saturation);if("hue"in $)if(Q.integer($.hue))this.options.hue=$.hue%360;else throw Q.invalidParameterError("hue","number",$.hue);if("lightness"in $)if(Q.number($.lightness))this.options.lightness=$.lightness;else throw Q.invalidParameterError("lightness","number",$.lightness);return this}L5.exports=function($){Object.assign($.prototype,{rotate:E8,flip:R8,flop:q8,affine:A8,sharpen:S8,median:C8,blur:M8,flatten:f8,unflatten:k8,gamma:x8,negate:d8,normalise:b8,normalize:O8,clahe:v8,convolve:h8,threshold:g8,boolean:m8,linear:l8,recomb:u8,modulate:c8})}});var X5=V((s9,N5)=>{var a8=h2(),a=l(),P5={multiband:"multiband","b-w":"b-w",bw:"b-w",cmyk:"cmyk",srgb:"srgb"};function r8($){return this._setBackgroundColourOption("tint",$),this}function e8($){return this.options.greyscale=a.bool($)?$:!0,this}function p8($){return this.greyscale($)}function n8($){if(!a.string($))throw a.invalidParameterError("colourspace","string",$);return this.options.colourspacePipeline=$,this}function s8($){return this.pipelineColourspace($)}function t8($){if(!a.string($))throw a.invalidParameterError("colourspace","string",$);return this.options.colourspace=$,this}function i8($){return this.toColourspace($)}function o8($,J){if(a.defined(J))if(a.object(J)||a.string(J)){let F=a8(J);this.options[$]=[F.red(),F.green(),F.blue(),Math.round(F.alpha()*255)]}else throw a.invalidParameterError("background","object or string",J)}N5.exports=function($){Object.assign($.prototype,{tint:r8,greyscale:e8,grayscale:p8,pipelineColourspace:n8,pipelineColorspace:s8,toColourspace:t8,toColorspace:i8,_setBackgroundColourOption:o8}),$.colourspace=P5,$.colorspace=P5}});var D5=V((t9,V5)=>{var u=l(),$6={and:"and",or:"or",eor:"eor"};function J6(){return this.options.removeAlpha=!0,this}function F6($){if(u.defined($))if(u.number($)&&u.inRange($,0,1))this.options.ensureAlpha=$;else throw u.invalidParameterError("alpha","number between 0 and 1",$);else this.options.ensureAlpha=1;return this}function W6($){let J={red:0,green:1,blue:2,alpha:3};if(Object.keys(J).includes($))$=J[$];if(u.integer($)&&u.inRange($,0,4))this.options.extractChannel=$;else throw u.invalidParameterError("channel","integer or one of: red, green, blue, alpha",$);return this}function Z6($,J){if(Array.isArray($))$.forEach(function(F){this.options.joinChannelIn.push(this._createInputDescriptor(F,J))},this);else this.options.joinChannelIn.push(this._createInputDescriptor($,J));return this}function w6($){if(u.string($)&&u.inArray($,["and","or","eor"]))this.options.bandBoolOp=$;else throw u.invalidParameterError("boolOp","one of: and, or, eor",$);return this}V5.exports=function($){Object.assign($.prototype,{removeAlpha:J6,ensureAlpha:F6,extractChannel:W6,joinChannel:Z6,bandbool:w6}),$.bool=$6}});var R5=V((i9,E5)=>{var G1=import.meta.require("path"),U=l(),K2=X2(),_5=new Map([["heic","heif"],["heif","heif"],["avif","avif"],["jpeg","jpeg"],["jpg","jpeg"],["jpe","jpeg"],["tile","tile"],["dz","tile"],["png","png"],["raw","raw"],["tiff","tiff"],["tif","tiff"],["webp","webp"],["gif","gif"],["jp2","jp2"],["jpx","jp2"],["j2k","jp2"],["j2c","jp2"],["jxl","jxl"]]),U6=/\.(jp[2x]|j2[kc])$/i,z5=()=>new Error("JP2 output requires libvips with support for OpenJPEG"),j5=($)=>1<<31-Math.clz32(Math.ceil(Math.log2($)));function B6($,J){let F;if(!U.string($))F=new Error("Missing output file path");else if(U.string(this.options.input.file)&&G1.resolve(this.options.input.file)===G1.resolve($))F=new Error("Cannot use same file for input and output");else if(U6.test(G1.extname($))&&!this.constructor.format.jp2k.output.file)F=z5();if(F)if(U.fn(J))J(F);else return Promise.reject(F);else{this.options.fileOut=$;let W=Error();return this._pipeline(J,W)}return this}function Y6($,J){if(U.object($))this._setBooleanOption("resolveWithObject",$.resolveWithObject);else if(this.options.resolveWithObject)this.options.resolveWithObject=!1;this.options.fileOut="";let F=Error();return this._pipeline(U.fn($)?$:J,F)}function Q6(){return this.options.keepMetadata|=1,this}function K6($){if(U.object($))for(let[J,F]of Object.entries($))if(U.object(F))for(let[W,Z]of Object.entries(F))if(U.string(Z))this.options.withExif[`exif-${J.toLowerCase()}-${W}`]=Z;else throw U.invalidParameterError(`${J}.${W}`,"string",Z);else throw U.invalidParameterError(J,"object",F);else throw U.invalidParameterError("exif","object",$);return this.options.withExifMerge=!1,this.keepExif()}function G6($){return this.withExif($),this.options.withExifMerge=!0,this}function I6(){return this.options.keepMetadata|=8,this}function H6($,J){if(U.string($))this.options.withIccProfile=$;else throw U.invalidParameterError("icc","string",$);if(this.keepIccProfile(),U.object(J)){if(U.defined(J.attach))if(U.bool(J.attach)){if(!J.attach)this.options.keepMetadata&=-9}else throw U.invalidParameterError("attach","boolean",J.attach)}return this}function L6(){return this.options.keepMetadata=31,this}function y6($){if(this.keepMetadata(),this.withIccProfile("srgb"),U.object($)){if(U.defined($.orientation))if(U.integer($.orientation)&&U.inRange($.orientation,1,8))this.options.withMetadataOrientation=$.orientation;else throw U.invalidParameterError("orientation","integer between 1 and 8",$.orientation);if(U.defined($.density))if(U.number($.density)&&$.density>0)this.options.withMetadataDensity=$.density;else throw U.invalidParameterError("density","positive number",$.density);if(U.defined($.icc))this.withIccProfile($.icc);if(U.defined($.exif))this.withExifMerge($.exif)}return this}function P6($,J){let F=_5.get((U.object($)&&U.string($.id)?$.id:$).toLowerCase());if(!F)throw U.invalidParameterError("format",`one of: ${[..._5.keys()].join(", ")}`,$);return this[F](J)}function N6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jpegQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.progressive))this._setBooleanOption("jpegProgressive",$.progressive);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jpegChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling);let J=U.bool($.optimizeCoding)?$.optimizeCoding:$.optimiseCoding;if(U.defined(J))this._setBooleanOption("jpegOptimiseCoding",J);if(U.defined($.mozjpeg))if(U.bool($.mozjpeg)){if($.mozjpeg)this.options.jpegTrellisQuantisation=!0,this.options.jpegOvershootDeringing=!0,this.options.jpegOptimiseScans=!0,this.options.jpegProgressive=!0,this.options.jpegQuantisationTable=3}else throw U.invalidParameterError("mozjpeg","boolean",$.mozjpeg);let F=U.bool($.trellisQuantization)?$.trellisQuantization:$.trellisQuantisation;if(U.defined(F))this._setBooleanOption("jpegTrellisQuantisation",F);if(U.defined($.overshootDeringing))this._setBooleanOption("jpegOvershootDeringing",$.overshootDeringing);let W=U.bool($.optimizeScans)?$.optimizeScans:$.optimiseScans;if(U.defined(W)){if(this._setBooleanOption("jpegOptimiseScans",W),W)this.options.jpegProgressive=!0}let Z=U.number($.quantizationTable)?$.quantizationTable:$.quantisationTable;if(U.defined(Z))if(U.integer(Z)&&U.inRange(Z,0,8))this.options.jpegQuantisationTable=Z;else throw U.invalidParameterError("quantisationTable","integer between 0 and 8",Z)}return this._updateFormatOut("jpeg",$)}function X6($){if(U.object($)){if(U.defined($.progressive))this._setBooleanOption("pngProgressive",$.progressive);if(U.defined($.compressionLevel))if(U.integer($.compressionLevel)&&U.inRange($.compressionLevel,0,9))this.options.pngCompressionLevel=$.compressionLevel;else throw U.invalidParameterError("compressionLevel","integer between 0 and 9",$.compressionLevel);if(U.defined($.adaptiveFiltering))this._setBooleanOption("pngAdaptiveFiltering",$.adaptiveFiltering);let J=$.colours||$.colors;if(U.defined(J))if(U.integer(J)&&U.inRange(J,2,256))this.options.pngBitdepth=j5(J);else throw U.invalidParameterError("colours","integer between 2 and 256",J);if(U.defined($.palette))this._setBooleanOption("pngPalette",$.palette);else if([$.quality,$.effort,$.colours,$.colors,$.dither].some(U.defined))this._setBooleanOption("pngPalette",!0);if(this.options.pngPalette){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,0,100))this.options.pngQuality=$.quality;else throw U.invalidParameterError("quality","integer between 0 and 100",$.quality);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,1,10))this.options.pngEffort=$.effort;else throw U.invalidParameterError("effort","integer between 1 and 10",$.effort);if(U.defined($.dither))if(U.number($.dither)&&U.inRange($.dither,0,1))this.options.pngDither=$.dither;else throw U.invalidParameterError("dither","number between 0.0 and 1.0",$.dither)}}return this._updateFormatOut("png",$)}function V6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.webpQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.alphaQuality))if(U.integer($.alphaQuality)&&U.inRange($.alphaQuality,0,100))this.options.webpAlphaQuality=$.alphaQuality;else throw U.invalidParameterError("alphaQuality","integer between 0 and 100",$.alphaQuality);if(U.defined($.lossless))this._setBooleanOption("webpLossless",$.lossless);if(U.defined($.nearLossless))this._setBooleanOption("webpNearLossless",$.nearLossless);if(U.defined($.smartSubsample))this._setBooleanOption("webpSmartSubsample",$.smartSubsample);if(U.defined($.preset))if(U.string($.preset)&&U.inArray($.preset,["default","photo","picture","drawing","icon","text"]))this.options.webpPreset=$.preset;else throw U.invalidParameterError("preset","one of: default, photo, picture, drawing, icon, text",$.preset);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,0,6))this.options.webpEffort=$.effort;else throw U.invalidParameterError("effort","integer between 0 and 6",$.effort);if(U.defined($.minSize))this._setBooleanOption("webpMinSize",$.minSize);if(U.defined($.mixed))this._setBooleanOption("webpMixed",$.mixed)}return T5($,this.options),this._updateFormatOut("webp",$)}function D6($){if(U.object($)){if(U.defined($.reuse))this._setBooleanOption("gifReuse",$.reuse);if(U.defined($.progressive))this._setBooleanOption("gifProgressive",$.progressive);let J=$.colours||$.colors;if(U.defined(J))if(U.integer(J)&&U.inRange(J,2,256))this.options.gifBitdepth=j5(J);else throw U.invalidParameterError("colours","integer between 2 and 256",J);if(U.defined($.effort))if(U.number($.effort)&&U.inRange($.effort,1,10))this.options.gifEffort=$.effort;else throw U.invalidParameterError("effort","integer between 1 and 10",$.effort);if(U.defined($.dither))if(U.number($.dither)&&U.inRange($.dither,0,1))this.options.gifDither=$.dither;else throw U.invalidParameterError("dither","number between 0.0 and 1.0",$.dither);if(U.defined($.interFrameMaxError))if(U.number($.interFrameMaxError)&&U.inRange($.interFrameMaxError,0,32))this.options.gifInterFrameMaxError=$.interFrameMaxError;else throw U.invalidParameterError("interFrameMaxError","number between 0.0 and 32.0",$.interFrameMaxError);if(U.defined($.interPaletteMaxError))if(U.number($.interPaletteMaxError)&&U.inRange($.interPaletteMaxError,0,256))this.options.gifInterPaletteMaxError=$.interPaletteMaxError;else throw U.invalidParameterError("interPaletteMaxError","number between 0.0 and 256.0",$.interPaletteMaxError)}return T5($,this.options),this._updateFormatOut("gif",$)}function _6($){if(!this.constructor.format.jp2k.output.buffer)throw z5();if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jp2Quality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.lossless))if(U.bool($.lossless))this.options.jp2Lossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.tileWidth))if(U.integer($.tileWidth)&&U.inRange($.tileWidth,1,32768))this.options.jp2TileWidth=$.tileWidth;else throw U.invalidParameterError("tileWidth","integer between 1 and 32768",$.tileWidth);if(U.defined($.tileHeight))if(U.integer($.tileHeight)&&U.inRange($.tileHeight,1,32768))this.options.jp2TileHeight=$.tileHeight;else throw U.invalidParameterError("tileHeight","integer between 1 and 32768",$.tileHeight);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jp2ChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling)}return this._updateFormatOut("jp2",$)}function T5($,J){if(U.object($)&&U.defined($.loop))if(U.integer($.loop)&&U.inRange($.loop,0,65535))J.loop=$.loop;else throw U.invalidParameterError("loop","integer between 0 and 65535",$.loop);if(U.object($)&&U.defined($.delay))if(U.integer($.delay)&&U.inRange($.delay,0,65535))J.delay=[$.delay];else if(Array.isArray($.delay)&&$.delay.every(U.integer)&&$.delay.every((F)=>U.inRange(F,0,65535)))J.delay=$.delay;else throw U.invalidParameterError("delay","integer or an array of integers between 0 and 65535",$.delay)}function z6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.tiffQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.bitdepth))if(U.integer($.bitdepth)&&U.inArray($.bitdepth,[1,2,4,8]))this.options.tiffBitdepth=$.bitdepth;else throw U.invalidParameterError("bitdepth","1, 2, 4 or 8",$.bitdepth);if(U.defined($.tile))this._setBooleanOption("tiffTile",$.tile);if(U.defined($.tileWidth))if(U.integer($.tileWidth)&&$.tileWidth>0)this.options.tiffTileWidth=$.tileWidth;else throw U.invalidParameterError("tileWidth","integer greater than zero",$.tileWidth);if(U.defined($.tileHeight))if(U.integer($.tileHeight)&&$.tileHeight>0)this.options.tiffTileHeight=$.tileHeight;else throw U.invalidParameterError("tileHeight","integer greater than zero",$.tileHeight);if(U.defined($.miniswhite))this._setBooleanOption("tiffMiniswhite",$.miniswhite);if(U.defined($.pyramid))this._setBooleanOption("tiffPyramid",$.pyramid);if(U.defined($.xres))if(U.number($.xres)&&$.xres>0)this.options.tiffXres=$.xres;else throw U.invalidParameterError("xres","number greater than zero",$.xres);if(U.defined($.yres))if(U.number($.yres)&&$.yres>0)this.options.tiffYres=$.yres;else throw U.invalidParameterError("yres","number greater than zero",$.yres);if(U.defined($.compression))if(U.string($.compression)&&U.inArray($.compression,["none","jpeg","deflate","packbits","ccittfax4","lzw","webp","zstd","jp2k"]))this.options.tiffCompression=$.compression;else throw U.invalidParameterError("compression","one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k",$.compression);if(U.defined($.predictor))if(U.string($.predictor)&&U.inArray($.predictor,["none","horizontal","float"]))this.options.tiffPredictor=$.predictor;else throw U.invalidParameterError("predictor","one of: none, horizontal, float",$.predictor);if(U.defined($.resolutionUnit))if(U.string($.resolutionUnit)&&U.inArray($.resolutionUnit,["inch","cm"]))this.options.tiffResolutionUnit=$.resolutionUnit;else throw U.invalidParameterError("resolutionUnit","one of: inch, cm",$.resolutionUnit)}return this._updateFormatOut("tiff",$)}function j6($){return this.heif({...$,compression:"av1"})}function T6($){if(U.object($)){if(U.string($.compression)&&U.inArray($.compression,["av1","hevc"]))this.options.heifCompression=$.compression;else throw U.invalidParameterError("compression","one of: av1, hevc",$.compression);if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.heifQuality=$.quality;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);if(U.defined($.lossless))if(U.bool($.lossless))this.options.heifLossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,0,9))this.options.heifEffort=$.effort;else throw U.invalidParameterError("effort","integer between 0 and 9",$.effort);if(U.defined($.chromaSubsampling))if(U.string($.chromaSubsampling)&&U.inArray($.chromaSubsampling,["4:2:0","4:4:4"]))this.options.heifChromaSubsampling=$.chromaSubsampling;else throw U.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",$.chromaSubsampling);if(U.defined($.bitdepth))if(U.integer($.bitdepth)&&U.inArray($.bitdepth,[8,10,12])){if($.bitdepth!==8&&this.constructor.versions.heif)throw U.invalidParameterError("bitdepth when using prebuilt binaries",8,$.bitdepth);this.options.heifBitdepth=$.bitdepth}else throw U.invalidParameterError("bitdepth","8, 10 or 12",$.bitdepth)}else throw U.invalidParameterError("options","Object",$);return this._updateFormatOut("heif",$)}function E6($){if(U.object($)){if(U.defined($.quality))if(U.integer($.quality)&&U.inRange($.quality,1,100))this.options.jxlDistance=$.quality>=30?0.1+(100-$.quality)*0.09:0.017666666666666667*$.quality*$.quality-1.15*$.quality+25;else throw U.invalidParameterError("quality","integer between 1 and 100",$.quality);else if(U.defined($.distance))if(U.number($.distance)&&U.inRange($.distance,0,15))this.options.jxlDistance=$.distance;else throw U.invalidParameterError("distance","number between 0.0 and 15.0",$.distance);if(U.defined($.decodingTier))if(U.integer($.decodingTier)&&U.inRange($.decodingTier,0,4))this.options.jxlDecodingTier=$.decodingTier;else throw U.invalidParameterError("decodingTier","integer between 0 and 4",$.decodingTier);if(U.defined($.lossless))if(U.bool($.lossless))this.options.jxlLossless=$.lossless;else throw U.invalidParameterError("lossless","boolean",$.lossless);if(U.defined($.effort))if(U.integer($.effort)&&U.inRange($.effort,3,9))this.options.jxlEffort=$.effort;else throw U.invalidParameterError("effort","integer between 3 and 9",$.effort)}return this._updateFormatOut("jxl",$)}function R6($){if(U.object($)){if(U.defined($.depth))if(U.string($.depth)&&U.inArray($.depth,["char","uchar","short","ushort","int","uint","float","complex","double","dpcomplex"]))this.options.rawDepth=$.depth;else throw U.invalidParameterError("depth","one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex",$.depth)}return this._updateFormatOut("raw")}function q6($){if(U.object($)){if(U.defined($.size))if(U.integer($.size)&&U.inRange($.size,1,8192))this.options.tileSize=$.size;else throw U.invalidParameterError("size","integer between 1 and 8192",$.size);if(U.defined($.overlap))if(U.integer($.overlap)&&U.inRange($.overlap,0,8192)){if($.overlap>this.options.tileSize)throw U.invalidParameterError("overlap",`<= size (${this.options.tileSize})`,$.overlap);this.options.tileOverlap=$.overlap}else throw U.invalidParameterError("overlap","integer between 0 and 8192",$.overlap);if(U.defined($.container))if(U.string($.container)&&U.inArray($.container,["fs","zip"]))this.options.tileContainer=$.container;else throw U.invalidParameterError("container","one of: fs, zip",$.container);if(U.defined($.layout))if(U.string($.layout)&&U.inArray($.layout,["dz","google","iiif","iiif3","zoomify"]))this.options.tileLayout=$.layout;else throw U.invalidParameterError("layout","one of: dz, google, iiif, iiif3, zoomify",$.layout);if(U.defined($.angle))if(U.integer($.angle)&&!($.angle%90))this.options.tileAngle=$.angle;else throw U.invalidParameterError("angle","positive/negative multiple of 90",$.angle);if(this._setBackgroundColourOption("tileBackground",$.background),U.defined($.depth))if(U.string($.depth)&&U.inArray($.depth,["onepixel","onetile","one"]))this.options.tileDepth=$.depth;else throw U.invalidParameterError("depth","one of: onepixel, onetile, one",$.depth);if(U.defined($.skipBlanks))if(U.integer($.skipBlanks)&&U.inRange($.skipBlanks,-1,65535))this.options.tileSkipBlanks=$.skipBlanks;else throw U.invalidParameterError("skipBlanks","integer between -1 and 255/65535",$.skipBlanks);else if(U.defined($.layout)&&$.layout==="google")this.options.tileSkipBlanks=5;let J=U.bool($.center)?$.center:$.centre;if(U.defined(J))this._setBooleanOption("tileCentre",J);if(U.defined($.id))if(U.string($.id))this.options.tileId=$.id;else throw U.invalidParameterError("id","string",$.id);if(U.defined($.basename))if(U.string($.basename))this.options.tileBasename=$.basename;else throw U.invalidParameterError("basename","string",$.basename)}if(U.inArray(this.options.formatOut,["jpeg","png","webp"]))this.options.tileFormat=this.options.formatOut;else if(this.options.formatOut!=="input")throw U.invalidParameterError("format","one of: jpeg, png, webp",this.options.formatOut);return this._updateFormatOut("dz")}function A6($){if(!U.plainObject($))throw U.invalidParameterError("options","object",$);if(U.integer($.seconds)&&U.inRange($.seconds,0,3600))this.options.timeoutSeconds=$.seconds;else throw U.invalidParameterError("seconds","integer between 0 and 3600",$.seconds);return this}function S6($,J){if(!(U.object(J)&&J.force===!1))this.options.formatOut=$;return this}function C6($,J){if(U.bool(J))this.options[$]=J;else throw U.invalidParameterError($,"boolean",J)}function M6(){if(!this.options.streamOut){this.options.streamOut=!0;let $=Error();this._pipeline(void 0,$)}}function f6($,J){if(typeof $==="function"){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(F,W,Z)=>{if(F)$(U.nativeError(F,J));else $(null,W,Z)})});else K2.pipeline(this.options,(F,W,Z)=>{if(F)$(U.nativeError(F,J));else $(null,W,Z)});return this}else if(this.options.streamOut){if(this._isStreamInput()){if(this.once("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(F,W,Z)=>{if(F)this.emit("error",U.nativeError(F,J));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))})}),this.streamInFinished)this.emit("finish")}else K2.pipeline(this.options,(F,W,Z)=>{if(F)this.emit("error",U.nativeError(F,J));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))});return this}else if(this._isStreamInput())return new Promise((F,W)=>{this.once("finish",()=>{this._flattenBufferIn(),K2.pipeline(this.options,(Z,w,B)=>{if(Z)W(U.nativeError(Z,J));else if(this.options.resolveWithObject)F({data:w,info:B});else F(w)})})});else return new Promise((F,W)=>{K2.pipeline(this.options,(Z,w,B)=>{if(Z)W(U.nativeError(Z,J));else if(this.options.resolveWithObject)F({data:w,info:B});else F(w)})})}E5.exports=function($){Object.assign($.prototype,{toFile:B6,toBuffer:Y6,keepExif:Q6,withExif:K6,withExifMerge:G6,keepIccProfile:I6,withIccProfile:H6,keepMetadata:L6,withMetadata:y6,toFormat:P6,jpeg:N6,jp2:_6,png:X6,webp:V6,tiff:z6,avif:j6,heif:T6,jxl:E6,gif:D6,raw:R6,tile:q6,timeout:A6,_updateFormatOut:S6,_setBooleanOption:C6,_read:M6,_pipeline:f6})}});var C5=V((o9,S5)=>{var k6=import.meta.require("events"),m2=import.meta.require("detect-libc"),v=l(),{runtimePlatformArch:x6}=$1(),C=X2(),q5=x6(),I1=C.libvipsVersion(),t=C.format();t.heif.output.alias=["avif","heic"];t.jpeg.output.alias=["jpe","jpg"];t.tiff.output.alias=["tif"];t.jp2k.output.alias=["j2c","j2k","jp2","jpx"];var d6={nearest:"nearest",bilinear:"bilinear",bicubic:"bicubic",locallyBoundedBicubic:"lbb",nohalo:"nohalo",vertexSplitQuadraticBasisSpline:"vsqbs"},G2={vips:I1.semver};if(!I1.isGlobal)if(!I1.isWasm)try{G2=import.meta.require(`@img/sharp-${q5}/versions`)}catch($){try{G2=import.meta.require(`@img/sharp-libvips-${q5}/versions`)}catch(J){}}else try{G2=(()=>{throw new Error(`Cannot require module "@img/sharp-wasm32/versions"`);})()}catch($){}G2.sharp=i2().version;if(G2.heif&&t.heif)t.heif.input.fileSuffix=[".avif"],t.heif.output.alias=["avif"];function A5($){if(v.bool($))if($)return C.cache(50,20,100);else return C.cache(0,0,0);else if(v.object($))return C.cache($.memory,$.files,$.items);else return C.cache()}A5(!0);function b6($){return C.concurrency(v.integer($)?$:null)}if(m2.familySync()===m2.GLIBC&&!C._isUsingJemalloc())C.concurrency(1);else if(m2.familySync()===m2.MUSL&&C.concurrency()===1024)C.concurrency(import.meta.require("os").availableParallelism());var O6=new k6.EventEmitter;function v6(){return C.counters()}function h6($){return C.simd(v.bool($)?$:null)}function g6($){if(v.object($))if(Array.isArray($.operation)&&$.operation.every(v.string))C.block($.operation,!0);else throw v.invalidParameterError("operation","Array<string>",$.operation);else throw v.invalidParameterError("options","object",$)}function m6($){if(v.object($))if(Array.isArray($.operation)&&$.operation.every(v.string))C.block($.operation,!1);else throw v.invalidParameterError("operation","Array<string>",$.operation);else throw v.invalidParameterError("options","object",$)}S5.exports=function($){$.cache=A5,$.concurrency=b6,$.counters=v6,$.simd=h6,$.format=t,$.interpolators=d6,$.versions=G2,$.queue=O6,$.block=g6,$.unblock=m6}});var f5=V(($7,M5)=>{var r=O0();Z5()(r);K5()(r);I5()(r);y5()(r);X5()(r);D5()(r);R5()(r);C5()(r);M5.exports=r});import{AsyncLocalStorage as s5}from"async_hooks";class Z2 extends O{$;static _name="BroadcastingServiceContainer";publishCb;context=new s5;constructor($){super();this.service=$}onPublish($){this.publishCb=$}publish(...$){let[J,F,W]=$;this.publishCb(J,F,W)}async handleMessage($,J){let F=JSON.parse(J);if(F.type==="subscribe"){let W=Object.entries(this.service.channels).sort(([Z],[w])=>Z.length-w.length);for(let[Z,w]of W){let B=new URLPattern({pathname:Z});if(B.test({pathname:F.topic})){let Y=B.exec({pathname:F.topic})?.pathname.groups,K=new w;if(await K.subscribe.call(K,Y))$.subscribe(F.topic);break}}}if(F.type==="broadcast")$.publish(F.topic,JSON.stringify({topic:F.topic,data:F.payload}));if(F.type==="unsubscribe")$.unsubscribe(F.topic)}run($,J){let F=$.get("Cookie"),W=new Map;if(F){let Z=F.split(";");for(let w of Z){let[B,Y]=w.split("=");W.set(B.trim(),Y.trim())}}this.context.run({headers:$,cookies:W},J)}}class p{static async user(){let $=x.getStore(),J=Z2.use().context.getStore(),F="",W="";if($?.req)F=$.req.cookies.get("access_token"),W=$.req.headers.get("User-Agent");if(J?.cookies)W=J.headers.get("User-Agent"),F=J.cookies.get("access_token");let Z=$?.user;if(!Z)Z=(await k.use().getSession(F,W))?.user,$?.setUser(Z);if(Z)return Z;return null}static async guard($){let J=await p.user();if(!J)throw new T2;try{if(!await $(J))throw new T2}catch(F){throw new T2}}static async guardSafe($){let J=await p.user();if(!J)return!1;try{return await $(J)}catch(F){return!1}}static async authenticate($){await k.use().authenticate($)}static async createMagicLink($){return await k.use().createMagicLinkToken($)}}function m($,J){return $.replace(/:([^/]+)/g,(F,W)=>{let Z=W.endsWith("?"),w=Z?W.slice(0,-1):W,B=J[w];if(B===void 0){if(Z)return"";throw new Error(`Missing parameter: ${w}`)}return String(B)}).replace(/\/\//g,"/")}class T1 extends j1{constructor($){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:$}},view:{status:307,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:$}}}}}class E1{static to($,...J){let[F={}]=J;throw new T1(m($,F))}}function R1($,J){return $.replace(/{{([^}]+)}}/g,(F,W)=>{let Z=J[W];if(Z===void 0)throw new Error(`Missing parameter: ${W}`);return Z})}class q1{static scope($){return $}static translate($,...J){let F=H2.use(),W=F.detectLocale(x.getStore().req),Z=F.translations.get(`${W}.server`)?.[$];if(!Z)return $;return R1(Z,J[0])}}var k5=l6(f5(),1);import{Buffer as u6}from"buffer";class z2 extends O{$;static _name="FileStorageServiceContainer";constructor($){super();this.service=$}}class x5{static async put($){return z2.use().service.driver.put($)}static async metadata($){let J=u6.from(await $.arrayBuffer());try{return await k5.default(J).metadata()}catch{return{}}}static async fetch($){return z2.use().service.driver.fetch($)}static list($){return z2.use().service.driver.list($)}static delete(){}}function d5($){return Object.fromEntries(Object.entries($).filter(([,J])=>{return J!==null&&J!==void 0}))}class F2 extends Error{constructor(){super("Adapter not found");this.name="AdapterNotFound"}}class H1{createSession(){throw new F2}deleteSession(){throw new F2}findSession(){throw new F2}findUserByEmailAddress(){throw new F2}updateSession(){throw new F2}createUser(){throw new F2}}class h5 extends T{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class g5 extends T{schema={name:{string:"Invalid name",required:"Name is required","min:2":"Name must be at least 3 characters"},email:{string:"Invalid email",required:"Email is required",email:"Invalid email"},password:{required:"Password is required","min:8":"Password must be at least 8 characters"}}}class m5 extends T{schema={email:{required:"Email is required",email:"Invalid email"}}}class l5 extends T{schema={password:{required:"Password is required",password:"Invalid password"}}}class f extends b5{provider=k.use()?.provider;async createOrUpdateSession($){let J=k.use().provider,F=new T,W=F.headers.get("User-Agent"),Z=new Bun.CryptoHasher("sha256");Z.update(`${$.email}${W}`);let w=Z.digest("hex"),B=await J.adapter.findSession({token:w,userAgent:F.headers.get("User-Agent")});if(!B)B=await J.adapter.createSession({token:w,userId:$.id,userAgent:F.headers.get("User-Agent"),expiresAt:new Date(i.Now.instant().add({hours:J.sessionExpiresInHours}).toString()),absoluteExpiresAt:new Date(i.Now.instant().add({hours:J.sessionAbsoluteExpiresInHours}).toString())});else B=await J.adapter.updateSession({token:w,expiresAt:new Date(i.Now.instant().add({hours:J.sessionExpiresInHours}).toString())});return B}async me(){let $=await p.user();if(!$)throw new v5;return $}async verifyEmail($=new T){let J=await $.input(),F=await this.provider.adapter.findUserByVerificationToken(J.get("token"));if(!F)return{email:null};if(await this.provider.adapter.verifyUser(F.id),F)return{email:F.email};return{email:null}}async signInWithMagicLink($=new T){let J=k.use().provider,F=$.search.get("token"),W=decodeURIComponent($.search.get("email")),Z=null;try{Z=await J.adapter.findUserByMagicLinkToken({email:W,token:F})}catch(B){return{error:"Invalid token"}}if(!Z)return{error:"Invalid token"};console.log({user:Z}),await J.adapter.verifyUser(Z.id),await J.adapter.deleteMagicLinkToken(W);let w=await this.createOrUpdateSession(Z);return $.ctx().setCookie("access_token",w.token,{expires:w.expiresAt}),await J.onSignIn(Z),{session:w}}async signInWithPin($=new T){let J=k.use().provider,F=await $.input(),{email:W,pin:Z}=F.toJSON(),w=await J.adapter.findUserByMagicLinkToken({email:W,pin:Z});if(!w)throw new e({pin:["Invalid pin"]});await J.adapter.deleteMagicLinkToken(W),await this.provider.adapter.verifyUser(w.id);let B=await this.createOrUpdateSession(w);return $.ctx().setCookie("access_token",B.token,{expires:B.expiresAt}),await J.onSignIn(w),{session:B}}async signIn($=new h5){let J=await $.input.call($),{email:F,password:W}=J.toJSON(),Z=await this.provider.adapter.findUserByEmailAddress(F,this.provider.verifyEmail);if(!Z)throw new e({invalid_credentials:["Invalid credentials"]});if(!await this.provider.verifyPassword(W,Z.password))throw new e({invalid_credentials:["Invalid credentials"]});let B=await this.createOrUpdateSession(Z);$.ctx().setCookie("access_token",B.token,{expires:B.expiresAt}),await this.provider.onSignIn(Z);let{password:Y,...K}=Z;return K}async signUp($=new g5){let J=await $.input(),{email:F,password:W,name:Z,invitationId:w}=J.toJSON();if(await this.provider.adapter.findUserByEmailAddress(F,!1))throw new e({email:["Email address already exists"]});let Y=await this.provider.hashPassword(W),K=H2.use().detectLocale($),I;if(w){if(I=await this.provider.adapter.findInvitation(w,F),I)await this.provider.adapter.deleteInvitationById(w)}let N,D;if(I)N=await this.provider.adapter.createUser({email:F,name:Z,password:Y,emailVerifiedAt:new Date,locale:K}),await this.provider.adapter.createAccount({organizationId:I.organizationId,userId:N.id,organizationRole:I.role});else D=await this.provider.generateEmailVerificationToken(F),N=await this.provider.adapter.createUser({email:F,name:Z,password:Y,verificationToken:D,locale:K});return await this.provider.onSignUp(N,D),N}async signOut($=new T){let J=$.cookies.get("access_token"),F=await p.user();return await this.provider.adapter.deleteSession({token:J}),$.ctx().setCookie("access_token","",{expires:new Date(0)}),await this.provider.onSignOut(F),{}}async forgotPassword($=new m5){let J=await $.input(),{email:F}=J.toJSON(),W=await this.provider.adapter.findUserByEmailAddress(F,this.provider.verifyEmail);if(!W)return{};let Z=await this.provider.generateForgotPasswordToken(W);return await this.provider.adapter.createPasswordResetToken({user:W,token:Z}),await this.provider.onForgotPassword(W,Z),{}}async resetPassword($=new l5){let J=await $.input(),{password:F,token:W}=J.toJSON(),Z=await this.provider.adapter.findPasswordResetToken({token:W});if(!Z)throw new e({token:["Invalid token"]});if(i.Instant.from(Z.createdAt.toISOString()).add({hours:24}).until(i.Now.instant()).sign>=0)throw new e({token:["Token expired"]});await this.provider.adapter.deletePasswordResetToken({token:W});let B=await this.provider.adapter.findUserByEmailAddress(Z.user.email,this.provider.verifyEmail);if(!B)throw new e({email:["User not found"]});let Y=await this.provider.hashPassword(F);return await this.provider.adapter.updateUserPassword({id:B.id,password:Y}),await this.provider.adapter.deleteAllUserSessions(B.id),await this.provider.onResetPassword(B),{}}async changePassword($=new T){let J=await p.user(),F=await $.input(),{oldPassword:W,newPassword:Z}=F.toJSON(),{password:w}=await this.provider.adapter.findUserByEmailAddress(J.email,this.provider.verifyEmail);if(!await this.provider.verifyPassword(W,w))throw new e({oldPassword:["Incorrect password"]});let Y=await this.provider.hashPassword(Z);return await this.provider.adapter.updateUserPassword({id:J.id,password:Y}),await this.provider.adapter.deleteAllUserSessions(J.id),{}}async oauthRedirect($=new T){let{provider:J}=$.params,F=k.use().provider.oauthProviders[J];if(!F)throw new Error(`Invalid provider: ${J}`);return{url:await F.getRedirectUrl($)}}async oauthCallback($=new T){let{provider:J}=$.params,F=k.use().provider,W=F.oauthProviders[J],{email:Z,name:w}=await W.onCallback($),B=await F.adapter.findUserByEmailAddress(Z,!1),Y=H2.use().detectLocale($);if(!B)B=await this.provider.adapter.createUser({email:Z,name:w,locale:Y});let K=await this.createOrUpdateSession(B);return $.ctx().setCookie("access_token",K.token,{expires:K.expiresAt}),await F.onSignIn(B),{session:K}}async createMagicLinkToken($=new T){let J=await $.input(),{email:F}=J.toJSON(),W=k.use(),Z=W.provider,{user:w,pin:B,token:Y}=await W.createMagicLinkToken(F);return await Z.onMagicLinkCreated(w,{email:F,pin:B,token:Y}),{email:F}}}class u5 extends L1{routes={"/:provider":this.view("__",[f,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[f,"oauthCallback"])}}class c6 extends L1{routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[f,"signInWithMagicLink"]),"/oauth":u5}}class y1 extends I2{middlewares=["cache:private"];routes={"/sign-in":this.post(f,"signIn"),"/sign-up":this.post(f,"signUp"),"/sign-out":this.post(f,"signOut"),"/forgot-password":this.post(f,"forgotPassword"),"/reset-password":this.post(f,"resetPassword"),"/change-password":this.post(f,"changePassword"),"/verify-email":this.post(f,"verifyEmail"),"/me":this.get(f,"me").middleware(["auth"]),"/magic-link":this.post(f,"createMagicLinkToken"),"/sign-in-with-pin":this.post(f,"signInWithPin")}}class a6 extends O5{basePath="/auth";verifyEmail=!0;sessionExpiresInHours=24;sessionAbsoluteExpiresInHours=672;adapter=new H1;oauthProviders={};boot(){}async verifyPassword($,J){return await Bun.password.verify($,J)}async hashPassword($){return await Bun.password.hash($)}async generateForgotPasswordToken($){let J=new Bun.CryptoHasher("sha256");return J.update(`${$.email}${Date.now()}`),J.digest("hex")}generateEmailVerificationToken($){if(!this.verifyEmail)return"";let J=new Bun.CryptoHasher("sha256");return J.update(`${$}${Date.now()}`),J.digest("hex")}generateMagicLinkToken($){let J=new Bun.CryptoHasher("sha256");return J.update(`${$}${Date.now()}`),J.digest("hex")}extendSession($){return{}}onSignUp($,J){}onSignIn($){}onSignOut($){}onForgotPassword($,J){}onResetPassword($){}onMagicLinkCreated($,J){return}}class P1 extends I2{routes={"/resize":this.file(async()=>{let $=new T,J=new URL($.rawRequest.url),F=J.searchParams.get("url"),W=Number(J.searchParams.get("w")),Z=Number(J.searchParams.get("h")),w=J.searchParams.get("fit")??"cover",B=Number(J.searchParams.get("q"));if(!F)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let K=`${F.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${F}`,I=await fetch(K);if(!I.ok)return new Response(JSON.stringify({error:"Image not found",info:K}),{headers:{"Content-Type":"application/json"},status:404});let N=Buffer.from(await I.arrayBuffer()),D=await c5.use().service.driver.resize(N,{height:Z,width:W,fit:w,quality:B});return I.headers.delete("Content-Type"),I.headers.delete("Content-Length"),new Response(D,{headers:{"Content-Type":"image/webp","Content-Length":`${D.byteLength}`,...I.headers.toJSON()}})})}}class c5 extends O{$;static _name="ImageOptimizationServiceContainer";constructor($){super();this.service=$}}import{mkdir as r6,exists as e6,readdir as p6}from"fs/promises";class h extends O{$;static _name="LoggingServiceContainer";writer;isReady=!1;logsDirPath=`${process.env.ROOT_DIR}/storage/logs`;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;currentLogFilePath;constructor($){super();this.service=$;this.boot().then(()=>{this.isReady=!0})}async boot(){if(!process.env.ROOT_DIR)return;if(!await e6(this.logsDirPath))await r6(this.logsDirPath);this.newLogFile()}async newLogFile(){if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let F=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.service.onLogFileClosed(F),this.fileSize=0,this.writerSize=0}let J=(await p6(this.logsDirPath)).sort().reverse()[0];if(J){let F=Bun.file(`${this.logsDirPath}/${J}`);if(F.size<this.service.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${J}`,this.writer=F.writer(),this.writer.write(await F.text()),this.writer.write("\n"),this.writer.flush(),this.fileSize=F.size}if(!this.writer){let F=`${new Date(Date.now()).toISOString()}.log`.replaceAll(":","-");this.currentLogFilePath=`${this.logsDirPath}/${F}`;let W=Bun.file(`${this.logsDirPath}/${F}`);this.writer=W.writer(),this.fileSize=0,this.writerSize=0}this.isCreatingFile=!1}async log($,J,F={}){if(!this.isReady)await new Promise((Y)=>{let K=setInterval(()=>{if(this.isReady)Y({}),clearInterval(K)},100)});let W=x.getStore(),Z={};if(W)Z={url:W.req.rawRequest.url,method:W.req.rawRequest.method,headers:W.req.rawRequest.headers,body:W.req.rawRequest.body};let w={timestamp:new Date(Date.now()).toISOString(),env:"production",level:$,message:J,metadata:{...Z,...F}},B="";try{B=JSON.stringify(w)}catch(Y){throw new Error("Metadata must be a valid JSON object")}this.writerSize+=B.length,this.fileSize+=B.length,this.writer.write(B),this.writer.write("\n"),l2.channel("/logs/live",{}).publish(JSON.stringify(w)),this.service.onLogCreated(w),this.tryFlush()}async tryFlush(){if(this.fileSize>this.service.maxFileSize){if(!this.isCreatingFile)await this.newLogFile()}if(this.writerSize>this.service.maxFileSize/2)await this.writer.flush(),this.writerSize=0,await this.newLogFile();else clearTimeout(this.flushTimeout),this.flushTimeout=setTimeout(async()=>{await this.writer.flush(),this.writerSize=0},100)}}class N1 extends I2{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(h.use().currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function n6($){let J=new Map;for(let F of $)if(typeof F==="string"){let[W,Z=""]=F.split(":");if(W.startsWith("-")){if(J.has(W.replace("-","")))J.delete(W.replace("-",""))}else J.set(W,Z.split(",").filter(Boolean))}else J.set(F,[]);return J}class X1 extends O{$;static _name="MiddlewareServiceContainer";constructor($){super();this.service=$}runMiddleware($){let J=new T;return Array.from(n6($).entries()).map(([F,W])=>{if(typeof F==="string"){let Z=this.service.aliases[F];if(Z){let w=new Z(J);return()=>w.run.call(w,...W)}}else{if(a5(F)){let Z=new F(J);return Z.run.bind(Z)}return F}}).filter(Boolean).reduce((F,W)=>{return async()=>{return{...await F(),...await W()}}},()=>Promise.resolve({}))()}}function r5($){return $.replace(/-([a-z])/g,(J)=>J[1].toUpperCase())}function s6($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function V1($,J=""){let F={};for(let[W,Z]of Object.entries($))if("run"in Z){let w=Z;if(!F[W])F[W]={};let{method:B,middlewares:Y}=w,K=w.run.bind(w);F[W][B]={exec:K,middleware:Y}}else if(typeof Z==="function"){let w={},B=[];if(s6(Z)){let K=new Z;w=K.routes,B=[K.middleware,...K.middlewares]}else{let[K]=(W==="/"?J:W).split("/").reverse();if(K==="")throw new Error(`"${W}" is not valid for a resource route`);if(K.includes(":"))throw new Error(`Last segment of a resource route has to be static. See "${W}"`);w=Z(`${r5(K)}Id`)}let Y=V1(w,W);for(let[K,I]of Object.entries(Y)){let N=K==="/"?"":K,D=W==="/"?"":W,q=`${D}${N}`===""?"/":`${D}${N}`;if(!F[q])F[q]={};for(let[c2,j2]of Object.entries(I))F[q][c2]={exec:j2.exec,middleware:[...B,...j2.middleware]}}}else for(let w of Object.values(Z)){if(!F[W])F[W]={};let{method:B,middlewares:Y}=w,K=w.run.bind(w);F[W][B]={exec:K,middleware:Y}}return Object.fromEntries(Object.entries(F).sort(([W],[Z])=>{let w=W.split("/").length+W.split(":").length,B=Z.split("/").length+Z.split(":").length;return w-B}))}class _1 extends O{$;static _name="ApiRouterServiceContainer";flatRoutes={};constructor($){super();this.service=$;this.flatRoutes=V1({"/":this.service.rootRouter.bind(this.service),"/auth":y1,"/__gemi__/services/i18n":e5,"/__gemi__/services/logs":N1,"/__gemi__/services/image":P1})}getRouteHandlerAndParams($){let F=new URL($.url).pathname.replace("/api",""),W={},Z;for(let[w]of Object.entries(this.flatRoutes))try{let B=new URLPattern({pathname:w});if(B.test({pathname:F})){Z=w,W=B.exec({pathname:F})?.pathname.groups;break}}catch(B){console.error(B)}return{params:W,path:Z}}async runRouteMiddleware($,J){let W=this.flatRoutes[$][J.rawRequest.method].middleware;try{await X1.use().runMiddleware(W)}catch(Z){if(Z.kind===D1){if(J.rawRequest.url.includes("/api")){let{status:w=400,data:B,headers:Y}=Z.payload.api;return new Response(JSON.stringify(B),{status:w,headers:{"Content-Type":"application/json",...Y}})}}else throw this.service.onRequestFail(J,Z),console.error(Z),Z}}async getRouteData($){let J=this.flatRoutes[$],F=x.getStore(),W=J[F.req.rawRequest.method].exec??(()=>Promise.resolve({})),Z={};try{Z=await W()}catch(w){if(w.kind===D1){let{status:B=400,data:Y,headers:K}=w.payload.api;return new Response(JSON.stringify(Y),{status:B,headers:{"Content-Type":"application/json",...K}})}else throw this.service.onRequestFail(F.req,w),console.error(w),w}return Z}async handleApiRequest($){let{params:J,path:F}=this.getRouteHandlerAndParams($),W=this.flatRoutes[F];if(!W||!W[$.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let Z=new T($,J,"api",F);if(!$.url.includes("/__gemi__"))this.service.onRequestStart(Z);return await x.run(Z,async()=>{let w=x.getStore();w.setRequest(Z);let B=await this.runRouteMiddleware(F,Z);if(B instanceof Response)return B;let Y=await this.getRouteData(F);if(Y instanceof Response)return Y;let K=w.headers;if(K.append("Content-Type","application/json"),w.cookies.forEach((I)=>K.append("Set-Cookie",I.toString())),w.destroy(),!$.url.includes("/__gemi__"))this.service.onRequestEnd(Z);return new Response(JSON.stringify(Y),{headers:K})})}}class u2{static prepare($,...J){let F={params:{},search:{}},[W={}]=J,{search:Z,params:w}={...F,...W},B=x.getStore();if(B.req.kind==="api")throw new Error("Query.prefetch() cannot be called from an API request");let Y=B.req.rawRequest,K=new URL(Y.url),I=new URLSearchParams(d5(Z));I.delete("json"),I.sort();let N=[`${m($,w)}`,I.toString()].filter((W2)=>W2.length>0).join("?"),D=`${K.origin}/${N}`,q=new Request(D,{headers:Y.headers}),c2=new T(q,w),j2=(W2)=>{B.prefetchedResources.set(m($,w),{[I.toString()]:W2})},z1=()=>{return x.run(c2,async()=>{let W2=await _1.use().getRouteData($);return j2(W2),W2})};return{instant:z1,prefetch:()=>{B.prefetchPromiseQueue.add(z1)}}}static instant($,...J){return u2.prepare($,...J).instant()}static prefetch($,...J){return u2.prepare($,...J).prefetch()}}class l2{static channel($,J){let F=Z2.use().service.channels[$];if(!F)return console.error(`Channel ${$} not found`),{publish:()=>{}};let W=new F;return{publish:(Z,w=!1)=>{let B=m($,J);Z2.use().publish(B,JSON.stringify({topic:B,data:W.publish(Z)}),w)}}}}class p5{static absolute($,...J){return`${process.env.HOST_NAME}${m(String($),J[0]??{})}`}static relative($,...J){return m(String($),J[0]??{})}}class n5{static debug($,J){h.use().log("debug",$,J)}static info($,J){h.use().log("info",$,J)}static notice($,J){h.use().log("notice",$,J)}static warning($,J){h.use().log("warning",$,J)}static error($,J){h.use().log("error",$,J)}static critical($,J){h.use().log("critical",$,J)}static alert($,J){h.use().log("alert",$,J)}static emergency($,J){h.use().log("emergency",$,J)}}export{p5 as Url,E1 as Redirect,u2 as Query,n5 as Log,q1 as I18n,x5 as FileStorage,l2 as Broadcast,p as Auth};export{Z2 as qb,E1 as rb,f5 as sb,z2 as tb,h as ub,n5 as vb,c6 as wb,a6 as xb,c5 as yb,X1 as zb,_1 as Ab};
3
3
 
4
- //# debugId=77255E40A3E9191764756E2164756E21
4
+ //# debugId=C141FDEFA618344464756E2164756E21