petdex 0.0.0 → 0.1.1

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.
package/README.md CHANGED
@@ -1,23 +1,117 @@
1
1
  # petdex
2
2
 
3
- Reserved npm package for the upcoming **Petdex** CLI.
3
+ The Petdex CLI — browse, install, and submit animated pets for [OpenAI Codex](https://openai.com/codex) from your terminal.
4
4
 
5
- Petdex is a public gallery of animated pets for [OpenAI Codex](https://openai.com/codex). Browse, install, and share community-made pets.
5
+ - **Gallery & docs:** <https://petdex.crafter.run>
6
+ - **Repo:** <https://github.com/crafter-station/petdex>
7
+ - **Hatch a new pet:** <https://petdex.crafter.run/create>
6
8
 
7
- - **Gallery & install:** https://petdex.crafter.run
8
- - **Repo:** https://github.com/crafter-station/petdex
9
+ ## Install
9
10
 
10
- ## Install pets today
11
+ ```sh
12
+ # One-shot via npx (no global install)
13
+ npx petdex --help
14
+
15
+ # Or install globally
16
+ npm install -g petdex
17
+ ```
18
+
19
+ Requires Node.js 18+ (also runs on Bun).
20
+
21
+ ## Quick start
22
+
23
+ ```sh
24
+ petdex login # opens browser, OAuth + PKCE via Clerk
25
+ petdex list # browse approved pets
26
+ petdex install boba # drops boba into ~/.codex/pets/boba/
27
+ petdex submit ~/.codex/pets/boba # share a single pet
28
+ petdex submit ~/.codex/pets # bulk submit every subfolder
29
+ petdex whoami # confirm signed-in identity
30
+ petdex logout # clear stored credentials
31
+ ```
32
+
33
+ After installing a pet, activate it inside Codex: **Settings → Appearance → Pets → Select**. Use `/pet` inside Codex to wake or tuck it away.
34
+
35
+ ## Commands
36
+
37
+ | Command | Description |
38
+ | --- | --- |
39
+ | `petdex login` | Authenticate via Clerk OAuth + PKCE (browser callback). Tokens stored in OS keychain. |
40
+ | `petdex logout` | Clear local credentials. |
41
+ | `petdex whoami` | Print the signed-in user's identity. |
42
+ | `petdex list` | List approved pets in the gallery. |
43
+ | `petdex install <slug>` | Install a pet into `~/.codex/pets/<slug>/`. |
44
+ | `petdex submit <path>` | Submit a pet folder, zip, or parent of pets (bulk). |
45
+ | `petdex --version` | Print the CLI version. |
46
+
47
+ ## How `submit` works
48
+
49
+ The CLI accepts three input shapes:
50
+
51
+ ```sh
52
+ petdex submit ~/.codex/pets/boba # single folder (must contain pet.json + spritesheet.{webp,png})
53
+ petdex submit ~/Downloads/boba.zip # single zip with the same root layout
54
+ petdex submit ~/.codex/pets # parent folder — every subfolder containing pet.json is submitted
55
+ ```
56
+
57
+ Per submission the CLI:
58
+
59
+ 1. Builds a clean zip in memory from `pet.json` + `spritesheet.{webp,png}`.
60
+ 2. Calls `POST /api/cli/submit` with a Clerk OAuth bearer to get presigned R2 PUT URLs (60s TTL).
61
+ 3. PUTs the three files to Cloudflare R2 directly — no body passes through Petdex servers.
62
+ 4. Calls `POST /api/cli/submit/register` to record the submission as `pending`. Identity comes from the verified token, never from the body.
63
+
64
+ A spinner shows progress per pet; a summary lists failures with reasons. Slugs auto-deduplicate (`boba` → `boba-2` → `boba-3` → …) so submissions never rebote on collisions.
11
65
 
12
- The CLI is on the roadmap. In the meantime, every pet exposes a one-line installer:
66
+ ## Validation rules
67
+
68
+ - `pet.json` and `spritesheet.webp` (or `.png`) must exist at the root.
69
+ - Spritesheet ≥ 256×256. Recommended **1536×1872** (8×9 frame grid).
70
+ - Rate limit: **10 submissions / 24h** per user. Admins bypass.
71
+
72
+ ## Configuration
73
+
74
+ Override the defaults with environment variables when pointing at a non-production deployment:
13
75
 
14
76
  ```sh
15
- curl -sSf https://petdex.crafter.run/install/<slug> | sh
77
+ PETDEX_URL=https://your-host.example.com \
78
+ CLERK_ISSUER=https://clerk.your-host.example.com \
79
+ CLERK_OAUTH_CLIENT_ID=public_client_id \
80
+ petdex login
16
81
  ```
17
82
 
18
- Pets land in `~/.codex/pets/<slug>/` and can be selected from
19
- **Codex → Settings → Appearance → Pets**.
83
+ ## Authentication details
84
+
85
+ - OAuth 2.0 Authorization Code with **PKCE** (S256). Public client, no secrets stored on your machine.
86
+ - Localhost callback on a random port (`http://127.0.0.1:0/callback`).
87
+ - Tokens stored in the OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service). Falls back to a `chmod 600` file if a keychain is unavailable.
88
+ - Access tokens auto-refresh using the stored refresh token; you stay signed in until you `petdex logout`.
89
+
90
+ The flow uses the [`@clerk/cli-auth`](https://github.com/Railly/clerk-cli-auth-example) reference implementation, vendored into this package.
91
+
92
+ ## How to make a pet (creation lives inside Codex)
93
+
94
+ This CLI distributes pets — it does not generate them. To create one:
95
+
96
+ 1. Open the **Codex desktop app** (download at <https://openai.com/codex>).
97
+ 2. Go to **Skills** in the top navbar → install **Hatch Pet**.
98
+ 3. In a Codex chat, type `/pet` and describe what you want (e.g. *"a tiny otter sipping bubble tea"*).
99
+ 4. Codex generates the spritesheet and animations into `~/.codex/pets/<slug>/`.
100
+ 5. Submit it: `petdex submit ~/.codex/pets/<slug>`.
101
+
102
+ The full step-by-step (with tips on what makes a great pet) lives at <https://petdex.crafter.run/create>.
103
+
104
+ ## Failure modes
105
+
106
+ | Symptom | Cause | Fix |
107
+ | --- | --- | --- |
108
+ | `Not signed in` | No tokens or session expired | `petdex login` |
109
+ | `presign 401` | Bearer rejected by Clerk userinfo | `petdex logout && petdex login` |
110
+ | `presign 429` | 10/24h rate limit hit | Wait 24h or open a [submit-fallback issue](https://github.com/crafter-station/petdex/issues/new?labels=submit-fallback) |
111
+ | `register 400 invalid_spritesheet` | Sprite < 256×256 | Regenerate with bigger dims (recommend 1536×1872) |
112
+ | `register 400 missing_field` | Folder missing `pet.json` or `spritesheet.{webp,png}` | Inspect folder contents, re-export from Codex if needed |
113
+ | `R2 PUT 403` | Presigned URL expired (60s TTL) | Retry the failed submission — CLI auto-presigns fresh URLs |
20
114
 
21
- ## Status
115
+ ## License
22
116
 
23
- This `0.0.0` release is a name reservation. A real CLI will land here in a future version.
117
+ MIT — same as the [Petdex repo](https://github.com/crafter-station/petdex).
package/dist/petdex.js ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+ import{createRequire as b9}from"node:module";var x9=Object.create;var{getPrototypeOf:E9,defineProperty:AV,getOwnPropertyNames:y9}=Object;var k9=Object.prototype.hasOwnProperty;function D9($){return this[$]}var h9,f9,T0=($,V,Q)=>{var q=$!=null&&typeof $==="object";if(q){var Y=V?h9??=new WeakMap:f9??=new WeakMap,P=Y.get($);if(P)return P}Q=$!=null?x9(E9($)):{};let J=V||!$||!$.__esModule?AV(Q,"default",{value:$,enumerable:!0}):Q;for(let K of y9($))if(!k9.call(J,K))AV(J,K,{get:D9.bind($,K),enumerable:!0});if(q)Y.set($,J);return J};var z=($,V)=>()=>(V||$((V={exports:{}}).exports,V),V.exports);var Y1=b9(import.meta.url);var L6=z((aG,vV)=>{var w6={to($,V){if(!V)return`\x1B[${$+1}G`;return`\x1B[${V+1};${$+1}H`},move($,V){let Q="";if($<0)Q+=`\x1B[${-$}D`;else if($>0)Q+=`\x1B[${$}C`;if(V<0)Q+=`\x1B[${-V}A`;else if(V>0)Q+=`\x1B[${V}B`;return Q},up:($=1)=>`\x1B[${$}A`,down:($=1)=>`\x1B[${$}B`,forward:($=1)=>`\x1B[${$}C`,backward:($=1)=>`\x1B[${$}D`,nextLine:($=1)=>"\x1B[E".repeat($),prevLine:($=1)=>"\x1B[F".repeat($),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},_9={up:($=1)=>"\x1B[S".repeat($),down:($=1)=>"\x1B[T".repeat($)},c9={screen:"\x1B[2J",up:($=1)=>"\x1B[1J".repeat($),down:($=1)=>"\x1B[J".repeat($),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines($){let V="";for(let Q=0;Q<$;Q++)V+=this.line+(Q<$-1?w6.up():"");if($)V+=w6.left;return V}};vV.exports={cursor:w6,scroll:_9,erase:c9,beep:"\x07"}});var O6=z((sG,I6)=>{var j$=process||{},TV=j$.argv||[],H$=j$.env||{},m9=!(!!H$.NO_COLOR||TV.includes("--no-color"))&&(!!H$.FORCE_COLOR||TV.includes("--color")||j$.platform==="win32"||(j$.stdout||{}).isTTY&&H$.TERM!=="dumb"||!!H$.CI),p9=($,V,Q=$)=>(q)=>{let Y=""+q,P=Y.indexOf(V,$.length);return~P?$+l9(Y,V,Q,P)+V:$+Y+V},l9=($,V,Q,q)=>{let Y="",P=0;do Y+=$.substring(P,q)+Q,P=q+V.length,q=$.indexOf(V,P);while(~q);return Y+$.substring(P)},FV=($=m9)=>{let V=$?p9:()=>String;return{isColorSupported:$,reset:V("\x1B[0m","\x1B[0m"),bold:V("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:V("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:V("\x1B[3m","\x1B[23m"),underline:V("\x1B[4m","\x1B[24m"),inverse:V("\x1B[7m","\x1B[27m"),hidden:V("\x1B[8m","\x1B[28m"),strikethrough:V("\x1B[9m","\x1B[29m"),black:V("\x1B[30m","\x1B[39m"),red:V("\x1B[31m","\x1B[39m"),green:V("\x1B[32m","\x1B[39m"),yellow:V("\x1B[33m","\x1B[39m"),blue:V("\x1B[34m","\x1B[39m"),magenta:V("\x1B[35m","\x1B[39m"),cyan:V("\x1B[36m","\x1B[39m"),white:V("\x1B[37m","\x1B[39m"),gray:V("\x1B[90m","\x1B[39m"),bgBlack:V("\x1B[40m","\x1B[49m"),bgRed:V("\x1B[41m","\x1B[49m"),bgGreen:V("\x1B[42m","\x1B[49m"),bgYellow:V("\x1B[43m","\x1B[49m"),bgBlue:V("\x1B[44m","\x1B[49m"),bgMagenta:V("\x1B[45m","\x1B[49m"),bgCyan:V("\x1B[46m","\x1B[49m"),bgWhite:V("\x1B[47m","\x1B[49m"),blackBright:V("\x1B[90m","\x1B[39m"),redBright:V("\x1B[91m","\x1B[39m"),greenBright:V("\x1B[92m","\x1B[39m"),yellowBright:V("\x1B[93m","\x1B[39m"),blueBright:V("\x1B[94m","\x1B[39m"),magentaBright:V("\x1B[95m","\x1B[39m"),cyanBright:V("\x1B[96m","\x1B[39m"),whiteBright:V("\x1B[97m","\x1B[39m"),bgBlackBright:V("\x1B[100m","\x1B[49m"),bgRedBright:V("\x1B[101m","\x1B[49m"),bgGreenBright:V("\x1B[102m","\x1B[49m"),bgYellowBright:V("\x1B[103m","\x1B[49m"),bgBlueBright:V("\x1B[104m","\x1B[49m"),bgMagentaBright:V("\x1B[105m","\x1B[49m"),bgCyanBright:V("\x1B[106m","\x1B[49m"),bgWhiteBright:V("\x1B[107m","\x1B[49m")}};I6.exports=FV();I6.exports.createColors=FV});var R0=z((B3,x6)=>{if(typeof process>"u"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0)x6.exports={nextTick:C2};else x6.exports=process;function C2($,V,Q,q){if(typeof $!=="function")throw TypeError('"callback" argument must be a function');var Y=arguments.length,P,J;switch(Y){case 0:case 1:return process.nextTick($);case 2:return process.nextTick(function(){$.call(null,V)});case 3:return process.nextTick(function(){$.call(null,V,Q)});case 4:return process.nextTick(function(){$.call(null,V,Q,q)});default:P=Array(Y-1),J=0;while(J<P.length)P[J++]=arguments[J];return process.nextTick(function(){$.apply(null,P)})}}});var sV=z((M3,aV)=>{var N2={}.toString;aV.exports=Array.isArray||function($){return N2.call($)=="[object Array]"}});var S0=z((E6,eV)=>{var C$=Y1("buffer"),C1=C$.Buffer;function tV($,V){for(var Q in $)V[Q]=$[Q]}if(C1.from&&C1.alloc&&C1.allocUnsafe&&C1.allocUnsafeSlow)eV.exports=C$;else tV(C$,E6),E6.Buffer=V0;function V0($,V,Q){return C1($,V,Q)}tV(C1,V0);V0.from=function($,V,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return C1($,V,Q)};V0.alloc=function($,V,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var q=C1($);if(V!==void 0)if(typeof Q==="string")q.fill(V,Q);else q.fill(V);else q.fill(0);return q};V0.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return C1($)};V0.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return C$.SlowBuffer($)}});var Q0=z((h2)=>{function B2($){if(Array.isArray)return Array.isArray($);return N$($)==="[object Array]"}h2.isArray=B2;function M2($){return typeof $==="boolean"}h2.isBoolean=M2;function A2($){return $===null}h2.isNull=A2;function v2($){return $==null}h2.isNullOrUndefined=v2;function T2($){return typeof $==="number"}h2.isNumber=T2;function F2($){return typeof $==="string"}h2.isString=F2;function R2($){return typeof $==="symbol"}h2.isSymbol=R2;function S2($){return $===void 0}h2.isUndefined=S2;function g2($){return N$($)==="[object RegExp]"}h2.isRegExp=g2;function x2($){return typeof $==="object"&&$!==null}h2.isObject=x2;function E2($){return N$($)==="[object Date]"}h2.isDate=E2;function y2($){return N$($)==="[object Error]"||$ instanceof Error}h2.isError=y2;function k2($){return typeof $==="function"}h2.isFunction=k2;function D2($){return $===null||typeof $==="boolean"||typeof $==="number"||typeof $==="string"||typeof $==="symbol"||typeof $>"u"}h2.isPrimitive=D2;h2.isBuffer=Y1("buffer").Buffer.isBuffer;function N$($){return Object.prototype.toString.call($)}});var $5=z((v3,y6)=>{if(typeof Object.create==="function")y6.exports=function(V,Q){if(Q)V.super_=Q,V.prototype=Object.create(Q.prototype,{constructor:{value:V,enumerable:!1,writable:!0,configurable:!0}})};else y6.exports=function(V,Q){if(Q){V.super_=Q;var q=function(){};q.prototype=Q.prototype,V.prototype=new q,V.prototype.constructor=V}}});var q0=z((T3,k6)=>{try{if(B$=Y1("util"),typeof B$.inherits!=="function")throw"";k6.exports=B$.inherits}catch($){k6.exports=$5()}var B$});var Q5=z((F3,D6)=>{function t2($,V){if(!($ instanceof V))throw TypeError("Cannot call a class as a function")}var V5=S0().Buffer,g0=Y1("util");function e2($,V,Q){$.copy(V,Q)}D6.exports=function(){function $(){t2(this,$),this.head=null,this.tail=null,this.length=0}return $.prototype.push=function(Q){var q={data:Q,next:null};if(this.length>0)this.tail.next=q;else this.head=q;this.tail=q,++this.length},$.prototype.unshift=function(Q){var q={data:Q,next:this.head};if(this.length===0)this.tail=q;this.head=q,++this.length},$.prototype.shift=function(){if(this.length===0)return;var Q=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,Q},$.prototype.clear=function(){this.head=this.tail=null,this.length=0},$.prototype.join=function(Q){if(this.length===0)return"";var q=this.head,Y=""+q.data;while(q=q.next)Y+=Q+q.data;return Y},$.prototype.concat=function(Q){if(this.length===0)return V5.alloc(0);var q=V5.allocUnsafe(Q>>>0),Y=this.head,P=0;while(Y)e2(Y.data,q,P),P+=Y.data.length,Y=Y.next;return q},$}();if(g0&&g0.inspect&&g0.inspect.custom)D6.exports.prototype[g0.inspect.custom]=function(){var $=g0.inspect({length:this.length});return this.constructor.name+" "+$}});var h6=z((R3,q5)=>{var M$=R0();function $7($,V){var Q=this,q=this._readableState&&this._readableState.destroyed,Y=this._writableState&&this._writableState.destroyed;if(q||Y){if(V)V($);else if($){if(!this._writableState)M$.nextTick(A$,this,$);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,M$.nextTick(A$,this,$)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy($||null,function(P){if(!V&&P){if(!Q._writableState)M$.nextTick(A$,Q,P);else if(!Q._writableState.errorEmitted)Q._writableState.errorEmitted=!0,M$.nextTick(A$,Q,P)}else if(V)V(P)}),this}function V7(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function A$($,V){$.emit("error",V)}q5.exports={destroy:$7,undestroy:V7}});var Y5=z((S3,J5)=>{J5.exports=Y1("util").deprecate});var b6=z((g3,j5)=>{var c1=R0();j5.exports=p;function K5($){var V=this;this.next=null,this.entry=null,this.finish=function(){z7(V,$)}}var Q7=["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:c1.nextTick,J0;p.WritableState=E0;var X5=Object.create(Q0());X5.inherits=q0();var q7={deprecate:Y5()},G5=Y1("stream"),T$=S0().Buffer,J7=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function Y7($){return T$.from($)}function P7($){return T$.isBuffer($)||$ instanceof J7}var U5=h6();X5.inherits(p,G5);function K7(){}function E0($,V){J0=J0||m1(),$=$||{};var Q=V instanceof J0;if(this.objectMode=!!$.objectMode,Q)this.objectMode=this.objectMode||!!$.writableObjectMode;var{highWaterMark:q,writableHighWaterMark:Y}=$,P=this.objectMode?16:16384;if(q||q===0)this.highWaterMark=q;else if(Q&&(Y||Y===0))this.highWaterMark=Y;else this.highWaterMark=P;this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var J=$.decodeStrings===!1;this.decodeStrings=!J,this.defaultEncoding=$.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K){w7(V,K)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new K5(this)}E0.prototype.getBuffer=function(){var V=this.bufferedRequest,Q=[];while(V)Q.push(V),V=V.next;return Q};(function(){try{Object.defineProperty(E0.prototype,"buffer",{get:q7.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch($){}})();var v$;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")v$=Function.prototype[Symbol.hasInstance],Object.defineProperty(p,Symbol.hasInstance,{value:function($){if(v$.call(this,$))return!0;if(this!==p)return!1;return $&&$._writableState instanceof E0}});else v$=function($){return $ instanceof this};function p($){if(J0=J0||m1(),!v$.call(p,this)&&!(this instanceof J0))return new p($);if(this._writableState=new E0($,this),this.writable=!0,$){if(typeof $.write==="function")this._write=$.write;if(typeof $.writev==="function")this._writev=$.writev;if(typeof $.destroy==="function")this._destroy=$.destroy;if(typeof $.final==="function")this._final=$.final}G5.call(this)}p.prototype.pipe=function(){this.emit("error",Error("Cannot pipe, not readable"))};function X7($,V){var Q=Error("write after end");$.emit("error",Q),c1.nextTick(V,Q)}function G7($,V,Q,q){var Y=!0,P=!1;if(Q===null)P=TypeError("May not write null values to stream");else if(typeof Q!=="string"&&Q!==void 0&&!V.objectMode)P=TypeError("Invalid non-string/buffer chunk");if(P)$.emit("error",P),c1.nextTick(q,P),Y=!1;return Y}p.prototype.write=function($,V,Q){var q=this._writableState,Y=!1,P=!q.objectMode&&P7($);if(P&&!T$.isBuffer($))$=Y7($);if(typeof V==="function")Q=V,V=null;if(P)V="buffer";else if(!V)V=q.defaultEncoding;if(typeof Q!=="function")Q=K7;if(q.ended)X7(this,Q);else if(P||G7(this,q,$,Q))q.pendingcb++,Y=W7(this,q,P,$,V,Q);return Y};p.prototype.cork=function(){var $=this._writableState;$.corked++};p.prototype.uncork=function(){var $=this._writableState;if($.corked){if($.corked--,!$.writing&&!$.corked&&!$.bufferProcessing&&$.bufferedRequest)W5(this,$)}};p.prototype.setDefaultEncoding=function(V){if(typeof V==="string")V=V.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((V+"").toLowerCase())>-1))throw TypeError("Unknown encoding: "+V);return this._writableState.defaultEncoding=V,this};function U7($,V,Q){if(!$.objectMode&&$.decodeStrings!==!1&&typeof V==="string")V=T$.from(V,Q);return V}Object.defineProperty(p.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function W7($,V,Q,q,Y,P){if(!Q){var J=U7(V,q,Y);if(q!==J)Q=!0,Y="buffer",q=J}var K=V.objectMode?1:q.length;V.length+=K;var U=V.length<V.highWaterMark;if(!U)V.needDrain=!0;if(V.writing||V.corked){var X=V.lastBufferedRequest;if(V.lastBufferedRequest={chunk:q,encoding:Y,isBuf:Q,callback:P,next:null},X)X.next=V.lastBufferedRequest;else V.bufferedRequest=V.lastBufferedRequest;V.bufferedRequestCount+=1}else f6($,V,!1,K,q,Y,P);return U}function f6($,V,Q,q,Y,P,J){if(V.writelen=q,V.writecb=J,V.writing=!0,V.sync=!0,Q)$._writev(Y,V.onwrite);else $._write(Y,P,V.onwrite);V.sync=!1}function H7($,V,Q,q,Y){if(--V.pendingcb,Q)c1.nextTick(Y,q),c1.nextTick(x0,$,V),$._writableState.errorEmitted=!0,$.emit("error",q);else Y(q),$._writableState.errorEmitted=!0,$.emit("error",q),x0($,V)}function j7($){$.writing=!1,$.writecb=null,$.length-=$.writelen,$.writelen=0}function w7($,V){var Q=$._writableState,q=Q.sync,Y=Q.writecb;if(j7(Q),V)H7($,Q,q,V,Y);else{var P=H5(Q);if(!P&&!Q.corked&&!Q.bufferProcessing&&Q.bufferedRequest)W5($,Q);if(q)Q7(P5,$,Q,P,Y);else P5($,Q,P,Y)}}function P5($,V,Q,q){if(!Q)L7($,V);V.pendingcb--,q(),x0($,V)}function L7($,V){if(V.length===0&&V.needDrain)V.needDrain=!1,$.emit("drain")}function W5($,V){V.bufferProcessing=!0;var Q=V.bufferedRequest;if($._writev&&Q&&Q.next){var q=V.bufferedRequestCount,Y=Array(q),P=V.corkedRequestsFree;P.entry=Q;var J=0,K=!0;while(Q){if(Y[J]=Q,!Q.isBuf)K=!1;Q=Q.next,J+=1}if(Y.allBuffers=K,f6($,V,!0,V.length,Y,"",P.finish),V.pendingcb++,V.lastBufferedRequest=null,P.next)V.corkedRequestsFree=P.next,P.next=null;else V.corkedRequestsFree=new K5(V);V.bufferedRequestCount=0}else{while(Q){var{chunk:U,encoding:X,callback:G}=Q,j=V.objectMode?1:U.length;if(f6($,V,!1,j,U,X,G),Q=Q.next,V.bufferedRequestCount--,V.writing)break}if(Q===null)V.lastBufferedRequest=null}V.bufferedRequest=Q,V.bufferProcessing=!1}p.prototype._write=function($,V,Q){Q(Error("_write() is not implemented"))};p.prototype._writev=null;p.prototype.end=function($,V,Q){var q=this._writableState;if(typeof $==="function")Q=$,$=null,V=null;else if(typeof V==="function")Q=V,V=null;if($!==null&&$!==void 0)this.write($,V);if(q.corked)q.corked=1,this.uncork();if(!q.ending)Z7(this,q,Q)};function H5($){return $.ending&&$.length===0&&$.bufferedRequest===null&&!$.finished&&!$.writing}function I7($,V){$._final(function(Q){if(V.pendingcb--,Q)$.emit("error",Q);V.prefinished=!0,$.emit("prefinish"),x0($,V)})}function O7($,V){if(!V.prefinished&&!V.finalCalled)if(typeof $._final==="function")V.pendingcb++,V.finalCalled=!0,c1.nextTick(I7,$,V);else V.prefinished=!0,$.emit("prefinish")}function x0($,V){var Q=H5(V);if(Q){if(O7($,V),V.pendingcb===0)V.finished=!0,$.emit("finish")}return Q}function Z7($,V,Q){if(V.ending=!0,x0($,V),Q)if(V.finished)c1.nextTick(Q);else $.once("finish",Q);V.ended=!0,$.writable=!1}function z7($,V,Q){var q=$.entry;$.entry=null;while(q){var Y=q.callback;V.pendingcb--,Y(Q),q=q.next}V.corkedRequestsFree.next=$}Object.defineProperty(p.prototype,"destroyed",{get:function(){if(this._writableState===void 0)return!1;return this._writableState.destroyed},set:function($){if(!this._writableState)return;this._writableState.destroyed=$}});p.prototype.destroy=U5.destroy;p.prototype._undestroy=U5.undestroy;p.prototype._destroy=function($,V){this.end(),V($)}});var m1=z((x3,O5)=>{var w5=R0(),C7=Object.keys||function($){var V=[];for(var Q in $)V.push(Q);return V};O5.exports=N1;var L5=Object.create(Q0());L5.inherits=q0();var I5=c6(),_6=b6();L5.inherits(N1,I5);{F$=C7(_6.prototype);for(y0=0;y0<F$.length;y0++)if(k0=F$[y0],!N1.prototype[k0])N1.prototype[k0]=_6.prototype[k0]}var F$,k0,y0;function N1($){if(!(this instanceof N1))return new N1($);if(I5.call(this,$),_6.call(this,$),$&&$.readable===!1)this.readable=!1;if($&&$.writable===!1)this.writable=!1;if(this.allowHalfOpen=!0,$&&$.allowHalfOpen===!1)this.allowHalfOpen=!1;this.once("end",N7)}Object.defineProperty(N1.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function N7(){if(this.allowHalfOpen||this._writableState.ended)return;w5.nextTick(B7,this)}function B7($){$.end()}Object.defineProperty(N1.prototype,"destroyed",{get:function(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set:function($){if(this._readableState===void 0||this._writableState===void 0)return;this._readableState.destroyed=$,this._writableState.destroyed=$}});N1.prototype._destroy=function($,V){this.push(null),this.end(),w5.nextTick(V,$)}});var l6=z((h7)=>{var p6=S0().Buffer,Z5=p6.isEncoding||function($){switch($=""+$,$&&$.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function M7($){if(!$)return"utf8";var V;while(!0)switch($){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return $;default:if(V)return;$=(""+$).toLowerCase(),V=!0}}function A7($){var V=M7($);if(typeof V!=="string"&&(p6.isEncoding===Z5||!Z5($)))throw Error("Unknown encoding: "+$);return V||$}h7.StringDecoder=D0;function D0($){this.encoding=A7($);var V;switch(this.encoding){case"utf16le":this.text=g7,this.end=x7,V=4;break;case"utf8":this.fillLast=F7,V=4;break;case"base64":this.text=E7,this.end=y7,V=3;break;default:this.write=k7,this.end=D7;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=p6.allocUnsafe(V)}D0.prototype.write=function($){if($.length===0)return"";var V,Q;if(this.lastNeed){if(V=this.fillLast($),V===void 0)return"";Q=this.lastNeed,this.lastNeed=0}else Q=0;if(Q<$.length)return V?V+this.text($,Q):this.text($,Q);return V||""};D0.prototype.end=S7;D0.prototype.text=R7;D0.prototype.fillLast=function($){if(this.lastNeed<=$.length)return $.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);$.copy(this.lastChar,this.lastTotal-this.lastNeed,0,$.length),this.lastNeed-=$.length};function m6($){if($<=127)return 0;else if($>>5===6)return 2;else if($>>4===14)return 3;else if($>>3===30)return 4;return $>>6===2?-1:-2}function v7($,V,Q){var q=V.length-1;if(q<Q)return 0;var Y=m6(V[q]);if(Y>=0){if(Y>0)$.lastNeed=Y-1;return Y}if(--q<Q||Y===-2)return 0;if(Y=m6(V[q]),Y>=0){if(Y>0)$.lastNeed=Y-2;return Y}if(--q<Q||Y===-2)return 0;if(Y=m6(V[q]),Y>=0){if(Y>0)if(Y===2)Y=0;else $.lastNeed=Y-3;return Y}return 0}function T7($,V,Q){if((V[0]&192)!==128)return $.lastNeed=0,"�";if($.lastNeed>1&&V.length>1){if((V[1]&192)!==128)return $.lastNeed=1,"�";if($.lastNeed>2&&V.length>2){if((V[2]&192)!==128)return $.lastNeed=2,"�"}}}function F7($){var V=this.lastTotal-this.lastNeed,Q=T7(this,$,V);if(Q!==void 0)return Q;if(this.lastNeed<=$.length)return $.copy(this.lastChar,V,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);$.copy(this.lastChar,V,0,$.length),this.lastNeed-=$.length}function R7($,V){var Q=v7(this,$,V);if(!this.lastNeed)return $.toString("utf8",V);this.lastTotal=Q;var q=$.length-(Q-this.lastNeed);return $.copy(this.lastChar,0,q),$.toString("utf8",V,q)}function S7($){var V=$&&$.length?this.write($):"";if(this.lastNeed)return V+"�";return V}function g7($,V){if(($.length-V)%2===0){var Q=$.toString("utf16le",V);if(Q){var q=Q.charCodeAt(Q.length-1);if(q>=55296&&q<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=$[$.length-2],this.lastChar[1]=$[$.length-1],Q.slice(0,-1)}return Q}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=$[$.length-1],$.toString("utf16le",V,$.length-1)}function x7($){var V=$&&$.length?this.write($):"";if(this.lastNeed){var Q=this.lastTotal-this.lastNeed;return V+this.lastChar.toString("utf16le",0,Q)}return V}function E7($,V){var Q=($.length-V)%3;if(Q===0)return $.toString("base64",V);if(this.lastNeed=3-Q,this.lastTotal=3,Q===1)this.lastChar[0]=$[$.length-1];else this.lastChar[0]=$[$.length-2],this.lastChar[1]=$[$.length-1];return $.toString("base64",V,$.length-Q)}function y7($){var V=$&&$.length?this.write($):"";if(this.lastNeed)return V+this.lastChar.toString("base64",0,3-this.lastNeed);return V}function k7($){return $.toString(this.encoding)}function D7($){return $&&$.length?this.write($):""}});var c6=z((k3,g5)=>{var P0=R0();g5.exports=h;var b7=sV(),h0;h.ReadableState=v5;var y3=Y1("events").EventEmitter,B5=function($,V){return $.listeners(V).length},n6=Y1("stream"),f0=S0().Buffer,_7=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function c7($){return f0.from($)}function m7($){return f0.isBuffer($)||$ instanceof _7}var M5=Object.create(Q0());M5.inherits=q0();var d6=Y1("util"),E=void 0;if(d6&&d6.debuglog)E=d6.debuglog("stream");else E=function(){};var p7=Q5(),A5=h6(),Y0;M5.inherits(h,n6);var u6=["error","close","destroy","pause","resume"];function l7($,V,Q){if(typeof $.prependListener==="function")return $.prependListener(V,Q);if(!$._events||!$._events[V])$.on(V,Q);else if(b7($._events[V]))$._events[V].unshift(Q);else $._events[V]=[Q,$._events[V]]}function v5($,V){h0=h0||m1(),$=$||{};var Q=V instanceof h0;if(this.objectMode=!!$.objectMode,Q)this.objectMode=this.objectMode||!!$.readableObjectMode;var{highWaterMark:q,readableHighWaterMark:Y}=$,P=this.objectMode?16:16384;if(q||q===0)this.highWaterMark=q;else if(Q&&(Y||Y===0))this.highWaterMark=Y;else this.highWaterMark=P;if(this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new p7,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=$.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,$.encoding){if(!Y0)Y0=l6().StringDecoder;this.decoder=new Y0($.encoding),this.encoding=$.encoding}}function h($){if(h0=h0||m1(),!(this instanceof h))return new h($);if(this._readableState=new v5($,this),this.readable=!0,$){if(typeof $.read==="function")this._read=$.read;if(typeof $.destroy==="function")this._destroy=$.destroy}n6.call(this)}Object.defineProperty(h.prototype,"destroyed",{get:function(){if(this._readableState===void 0)return!1;return this._readableState.destroyed},set:function($){if(!this._readableState)return;this._readableState.destroyed=$}});h.prototype.destroy=A5.destroy;h.prototype._undestroy=A5.undestroy;h.prototype._destroy=function($,V){this.push(null),V($)};h.prototype.push=function($,V){var Q=this._readableState,q;if(!Q.objectMode){if(typeof $==="string"){if(V=V||Q.defaultEncoding,V!==Q.encoding)$=f0.from($,V),V="";q=!0}}else q=!0;return T5(this,$,V,!1,q)};h.prototype.unshift=function($){return T5(this,$,null,!0,!1)};function T5($,V,Q,q,Y){var P=$._readableState;if(V===null)P.reading=!1,i7($,P);else{var J;if(!Y)J=d7(P,V);if(J)$.emit("error",J);else if(P.objectMode||V&&V.length>0){if(typeof V!=="string"&&!P.objectMode&&Object.getPrototypeOf(V)!==f0.prototype)V=c7(V);if(q)if(P.endEmitted)$.emit("error",Error("stream.unshift() after end event"));else o6($,P,V,!0);else if(P.ended)$.emit("error",Error("stream.push() after EOF"));else if(P.reading=!1,P.decoder&&!Q)if(V=P.decoder.write(V),P.objectMode||V.length!==0)o6($,P,V,!1);else F5($,P);else o6($,P,V,!1)}else if(!q)P.reading=!1}return u7(P)}function o6($,V,Q,q){if(V.flowing&&V.length===0&&!V.sync)$.emit("data",Q),$.read(0);else{if(V.length+=V.objectMode?1:Q.length,q)V.buffer.unshift(Q);else V.buffer.push(Q);if(V.needReadable)R$($)}F5($,V)}function d7($,V){var Q;if(!m7(V)&&typeof V!=="string"&&V!==void 0&&!$.objectMode)Q=TypeError("Invalid non-string/buffer chunk");return Q}function u7($){return!$.ended&&($.needReadable||$.length<$.highWaterMark||$.length===0)}h.prototype.isPaused=function(){return this._readableState.flowing===!1};h.prototype.setEncoding=function($){if(!Y0)Y0=l6().StringDecoder;return this._readableState.decoder=new Y0($),this._readableState.encoding=$,this};var z5=8388608;function o7($){if($>=z5)$=z5;else $--,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$++;return $}function C5($,V){if($<=0||V.length===0&&V.ended)return 0;if(V.objectMode)return 1;if($!==$)if(V.flowing&&V.length)return V.buffer.head.data.length;else return V.length;if($>V.highWaterMark)V.highWaterMark=o7($);if($<=V.length)return $;if(!V.ended)return V.needReadable=!0,0;return V.length}h.prototype.read=function($){E("read",$),$=parseInt($,10);var V=this._readableState,Q=$;if($!==0)V.emittedReadable=!1;if($===0&&V.needReadable&&(V.length>=V.highWaterMark||V.ended)){if(E("read: emitReadable",V.length,V.ended),V.length===0&&V.ended)i6(this);else R$(this);return null}if($=C5($,V),$===0&&V.ended){if(V.length===0)i6(this);return null}var q=V.needReadable;if(E("need readable",q),V.length===0||V.length-$<V.highWaterMark)q=!0,E("length less than watermark",q);if(V.ended||V.reading)q=!1,E("reading or ended",q);else if(q){if(E("do read"),V.reading=!0,V.sync=!0,V.length===0)V.needReadable=!0;if(this._read(V.highWaterMark),V.sync=!1,!V.reading)$=C5(Q,V)}var Y;if($>0)Y=R5($,V);else Y=null;if(Y===null)V.needReadable=!0,$=0;else V.length-=$;if(V.length===0){if(!V.ended)V.needReadable=!0;if(Q!==$&&V.ended)i6(this)}if(Y!==null)this.emit("data",Y);return Y};function i7($,V){if(V.ended)return;if(V.decoder){var Q=V.decoder.end();if(Q&&Q.length)V.buffer.push(Q),V.length+=V.objectMode?1:Q.length}V.ended=!0,R$($)}function R$($){var V=$._readableState;if(V.needReadable=!1,!V.emittedReadable)if(E("emitReadable",V.flowing),V.emittedReadable=!0,V.sync)P0.nextTick(N5,$);else N5($)}function N5($){E("emit readable"),$.emit("readable"),r6($)}function F5($,V){if(!V.readingMore)V.readingMore=!0,P0.nextTick(n7,$,V)}function n7($,V){var Q=V.length;while(!V.reading&&!V.flowing&&!V.ended&&V.length<V.highWaterMark)if(E("maybeReadMore read 0"),$.read(0),Q===V.length)break;else Q=V.length;V.readingMore=!1}h.prototype._read=function($){this.emit("error",Error("_read() is not implemented"))};h.prototype.pipe=function($,V){var Q=this,q=this._readableState;switch(q.pipesCount){case 0:q.pipes=$;break;case 1:q.pipes=[q.pipes,$];break;default:q.pipes.push($);break}q.pipesCount+=1,E("pipe count=%d opts=%j",q.pipesCount,V);var Y=(!V||V.end!==!1)&&$!==process.stdout&&$!==process.stderr,P=Y?K:N;if(q.endEmitted)P0.nextTick(P);else Q.once("end",P);$.on("unpipe",J);function J(I,O){if(E("onunpipe"),I===Q){if(O&&O.hasUnpiped===!1)O.hasUnpiped=!0,G()}}function K(){E("onend"),$.end()}var U=r7(Q);$.on("drain",U);var X=!1;function G(){if(E("cleanup"),$.removeListener("close",C),$.removeListener("finish",Z),$.removeListener("drain",U),$.removeListener("error",W),$.removeListener("unpipe",J),Q.removeListener("end",K),Q.removeListener("end",N),Q.removeListener("data",H),X=!0,q.awaitDrain&&(!$._writableState||$._writableState.needDrain))U()}var j=!1;Q.on("data",H);function H(I){E("ondata"),j=!1;var O=$.write(I);if(O===!1&&!j){if((q.pipesCount===1&&q.pipes===$||q.pipesCount>1&&S5(q.pipes,$)!==-1)&&!X)E("false write response, pause",q.awaitDrain),q.awaitDrain++,j=!0;Q.pause()}}function W(I){if(E("onerror",I),N(),$.removeListener("error",W),B5($,"error")===0)$.emit("error",I)}l7($,"error",W);function C(){$.removeListener("finish",Z),N()}$.once("close",C);function Z(){E("onfinish"),$.removeListener("close",C),N()}$.once("finish",Z);function N(){E("unpipe"),Q.unpipe($)}if($.emit("pipe",Q),!q.flowing)E("pipe resume"),Q.resume();return $};function r7($){return function(){var V=$._readableState;if(E("pipeOnDrain",V.awaitDrain),V.awaitDrain)V.awaitDrain--;if(V.awaitDrain===0&&B5($,"data"))V.flowing=!0,r6($)}}h.prototype.unpipe=function($){var V=this._readableState,Q={hasUnpiped:!1};if(V.pipesCount===0)return this;if(V.pipesCount===1){if($&&$!==V.pipes)return this;if(!$)$=V.pipes;if(V.pipes=null,V.pipesCount=0,V.flowing=!1,$)$.emit("unpipe",this,Q);return this}if(!$){var{pipes:q,pipesCount:Y}=V;V.pipes=null,V.pipesCount=0,V.flowing=!1;for(var P=0;P<Y;P++)q[P].emit("unpipe",this,{hasUnpiped:!1});return this}var J=S5(V.pipes,$);if(J===-1)return this;if(V.pipes.splice(J,1),V.pipesCount-=1,V.pipesCount===1)V.pipes=V.pipes[0];return $.emit("unpipe",this,Q),this};h.prototype.on=function($,V){var Q=n6.prototype.on.call(this,$,V);if($==="data"){if(this._readableState.flowing!==!1)this.resume()}else if($==="readable"){var q=this._readableState;if(!q.endEmitted&&!q.readableListening){if(q.readableListening=q.needReadable=!0,q.emittedReadable=!1,!q.reading)P0.nextTick(a7,this);else if(q.length)R$(this)}}return Q};h.prototype.addListener=h.prototype.on;function a7($){E("readable nexttick read 0"),$.read(0)}h.prototype.resume=function(){var $=this._readableState;if(!$.flowing)E("resume"),$.flowing=!0,s7(this,$);return this};function s7($,V){if(!V.resumeScheduled)V.resumeScheduled=!0,P0.nextTick(t7,$,V)}function t7($,V){if(!V.reading)E("resume read 0"),$.read(0);if(V.resumeScheduled=!1,V.awaitDrain=0,$.emit("resume"),r6($),V.flowing&&!V.reading)$.read(0)}h.prototype.pause=function(){if(E("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)E("pause"),this._readableState.flowing=!1,this.emit("pause");return this};function r6($){var V=$._readableState;E("flow",V.flowing);while(V.flowing&&$.read()!==null);}h.prototype.wrap=function($){var V=this,Q=this._readableState,q=!1;$.on("end",function(){if(E("wrapped end"),Q.decoder&&!Q.ended){var J=Q.decoder.end();if(J&&J.length)V.push(J)}V.push(null)}),$.on("data",function(J){if(E("wrapped data"),Q.decoder)J=Q.decoder.write(J);if(Q.objectMode&&(J===null||J===void 0))return;else if(!Q.objectMode&&(!J||!J.length))return;var K=V.push(J);if(!K)q=!0,$.pause()});for(var Y in $)if(this[Y]===void 0&&typeof $[Y]==="function")this[Y]=function(J){return function(){return $[J].apply($,arguments)}}(Y);for(var P=0;P<u6.length;P++)$.on(u6[P],this.emit.bind(this,u6[P]));return this._read=function(J){if(E("wrapped _read",J),q)q=!1,$.resume()},this};Object.defineProperty(h.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});h._fromList=R5;function R5($,V){if(V.length===0)return null;var Q;if(V.objectMode)Q=V.buffer.shift();else if(!$||$>=V.length){if(V.decoder)Q=V.buffer.join("");else if(V.buffer.length===1)Q=V.buffer.head.data;else Q=V.buffer.concat(V.length);V.buffer.clear()}else Q=e7($,V.buffer,V.decoder);return Q}function e7($,V,Q){var q;if($<V.head.data.length)q=V.head.data.slice(0,$),V.head.data=V.head.data.slice($);else if($===V.head.data.length)q=V.shift();else q=Q?$Y($,V):VY($,V);return q}function $Y($,V){var Q=V.head,q=1,Y=Q.data;$-=Y.length;while(Q=Q.next){var P=Q.data,J=$>P.length?P.length:$;if(J===P.length)Y+=P;else Y+=P.slice(0,$);if($-=J,$===0){if(J===P.length)if(++q,Q.next)V.head=Q.next;else V.head=V.tail=null;else V.head=Q,Q.data=P.slice(J);break}++q}return V.length-=q,Y}function VY($,V){var Q=f0.allocUnsafe($),q=V.head,Y=1;q.data.copy(Q),$-=q.data.length;while(q=q.next){var P=q.data,J=$>P.length?P.length:$;if(P.copy(Q,Q.length-$,0,J),$-=J,$===0){if(J===P.length)if(++Y,q.next)V.head=q.next;else V.head=V.tail=null;else V.head=q,q.data=P.slice(J);break}++Y}return V.length-=Y,Q}function i6($){var V=$._readableState;if(V.length>0)throw Error('"endReadable()" called on non-empty stream');if(!V.endEmitted)V.ended=!0,P0.nextTick(QY,V,$)}function QY($,V){if(!$.endEmitted&&$.length===0)$.endEmitted=!0,V.readable=!1,V.emit("end")}function S5($,V){for(var Q=0,q=$.length;Q<q;Q++)if($[Q]===V)return Q;return-1}});var a6=z((D3,y5)=>{y5.exports=B1;var S$=m1(),E5=Object.create(Q0());E5.inherits=q0();E5.inherits(B1,S$);function qY($,V){var Q=this._transformState;Q.transforming=!1;var q=Q.writecb;if(!q)return this.emit("error",Error("write callback called multiple times"));if(Q.writechunk=null,Q.writecb=null,V!=null)this.push(V);q($);var Y=this._readableState;if(Y.reading=!1,Y.needReadable||Y.length<Y.highWaterMark)this._read(Y.highWaterMark)}function B1($){if(!(this instanceof B1))return new B1($);if(S$.call(this,$),this._transformState={afterTransform:qY.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,$){if(typeof $.transform==="function")this._transform=$.transform;if(typeof $.flush==="function")this._flush=$.flush}this.on("prefinish",JY)}function JY(){var $=this;if(typeof this._flush==="function")this._flush(function(V,Q){x5($,V,Q)});else x5(this,null,null)}B1.prototype.push=function($,V){return this._transformState.needTransform=!1,S$.prototype.push.call(this,$,V)};B1.prototype._transform=function($,V,Q){throw Error("_transform() is not implemented")};B1.prototype._write=function($,V,Q){var q=this._transformState;if(q.writecb=Q,q.writechunk=$,q.writeencoding=V,!q.transforming){var Y=this._readableState;if(q.needTransform||Y.needReadable||Y.length<Y.highWaterMark)this._read(Y.highWaterMark)}};B1.prototype._read=function($){var V=this._transformState;if(V.writechunk!==null&&V.writecb&&!V.transforming)V.transforming=!0,this._transform(V.writechunk,V.writeencoding,V.afterTransform);else V.needTransform=!0};B1.prototype._destroy=function($,V){var Q=this;S$.prototype._destroy.call(this,$,function(q){V(q),Q.emit("close")})};function x5($,V,Q){if(V)return $.emit("error",V);if(Q!=null)$.push(Q);if($._writableState.length)throw Error("Calling transform done when ws.length != 0");if($._transformState.transforming)throw Error("Calling transform done when still transforming");return $.push(null)}});var f5=z((h3,h5)=>{h5.exports=b0;var k5=a6(),D5=Object.create(Q0());D5.inherits=q0();D5.inherits(b0,k5);function b0($){if(!(this instanceof b0))return new b0($);k5.call(this,$)}b0.prototype._transform=function($,V,Q){Q(null,$)}});var s6=z((d,g$)=>{var H1=Y1("stream");if(process.env.READABLE_STREAM==="disable"&&H1)g$.exports=H1,d=g$.exports=H1.Readable,d.Readable=H1.Readable,d.Writable=H1.Writable,d.Duplex=H1.Duplex,d.Transform=H1.Transform,d.PassThrough=H1.PassThrough,d.Stream=H1;else d=g$.exports=c6(),d.Stream=H1||d,d.Readable=d,d.Writable=b6(),d.Duplex=m1(),d.Transform=a6(),d.PassThrough=f5()});var M1=z((PY)=>{PY.base64=!0;PY.array=!0;PY.string=!0;PY.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u";PY.nodebuffer=typeof Buffer<"u";PY.uint8array=typeof Uint8Array<"u";if(typeof ArrayBuffer>"u")PY.blob=!1;else{x$=new ArrayBuffer(0);try{PY.blob=new Blob([x$],{type:"application/zip"}).size===0}catch($){try{e6=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,E$=new e6,E$.append(x$),PY.blob=E$.getBlob("application/zip").size===0}catch(V){PY.blob=!1}}}var x$,e6,E$;try{PY.nodestream=!!s6().Readable}catch($){PY.nodestream=!1}});var $8=z((LY)=>{var jY=_(),wY=M1(),j1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";LY.encode=function($){var V=[],Q,q,Y,P,J,K,U,X=0,G=$.length,j=G,H=jY.getTypeOf($)!=="string";while(X<$.length){if(j=G-X,!H)Q=$.charCodeAt(X++),q=X<G?$.charCodeAt(X++):0,Y=X<G?$.charCodeAt(X++):0;else Q=$[X++],q=X<G?$[X++]:0,Y=X<G?$[X++]:0;P=Q>>2,J=(Q&3)<<4|q>>4,K=j>1?(q&15)<<2|Y>>6:64,U=j>2?Y&63:64,V.push(j1.charAt(P)+j1.charAt(J)+j1.charAt(K)+j1.charAt(U))}return V.join("")};LY.decode=function($){var V,Q,q,Y,P,J,K,U=0,X=0,G="data:";if($.substr(0,G.length)===G)throw Error("Invalid base64 input, it looks like a data url.");$=$.replace(/[^A-Za-z0-9+/=]/g,"");var j=$.length*3/4;if($.charAt($.length-1)===j1.charAt(64))j--;if($.charAt($.length-2)===j1.charAt(64))j--;if(j%1!==0)throw Error("Invalid base64 input, bad content length.");var H;if(wY.uint8array)H=new Uint8Array(j|0);else H=Array(j|0);while(U<$.length){if(Y=j1.indexOf($.charAt(U++)),P=j1.indexOf($.charAt(U++)),J=j1.indexOf($.charAt(U++)),K=j1.indexOf($.charAt(U++)),V=Y<<2|P>>4,Q=(P&15)<<4|J>>2,q=(J&3)<<6|K,H[X++]=V,J!==64)H[X++]=Q;if(K!==64)H[X++]=q}return H}});var _0=z((_3,b5)=>{b5.exports={isNode:typeof Buffer<"u",newBufferFrom:function($,V){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from($,V);else{if(typeof $==="number")throw Error('The "data" argument must not be a number');return new Buffer($,V)}},allocBuffer:function($){if(Buffer.alloc)return Buffer.alloc($);else{var V=new Buffer($);return V.fill(0),V}},isBuffer:function($){return Buffer.isBuffer($)},isStream:function($){return $&&typeof $.on==="function"&&typeof $.pause==="function"&&typeof $.resume==="function"}}});var m5=z((m3,c5)=>{var c3=global.MutationObserver||global.WebKitMutationObserver,_5;_5=function(){process.nextTick(BY)};var ZY,zY,CY,NY,V8,c0=[];function BY(){V8=!0;var $,V,Q=c0.length;while(Q){V=c0,c0=[],$=-1;while(++$<Q)V[$]();Q=c0.length}V8=!1}c5.exports=MY;function MY($){if(c0.push($)===1&&!V8)_5()}});var n5=z((p3,i5)=>{var p5=m5();function X0(){}var i={},l5=["REJECTED"],Q8=["FULFILLED"],d5=["PENDING"];K0=["UNHANDLED"];var K0;i5.exports=S1;function S1($){if(typeof $!=="function")throw TypeError("resolver must be a function");if(this.state=d5,this.queue=[],this.outcome=void 0,this.handled=K0,$!==X0)u5(this,$)}S1.prototype.finally=function($){if(typeof $!=="function")return this;var V=this.constructor;return this.then(Q,q);function Q(Y){function P(){return Y}return V.resolve($()).then(P)}function q(Y){function P(){throw Y}return V.resolve($()).then(P)}};S1.prototype.catch=function($){return this.then(null,$)};S1.prototype.then=function($,V){if(typeof $!=="function"&&this.state===Q8||typeof V!=="function"&&this.state===l5)return this;var Q=new this.constructor(X0);if(this.handled===K0)this.handled=null;if(this.state!==d5){var q=this.state===Q8?$:V;q8(Q,q,this.outcome)}else this.queue.push(new m0(Q,$,V));return Q};function m0($,V,Q){if(this.promise=$,typeof V==="function")this.onFulfilled=V,this.callFulfilled=this.otherCallFulfilled;if(typeof Q==="function")this.onRejected=Q,this.callRejected=this.otherCallRejected}m0.prototype.callFulfilled=function($){i.resolve(this.promise,$)};m0.prototype.otherCallFulfilled=function($){q8(this.promise,this.onFulfilled,$)};m0.prototype.callRejected=function($){i.reject(this.promise,$)};m0.prototype.otherCallRejected=function($){q8(this.promise,this.onRejected,$)};function q8($,V,Q){p5(function(){var q;try{q=V(Q)}catch(Y){return i.reject($,Y)}if(q===$)i.reject($,TypeError("Cannot resolve promise with itself"));else i.resolve($,q)})}i.resolve=function($,V){var Q=o5(AY,V);if(Q.status==="error")return i.reject($,Q.value);var q=Q.value;if(q)u5($,q);else{$.state=Q8,$.outcome=V;var Y=-1,P=$.queue.length;while(++Y<P)$.queue[Y].callFulfilled(V)}return $};i.reject=function($,V){if($.state=l5,$.outcome=V,$.handled===K0)p5(function(){if($.handled===K0)process.emit("unhandledRejection",V,$)});var Q=-1,q=$.queue.length;while(++Q<q)$.queue[Q].callRejected(V);return $};function AY($){var V=$&&$.then;if($&&(typeof $==="object"||typeof $==="function")&&typeof V==="function")return function(){V.apply($,arguments)}}function u5($,V){var Q=!1;function q(K){if(Q)return;Q=!0,i.reject($,K)}function Y(K){if(Q)return;Q=!0,i.resolve($,K)}function P(){V(Y,q)}var J=o5(P);if(J.status==="error")q(J.value)}function o5($,V){var Q={};try{Q.value=$(V),Q.status="success"}catch(q){Q.status="error",Q.value=q}return Q}S1.resolve=vY;function vY($){if($ instanceof this)return $;return i.resolve(new this(X0),$)}S1.reject=TY;function TY($){var V=new this(X0);return i.reject(V,$)}S1.all=FY;function FY($){var V=this;if(Object.prototype.toString.call($)!=="[object Array]")return this.reject(TypeError("must be an array"));var Q=$.length,q=!1;if(!Q)return this.resolve([]);var Y=Array(Q),P=0,J=-1,K=new this(X0);while(++J<Q)U($[J],J);return K;function U(X,G){V.resolve(X).then(j,function(H){if(!q)q=!0,i.reject(K,H)});function j(H){if(Y[G]=H,++P===Q&&!q)q=!0,i.resolve(K,Y)}}}S1.race=RY;function RY($){var V=this;if(Object.prototype.toString.call($)!=="[object Array]")return this.reject(TypeError("must be an array"));var Q=$.length,q=!1;if(!Q)return this.resolve([]);var Y=-1,P=new this(X0);while(++Y<Q)J($[Y]);return P;function J(K){V.resolve(K).then(function(U){if(!q)q=!0,i.resolve(P,U)},function(U){if(!q)q=!0,i.reject(P,U)})}}});var G0=z((l3,r5)=>{var J8=null;if(typeof Promise<"u")J8=Promise;else J8=n5();r5.exports={Promise:J8}});var s5=z((a5)=>{(function($,V){if($.setImmediate)return;var Q=1,q={},Y=!1,P=$.document,J;function K(O){if(typeof O!=="function")O=Function(""+O);var M=Array(arguments.length-1);for(var w=0;w<M.length;w++)M[w]=arguments[w+1];var L={callback:O,args:M};return q[Q]=L,J(Q),Q++}function U(O){delete q[O]}function X(O){var{callback:M,args:w}=O;switch(w.length){case 0:M();break;case 1:M(w[0]);break;case 2:M(w[0],w[1]);break;case 3:M(w[0],w[1],w[2]);break;default:M.apply(V,w);break}}function G(O){if(Y)setTimeout(G,0,O);else{var M=q[O];if(M){Y=!0;try{X(M)}finally{U(O),Y=!1}}}}function j(){J=function(O){process.nextTick(function(){G(O)})}}function H(){if($.postMessage&&!$.importScripts){var O=!0,M=$.onmessage;return $.onmessage=function(){O=!1},$.postMessage("","*"),$.onmessage=M,O}}function W(){var O="setImmediate$"+Math.random()+"$",M=function(w){if(w.source===$&&typeof w.data==="string"&&w.data.indexOf(O)===0)G(+w.data.slice(O.length))};if($.addEventListener)$.addEventListener("message",M,!1);else $.attachEvent("onmessage",M);J=function(w){$.postMessage(O+w,"*")}}function C(){var O=new MessageChannel;O.port1.onmessage=function(M){var w=M.data;G(w)},J=function(M){O.port2.postMessage(M)}}function Z(){var O=P.documentElement;J=function(M){var w=P.createElement("script");w.onreadystatechange=function(){G(M),w.onreadystatechange=null,O.removeChild(w),w=null},O.appendChild(w)}}function N(){J=function(O){setTimeout(G,0,O)}}var I=Object.getPrototypeOf&&Object.getPrototypeOf($);if(I=I&&I.setTimeout?I:$,{}.toString.call($.process)==="[object process]")j();else if(H())W();else if($.MessageChannel)C();else if(P&&"onreadystatechange"in P.createElement("script"))Z();else N();I.setImmediate=K,I.clearImmediate=U})(typeof self>"u"?typeof global>"u"?a5:global:self)});var _=z((xY)=>{var g1=M1(),SY=$8(),U0=_0(),Y8=G0();s5();function gY($){var V=null;if(g1.uint8array)V=new Uint8Array($.length);else V=Array($.length);return k$($,V)}xY.newBlob=function($,V){xY.checkSupport("blob");try{return new Blob([$],{type:V})}catch(Y){try{var Q=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,q=new Q;return q.append($),q.getBlob(V)}catch(P){throw Error("Bug : can't construct the Blob.")}}};function p0($){return $}function k$($,V){for(var Q=0;Q<$.length;++Q)V[Q]=$.charCodeAt(Q)&255;return V}var y$={stringifyByChunk:function($,V,Q){var q=[],Y=0,P=$.length;if(P<=Q)return String.fromCharCode.apply(null,$);while(Y<P){if(V==="array"||V==="nodebuffer")q.push(String.fromCharCode.apply(null,$.slice(Y,Math.min(Y+Q,P))));else q.push(String.fromCharCode.apply(null,$.subarray(Y,Math.min(Y+Q,P))));Y+=Q}return q.join("")},stringifyByChar:function($){var V="";for(var Q=0;Q<$.length;Q++)V+=String.fromCharCode($[Q]);return V},applyCanBeUsed:{uint8array:function(){try{return g1.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch($){return!1}}(),nodebuffer:function(){try{return g1.nodebuffer&&String.fromCharCode.apply(null,U0.allocBuffer(1)).length===1}catch($){return!1}}()}};function l0($){var V=65536,Q=xY.getTypeOf($),q=!0;if(Q==="uint8array")q=y$.applyCanBeUsed.uint8array;else if(Q==="nodebuffer")q=y$.applyCanBeUsed.nodebuffer;if(q)while(V>1)try{return y$.stringifyByChunk($,Q,V)}catch(Y){V=Math.floor(V/2)}return y$.stringifyByChar($)}xY.applyFromCharCode=l0;function D$($,V){for(var Q=0;Q<$.length;Q++)V[Q]=$[Q];return V}var x1={};x1.string={string:p0,array:function($){return k$($,Array($.length))},arraybuffer:function($){return x1.string.uint8array($).buffer},uint8array:function($){return k$($,new Uint8Array($.length))},nodebuffer:function($){return k$($,U0.allocBuffer($.length))}};x1.array={string:l0,array:p0,arraybuffer:function($){return new Uint8Array($).buffer},uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return U0.newBufferFrom($)}};x1.arraybuffer={string:function($){return l0(new Uint8Array($))},array:function($){return D$(new Uint8Array($),Array($.byteLength))},arraybuffer:p0,uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return U0.newBufferFrom(new Uint8Array($))}};x1.uint8array={string:l0,array:function($){return D$($,Array($.length))},arraybuffer:function($){return $.buffer},uint8array:p0,nodebuffer:function($){return U0.newBufferFrom($)}};x1.nodebuffer={string:l0,array:function($){return D$($,Array($.length))},arraybuffer:function($){return x1.nodebuffer.uint8array($).buffer},uint8array:function($){return D$($,new Uint8Array($.length))},nodebuffer:p0};xY.transformTo=function($,V){if(!V)V="";if(!$)return V;xY.checkSupport($);var Q=xY.getTypeOf(V),q=x1[Q][$](V);return q};xY.resolve=function($){var V=$.split("/"),Q=[];for(var q=0;q<V.length;q++){var Y=V[q];if(Y==="."||Y===""&&q!==0&&q!==V.length-1)continue;else if(Y==="..")Q.pop();else Q.push(Y)}return Q.join("/")};xY.getTypeOf=function($){if(typeof $==="string")return"string";if(Object.prototype.toString.call($)==="[object Array]")return"array";if(g1.nodebuffer&&U0.isBuffer($))return"nodebuffer";if(g1.uint8array&&$ instanceof Uint8Array)return"uint8array";if(g1.arraybuffer&&$ instanceof ArrayBuffer)return"arraybuffer"};xY.checkSupport=function($){var V=g1[$.toLowerCase()];if(!V)throw Error($+" is not supported by this platform")};xY.MAX_VALUE_16BITS=65535;xY.MAX_VALUE_32BITS=-1;xY.pretty=function($){var V="",Q,q;for(q=0;q<($||"").length;q++)Q=$.charCodeAt(q),V+="\\x"+(Q<16?"0":"")+Q.toString(16).toUpperCase();return V};xY.delay=function($,V,Q){setImmediate(function(){$.apply(Q||null,V||[])})};xY.inherits=function($,V){var Q=function(){};Q.prototype=V.prototype,$.prototype=new Q};xY.extend=function(){var $={},V,Q;for(V=0;V<arguments.length;V++)for(Q in arguments[V])if(Object.prototype.hasOwnProperty.call(arguments[V],Q)&&typeof $[Q]>"u")$[Q]=arguments[V][Q];return $};xY.prepareContent=function($,V,Q,q,Y){var P=Y8.Promise.resolve(V).then(function(J){var K=g1.blob&&(J instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(J))!==-1);if(K&&typeof FileReader<"u")return new Y8.Promise(function(U,X){var G=new FileReader;G.onload=function(j){U(j.target.result)},G.onerror=function(j){X(j.target.error)},G.readAsArrayBuffer(J)});else return J});return P.then(function(J){var K=xY.getTypeOf(J);if(!K)return Y8.Promise.reject(Error("Can't read the data of '"+$+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));if(K==="arraybuffer")J=xY.transformTo("uint8array",J);else if(K==="string"){if(Y)J=SY.decode(J);else if(Q){if(q!==!0)J=gY(J)}}return J})}});var t=z((o3,VQ)=>{function $Q($){this.name=$||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}$Q.prototype={push:function($){this.emit("data",$)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch($){this.emit("error",$)}return!0},error:function($){if(this.isFinished)return!1;if(this.isPaused)this.generatedError=$;else{if(this.isFinished=!0,this.emit("error",$),this.previous)this.previous.error($);this.cleanUp()}return!0},on:function($,V){return this._listeners[$].push(V),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function($,V){if(this._listeners[$])for(var Q=0;Q<this._listeners[$].length;Q++)this._listeners[$][Q].call(this,V)},pipe:function($){return $.registerPrevious(this)},registerPrevious:function($){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");this.streamInfo=$.streamInfo,this.mergeStreamInfo(),this.previous=$;var V=this;return $.on("data",function(Q){V.processChunk(Q)}),$.on("end",function(){V.end()}),$.on("error",function(Q){V.error(Q)}),this},pause:function(){if(this.isPaused||this.isFinished)return!1;if(this.isPaused=!0,this.previous)this.previous.pause();return!0},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var $=!1;if(this.generatedError)this.error(this.generatedError),$=!0;if(this.previous)this.previous.resume();return!$},flush:function(){},processChunk:function($){this.push($)},withStreamInfo:function($,V){return this.extraStreamInfo[$]=V,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var $ in this.extraStreamInfo){if(!Object.prototype.hasOwnProperty.call(this.extraStreamInfo,$))continue;this.streamInfo[$]=this.extraStreamInfo[$]}},lock:function(){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");if(this.isLocked=!0,this.previous)this.previous.lock()},toString:function(){var $="Worker "+this.name;if(this.previous)return this.previous+" -> "+$;else return $}};VQ.exports=$Q});var H0=z((oY)=>{var W0=_(),p1=M1(),pY=_0(),h$=t(),d0=Array(256);for(w1=0;w1<256;w1++)d0[w1]=w1>=252?6:w1>=248?5:w1>=240?4:w1>=224?3:w1>=192?2:1;var w1;d0[254]=d0[254]=1;var lY=function($){var V,Q,q,Y,P,J=$.length,K=0;for(Y=0;Y<J;Y++){if(Q=$.charCodeAt(Y),(Q&64512)===55296&&Y+1<J){if(q=$.charCodeAt(Y+1),(q&64512)===56320)Q=65536+(Q-55296<<10)+(q-56320),Y++}K+=Q<128?1:Q<2048?2:Q<65536?3:4}if(p1.uint8array)V=new Uint8Array(K);else V=Array(K);for(P=0,Y=0;P<K;Y++){if(Q=$.charCodeAt(Y),(Q&64512)===55296&&Y+1<J){if(q=$.charCodeAt(Y+1),(q&64512)===56320)Q=65536+(Q-55296<<10)+(q-56320),Y++}if(Q<128)V[P++]=Q;else if(Q<2048)V[P++]=192|Q>>>6,V[P++]=128|Q&63;else if(Q<65536)V[P++]=224|Q>>>12,V[P++]=128|Q>>>6&63,V[P++]=128|Q&63;else V[P++]=240|Q>>>18,V[P++]=128|Q>>>12&63,V[P++]=128|Q>>>6&63,V[P++]=128|Q&63}return V},dY=function($,V){var Q;if(V=V||$.length,V>$.length)V=$.length;Q=V-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return V;if(Q===0)return V;return Q+d0[$[Q]]>V?Q:V},uY=function($){var V,Q,q,Y,P=$.length,J=Array(P*2);for(Q=0,V=0;V<P;){if(q=$[V++],q<128){J[Q++]=q;continue}if(Y=d0[q],Y>4){J[Q++]=65533,V+=Y-1;continue}q&=Y===2?31:Y===3?15:7;while(Y>1&&V<P)q=q<<6|$[V++]&63,Y--;if(Y>1){J[Q++]=65533;continue}if(q<65536)J[Q++]=q;else q-=65536,J[Q++]=55296|q>>10&1023,J[Q++]=56320|q&1023}if(J.length!==Q)if(J.subarray)J=J.subarray(0,Q);else J.length=Q;return W0.applyFromCharCode(J)};oY.utf8encode=function(V){if(p1.nodebuffer)return pY.newBufferFrom(V,"utf-8");return lY(V)};oY.utf8decode=function(V){if(p1.nodebuffer)return W0.transformTo("nodebuffer",V).toString("utf-8");return V=W0.transformTo(p1.uint8array?"uint8array":"array",V),uY(V)};function f$(){h$.call(this,"utf-8 decode"),this.leftOver=null}W0.inherits(f$,h$);f$.prototype.processChunk=function($){var V=W0.transformTo(p1.uint8array?"uint8array":"array",$.data);if(this.leftOver&&this.leftOver.length){if(p1.uint8array){var Q=V;V=new Uint8Array(Q.length+this.leftOver.length),V.set(this.leftOver,0),V.set(Q,this.leftOver.length)}else V=this.leftOver.concat(V);this.leftOver=null}var q=dY(V),Y=V;if(q!==V.length)if(p1.uint8array)Y=V.subarray(0,q),this.leftOver=V.subarray(q,V.length);else Y=V.slice(0,q),this.leftOver=V.slice(q,V.length);this.push({data:oY.utf8decode(Y),meta:$.meta})};f$.prototype.flush=function(){if(this.leftOver&&this.leftOver.length)this.push({data:oY.utf8decode(this.leftOver),meta:{}}),this.leftOver=null};oY.Utf8DecodeWorker=f$;function K8(){h$.call(this,"utf-8 encode")}W0.inherits(K8,h$);K8.prototype.processChunk=function($){this.push({data:oY.utf8encode($.data),meta:$.meta})};oY.Utf8EncodeWorker=K8});var PQ=z((n3,YQ)=>{var qQ=t(),JQ=_();function G8($){qQ.call(this,"ConvertWorker to "+$),this.destType=$}JQ.inherits(G8,qQ);G8.prototype.processChunk=function($){this.push({data:JQ.transformTo(this.destType,$.data),meta:$.meta})};YQ.exports=G8});var GQ=z((r3,XQ)=>{var KQ=s6().Readable,rY=_();rY.inherits(U8,KQ);function U8($,V,Q){KQ.call(this,V),this._helper=$;var q=this;$.on("data",function(Y,P){if(!q.push(Y))q._helper.pause();if(Q)Q(P)}).on("error",function(Y){q.emit("error",Y)}).on("end",function(){q.push(null)})}U8.prototype._read=function(){this._helper.resume()};XQ.exports=U8});var W8=z((a3,HQ)=>{var l1=_(),aY=PQ(),sY=t(),tY=$8(),eY=M1(),$4=G0(),UQ=null;if(eY.nodestream)try{UQ=GQ()}catch($){}function V4($,V,Q){switch($){case"blob":return l1.newBlob(l1.transformTo("arraybuffer",V),Q);case"base64":return tY.encode(V);default:return l1.transformTo($,V)}}function Q4($,V){var Q,q=0,Y=null,P=0;for(Q=0;Q<V.length;Q++)P+=V[Q].length;switch($){case"string":return V.join("");case"array":return Array.prototype.concat.apply([],V);case"uint8array":Y=new Uint8Array(P);for(Q=0;Q<V.length;Q++)Y.set(V[Q],q),q+=V[Q].length;return Y;case"nodebuffer":return Buffer.concat(V);default:throw Error("concat : unsupported type '"+$+"'")}}function q4($,V){return new $4.Promise(function(Q,q){var Y=[],P=$._internalType,J=$._outputType,K=$._mimeType;$.on("data",function(U,X){if(Y.push(U),V)V(X)}).on("error",function(U){Y=[],q(U)}).on("end",function(){try{var U=V4(J,Q4(P,Y),K);Q(U)}catch(X){q(X)}Y=[]}).resume()})}function WQ($,V,Q){var q=V;switch(V){case"blob":case"arraybuffer":q="uint8array";break;case"base64":q="string";break}try{this._internalType=q,this._outputType=V,this._mimeType=Q,l1.checkSupport(q),this._worker=$.pipe(new aY(q)),$.lock()}catch(Y){this._worker=new sY("error"),this._worker.error(Y)}}WQ.prototype={accumulate:function($){return q4(this,$)},on:function($,V){var Q=this;if($==="data")this._worker.on($,function(q){V.call(Q,q.data,q.meta)});else this._worker.on($,function(){l1.delay(V,arguments,Q)});return this},resume:function(){return l1.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function($){if(l1.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw Error(this._outputType+" is not supported by this method");return new UQ(this,{objectMode:this._outputType!=="nodebuffer"},$)}};HQ.exports=WQ});var H8=z((J4)=>{J4.base64=!1;J4.binary=!1;J4.dir=!1;J4.createFolders=!0;J4.date=null;J4.compression=null;J4.compressionOptions=null;J4.comment=null;J4.unixPermissions=null;J4.dosPermissions=null});var j8=z((t3,jQ)=>{var b$=_(),_$=t(),L4=16384;function j0($){_$.call(this,"DataWorker");var V=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,$.then(function(Q){if(V.dataIsReady=!0,V.data=Q,V.max=Q&&Q.length||0,V.type=b$.getTypeOf(Q),!V.isPaused)V._tickAndRepeat()},function(Q){V.error(Q)})}b$.inherits(j0,_$);j0.prototype.cleanUp=function(){_$.prototype.cleanUp.call(this),this.data=null};j0.prototype.resume=function(){if(!_$.prototype.resume.call(this))return!1;if(!this._tickScheduled&&this.dataIsReady)this._tickScheduled=!0,b$.delay(this._tickAndRepeat,[],this);return!0};j0.prototype._tickAndRepeat=function(){if(this._tickScheduled=!1,this.isPaused||this.isFinished)return;if(this._tick(),!this.isFinished)b$.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0};j0.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var $=L4,V=null,Q=Math.min(this.max,this.index+$);if(this.index>=this.max)return this.end();else{switch(this.type){case"string":V=this.data.substring(this.index,Q);break;case"uint8array":V=this.data.subarray(this.index,Q);break;case"array":case"nodebuffer":V=this.data.slice(this.index,Q);break}return this.index=Q,this.push({data:V,meta:{percent:this.max?this.index/this.max*100:0}})}};jQ.exports=j0});var c$=z((e3,LQ)=>{var I4=_();function O4(){var $,V=[];for(var Q=0;Q<256;Q++){$=Q;for(var q=0;q<8;q++)$=$&1?3988292384^$>>>1:$>>>1;V[Q]=$}return V}var wQ=O4();function Z4($,V,Q,q){var Y=wQ,P=q+Q;$=$^-1;for(var J=q;J<P;J++)$=$>>>8^Y[($^V[J])&255];return $^-1}function z4($,V,Q,q){var Y=wQ,P=q+Q;$=$^-1;for(var J=q;J<P;J++)$=$>>>8^Y[($^V.charCodeAt(J))&255];return $^-1}LQ.exports=function(V,Q){if(typeof V>"u"||!V.length)return 0;var q=I4.getTypeOf(V)!=="string";if(q)return Z4(Q|0,V,V.length,0);else return z4(Q|0,V,V.length,0)}});var L8=z(($U,OQ)=>{var IQ=t(),C4=c$(),N4=_();function w8(){IQ.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}N4.inherits(w8,IQ);w8.prototype.processChunk=function($){this.streamInfo.crc32=C4($.data,this.streamInfo.crc32||0),this.push($)};OQ.exports=w8});var zQ=z((VU,ZQ)=>{var B4=_(),I8=t();function O8($){I8.call(this,"DataLengthProbe for "+$),this.propName=$,this.withStreamInfo($,0)}B4.inherits(O8,I8);O8.prototype.processChunk=function($){if($){var V=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=V+$.data.length}I8.prototype.processChunk.call(this,$)};ZQ.exports=O8});var m$=z((QU,BQ)=>{var CQ=G0(),NQ=j8(),M4=L8(),Z8=zQ();function z8($,V,Q,q,Y){this.compressedSize=$,this.uncompressedSize=V,this.crc32=Q,this.compression=q,this.compressedContent=Y}z8.prototype={getContentWorker:function(){var $=new NQ(CQ.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new Z8("data_length")),V=this;return $.on("end",function(){if(this.streamInfo.data_length!==V.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),$},getCompressedWorker:function(){return new NQ(CQ.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}};z8.createWorkerFrom=function($,V,Q){return $.pipe(new M4).pipe(new Z8("uncompressedSize")).pipe(V.compressWorker(Q)).pipe(new Z8("compressedSize")).withStreamInfo("compression",V)};BQ.exports=z8});var TQ=z((qU,vQ)=>{var A4=W8(),v4=j8(),C8=H0(),N8=m$(),MQ=t(),B8=function($,V,Q){this.name=$,this.dir=Q.dir,this.date=Q.date,this.comment=Q.comment,this.unixPermissions=Q.unixPermissions,this.dosPermissions=Q.dosPermissions,this._data=V,this._dataBinary=Q.binary,this.options={compression:Q.compression,compressionOptions:Q.compressionOptions}};B8.prototype={internalStream:function($){var V=null,Q="string";try{if(!$)throw Error("No output type specified.");Q=$.toLowerCase();var q=Q==="string"||Q==="text";if(Q==="binarystring"||Q==="text")Q="string";V=this._decompressWorker();var Y=!this._dataBinary;if(Y&&!q)V=V.pipe(new C8.Utf8EncodeWorker);if(!Y&&q)V=V.pipe(new C8.Utf8DecodeWorker)}catch(P){V=new MQ("error"),V.error(P)}return new A4(V,Q,"")},async:function($,V){return this.internalStream($).accumulate(V)},nodeStream:function($,V){return this.internalStream($||"nodebuffer").toNodejsStream(V)},_compressWorker:function($,V){if(this._data instanceof N8&&this._data.compression.magic===$.magic)return this._data.getCompressedWorker();else{var Q=this._decompressWorker();if(!this._dataBinary)Q=Q.pipe(new C8.Utf8EncodeWorker);return N8.createWorkerFrom(Q,$,V)}},_decompressWorker:function(){if(this._data instanceof N8)return this._data.getContentWorker();else if(this._data instanceof MQ)return this._data;else return new v4(this._data)}};var AQ=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],T4=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")};for(u0=0;u0<AQ.length;u0++)B8.prototype[AQ[u0]]=T4;var u0;vQ.exports=B8});var A1=z((M8)=>{var g4=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function x4($,V){return Object.prototype.hasOwnProperty.call($,V)}M8.assign=function($){var V=Array.prototype.slice.call(arguments,1);while(V.length){var Q=V.shift();if(!Q)continue;if(typeof Q!=="object")throw TypeError(Q+"must be non-object");for(var q in Q)if(x4(Q,q))$[q]=Q[q]}return $};M8.shrinkBuf=function($,V){if($.length===V)return $;if($.subarray)return $.subarray(0,V);return $.length=V,$};var E4={arraySet:function($,V,Q,q,Y){if(V.subarray&&$.subarray){$.set(V.subarray(Q,Q+q),Y);return}for(var P=0;P<q;P++)$[Y+P]=V[Q+P]},flattenChunks:function($){var V,Q,q,Y,P,J;q=0;for(V=0,Q=$.length;V<Q;V++)q+=$[V].length;J=new Uint8Array(q),Y=0;for(V=0,Q=$.length;V<Q;V++)P=$[V],J.set(P,Y),Y+=P.length;return J}},y4={arraySet:function($,V,Q,q,Y){for(var P=0;P<q;P++)$[Y+P]=V[Q+P]},flattenChunks:function($){return[].concat.apply([],$)}};M8.setTyped=function($){if($)M8.Buf8=Uint8Array,M8.Buf16=Uint16Array,M8.Buf32=Int32Array,M8.assign(M8,E4);else M8.Buf8=Array,M8.Buf16=Array,M8.Buf32=Array,M8.assign(M8,y4)};M8.setTyped(g4)});var aQ=z((QP)=>{var D4=A1(),h4=4,RQ=0,SQ=1,f4=2;function L0($){var V=$.length;while(--V>=0)$[V]=0}var b4=0,DQ=1,_4=2,c4=3,m4=258,x8=29,s0=256,i0=s0+1+x8,w0=30,E8=19,hQ=2*i0+1,d1=15,v8=16,p4=7,y8=256,fQ=16,bQ=17,_Q=18,S8=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],p$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],l4=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cQ=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d4=512,v1=Array((i0+2)*2);L0(v1);var o0=Array(w0*2);L0(o0);var n0=Array(d4);L0(n0);var r0=Array(m4-c4+1);L0(r0);var k8=Array(x8);L0(k8);var l$=Array(w0);L0(l$);function T8($,V,Q,q,Y){this.static_tree=$,this.extra_bits=V,this.extra_base=Q,this.elems=q,this.max_length=Y,this.has_stree=$&&$.length}var mQ,pQ,lQ;function F8($,V){this.dyn_tree=$,this.max_code=0,this.stat_desc=V}function dQ($){return $<256?n0[$]:n0[256+($>>>7)]}function a0($,V){$.pending_buf[$.pending++]=V&255,$.pending_buf[$.pending++]=V>>>8&255}function r($,V,Q){if($.bi_valid>v8-Q)$.bi_buf|=V<<$.bi_valid&65535,a0($,$.bi_buf),$.bi_buf=V>>v8-$.bi_valid,$.bi_valid+=Q-v8;else $.bi_buf|=V<<$.bi_valid&65535,$.bi_valid+=Q}function L1($,V,Q){r($,Q[V*2],Q[V*2+1])}function uQ($,V){var Q=0;do Q|=$&1,$>>>=1,Q<<=1;while(--V>0);return Q>>>1}function u4($){if($.bi_valid===16)a0($,$.bi_buf),$.bi_buf=0,$.bi_valid=0;else if($.bi_valid>=8)$.pending_buf[$.pending++]=$.bi_buf&255,$.bi_buf>>=8,$.bi_valid-=8}function o4($,V){var{dyn_tree:Q,max_code:q}=V,Y=V.stat_desc.static_tree,P=V.stat_desc.has_stree,J=V.stat_desc.extra_bits,K=V.stat_desc.extra_base,U=V.stat_desc.max_length,X,G,j,H,W,C,Z=0;for(H=0;H<=d1;H++)$.bl_count[H]=0;Q[$.heap[$.heap_max]*2+1]=0;for(X=$.heap_max+1;X<hQ;X++){if(G=$.heap[X],H=Q[Q[G*2+1]*2+1]+1,H>U)H=U,Z++;if(Q[G*2+1]=H,G>q)continue;if($.bl_count[H]++,W=0,G>=K)W=J[G-K];if(C=Q[G*2],$.opt_len+=C*(H+W),P)$.static_len+=C*(Y[G*2+1]+W)}if(Z===0)return;do{H=U-1;while($.bl_count[H]===0)H--;$.bl_count[H]--,$.bl_count[H+1]+=2,$.bl_count[U]--,Z-=2}while(Z>0);for(H=U;H!==0;H--){G=$.bl_count[H];while(G!==0){if(j=$.heap[--X],j>q)continue;if(Q[j*2+1]!==H)$.opt_len+=(H-Q[j*2+1])*Q[j*2],Q[j*2+1]=H;G--}}}function oQ($,V,Q){var q=Array(d1+1),Y=0,P,J;for(P=1;P<=d1;P++)q[P]=Y=Y+Q[P-1]<<1;for(J=0;J<=V;J++){var K=$[J*2+1];if(K===0)continue;$[J*2]=uQ(q[K]++,K)}}function i4(){var $,V,Q,q,Y,P=Array(d1+1);Q=0;for(q=0;q<x8-1;q++){k8[q]=Q;for($=0;$<1<<S8[q];$++)r0[Q++]=q}r0[Q-1]=q,Y=0;for(q=0;q<16;q++){l$[q]=Y;for($=0;$<1<<p$[q];$++)n0[Y++]=q}Y>>=7;for(;q<w0;q++){l$[q]=Y<<7;for($=0;$<1<<p$[q]-7;$++)n0[256+Y++]=q}for(V=0;V<=d1;V++)P[V]=0;$=0;while($<=143)v1[$*2+1]=8,$++,P[8]++;while($<=255)v1[$*2+1]=9,$++,P[9]++;while($<=279)v1[$*2+1]=7,$++,P[7]++;while($<=287)v1[$*2+1]=8,$++,P[8]++;oQ(v1,i0+1,P);for($=0;$<w0;$++)o0[$*2+1]=5,o0[$*2]=uQ($,5);mQ=new T8(v1,S8,s0+1,i0,d1),pQ=new T8(o0,p$,0,w0,d1),lQ=new T8([],l4,0,E8,p4)}function iQ($){var V;for(V=0;V<i0;V++)$.dyn_ltree[V*2]=0;for(V=0;V<w0;V++)$.dyn_dtree[V*2]=0;for(V=0;V<E8;V++)$.bl_tree[V*2]=0;$.dyn_ltree[y8*2]=1,$.opt_len=$.static_len=0,$.last_lit=$.matches=0}function nQ($){if($.bi_valid>8)a0($,$.bi_buf);else if($.bi_valid>0)$.pending_buf[$.pending++]=$.bi_buf;$.bi_buf=0,$.bi_valid=0}function n4($,V,Q,q){if(nQ($),q)a0($,Q),a0($,~Q);D4.arraySet($.pending_buf,$.window,V,Q,$.pending),$.pending+=Q}function gQ($,V,Q,q){var Y=V*2,P=Q*2;return $[Y]<$[P]||$[Y]===$[P]&&q[V]<=q[Q]}function R8($,V,Q){var q=$.heap[Q],Y=Q<<1;while(Y<=$.heap_len){if(Y<$.heap_len&&gQ(V,$.heap[Y+1],$.heap[Y],$.depth))Y++;if(gQ(V,q,$.heap[Y],$.depth))break;$.heap[Q]=$.heap[Y],Q=Y,Y<<=1}$.heap[Q]=q}function xQ($,V,Q){var q,Y,P=0,J,K;if($.last_lit!==0)do if(q=$.pending_buf[$.d_buf+P*2]<<8|$.pending_buf[$.d_buf+P*2+1],Y=$.pending_buf[$.l_buf+P],P++,q===0)L1($,Y,V);else{if(J=r0[Y],L1($,J+s0+1,V),K=S8[J],K!==0)Y-=k8[J],r($,Y,K);if(q--,J=dQ(q),L1($,J,Q),K=p$[J],K!==0)q-=l$[J],r($,q,K)}while(P<$.last_lit);L1($,y8,V)}function g8($,V){var Q=V.dyn_tree,q=V.stat_desc.static_tree,Y=V.stat_desc.has_stree,P=V.stat_desc.elems,J,K,U=-1,X;$.heap_len=0,$.heap_max=hQ;for(J=0;J<P;J++)if(Q[J*2]!==0)$.heap[++$.heap_len]=U=J,$.depth[J]=0;else Q[J*2+1]=0;while($.heap_len<2)if(X=$.heap[++$.heap_len]=U<2?++U:0,Q[X*2]=1,$.depth[X]=0,$.opt_len--,Y)$.static_len-=q[X*2+1];V.max_code=U;for(J=$.heap_len>>1;J>=1;J--)R8($,Q,J);X=P;do J=$.heap[1],$.heap[1]=$.heap[$.heap_len--],R8($,Q,1),K=$.heap[1],$.heap[--$.heap_max]=J,$.heap[--$.heap_max]=K,Q[X*2]=Q[J*2]+Q[K*2],$.depth[X]=($.depth[J]>=$.depth[K]?$.depth[J]:$.depth[K])+1,Q[J*2+1]=Q[K*2+1]=X,$.heap[1]=X++,R8($,Q,1);while($.heap_len>=2);$.heap[--$.heap_max]=$.heap[1],o4($,V),oQ(Q,U,$.bl_count)}function EQ($,V,Q){var q,Y=-1,P,J=V[1],K=0,U=7,X=4;if(J===0)U=138,X=3;V[(Q+1)*2+1]=65535;for(q=0;q<=Q;q++){if(P=J,J=V[(q+1)*2+1],++K<U&&P===J)continue;else if(K<X)$.bl_tree[P*2]+=K;else if(P!==0){if(P!==Y)$.bl_tree[P*2]++;$.bl_tree[fQ*2]++}else if(K<=10)$.bl_tree[bQ*2]++;else $.bl_tree[_Q*2]++;if(K=0,Y=P,J===0)U=138,X=3;else if(P===J)U=6,X=3;else U=7,X=4}}function yQ($,V,Q){var q,Y=-1,P,J=V[1],K=0,U=7,X=4;if(J===0)U=138,X=3;for(q=0;q<=Q;q++){if(P=J,J=V[(q+1)*2+1],++K<U&&P===J)continue;else if(K<X)do L1($,P,$.bl_tree);while(--K!==0);else if(P!==0){if(P!==Y)L1($,P,$.bl_tree),K--;L1($,fQ,$.bl_tree),r($,K-3,2)}else if(K<=10)L1($,bQ,$.bl_tree),r($,K-3,3);else L1($,_Q,$.bl_tree),r($,K-11,7);if(K=0,Y=P,J===0)U=138,X=3;else if(P===J)U=6,X=3;else U=7,X=4}}function r4($){var V;EQ($,$.dyn_ltree,$.l_desc.max_code),EQ($,$.dyn_dtree,$.d_desc.max_code),g8($,$.bl_desc);for(V=E8-1;V>=3;V--)if($.bl_tree[cQ[V]*2+1]!==0)break;return $.opt_len+=3*(V+1)+5+5+4,V}function a4($,V,Q,q){var Y;r($,V-257,5),r($,Q-1,5),r($,q-4,4);for(Y=0;Y<q;Y++)r($,$.bl_tree[cQ[Y]*2+1],3);yQ($,$.dyn_ltree,V-1),yQ($,$.dyn_dtree,Q-1)}function s4($){var V=4093624447,Q;for(Q=0;Q<=31;Q++,V>>>=1)if(V&1&&$.dyn_ltree[Q*2]!==0)return RQ;if($.dyn_ltree[18]!==0||$.dyn_ltree[20]!==0||$.dyn_ltree[26]!==0)return SQ;for(Q=32;Q<s0;Q++)if($.dyn_ltree[Q*2]!==0)return SQ;return RQ}var kQ=!1;function t4($){if(!kQ)i4(),kQ=!0;$.l_desc=new F8($.dyn_ltree,mQ),$.d_desc=new F8($.dyn_dtree,pQ),$.bl_desc=new F8($.bl_tree,lQ),$.bi_buf=0,$.bi_valid=0,iQ($)}function rQ($,V,Q,q){r($,(b4<<1)+(q?1:0),3),n4($,V,Q,!0)}function e4($){r($,DQ<<1,3),L1($,y8,v1),u4($)}function $P($,V,Q,q){var Y,P,J=0;if($.level>0){if($.strm.data_type===f4)$.strm.data_type=s4($);if(g8($,$.l_desc),g8($,$.d_desc),J=r4($),Y=$.opt_len+3+7>>>3,P=$.static_len+3+7>>>3,P<=Y)Y=P}else Y=P=Q+5;if(Q+4<=Y&&V!==-1)rQ($,V,Q,q);else if($.strategy===h4||P===Y)r($,(DQ<<1)+(q?1:0),3),xQ($,v1,o0);else r($,(_4<<1)+(q?1:0),3),a4($,$.l_desc.max_code+1,$.d_desc.max_code+1,J+1),xQ($,$.dyn_ltree,$.dyn_dtree);if(iQ($),q)nQ($)}function VP($,V,Q){if($.pending_buf[$.d_buf+$.last_lit*2]=V>>>8&255,$.pending_buf[$.d_buf+$.last_lit*2+1]=V&255,$.pending_buf[$.l_buf+$.last_lit]=Q&255,$.last_lit++,V===0)$.dyn_ltree[Q*2]++;else $.matches++,V--,$.dyn_ltree[(r0[Q]+s0+1)*2]++,$.dyn_dtree[dQ(V)*2]++;return $.last_lit===$.lit_bufsize-1}QP._tr_init=t4;QP._tr_stored_block=rQ;QP._tr_flush_block=$P;QP._tr_tally=VP;QP._tr_align=e4});var D8=z((PU,sQ)=>{function XP($,V,Q,q){var Y=$&65535|0,P=$>>>16&65535|0,J=0;while(Q!==0){J=Q>2000?2000:Q,Q-=J;do Y=Y+V[q++]|0,P=P+Y|0;while(--J);Y%=65521,P%=65521}return Y|P<<16|0}sQ.exports=XP});var h8=z((KU,tQ)=>{function GP(){var $,V=[];for(var Q=0;Q<256;Q++){$=Q;for(var q=0;q<8;q++)$=$&1?3988292384^$>>>1:$>>>1;V[Q]=$}return V}var UP=GP();function WP($,V,Q,q){var Y=UP,P=q+Q;$^=-1;for(var J=q;J<P;J++)$=$>>>8^Y[($^V[J])&255];return $^-1}tQ.exports=WP});var d$=z((XU,eQ)=>{eQ.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Xq=z((dP)=>{var n=A1(),$1=aQ(),qq=D8(),E1=h8(),HP=d$(),n1=0,jP=1,wP=3,f1=4,$q=5,O1=0,Vq=1,V1=-2,LP=-3,f8=-5,IP=-1,OP=1,u$=2,ZP=3,zP=4,CP=0,NP=2,r$=8,BP=9,MP=15,AP=8,vP=29,TP=256,_8=TP+1+vP,FP=30,RP=19,SP=2*_8+1,gP=15,g=3,D1=258,G1=D1+g+1,xP=32,a$=42,c8=69,o$=73,i$=91,n$=103,u1=113,e0=666,l=1,$$=2,o1=3,Z0=4,EP=3;function h1($,V){return $.msg=HP[V],V}function Qq($){return($<<1)-($>4?9:0)}function k1($){var V=$.length;while(--V>=0)$[V]=0}function y1($){var V=$.state,Q=V.pending;if(Q>$.avail_out)Q=$.avail_out;if(Q===0)return;if(n.arraySet($.output,V.pending_buf,V.pending_out,Q,$.next_out),$.next_out+=Q,V.pending_out+=Q,$.total_out+=Q,$.avail_out-=Q,V.pending-=Q,V.pending===0)V.pending_out=0}function u($,V){$1._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,V),$.block_start=$.strstart,y1($.strm)}function x($,V){$.pending_buf[$.pending++]=V}function t0($,V){$.pending_buf[$.pending++]=V>>>8&255,$.pending_buf[$.pending++]=V&255}function yP($,V,Q,q){var Y=$.avail_in;if(Y>q)Y=q;if(Y===0)return 0;if($.avail_in-=Y,n.arraySet(V,$.input,$.next_in,Y,Q),$.state.wrap===1)$.adler=qq($.adler,V,Y,Q);else if($.state.wrap===2)$.adler=E1($.adler,V,Y,Q);return $.next_in+=Y,$.total_in+=Y,Y}function Jq($,V){var{max_chain_length:Q,strstart:q}=$,Y,P,J=$.prev_length,K=$.nice_match,U=$.strstart>$.w_size-G1?$.strstart-($.w_size-G1):0,X=$.window,G=$.w_mask,j=$.prev,H=$.strstart+D1,W=X[q+J-1],C=X[q+J];if($.prev_length>=$.good_match)Q>>=2;if(K>$.lookahead)K=$.lookahead;do{if(Y=V,X[Y+J]!==C||X[Y+J-1]!==W||X[Y]!==X[q]||X[++Y]!==X[q+1])continue;q+=2,Y++;do;while(X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&X[++q]===X[++Y]&&q<H);if(P=D1-(H-q),q=H-D1,P>J){if($.match_start=V,J=P,P>=K)break;W=X[q+J-1],C=X[q+J]}}while((V=j[V&G])>U&&--Q!==0);if(J<=$.lookahead)return J;return $.lookahead}function i1($){var V=$.w_size,Q,q,Y,P,J;do{if(P=$.window_size-$.lookahead-$.strstart,$.strstart>=V+(V-G1)){n.arraySet($.window,$.window,V,V,0),$.match_start-=V,$.strstart-=V,$.block_start-=V,q=$.hash_size,Q=q;do Y=$.head[--Q],$.head[Q]=Y>=V?Y-V:0;while(--q);q=V,Q=q;do Y=$.prev[--Q],$.prev[Q]=Y>=V?Y-V:0;while(--q);P+=V}if($.strm.avail_in===0)break;if(q=yP($.strm,$.window,$.strstart+$.lookahead,P),$.lookahead+=q,$.lookahead+$.insert>=g){J=$.strstart-$.insert,$.ins_h=$.window[J],$.ins_h=($.ins_h<<$.hash_shift^$.window[J+1])&$.hash_mask;while($.insert)if($.ins_h=($.ins_h<<$.hash_shift^$.window[J+g-1])&$.hash_mask,$.prev[J&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=J,J++,$.insert--,$.lookahead+$.insert<g)break}}while($.lookahead<G1&&$.strm.avail_in!==0)}function kP($,V){var Q=65535;if(Q>$.pending_buf_size-5)Q=$.pending_buf_size-5;for(;;){if($.lookahead<=1){if(i1($),$.lookahead===0&&V===n1)return l;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var q=$.block_start+Q;if($.strstart===0||$.strstart>=q){if($.lookahead=$.strstart-q,$.strstart=q,u($,!1),$.strm.avail_out===0)return l}if($.strstart-$.block_start>=$.w_size-G1){if(u($,!1),$.strm.avail_out===0)return l}}if($.insert=0,V===f1){if(u($,!0),$.strm.avail_out===0)return o1;return Z0}if($.strstart>$.block_start){if(u($,!1),$.strm.avail_out===0)return l}return l}function b8($,V){var Q,q;for(;;){if($.lookahead<G1){if(i1($),$.lookahead<G1&&V===n1)return l;if($.lookahead===0)break}if(Q=0,$.lookahead>=g)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+g-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if(Q!==0&&$.strstart-Q<=$.w_size-G1)$.match_length=Jq($,Q);if($.match_length>=g)if(q=$1._tr_tally($,$.strstart-$.match_start,$.match_length-g),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=g){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+g-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else q=$1._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(q){if(u($,!1),$.strm.avail_out===0)return l}}if($.insert=$.strstart<g-1?$.strstart:g-1,V===f1){if(u($,!0),$.strm.avail_out===0)return o1;return Z0}if($.last_lit){if(u($,!1),$.strm.avail_out===0)return l}return $$}function I0($,V){var Q,q,Y;for(;;){if($.lookahead<G1){if(i1($),$.lookahead<G1&&V===n1)return l;if($.lookahead===0)break}if(Q=0,$.lookahead>=g)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+g-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if($.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=g-1,Q!==0&&$.prev_length<$.max_lazy_match&&$.strstart-Q<=$.w_size-G1){if($.match_length=Jq($,Q),$.match_length<=5&&($.strategy===OP||$.match_length===g&&$.strstart-$.match_start>4096))$.match_length=g-1}if($.prev_length>=g&&$.match_length<=$.prev_length){Y=$.strstart+$.lookahead-g,q=$1._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-g),$.lookahead-=$.prev_length-1,$.prev_length-=2;do if(++$.strstart<=Y)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+g-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.prev_length!==0);if($.match_available=0,$.match_length=g-1,$.strstart++,q){if(u($,!1),$.strm.avail_out===0)return l}}else if($.match_available){if(q=$1._tr_tally($,0,$.window[$.strstart-1]),q)u($,!1);if($.strstart++,$.lookahead--,$.strm.avail_out===0)return l}else $.match_available=1,$.strstart++,$.lookahead--}if($.match_available)q=$1._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0;if($.insert=$.strstart<g-1?$.strstart:g-1,V===f1){if(u($,!0),$.strm.avail_out===0)return o1;return Z0}if($.last_lit){if(u($,!1),$.strm.avail_out===0)return l}return $$}function DP($,V){var Q,q,Y,P,J=$.window;for(;;){if($.lookahead<=D1){if(i1($),$.lookahead<=D1&&V===n1)return l;if($.lookahead===0)break}if($.match_length=0,$.lookahead>=g&&$.strstart>0){if(Y=$.strstart-1,q=J[Y],q===J[++Y]&&q===J[++Y]&&q===J[++Y]){P=$.strstart+D1;do;while(q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&q===J[++Y]&&Y<P);if($.match_length=D1-(P-Y),$.match_length>$.lookahead)$.match_length=$.lookahead}}if($.match_length>=g)Q=$1._tr_tally($,1,$.match_length-g),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0;else Q=$1._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(Q){if(u($,!1),$.strm.avail_out===0)return l}}if($.insert=0,V===f1){if(u($,!0),$.strm.avail_out===0)return o1;return Z0}if($.last_lit){if(u($,!1),$.strm.avail_out===0)return l}return $$}function hP($,V){var Q;for(;;){if($.lookahead===0){if(i1($),$.lookahead===0){if(V===n1)return l;break}}if($.match_length=0,Q=$1._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,Q){if(u($,!1),$.strm.avail_out===0)return l}}if($.insert=0,V===f1){if(u($,!0),$.strm.avail_out===0)return o1;return Z0}if($.last_lit){if(u($,!1),$.strm.avail_out===0)return l}return $$}function I1($,V,Q,q,Y){this.good_length=$,this.max_lazy=V,this.nice_length=Q,this.max_chain=q,this.func=Y}var O0;O0=[new I1(0,0,0,0,kP),new I1(4,4,8,4,b8),new I1(4,5,16,8,b8),new I1(4,6,32,32,b8),new I1(4,4,16,16,I0),new I1(8,16,32,32,I0),new I1(8,16,128,128,I0),new I1(8,32,128,256,I0),new I1(32,128,258,1024,I0),new I1(32,258,258,4096,I0)];function fP($){$.window_size=2*$.w_size,k1($.head),$.max_lazy_match=O0[$.level].max_lazy,$.good_match=O0[$.level].good_length,$.nice_match=O0[$.level].nice_length,$.max_chain_length=O0[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=g-1,$.match_available=0,$.ins_h=0}function bP(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=r$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new n.Buf16(SP*2),this.dyn_dtree=new n.Buf16((2*FP+1)*2),this.bl_tree=new n.Buf16((2*RP+1)*2),k1(this.dyn_ltree),k1(this.dyn_dtree),k1(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(gP+1),this.heap=new n.Buf16(2*_8+1),k1(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(2*_8+1),k1(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Yq($){var V;if(!$||!$.state)return h1($,V1);if($.total_in=$.total_out=0,$.data_type=NP,V=$.state,V.pending=0,V.pending_out=0,V.wrap<0)V.wrap=-V.wrap;return V.status=V.wrap?a$:u1,$.adler=V.wrap===2?0:1,V.last_flush=n1,$1._tr_init(V),O1}function Pq($){var V=Yq($);if(V===O1)fP($.state);return V}function _P($,V){if(!$||!$.state)return V1;if($.state.wrap!==2)return V1;return $.state.gzhead=V,O1}function Kq($,V,Q,q,Y,P){if(!$)return V1;var J=1;if(V===IP)V=6;if(q<0)J=0,q=-q;else if(q>15)J=2,q-=16;if(Y<1||Y>BP||Q!==r$||q<8||q>15||V<0||V>9||P<0||P>zP)return h1($,V1);if(q===8)q=9;var K=new bP;return $.state=K,K.strm=$,K.wrap=J,K.gzhead=null,K.w_bits=q,K.w_size=1<<K.w_bits,K.w_mask=K.w_size-1,K.hash_bits=Y+7,K.hash_size=1<<K.hash_bits,K.hash_mask=K.hash_size-1,K.hash_shift=~~((K.hash_bits+g-1)/g),K.window=new n.Buf8(K.w_size*2),K.head=new n.Buf16(K.hash_size),K.prev=new n.Buf16(K.w_size),K.lit_bufsize=1<<Y+6,K.pending_buf_size=K.lit_bufsize*4,K.pending_buf=new n.Buf8(K.pending_buf_size),K.d_buf=1*K.lit_bufsize,K.l_buf=3*K.lit_bufsize,K.level=V,K.strategy=P,K.method=Q,Pq($)}function cP($,V){return Kq($,V,r$,MP,AP,CP)}function mP($,V){var Q,q,Y,P;if(!$||!$.state||V>$q||V<0)return $?h1($,V1):V1;if(q=$.state,!$.output||!$.input&&$.avail_in!==0||q.status===e0&&V!==f1)return h1($,$.avail_out===0?f8:V1);if(q.strm=$,Q=q.last_flush,q.last_flush=V,q.status===a$)if(q.wrap===2)if($.adler=0,x(q,31),x(q,139),x(q,8),!q.gzhead)x(q,0),x(q,0),x(q,0),x(q,0),x(q,0),x(q,q.level===9?2:q.strategy>=u$||q.level<2?4:0),x(q,EP),q.status=u1;else{if(x(q,(q.gzhead.text?1:0)+(q.gzhead.hcrc?2:0)+(!q.gzhead.extra?0:4)+(!q.gzhead.name?0:8)+(!q.gzhead.comment?0:16)),x(q,q.gzhead.time&255),x(q,q.gzhead.time>>8&255),x(q,q.gzhead.time>>16&255),x(q,q.gzhead.time>>24&255),x(q,q.level===9?2:q.strategy>=u$||q.level<2?4:0),x(q,q.gzhead.os&255),q.gzhead.extra&&q.gzhead.extra.length)x(q,q.gzhead.extra.length&255),x(q,q.gzhead.extra.length>>8&255);if(q.gzhead.hcrc)$.adler=E1($.adler,q.pending_buf,q.pending,0);q.gzindex=0,q.status=c8}else{var J=r$+(q.w_bits-8<<4)<<8,K=-1;if(q.strategy>=u$||q.level<2)K=0;else if(q.level<6)K=1;else if(q.level===6)K=2;else K=3;if(J|=K<<6,q.strstart!==0)J|=xP;if(J+=31-J%31,q.status=u1,t0(q,J),q.strstart!==0)t0(q,$.adler>>>16),t0(q,$.adler&65535);$.adler=1}if(q.status===c8)if(q.gzhead.extra){Y=q.pending;while(q.gzindex<(q.gzhead.extra.length&65535)){if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(y1($),Y=q.pending,q.pending===q.pending_buf_size)break}x(q,q.gzhead.extra[q.gzindex]&255),q.gzindex++}if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(q.gzindex===q.gzhead.extra.length)q.gzindex=0,q.status=o$}else q.status=o$;if(q.status===o$)if(q.gzhead.name){Y=q.pending;do{if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(y1($),Y=q.pending,q.pending===q.pending_buf_size){P=1;break}}if(q.gzindex<q.gzhead.name.length)P=q.gzhead.name.charCodeAt(q.gzindex++)&255;else P=0;x(q,P)}while(P!==0);if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(P===0)q.gzindex=0,q.status=i$}else q.status=i$;if(q.status===i$)if(q.gzhead.comment){Y=q.pending;do{if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(y1($),Y=q.pending,q.pending===q.pending_buf_size){P=1;break}}if(q.gzindex<q.gzhead.comment.length)P=q.gzhead.comment.charCodeAt(q.gzindex++)&255;else P=0;x(q,P)}while(P!==0);if(q.gzhead.hcrc&&q.pending>Y)$.adler=E1($.adler,q.pending_buf,q.pending-Y,Y);if(P===0)q.status=n$}else q.status=n$;if(q.status===n$)if(q.gzhead.hcrc){if(q.pending+2>q.pending_buf_size)y1($);if(q.pending+2<=q.pending_buf_size)x(q,$.adler&255),x(q,$.adler>>8&255),$.adler=0,q.status=u1}else q.status=u1;if(q.pending!==0){if(y1($),$.avail_out===0)return q.last_flush=-1,O1}else if($.avail_in===0&&Qq(V)<=Qq(Q)&&V!==f1)return h1($,f8);if(q.status===e0&&$.avail_in!==0)return h1($,f8);if($.avail_in!==0||q.lookahead!==0||V!==n1&&q.status!==e0){var U=q.strategy===u$?hP(q,V):q.strategy===ZP?DP(q,V):O0[q.level].func(q,V);if(U===o1||U===Z0)q.status=e0;if(U===l||U===o1){if($.avail_out===0)q.last_flush=-1;return O1}if(U===$$){if(V===jP)$1._tr_align(q);else if(V!==$q){if($1._tr_stored_block(q,0,0,!1),V===wP){if(k1(q.head),q.lookahead===0)q.strstart=0,q.block_start=0,q.insert=0}}if(y1($),$.avail_out===0)return q.last_flush=-1,O1}}if(V!==f1)return O1;if(q.wrap<=0)return Vq;if(q.wrap===2)x(q,$.adler&255),x(q,$.adler>>8&255),x(q,$.adler>>16&255),x(q,$.adler>>24&255),x(q,$.total_in&255),x(q,$.total_in>>8&255),x(q,$.total_in>>16&255),x(q,$.total_in>>24&255);else t0(q,$.adler>>>16),t0(q,$.adler&65535);if(y1($),q.wrap>0)q.wrap=-q.wrap;return q.pending!==0?O1:Vq}function pP($){var V;if(!$||!$.state)return V1;if(V=$.state.status,V!==a$&&V!==c8&&V!==o$&&V!==i$&&V!==n$&&V!==u1&&V!==e0)return h1($,V1);return $.state=null,V===u1?h1($,LP):O1}function lP($,V){var Q=V.length,q,Y,P,J,K,U,X,G;if(!$||!$.state)return V1;if(q=$.state,J=q.wrap,J===2||J===1&&q.status!==a$||q.lookahead)return V1;if(J===1)$.adler=qq($.adler,V,Q,0);if(q.wrap=0,Q>=q.w_size){if(J===0)k1(q.head),q.strstart=0,q.block_start=0,q.insert=0;G=new n.Buf8(q.w_size),n.arraySet(G,V,Q-q.w_size,q.w_size,0),V=G,Q=q.w_size}K=$.avail_in,U=$.next_in,X=$.input,$.avail_in=Q,$.next_in=0,$.input=V,i1(q);while(q.lookahead>=g){Y=q.strstart,P=q.lookahead-(g-1);do q.ins_h=(q.ins_h<<q.hash_shift^q.window[Y+g-1])&q.hash_mask,q.prev[Y&q.w_mask]=q.head[q.ins_h],q.head[q.ins_h]=Y,Y++;while(--P);q.strstart=Y,q.lookahead=g-1,i1(q)}return q.strstart+=q.lookahead,q.block_start=q.strstart,q.insert=q.lookahead,q.lookahead=0,q.match_length=q.prev_length=g-1,q.match_available=0,$.next_in=U,$.input=X,$.avail_in=K,q.wrap=J,O1}dP.deflateInit=cP;dP.deflateInit2=Kq;dP.deflateReset=Pq;dP.deflateResetKeep=Yq;dP.deflateSetHeader=_P;dP.deflate=mP;dP.deflateEnd=pP;dP.deflateSetDictionary=lP;dP.deflateInfo="pako deflate (from Nodeca project)"});var m8=z(($K)=>{var s$=A1(),Gq=!0,Uq=!0;try{String.fromCharCode.apply(null,[0])}catch($){Gq=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch($){Uq=!1}var V$=new s$.Buf8(256);for(Z1=0;Z1<256;Z1++)V$[Z1]=Z1>=252?6:Z1>=248?5:Z1>=240?4:Z1>=224?3:Z1>=192?2:1;var Z1;V$[254]=V$[254]=1;$K.string2buf=function($){var V,Q,q,Y,P,J=$.length,K=0;for(Y=0;Y<J;Y++){if(Q=$.charCodeAt(Y),(Q&64512)===55296&&Y+1<J){if(q=$.charCodeAt(Y+1),(q&64512)===56320)Q=65536+(Q-55296<<10)+(q-56320),Y++}K+=Q<128?1:Q<2048?2:Q<65536?3:4}V=new s$.Buf8(K);for(P=0,Y=0;P<K;Y++){if(Q=$.charCodeAt(Y),(Q&64512)===55296&&Y+1<J){if(q=$.charCodeAt(Y+1),(q&64512)===56320)Q=65536+(Q-55296<<10)+(q-56320),Y++}if(Q<128)V[P++]=Q;else if(Q<2048)V[P++]=192|Q>>>6,V[P++]=128|Q&63;else if(Q<65536)V[P++]=224|Q>>>12,V[P++]=128|Q>>>6&63,V[P++]=128|Q&63;else V[P++]=240|Q>>>18,V[P++]=128|Q>>>12&63,V[P++]=128|Q>>>6&63,V[P++]=128|Q&63}return V};function Wq($,V){if(V<65534){if($.subarray&&Uq||!$.subarray&&Gq)return String.fromCharCode.apply(null,s$.shrinkBuf($,V))}var Q="";for(var q=0;q<V;q++)Q+=String.fromCharCode($[q]);return Q}$K.buf2binstring=function($){return Wq($,$.length)};$K.binstring2buf=function($){var V=new s$.Buf8($.length);for(var Q=0,q=V.length;Q<q;Q++)V[Q]=$.charCodeAt(Q);return V};$K.buf2string=function($,V){var Q,q,Y,P,J=V||$.length,K=Array(J*2);for(q=0,Q=0;Q<J;){if(Y=$[Q++],Y<128){K[q++]=Y;continue}if(P=V$[Y],P>4){K[q++]=65533,Q+=P-1;continue}Y&=P===2?31:P===3?15:7;while(P>1&&Q<J)Y=Y<<6|$[Q++]&63,P--;if(P>1){K[q++]=65533;continue}if(Y<65536)K[q++]=Y;else Y-=65536,K[q++]=55296|Y>>10&1023,K[q++]=56320|Y&1023}return Wq(K,q)};$K.utf8border=function($,V){var Q;if(V=V||$.length,V>$.length)V=$.length;Q=V-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return V;if(Q===0)return V;return Q+V$[$[Q]]>V?Q:V}});var p8=z((WU,Hq)=>{function PK(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}Hq.exports=PK});var Iq=z((wK)=>{var Q$=Xq(),q$=A1(),d8=m8(),u8=d$(),KK=p8(),Lq=Object.prototype.toString,XK=0,l8=4,z0=0,jq=1,wq=2,GK=-1,UK=0,WK=8;function r1($){if(!(this instanceof r1))return new r1($);this.options=q$.assign({level:GK,method:WK,chunkSize:16384,windowBits:15,memLevel:8,strategy:UK,to:""},$||{});var V=this.options;if(V.raw&&V.windowBits>0)V.windowBits=-V.windowBits;else if(V.gzip&&V.windowBits>0&&V.windowBits<16)V.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new KK,this.strm.avail_out=0;var Q=Q$.deflateInit2(this.strm,V.level,V.method,V.windowBits,V.memLevel,V.strategy);if(Q!==z0)throw Error(u8[Q]);if(V.header)Q$.deflateSetHeader(this.strm,V.header);if(V.dictionary){var q;if(typeof V.dictionary==="string")q=d8.string2buf(V.dictionary);else if(Lq.call(V.dictionary)==="[object ArrayBuffer]")q=new Uint8Array(V.dictionary);else q=V.dictionary;if(Q=Q$.deflateSetDictionary(this.strm,q),Q!==z0)throw Error(u8[Q]);this._dict_set=!0}}r1.prototype.push=function($,V){var Q=this.strm,q=this.options.chunkSize,Y,P;if(this.ended)return!1;if(P=V===~~V?V:V===!0?l8:XK,typeof $==="string")Q.input=d8.string2buf($);else if(Lq.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new q$.Buf8(q),Q.next_out=0,Q.avail_out=q;if(Y=Q$.deflate(Q,P),Y!==jq&&Y!==z0)return this.onEnd(Y),this.ended=!0,!1;if(Q.avail_out===0||Q.avail_in===0&&(P===l8||P===wq))if(this.options.to==="string")this.onData(d8.buf2binstring(q$.shrinkBuf(Q.output,Q.next_out)));else this.onData(q$.shrinkBuf(Q.output,Q.next_out))}while((Q.avail_in>0||Q.avail_out===0)&&Y!==jq);if(P===l8)return Y=Q$.deflateEnd(this.strm),this.onEnd(Y),this.ended=!0,Y===z0;if(P===wq)return this.onEnd(z0),Q.avail_out=0,!0;return!0};r1.prototype.onData=function($){this.chunks.push($)};r1.prototype.onEnd=function($){if($===z0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=q$.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function o8($,V){var Q=new r1(V);if(Q.push($,!0),Q.err)throw Q.msg||u8[Q.err];return Q.result}function HK($,V){return V=V||{},V.raw=!0,o8($,V)}function jK($,V){return V=V||{},V.gzip=!0,o8($,V)}wK.Deflate=r1;wK.deflate=o8;wK.deflateRaw=HK;wK.gzip=jK});var Zq=z((jU,Oq)=>{var t$=30,zK=12;Oq.exports=function(V,Q){var q,Y,P,J,K,U,X,G,j,H,W,C,Z,N,I,O,M,w,L,v,F,T,S,D,A;q=V.state,Y=V.next_in,D=V.input,P=Y+(V.avail_in-5),J=V.next_out,A=V.output,K=J-(Q-V.avail_out),U=J+(V.avail_out-257),X=q.dmax,G=q.wsize,j=q.whave,H=q.wnext,W=q.window,C=q.hold,Z=q.bits,N=q.lencode,I=q.distcode,O=(1<<q.lenbits)-1,M=(1<<q.distbits)-1;$:do{if(Z<15)C+=D[Y++]<<Z,Z+=8,C+=D[Y++]<<Z,Z+=8;w=N[C&O];V:for(;;){if(L=w>>>24,C>>>=L,Z-=L,L=w>>>16&255,L===0)A[J++]=w&65535;else if(L&16){if(v=w&65535,L&=15,L){if(Z<L)C+=D[Y++]<<Z,Z+=8;v+=C&(1<<L)-1,C>>>=L,Z-=L}if(Z<15)C+=D[Y++]<<Z,Z+=8,C+=D[Y++]<<Z,Z+=8;w=I[C&M];Q:for(;;){if(L=w>>>24,C>>>=L,Z-=L,L=w>>>16&255,L&16){if(F=w&65535,L&=15,Z<L){if(C+=D[Y++]<<Z,Z+=8,Z<L)C+=D[Y++]<<Z,Z+=8}if(F+=C&(1<<L)-1,F>X){V.msg="invalid distance too far back",q.mode=t$;break $}if(C>>>=L,Z-=L,L=J-K,F>L){if(L=F-L,L>j){if(q.sane){V.msg="invalid distance too far back",q.mode=t$;break $}}if(T=0,S=W,H===0){if(T+=G-L,L<v){v-=L;do A[J++]=W[T++];while(--L);T=J-F,S=A}}else if(H<L){if(T+=G+H-L,L-=H,L<v){v-=L;do A[J++]=W[T++];while(--L);if(T=0,H<v){L=H,v-=L;do A[J++]=W[T++];while(--L);T=J-F,S=A}}}else if(T+=H-L,L<v){v-=L;do A[J++]=W[T++];while(--L);T=J-F,S=A}while(v>2)A[J++]=S[T++],A[J++]=S[T++],A[J++]=S[T++],v-=3;if(v){if(A[J++]=S[T++],v>1)A[J++]=S[T++]}}else{T=J-F;do A[J++]=A[T++],A[J++]=A[T++],A[J++]=A[T++],v-=3;while(v>2);if(v){if(A[J++]=A[T++],v>1)A[J++]=A[T++]}}}else if((L&64)===0){w=I[(w&65535)+(C&(1<<L)-1)];continue Q}else{V.msg="invalid distance code",q.mode=t$;break $}break}}else if((L&64)===0){w=N[(w&65535)+(C&(1<<L)-1)];continue V}else if(L&32){q.mode=zK;break $}else{V.msg="invalid literal/length code",q.mode=t$;break $}break}}while(Y<P&&J<U);v=Z>>3,Y-=v,Z-=v<<3,C&=(1<<Z)-1,V.next_in=Y,V.next_out=J,V.avail_in=Y<P?5+(P-Y):5-(Y-P),V.avail_out=J<U?257+(U-J):257-(J-U),q.hold=C,q.bits=Z;return}});var vq=z((wU,Aq)=>{var zq=A1(),C0=15,Cq=852,Nq=592,Bq=0,i8=1,Mq=2,CK=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],NK=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],BK=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],MK=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Aq.exports=function(V,Q,q,Y,P,J,K,U){var X=U.bits,G=0,j=0,H=0,W=0,C=0,Z=0,N=0,I=0,O=0,M=0,w,L,v,F,T,S=null,D=0,A,a=new zq.Buf16(C0+1),e1=new zq.Buf16(C0+1),G$=null,BV=0,MV,U$,W$;for(G=0;G<=C0;G++)a[G]=0;for(j=0;j<Y;j++)a[Q[q+j]]++;C=X;for(W=C0;W>=1;W--)if(a[W]!==0)break;if(C>W)C=W;if(W===0)return P[J++]=20971520,P[J++]=20971520,U.bits=1,0;for(H=1;H<W;H++)if(a[H]!==0)break;if(C<H)C=H;I=1;for(G=1;G<=C0;G++)if(I<<=1,I-=a[G],I<0)return-1;if(I>0&&(V===Bq||W!==1))return-1;e1[1]=0;for(G=1;G<C0;G++)e1[G+1]=e1[G]+a[G];for(j=0;j<Y;j++)if(Q[q+j]!==0)K[e1[Q[q+j]]++]=j;if(V===Bq)S=G$=K,A=19;else if(V===i8)S=CK,D-=257,G$=NK,BV-=257,A=256;else S=BK,G$=MK,A=-1;if(M=0,j=0,G=H,T=J,Z=C,N=0,v=-1,O=1<<C,F=O-1,V===i8&&O>Cq||V===Mq&&O>Nq)return 1;for(;;){if(MV=G-N,K[j]<A)U$=0,W$=K[j];else if(K[j]>A)U$=G$[BV+K[j]],W$=S[D+K[j]];else U$=96,W$=0;w=1<<G-N,L=1<<Z,H=L;do L-=w,P[T+(M>>N)+L]=MV<<24|U$<<16|W$|0;while(L!==0);w=1<<G-1;while(M&w)w>>=1;if(w!==0)M&=w-1,M+=w;else M=0;if(j++,--a[G]===0){if(G===W)break;G=Q[q+K[j]]}if(G>C&&(M&F)!==v){if(N===0)N=C;T+=H,Z=G-N,I=1<<Z;while(Z+N<W){if(I-=a[Z+N],I<=0)break;Z++,I<<=1}if(O+=1<<Z,V===i8&&O>Cq||V===Mq&&O>Nq)return 1;v=M&F,P[v]=C<<24|Z<<16|T-J|0}}if(M!==0)P[T+M]=G-N<<24|4194304|0;return U.bits=C,0}});var PJ=z((pK)=>{var e=A1(),e8=D8(),z1=h8(),AK=Zq(),J$=vq(),vK=0,sq=1,tq=2,Tq=4,TK=5,e$=6,a1=0,FK=1,RK=2,Q1=-2,eq=-3,$V=-4,SK=-5,Fq=8,$J=1,Rq=2,Sq=3,gq=4,xq=5,Eq=6,yq=7,kq=8,Dq=9,hq=10,Q6=11,T1=12,n8=13,fq=14,r8=15,bq=16,_q=17,cq=18,mq=19,$6=20,V6=21,pq=22,lq=23,dq=24,uq=25,oq=26,a8=27,iq=28,nq=29,b=30,VV=31,gK=32,xK=852,EK=592,yK=15,kK=yK;function rq($){return($>>>24&255)+($>>>8&65280)+(($&65280)<<8)+(($&255)<<24)}function DK(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new e.Buf16(320),this.work=new e.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function VJ($){var V;if(!$||!$.state)return Q1;if(V=$.state,$.total_in=$.total_out=V.total=0,$.msg="",V.wrap)$.adler=V.wrap&1;return V.mode=$J,V.last=0,V.havedict=0,V.dmax=32768,V.head=null,V.hold=0,V.bits=0,V.lencode=V.lendyn=new e.Buf32(xK),V.distcode=V.distdyn=new e.Buf32(EK),V.sane=1,V.back=-1,a1}function QJ($){var V;if(!$||!$.state)return Q1;return V=$.state,V.wsize=0,V.whave=0,V.wnext=0,VJ($)}function qJ($,V){var Q,q;if(!$||!$.state)return Q1;if(q=$.state,V<0)Q=0,V=-V;else if(Q=(V>>4)+1,V<48)V&=15;if(V&&(V<8||V>15))return Q1;if(q.window!==null&&q.wbits!==V)q.window=null;return q.wrap=Q,q.wbits=V,QJ($)}function JJ($,V){var Q,q;if(!$)return Q1;if(q=new DK,$.state=q,q.window=null,Q=qJ($,V),Q!==a1)$.state=null;return Q}function hK($){return JJ($,kK)}var aq=!0,s8,t8;function fK($){if(aq){var V;s8=new e.Buf32(512),t8=new e.Buf32(32),V=0;while(V<144)$.lens[V++]=8;while(V<256)$.lens[V++]=9;while(V<280)$.lens[V++]=7;while(V<288)$.lens[V++]=8;J$(sq,$.lens,0,288,s8,0,$.work,{bits:9}),V=0;while(V<32)$.lens[V++]=5;J$(tq,$.lens,0,32,t8,0,$.work,{bits:5}),aq=!1}$.lencode=s8,$.lenbits=9,$.distcode=t8,$.distbits=5}function YJ($,V,Q,q){var Y,P=$.state;if(P.window===null)P.wsize=1<<P.wbits,P.wnext=0,P.whave=0,P.window=new e.Buf8(P.wsize);if(q>=P.wsize)e.arraySet(P.window,V,Q-P.wsize,P.wsize,0),P.wnext=0,P.whave=P.wsize;else{if(Y=P.wsize-P.wnext,Y>q)Y=q;if(e.arraySet(P.window,V,Q-q,Y,P.wnext),q-=Y,q)e.arraySet(P.window,V,Q-q,q,0),P.wnext=q,P.whave=P.wsize;else{if(P.wnext+=Y,P.wnext===P.wsize)P.wnext=0;if(P.whave<P.wsize)P.whave+=Y}}return 0}function bK($,V){var Q,q,Y,P,J,K,U,X,G,j,H,W,C,Z,N=0,I,O,M,w,L,v,F,T,S=new e.Buf8(4),D,A,a=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!$||!$.state||!$.output||!$.input&&$.avail_in!==0)return Q1;if(Q=$.state,Q.mode===T1)Q.mode=n8;J=$.next_out,Y=$.output,U=$.avail_out,P=$.next_in,q=$.input,K=$.avail_in,X=Q.hold,G=Q.bits,j=K,H=U,T=a1;$:for(;;)switch(Q.mode){case $J:if(Q.wrap===0){Q.mode=n8;break}while(G<16){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.wrap&2&&X===35615){Q.check=0,S[0]=X&255,S[1]=X>>>8&255,Q.check=z1(Q.check,S,2,0),X=0,G=0,Q.mode=Rq;break}if(Q.flags=0,Q.head)Q.head.done=!1;if(!(Q.wrap&1)||(((X&255)<<8)+(X>>8))%31){$.msg="incorrect header check",Q.mode=b;break}if((X&15)!==Fq){$.msg="unknown compression method",Q.mode=b;break}if(X>>>=4,G-=4,F=(X&15)+8,Q.wbits===0)Q.wbits=F;else if(F>Q.wbits){$.msg="invalid window size",Q.mode=b;break}Q.dmax=1<<F,$.adler=Q.check=1,Q.mode=X&512?hq:T1,X=0,G=0;break;case Rq:while(G<16){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.flags=X,(Q.flags&255)!==Fq){$.msg="unknown compression method",Q.mode=b;break}if(Q.flags&57344){$.msg="unknown header flags set",Q.mode=b;break}if(Q.head)Q.head.text=X>>8&1;if(Q.flags&512)S[0]=X&255,S[1]=X>>>8&255,Q.check=z1(Q.check,S,2,0);X=0,G=0,Q.mode=Sq;case Sq:while(G<32){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.head)Q.head.time=X;if(Q.flags&512)S[0]=X&255,S[1]=X>>>8&255,S[2]=X>>>16&255,S[3]=X>>>24&255,Q.check=z1(Q.check,S,4,0);X=0,G=0,Q.mode=gq;case gq:while(G<16){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.head)Q.head.xflags=X&255,Q.head.os=X>>8;if(Q.flags&512)S[0]=X&255,S[1]=X>>>8&255,Q.check=z1(Q.check,S,2,0);X=0,G=0,Q.mode=xq;case xq:if(Q.flags&1024){while(G<16){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.length=X,Q.head)Q.head.extra_len=X;if(Q.flags&512)S[0]=X&255,S[1]=X>>>8&255,Q.check=z1(Q.check,S,2,0);X=0,G=0}else if(Q.head)Q.head.extra=null;Q.mode=Eq;case Eq:if(Q.flags&1024){if(W=Q.length,W>K)W=K;if(W){if(Q.head){if(F=Q.head.extra_len-Q.length,!Q.head.extra)Q.head.extra=Array(Q.head.extra_len);e.arraySet(Q.head.extra,q,P,W,F)}if(Q.flags&512)Q.check=z1(Q.check,q,W,P);K-=W,P+=W,Q.length-=W}if(Q.length)break $}Q.length=0,Q.mode=yq;case yq:if(Q.flags&2048){if(K===0)break $;W=0;do if(F=q[P+W++],Q.head&&F&&Q.length<65536)Q.head.name+=String.fromCharCode(F);while(F&&W<K);if(Q.flags&512)Q.check=z1(Q.check,q,W,P);if(K-=W,P+=W,F)break $}else if(Q.head)Q.head.name=null;Q.length=0,Q.mode=kq;case kq:if(Q.flags&4096){if(K===0)break $;W=0;do if(F=q[P+W++],Q.head&&F&&Q.length<65536)Q.head.comment+=String.fromCharCode(F);while(F&&W<K);if(Q.flags&512)Q.check=z1(Q.check,q,W,P);if(K-=W,P+=W,F)break $}else if(Q.head)Q.head.comment=null;Q.mode=Dq;case Dq:if(Q.flags&512){while(G<16){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(X!==(Q.check&65535)){$.msg="header crc mismatch",Q.mode=b;break}X=0,G=0}if(Q.head)Q.head.hcrc=Q.flags>>9&1,Q.head.done=!0;$.adler=Q.check=0,Q.mode=T1;break;case hq:while(G<32){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}$.adler=Q.check=rq(X),X=0,G=0,Q.mode=Q6;case Q6:if(Q.havedict===0)return $.next_out=J,$.avail_out=U,$.next_in=P,$.avail_in=K,Q.hold=X,Q.bits=G,RK;$.adler=Q.check=1,Q.mode=T1;case T1:if(V===TK||V===e$)break $;case n8:if(Q.last){X>>>=G&7,G-=G&7,Q.mode=a8;break}while(G<3){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}switch(Q.last=X&1,X>>>=1,G-=1,X&3){case 0:Q.mode=fq;break;case 1:if(fK(Q),Q.mode=$6,V===e$){X>>>=2,G-=2;break $}break;case 2:Q.mode=_q;break;case 3:$.msg="invalid block type",Q.mode=b}X>>>=2,G-=2;break;case fq:X>>>=G&7,G-=G&7;while(G<32){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if((X&65535)!==(X>>>16^65535)){$.msg="invalid stored block lengths",Q.mode=b;break}if(Q.length=X&65535,X=0,G=0,Q.mode=r8,V===e$)break $;case r8:Q.mode=bq;case bq:if(W=Q.length,W){if(W>K)W=K;if(W>U)W=U;if(W===0)break $;e.arraySet(Y,q,P,W,J),K-=W,P+=W,U-=W,J+=W,Q.length-=W;break}Q.mode=T1;break;case _q:while(G<14){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(Q.nlen=(X&31)+257,X>>>=5,G-=5,Q.ndist=(X&31)+1,X>>>=5,G-=5,Q.ncode=(X&15)+4,X>>>=4,G-=4,Q.nlen>286||Q.ndist>30){$.msg="too many length or distance symbols",Q.mode=b;break}Q.have=0,Q.mode=cq;case cq:while(Q.have<Q.ncode){while(G<3){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}Q.lens[a[Q.have++]]=X&7,X>>>=3,G-=3}while(Q.have<19)Q.lens[a[Q.have++]]=0;if(Q.lencode=Q.lendyn,Q.lenbits=7,D={bits:Q.lenbits},T=J$(vK,Q.lens,0,19,Q.lencode,0,Q.work,D),Q.lenbits=D.bits,T){$.msg="invalid code lengths set",Q.mode=b;break}Q.have=0,Q.mode=mq;case mq:while(Q.have<Q.nlen+Q.ndist){for(;;){if(N=Q.lencode[X&(1<<Q.lenbits)-1],I=N>>>24,O=N>>>16&255,M=N&65535,I<=G)break;if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(M<16)X>>>=I,G-=I,Q.lens[Q.have++]=M;else{if(M===16){A=I+2;while(G<A){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(X>>>=I,G-=I,Q.have===0){$.msg="invalid bit length repeat",Q.mode=b;break}F=Q.lens[Q.have-1],W=3+(X&3),X>>>=2,G-=2}else if(M===17){A=I+3;while(G<A){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}X>>>=I,G-=I,F=0,W=3+(X&7),X>>>=3,G-=3}else{A=I+7;while(G<A){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}X>>>=I,G-=I,F=0,W=11+(X&127),X>>>=7,G-=7}if(Q.have+W>Q.nlen+Q.ndist){$.msg="invalid bit length repeat",Q.mode=b;break}while(W--)Q.lens[Q.have++]=F}}if(Q.mode===b)break;if(Q.lens[256]===0){$.msg="invalid code -- missing end-of-block",Q.mode=b;break}if(Q.lenbits=9,D={bits:Q.lenbits},T=J$(sq,Q.lens,0,Q.nlen,Q.lencode,0,Q.work,D),Q.lenbits=D.bits,T){$.msg="invalid literal/lengths set",Q.mode=b;break}if(Q.distbits=6,Q.distcode=Q.distdyn,D={bits:Q.distbits},T=J$(tq,Q.lens,Q.nlen,Q.ndist,Q.distcode,0,Q.work,D),Q.distbits=D.bits,T){$.msg="invalid distances set",Q.mode=b;break}if(Q.mode=$6,V===e$)break $;case $6:Q.mode=V6;case V6:if(K>=6&&U>=258){if($.next_out=J,$.avail_out=U,$.next_in=P,$.avail_in=K,Q.hold=X,Q.bits=G,AK($,H),J=$.next_out,Y=$.output,U=$.avail_out,P=$.next_in,q=$.input,K=$.avail_in,X=Q.hold,G=Q.bits,Q.mode===T1)Q.back=-1;break}Q.back=0;for(;;){if(N=Q.lencode[X&(1<<Q.lenbits)-1],I=N>>>24,O=N>>>16&255,M=N&65535,I<=G)break;if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(O&&(O&240)===0){w=I,L=O,v=M;for(;;){if(N=Q.lencode[v+((X&(1<<w+L)-1)>>w)],I=N>>>24,O=N>>>16&255,M=N&65535,w+I<=G)break;if(K===0)break $;K--,X+=q[P++]<<G,G+=8}X>>>=w,G-=w,Q.back+=w}if(X>>>=I,G-=I,Q.back+=I,Q.length=M,O===0){Q.mode=oq;break}if(O&32){Q.back=-1,Q.mode=T1;break}if(O&64){$.msg="invalid literal/length code",Q.mode=b;break}Q.extra=O&15,Q.mode=pq;case pq:if(Q.extra){A=Q.extra;while(G<A){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}Q.length+=X&(1<<Q.extra)-1,X>>>=Q.extra,G-=Q.extra,Q.back+=Q.extra}Q.was=Q.length,Q.mode=lq;case lq:for(;;){if(N=Q.distcode[X&(1<<Q.distbits)-1],I=N>>>24,O=N>>>16&255,M=N&65535,I<=G)break;if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if((O&240)===0){w=I,L=O,v=M;for(;;){if(N=Q.distcode[v+((X&(1<<w+L)-1)>>w)],I=N>>>24,O=N>>>16&255,M=N&65535,w+I<=G)break;if(K===0)break $;K--,X+=q[P++]<<G,G+=8}X>>>=w,G-=w,Q.back+=w}if(X>>>=I,G-=I,Q.back+=I,O&64){$.msg="invalid distance code",Q.mode=b;break}Q.offset=M,Q.extra=O&15,Q.mode=dq;case dq:if(Q.extra){A=Q.extra;while(G<A){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}Q.offset+=X&(1<<Q.extra)-1,X>>>=Q.extra,G-=Q.extra,Q.back+=Q.extra}if(Q.offset>Q.dmax){$.msg="invalid distance too far back",Q.mode=b;break}Q.mode=uq;case uq:if(U===0)break $;if(W=H-U,Q.offset>W){if(W=Q.offset-W,W>Q.whave){if(Q.sane){$.msg="invalid distance too far back",Q.mode=b;break}}if(W>Q.wnext)W-=Q.wnext,C=Q.wsize-W;else C=Q.wnext-W;if(W>Q.length)W=Q.length;Z=Q.window}else Z=Y,C=J-Q.offset,W=Q.length;if(W>U)W=U;U-=W,Q.length-=W;do Y[J++]=Z[C++];while(--W);if(Q.length===0)Q.mode=V6;break;case oq:if(U===0)break $;Y[J++]=Q.length,U--,Q.mode=V6;break;case a8:if(Q.wrap){while(G<32){if(K===0)break $;K--,X|=q[P++]<<G,G+=8}if(H-=U,$.total_out+=H,Q.total+=H,H)$.adler=Q.check=Q.flags?z1(Q.check,Y,H,J-H):e8(Q.check,Y,H,J-H);if(H=U,(Q.flags?X:rq(X))!==Q.check){$.msg="incorrect data check",Q.mode=b;break}X=0,G=0}Q.mode=iq;case iq:if(Q.wrap&&Q.flags){while(G<32){if(K===0)break $;K--,X+=q[P++]<<G,G+=8}if(X!==(Q.total&4294967295)){$.msg="incorrect length check",Q.mode=b;break}X=0,G=0}Q.mode=nq;case nq:T=FK;break $;case b:T=eq;break $;case VV:return $V;case gK:default:return Q1}if($.next_out=J,$.avail_out=U,$.next_in=P,$.avail_in=K,Q.hold=X,Q.bits=G,Q.wsize||H!==$.avail_out&&Q.mode<b&&(Q.mode<a8||V!==Tq)){if(YJ($,$.output,$.next_out,H-$.avail_out))return Q.mode=VV,$V}if(j-=$.avail_in,H-=$.avail_out,$.total_in+=j,$.total_out+=H,Q.total+=H,Q.wrap&&H)$.adler=Q.check=Q.flags?z1(Q.check,Y,H,$.next_out-H):e8(Q.check,Y,H,$.next_out-H);if($.data_type=Q.bits+(Q.last?64:0)+(Q.mode===T1?128:0)+(Q.mode===$6||Q.mode===r8?256:0),(j===0&&H===0||V===Tq)&&T===a1)T=SK;return T}function _K($){if(!$||!$.state)return Q1;var V=$.state;if(V.window)V.window=null;return $.state=null,a1}function cK($,V){var Q;if(!$||!$.state)return Q1;if(Q=$.state,(Q.wrap&2)===0)return Q1;return Q.head=V,V.done=!1,a1}function mK($,V){var Q=V.length,q,Y,P;if(!$||!$.state)return Q1;if(q=$.state,q.wrap!==0&&q.mode!==Q6)return Q1;if(q.mode===Q6){if(Y=1,Y=e8(Y,V,Q,0),Y!==q.check)return eq}if(P=YJ($,V,Q,Q),P)return q.mode=VV,$V;return q.havedict=1,a1}pK.inflateReset=QJ;pK.inflateReset2=qJ;pK.inflateResetKeep=VJ;pK.inflateInit=hK;pK.inflateInit2=JJ;pK.inflate=bK;pK.inflateEnd=_K;pK.inflateGetHeader=cK;pK.inflateSetDictionary=mK;pK.inflateInfo="pako inflate (from Nodeca project)"});var QV=z((IU,KJ)=>{KJ.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var GJ=z((OU,XJ)=>{function eK(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}XJ.exports=eK});var WJ=z((qX)=>{var N0=PJ(),Y$=A1(),q6=m8(),m=QV(),qV=d$(),$X=p8(),VX=GJ(),UJ=Object.prototype.toString;function s1($){if(!(this instanceof s1))return new s1($);this.options=Y$.assign({chunkSize:16384,windowBits:0,to:""},$||{});var V=this.options;if(V.raw&&V.windowBits>=0&&V.windowBits<16){if(V.windowBits=-V.windowBits,V.windowBits===0)V.windowBits=-15}if(V.windowBits>=0&&V.windowBits<16&&!($&&$.windowBits))V.windowBits+=32;if(V.windowBits>15&&V.windowBits<48){if((V.windowBits&15)===0)V.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $X,this.strm.avail_out=0;var Q=N0.inflateInit2(this.strm,V.windowBits);if(Q!==m.Z_OK)throw Error(qV[Q]);if(this.header=new VX,N0.inflateGetHeader(this.strm,this.header),V.dictionary){if(typeof V.dictionary==="string")V.dictionary=q6.string2buf(V.dictionary);else if(UJ.call(V.dictionary)==="[object ArrayBuffer]")V.dictionary=new Uint8Array(V.dictionary);if(V.raw){if(Q=N0.inflateSetDictionary(this.strm,V.dictionary),Q!==m.Z_OK)throw Error(qV[Q])}}}s1.prototype.push=function($,V){var Q=this.strm,q=this.options.chunkSize,Y=this.options.dictionary,P,J,K,U,X,G=!1;if(this.ended)return!1;if(J=V===~~V?V:V===!0?m.Z_FINISH:m.Z_NO_FLUSH,typeof $==="string")Q.input=q6.binstring2buf($);else if(UJ.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new Y$.Buf8(q),Q.next_out=0,Q.avail_out=q;if(P=N0.inflate(Q,m.Z_NO_FLUSH),P===m.Z_NEED_DICT&&Y)P=N0.inflateSetDictionary(this.strm,Y);if(P===m.Z_BUF_ERROR&&G===!0)P=m.Z_OK,G=!1;if(P!==m.Z_STREAM_END&&P!==m.Z_OK)return this.onEnd(P),this.ended=!0,!1;if(Q.next_out){if(Q.avail_out===0||P===m.Z_STREAM_END||Q.avail_in===0&&(J===m.Z_FINISH||J===m.Z_SYNC_FLUSH))if(this.options.to==="string"){if(K=q6.utf8border(Q.output,Q.next_out),U=Q.next_out-K,X=q6.buf2string(Q.output,K),Q.next_out=U,Q.avail_out=q-U,U)Y$.arraySet(Q.output,Q.output,K,U,0);this.onData(X)}else this.onData(Y$.shrinkBuf(Q.output,Q.next_out))}if(Q.avail_in===0&&Q.avail_out===0)G=!0}while((Q.avail_in>0||Q.avail_out===0)&&P!==m.Z_STREAM_END);if(P===m.Z_STREAM_END)J=m.Z_FINISH;if(J===m.Z_FINISH)return P=N0.inflateEnd(this.strm),this.onEnd(P),this.ended=!0,P===m.Z_OK;if(J===m.Z_SYNC_FLUSH)return this.onEnd(m.Z_OK),Q.avail_out=0,!0;return!0};s1.prototype.onData=function($){this.chunks.push($)};s1.prototype.onEnd=function($){if($===m.Z_OK)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=Y$.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function JV($,V){var Q=new s1(V);if(Q.push($,!0),Q.err)throw Q.msg||qV[Q.err];return Q.result}function QX($,V){return V=V||{},V.raw=!0,JV($,V)}qX.Inflate=s1;qX.inflate=JV;qX.inflateRaw=QX;qX.ungzip=JV});var wJ=z((zU,jJ)=>{var XX=A1().assign,GX=Iq(),UX=WJ(),WX=QV(),HJ={};XX(HJ,GX,UX,WX);jJ.exports=HJ});var IJ=z((LX)=>{var HX=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",jX=wJ(),LJ=_(),J6=t(),wX=HX?"uint8array":"array";LX.magic="\b\x00";function t1($,V){J6.call(this,"FlateWorker/"+$),this._pako=null,this._pakoAction=$,this._pakoOptions=V,this.meta={}}LJ.inherits(t1,J6);t1.prototype.processChunk=function($){if(this.meta=$.meta,this._pako===null)this._createPako();this._pako.push(LJ.transformTo(wX,$.data),!1)};t1.prototype.flush=function(){if(J6.prototype.flush.call(this),this._pako===null)this._createPako();this._pako.push([],!0)};t1.prototype.cleanUp=function(){J6.prototype.cleanUp.call(this),this._pako=null};t1.prototype._createPako=function(){this._pako=new jX[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var $=this;this._pako.onData=function(V){$.push({data:V,meta:$.meta})}};LX.compressWorker=function($){return new t1("Deflate",$)};LX.uncompressWorker=function(){return new t1("Inflate",{})}});var YV=z((zX)=>{var OJ=t();zX.STORE={magic:"\x00\x00",compressWorker:function(){return new OJ("STORE compression")},uncompressWorker:function(){return new OJ("STORE decompression")}};zX.DEFLATE=IJ()});var PV=z((BX)=>{BX.LOCAL_FILE_HEADER="PK\x03\x04";BX.CENTRAL_FILE_HEADER="PK\x01\x02";BX.CENTRAL_DIRECTORY_END="PK\x05\x06";BX.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07";BX.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06";BX.DATA_DESCRIPTOR="PK\x07\b"});var NJ=z((MU,CJ)=>{var B0=_(),M0=t(),KV=H0(),ZJ=c$(),Y6=PV(),k=function($,V){var Q="",q;for(q=0;q<V;q++)Q+=String.fromCharCode($&255),$=$>>>8;return Q},SX=function($,V){var Q=$;if(!$)Q=V?16893:33204;return(Q&65535)<<16},gX=function($){return($||0)&63},zJ=function($,V,Q,q,Y,P){var{file:J,compression:K}=$,U=P!==KV.utf8encode,X=B0.transformTo("string",P(J.name)),G=B0.transformTo("string",KV.utf8encode(J.name)),j=J.comment,H=B0.transformTo("string",P(j)),W=B0.transformTo("string",KV.utf8encode(j)),C=G.length!==J.name.length,Z=W.length!==j.length,N,I,O="",M="",w="",L=J.dir,v=J.date,F={crc32:0,compressedSize:0,uncompressedSize:0};if(!V||Q)F.crc32=$.crc32,F.compressedSize=$.compressedSize,F.uncompressedSize=$.uncompressedSize;var T=0;if(V)T|=8;if(!U&&(C||Z))T|=2048;var S=0,D=0;if(L)S|=16;if(Y==="UNIX")D=798,S|=SX(J.unixPermissions,L);else D=20,S|=gX(J.dosPermissions,L);if(N=v.getUTCHours(),N=N<<6,N=N|v.getUTCMinutes(),N=N<<5,N=N|v.getUTCSeconds()/2,I=v.getUTCFullYear()-1980,I=I<<4,I=I|v.getUTCMonth()+1,I=I<<5,I=I|v.getUTCDate(),C)M=k(1,1)+k(ZJ(X),4)+G,O+="up"+k(M.length,2)+M;if(Z)w=k(1,1)+k(ZJ(H),4)+W,O+="uc"+k(w.length,2)+w;var A="";A+=`
3
+ \x00`,A+=k(T,2),A+=K.magic,A+=k(N,2),A+=k(I,2),A+=k(F.crc32,4),A+=k(F.compressedSize,4),A+=k(F.uncompressedSize,4),A+=k(X.length,2),A+=k(O.length,2);var a=Y6.LOCAL_FILE_HEADER+A+X+O,e1=Y6.CENTRAL_FILE_HEADER+k(D,2)+A+k(H.length,2)+"\x00\x00\x00\x00"+k(S,4)+k(q,4)+X+O+H;return{fileRecord:a,dirRecord:e1}},xX=function($,V,Q,q,Y){var P="",J=B0.transformTo("string",Y(q));return P=Y6.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+k($,2)+k($,2)+k(V,4)+k(Q,4)+k(J.length,2)+J,P},EX=function($){var V="";return V=Y6.DATA_DESCRIPTOR+k($.crc32,4)+k($.compressedSize,4)+k($.uncompressedSize,4),V};function U1($,V,Q,q){M0.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=V,this.zipPlatform=Q,this.encodeFileName=q,this.streamFiles=$,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}B0.inherits(U1,M0);U1.prototype.push=function($){var V=$.meta.percent||0,Q=this.entriesCount,q=this._sources.length;if(this.accumulate)this.contentBuffer.push($);else this.bytesWritten+=$.data.length,M0.prototype.push.call(this,{data:$.data,meta:{currentFile:this.currentFile,percent:Q?(V+100*(Q-q-1))/Q:100}})};U1.prototype.openedSource=function($){this.currentSourceOffset=this.bytesWritten,this.currentFile=$.file.name;var V=this.streamFiles&&!$.file.dir;if(V){var Q=zJ($,V,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:Q.fileRecord,meta:{percent:0}})}else this.accumulate=!0};U1.prototype.closedSource=function($){this.accumulate=!1;var V=this.streamFiles&&!$.file.dir,Q=zJ($,V,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(Q.dirRecord),V)this.push({data:EX($),meta:{percent:100}});else{this.push({data:Q.fileRecord,meta:{percent:0}});while(this.contentBuffer.length)this.push(this.contentBuffer.shift())}this.currentFile=null};U1.prototype.flush=function(){var $=this.bytesWritten;for(var V=0;V<this.dirRecords.length;V++)this.push({data:this.dirRecords[V],meta:{percent:100}});var Q=this.bytesWritten-$,q=xX(this.dirRecords.length,Q,$,this.zipComment,this.encodeFileName);this.push({data:q,meta:{percent:100}})};U1.prototype.prepareNextSource=function(){if(this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused)this.previous.pause();else this.previous.resume()};U1.prototype.registerPrevious=function($){this._sources.push($);var V=this;return $.on("data",function(Q){V.processChunk(Q)}),$.on("end",function(){if(V.closedSource(V.previous.streamInfo),V._sources.length)V.prepareNextSource();else V.end()}),$.on("error",function(Q){V.error(Q)}),this};U1.prototype.resume=function(){if(!M0.prototype.resume.call(this))return!1;if(!this.previous&&this._sources.length)return this.prepareNextSource(),!0;if(!this.previous&&!this._sources.length&&!this.generatedError)return this.end(),!0};U1.prototype.error=function($){var V=this._sources;if(!M0.prototype.error.call(this,$))return!1;for(var Q=0;Q<V.length;Q++)try{V[Q].error($)}catch(q){}return!0};U1.prototype.lock=function(){M0.prototype.lock.call(this);var $=this._sources;for(var V=0;V<$.length;V++)$[V].lock()};CJ.exports=U1});var BJ=z((hX)=>{var yX=YV(),kX=NJ(),DX=function($,V){var Q=$||V,q=yX[Q];if(!q)throw Error(Q+" is not a valid compression method !");return q};hX.generateWorker=function($,V,Q){var q=new kX(V.streamFiles,Q,V.platform,V.encodeFileName),Y=0;try{$.forEach(function(P,J){Y++;var K=DX(J.options.compression,V.compression),U=J.options.compressionOptions||V.compressionOptions||{},X=J.dir,G=J.date;J._compressWorker(K,U).withStreamInfo("file",{name:P,dir:X,date:G,comment:J.comment||"",unixPermissions:J.unixPermissions,dosPermissions:J.dosPermissions}).pipe(q)}),q.entriesCount=Y}catch(P){q.error(P)}return q}});var AJ=z((vU,MJ)=>{var bX=_(),P6=t();function P$($,V){P6.call(this,"Nodejs stream input adapter for "+$),this._upstreamEnded=!1,this._bindStream(V)}bX.inherits(P$,P6);P$.prototype._bindStream=function($){var V=this;this._stream=$,$.pause(),$.on("data",function(Q){V.push({data:Q,meta:{percent:0}})}).on("error",function(Q){if(V.isPaused)this.generatedError=Q;else V.error(Q)}).on("end",function(){if(V.isPaused)V._upstreamEnded=!0;else V.end()})};P$.prototype.pause=function(){if(!P6.prototype.pause.call(this))return!1;return this._stream.pause(),!0};P$.prototype.resume=function(){if(!P6.prototype.resume.call(this))return!1;if(this._upstreamEnded)this.end();else this._stream.resume();return!0};MJ.exports=P$});var kJ=z((TU,yJ)=>{var _X=H0(),K$=_(),RJ=t(),cX=W8(),SJ=H8(),vJ=m$(),mX=TQ(),pX=BJ(),TJ=_0(),lX=AJ(),gJ=function($,V,Q){var q=K$.getTypeOf(V),Y,P=K$.extend(Q||{},SJ);if(P.date=P.date||new Date,P.compression!==null)P.compression=P.compression.toUpperCase();if(typeof P.unixPermissions==="string")P.unixPermissions=parseInt(P.unixPermissions,8);if(P.unixPermissions&&P.unixPermissions&16384)P.dir=!0;if(P.dosPermissions&&P.dosPermissions&16)P.dir=!0;if(P.dir)$=xJ($);if(P.createFolders&&(Y=dX($)))EJ.call(this,Y,!0);var J=q==="string"&&P.binary===!1&&P.base64===!1;if(!Q||typeof Q.binary>"u")P.binary=!J;var K=V instanceof vJ&&V.uncompressedSize===0;if(K||P.dir||!V||V.length===0)P.base64=!1,P.binary=!0,V="",P.compression="STORE",q="string";var U=null;if(V instanceof vJ||V instanceof RJ)U=V;else if(TJ.isNode&&TJ.isStream(V))U=new lX($,V);else U=K$.prepareContent($,V,P.binary,P.optimizedBinaryString,P.base64);var X=new mX($,U,P);this.files[$]=X},dX=function($){if($.slice(-1)==="/")$=$.substring(0,$.length-1);var V=$.lastIndexOf("/");return V>0?$.substring(0,V):""},xJ=function($){if($.slice(-1)!=="/")$+="/";return $},EJ=function($,V){if(V=typeof V<"u"?V:SJ.createFolders,$=xJ($),!this.files[$])gJ.call(this,$,null,{dir:!0,createFolders:V});return this.files[$]};function FJ($){return Object.prototype.toString.call($)==="[object RegExp]"}var uX={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function($){var V,Q,q;for(V in this.files)if(q=this.files[V],Q=V.slice(this.root.length,V.length),Q&&V.slice(0,this.root.length)===this.root)$(Q,q)},filter:function($){var V=[];return this.forEach(function(Q,q){if($(Q,q))V.push(q)}),V},file:function($,V,Q){if(arguments.length===1)if(FJ($)){var q=$;return this.filter(function(P,J){return!J.dir&&q.test(P)})}else{var Y=this.files[this.root+$];if(Y&&!Y.dir)return Y;else return null}else $=this.root+$,gJ.call(this,$,V,Q);return this},folder:function($){if(!$)return this;if(FJ($))return this.filter(function(Y,P){return P.dir&&$.test(Y)});var V=this.root+$,Q=EJ.call(this,V),q=this.clone();return q.root=Q.name,q},remove:function($){$=this.root+$;var V=this.files[$];if(!V){if($.slice(-1)!=="/")$+="/";V=this.files[$]}if(V&&!V.dir)delete this.files[$];else{var Q=this.filter(function(Y,P){return P.name.slice(0,$.length)===$});for(var q=0;q<Q.length;q++)delete this.files[Q[q].name]}return this},generate:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function($){var V,Q={};try{if(Q=K$.extend($||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:_X.utf8encode}),Q.type=Q.type.toLowerCase(),Q.compression=Q.compression.toUpperCase(),Q.type==="binarystring")Q.type="string";if(!Q.type)throw Error("No output type specified.");if(K$.checkSupport(Q.type),Q.platform==="darwin"||Q.platform==="freebsd"||Q.platform==="linux"||Q.platform==="sunos")Q.platform="UNIX";if(Q.platform==="win32")Q.platform="DOS";var q=Q.comment||this.comment||"";V=pX.generateWorker(this,Q,q)}catch(Y){V=new RJ("error"),V.error(Y)}return new cX(V,Q.type||"string",Q.mimeType)},generateAsync:function($,V){return this.generateInternalStream($).accumulate(V)},generateNodeStream:function($,V){if($=$||{},!$.type)$.type="nodebuffer";return this.generateInternalStream($).toNodejsStream(V)}};yJ.exports=uX});var XV=z((FU,hJ)=>{var oX=_();function DJ($){this.data=$,this.length=$.length,this.index=0,this.zero=0}DJ.prototype={checkOffset:function($){this.checkIndex(this.index+$)},checkIndex:function($){if(this.length<this.zero+$||$<0)throw Error("End of data reached (data length = "+this.length+", asked index = "+$+"). Corrupted zip ?")},setIndex:function($){this.checkIndex($),this.index=$},skip:function($){this.setIndex(this.index+$)},byteAt:function(){},readInt:function($){var V=0,Q;this.checkOffset($);for(Q=this.index+$-1;Q>=this.index;Q--)V=(V<<8)+this.byteAt(Q);return this.index+=$,V},readString:function($){return oX.transformTo("string",this.readData($))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var $=this.readInt(4);return new Date(Date.UTC(($>>25&127)+1980,($>>21&15)-1,$>>16&31,$>>11&31,$>>5&63,($&31)<<1))}};hJ.exports=DJ});var GV=z((RU,bJ)=>{var fJ=XV(),iX=_();function A0($){fJ.call(this,$);for(var V=0;V<this.data.length;V++)$[V]=$[V]&255}iX.inherits(A0,fJ);A0.prototype.byteAt=function($){return this.data[this.zero+$]};A0.prototype.lastIndexOfSignature=function($){var V=$.charCodeAt(0),Q=$.charCodeAt(1),q=$.charCodeAt(2),Y=$.charCodeAt(3);for(var P=this.length-4;P>=0;--P)if(this.data[P]===V&&this.data[P+1]===Q&&this.data[P+2]===q&&this.data[P+3]===Y)return P-this.zero;return-1};A0.prototype.readAndCheckSignature=function($){var V=$.charCodeAt(0),Q=$.charCodeAt(1),q=$.charCodeAt(2),Y=$.charCodeAt(3),P=this.readData(4);return V===P[0]&&Q===P[1]&&q===P[2]&&Y===P[3]};A0.prototype.readData=function($){if(this.checkOffset($),$===0)return[];var V=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,V};bJ.exports=A0});var mJ=z((SU,cJ)=>{var _J=XV(),nX=_();function v0($){_J.call(this,$)}nX.inherits(v0,_J);v0.prototype.byteAt=function($){return this.data.charCodeAt(this.zero+$)};v0.prototype.lastIndexOfSignature=function($){return this.data.lastIndexOf($)-this.zero};v0.prototype.readAndCheckSignature=function($){var V=this.readData(4);return $===V};v0.prototype.readData=function($){this.checkOffset($);var V=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,V};cJ.exports=v0});var WV=z((gU,lJ)=>{var pJ=GV(),rX=_();function UV($){pJ.call(this,$)}rX.inherits(UV,pJ);UV.prototype.readData=function($){if(this.checkOffset($),$===0)return new Uint8Array(0);var V=this.data.subarray(this.zero+this.index,this.zero+this.index+$);return this.index+=$,V};lJ.exports=UV});var oJ=z((xU,uJ)=>{var dJ=WV(),aX=_();function HV($){dJ.call(this,$)}aX.inherits(HV,dJ);HV.prototype.readData=function($){this.checkOffset($);var V=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,V};uJ.exports=HV});var jV=z((EU,nJ)=>{var K6=_(),iJ=M1(),sX=GV(),tX=mJ(),eX=oJ(),$G=WV();nJ.exports=function($){var V=K6.getTypeOf($);if(K6.checkSupport(V),V==="string"&&!iJ.uint8array)return new tX($);if(V==="nodebuffer")return new eX($);if(iJ.uint8array)return new $G(K6.transformTo("uint8array",$));return new sX(K6.transformTo("array",$))}});var tJ=z((yU,sJ)=>{var wV=jV(),b1=_(),VG=m$(),rJ=c$(),X6=H0(),G6=YV(),QG=M1(),qG=0,JG=3,YG=function($){for(var V in G6){if(!Object.prototype.hasOwnProperty.call(G6,V))continue;if(G6[V].magic===$)return G6[V]}return null};function aJ($,V){this.options=$,this.loadOptions=V}aJ.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function($){var V,Q;if($.skip(22),this.fileNameLength=$.readInt(2),Q=$.readInt(2),this.fileName=$.readData(this.fileNameLength),$.skip(Q),this.compressedSize===-1||this.uncompressedSize===-1)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(V=YG(this.compressionMethod),V===null)throw Error("Corrupted zip : compression "+b1.pretty(this.compressionMethod)+" unknown (inner file : "+b1.transformTo("string",this.fileName)+")");this.decompressed=new VG(this.compressedSize,this.uncompressedSize,this.crc32,V,$.readData(this.compressedSize))},readCentralPart:function($){this.versionMadeBy=$.readInt(2),$.skip(2),this.bitFlag=$.readInt(2),this.compressionMethod=$.readString(2),this.date=$.readDate(),this.crc32=$.readInt(4),this.compressedSize=$.readInt(4),this.uncompressedSize=$.readInt(4);var V=$.readInt(2);if(this.extraFieldsLength=$.readInt(2),this.fileCommentLength=$.readInt(2),this.diskNumberStart=$.readInt(2),this.internalFileAttributes=$.readInt(2),this.externalFileAttributes=$.readInt(4),this.localHeaderOffset=$.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");$.skip(V),this.readExtraFields($),this.parseZIP64ExtraField($),this.fileComment=$.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var $=this.versionMadeBy>>8;if(this.dir=this.externalFileAttributes&16?!0:!1,$===qG)this.dosPermissions=this.externalFileAttributes&63;if($===JG)this.unixPermissions=this.externalFileAttributes>>16&65535;if(!this.dir&&this.fileNameStr.slice(-1)==="/")this.dir=!0},parseZIP64ExtraField:function(){if(!this.extraFields[1])return;var $=wV(this.extraFields[1].value);if(this.uncompressedSize===b1.MAX_VALUE_32BITS)this.uncompressedSize=$.readInt(8);if(this.compressedSize===b1.MAX_VALUE_32BITS)this.compressedSize=$.readInt(8);if(this.localHeaderOffset===b1.MAX_VALUE_32BITS)this.localHeaderOffset=$.readInt(8);if(this.diskNumberStart===b1.MAX_VALUE_32BITS)this.diskNumberStart=$.readInt(4)},readExtraFields:function($){var V=$.index+this.extraFieldsLength,Q,q,Y;if(!this.extraFields)this.extraFields={};while($.index+4<V)Q=$.readInt(2),q=$.readInt(2),Y=$.readData(q),this.extraFields[Q]={id:Q,length:q,value:Y};$.setIndex(V)},handleUTF8:function(){var $=QG.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=X6.utf8decode(this.fileName),this.fileCommentStr=X6.utf8decode(this.fileComment);else{var V=this.findExtraFieldUnicodePath();if(V!==null)this.fileNameStr=V;else{var Q=b1.transformTo($,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(Q)}var q=this.findExtraFieldUnicodeComment();if(q!==null)this.fileCommentStr=q;else{var Y=b1.transformTo($,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(Y)}}},findExtraFieldUnicodePath:function(){var $=this.extraFields[28789];if($){var V=wV($.value);if(V.readInt(1)!==1)return null;if(rJ(this.fileName)!==V.readInt(4))return null;return X6.utf8decode(V.readData($.length-5))}return null},findExtraFieldUnicodeComment:function(){var $=this.extraFields[25461];if($){var V=wV($.value);if(V.readInt(1)!==1)return null;if(rJ(this.fileComment)!==V.readInt(4))return null;return X6.utf8decode(V.readData($.length-5))}return null}};sJ.exports=aJ});var V9=z((kU,$9)=>{var PG=jV(),F1=_(),W1=PV(),KG=tJ(),XG=M1();function eJ($){this.files=[],this.loadOptions=$}eJ.prototype={checkSignature:function($){if(!this.reader.readAndCheckSignature($)){this.reader.index-=4;var V=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+F1.pretty(V)+", expected "+F1.pretty($)+")")}},isSignature:function($,V){var Q=this.reader.index;this.reader.setIndex($);var q=this.reader.readString(4),Y=q===V;return this.reader.setIndex(Q),Y},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var $=this.reader.readData(this.zipCommentLength),V=XG.uint8array?"uint8array":"array",Q=F1.transformTo(V,$);this.zipComment=this.loadOptions.decodeFileName(Q)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};var $=this.zip64EndOfCentralSize-44,V=0,Q,q,Y;while(V<$)Q=this.reader.readInt(2),q=this.reader.readInt(4),Y=this.reader.readData(q),this.zip64ExtensibleData[Q]={id:Q,length:q,value:Y}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var $,V;for($=0;$<this.files.length;$++)V=this.files[$],this.reader.setIndex(V.localHeaderOffset),this.checkSignature(W1.LOCAL_FILE_HEADER),V.readLocalPart(this.reader),V.handleUTF8(),V.processAttributes()},readCentralDir:function(){var $;this.reader.setIndex(this.centralDirOffset);while(this.reader.readAndCheckSignature(W1.CENTRAL_FILE_HEADER))$=new KG({zip64:this.zip64},this.loadOptions),$.readCentralPart(this.reader),this.files.push($);if(this.centralDirRecords!==this.files.length){if(this.centralDirRecords!==0&&this.files.length===0)throw Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)}},readEndOfCentral:function(){var $=this.reader.lastIndexOfSignature(W1.CENTRAL_DIRECTORY_END);if($<0){var V=!this.isSignature(0,W1.LOCAL_FILE_HEADER);if(V)throw Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");else throw Error("Corrupted zip: can't find end of central directory")}this.reader.setIndex($);var Q=$;if(this.checkSignature(W1.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===F1.MAX_VALUE_16BITS||this.diskWithCentralDirStart===F1.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===F1.MAX_VALUE_16BITS||this.centralDirRecords===F1.MAX_VALUE_16BITS||this.centralDirSize===F1.MAX_VALUE_32BITS||this.centralDirOffset===F1.MAX_VALUE_32BITS){if(this.zip64=!0,$=this.reader.lastIndexOfSignature(W1.ZIP64_CENTRAL_DIRECTORY_LOCATOR),$<0)throw Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex($),this.checkSignature(W1.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,W1.ZIP64_CENTRAL_DIRECTORY_END)){if(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(W1.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0)throw Error("Corrupted zip: can't find the ZIP64 end of central directory")}this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(W1.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var q=this.centralDirOffset+this.centralDirSize;if(this.zip64)q+=20,q+=12+this.zip64EndOfCentralSize;var Y=Q-q;if(Y>0)if(this.isSignature(Q,W1.CENTRAL_FILE_HEADER));else this.reader.zero=Y;else if(Y<0)throw Error("Corrupted zip: missing "+Math.abs(Y)+" bytes.")},prepareReader:function($){this.reader=PG($)},load:function($){this.prepareReader($),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}};$9.exports=eJ});var J9=z((DU,q9)=>{var LV=_(),U6=G0(),GG=H0(),UG=V9(),WG=L8(),Q9=_0();function HG($){return new U6.Promise(function(V,Q){var q=$.decompressed.getContentWorker().pipe(new WG);q.on("error",function(Y){Q(Y)}).on("end",function(){if(q.streamInfo.crc32!==$.decompressed.crc32)Q(Error("Corrupted zip : CRC32 mismatch"));else V()}).resume()})}q9.exports=function($,V){var Q=this;if(V=LV.extend(V||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:GG.utf8decode}),Q9.isNode&&Q9.isStream($))return U6.Promise.reject(Error("JSZip can't accept a stream when loading a zip file."));return LV.prepareContent("the loaded zip file",$,!0,V.optimizedBinaryString,V.base64).then(function(q){var Y=new UG(V);return Y.load(q),Y}).then(function(Y){var P=[U6.Promise.resolve(Y)],J=Y.files;if(V.checkCRC32)for(var K=0;K<J.length;K++)P.push(HG(J[K]));return U6.Promise.all(P)}).then(function(Y){var P=Y.shift(),J=P.files;for(var K=0;K<J.length;K++){var U=J[K],X=U.fileNameStr,G=LV.resolve(U.fileNameStr);if(Q.file(G,U.decompressed,{binary:!0,optimizedBinaryString:!0,date:U.date,dir:U.dir,comment:U.fileCommentStr.length?U.fileCommentStr:null,unixPermissions:U.unixPermissions,dosPermissions:U.dosPermissions,createFolders:V.createFolders}),!U.dir)Q.file(G).unsafeOriginalName=X}if(P.zipComment.length)Q.comment=P.zipComment;return Q})}});var P9=z((hU,Y9)=>{function q1(){if(!(this instanceof q1))return new q1;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var $=new q1;for(var V in this)if(typeof this[V]!=="function")$[V]=this[V];return $}}q1.prototype=kJ();q1.prototype.loadAsync=J9();q1.support=M1();q1.defaults=H8();q1.version="3.10.1";q1.loadAsync=function($,V){return new q1().loadAsync($,V)};q1.external=G0();Y9.exports=q1});import{mkdir as gG,readFile as CV,readdir as xG,stat as S9,writeFile as EG}from"node:fs/promises";import{homedir as yG}from"node:os";import J1 from"node:path";import{stripVTControlCharacters as v6}from"node:util";var o=T0(L6(),1);import{stdin as DV,stdout as hV}from"node:process";import*as R1 from"node:readline";import RV from"node:readline";import{Writable as d9}from"node:stream";function u9({onlyFirst:$=!1}={}){let V=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(V,$?void 0:"g")}var o9=u9();function fV($){if(typeof $!="string")throw TypeError(`Expected a \`string\`, got \`${typeof $}\``);return $.replace(o9,"")}function bV($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var _V={exports:{}};(function($){var V={};$.exports=V,V.eastAsianWidth=function(q){var Y=q.charCodeAt(0),P=q.length==2?q.charCodeAt(1):0,J=Y;return 55296<=Y&&Y<=56319&&56320<=P&&P<=57343&&(Y&=1023,P&=1023,J=Y<<10|P,J+=65536),J==12288||65281<=J&&J<=65376||65504<=J&&J<=65510?"F":J==8361||65377<=J&&J<=65470||65474<=J&&J<=65479||65482<=J&&J<=65487||65490<=J&&J<=65495||65498<=J&&J<=65500||65512<=J&&J<=65518?"H":4352<=J&&J<=4447||4515<=J&&J<=4519||4602<=J&&J<=4607||9001<=J&&J<=9002||11904<=J&&J<=11929||11931<=J&&J<=12019||12032<=J&&J<=12245||12272<=J&&J<=12283||12289<=J&&J<=12350||12353<=J&&J<=12438||12441<=J&&J<=12543||12549<=J&&J<=12589||12593<=J&&J<=12686||12688<=J&&J<=12730||12736<=J&&J<=12771||12784<=J&&J<=12830||12832<=J&&J<=12871||12880<=J&&J<=13054||13056<=J&&J<=19903||19968<=J&&J<=42124||42128<=J&&J<=42182||43360<=J&&J<=43388||44032<=J&&J<=55203||55216<=J&&J<=55238||55243<=J&&J<=55291||63744<=J&&J<=64255||65040<=J&&J<=65049||65072<=J&&J<=65106||65108<=J&&J<=65126||65128<=J&&J<=65131||110592<=J&&J<=110593||127488<=J&&J<=127490||127504<=J&&J<=127546||127552<=J&&J<=127560||127568<=J&&J<=127569||131072<=J&&J<=194367||177984<=J&&J<=196605||196608<=J&&J<=262141?"W":32<=J&&J<=126||162<=J&&J<=163||165<=J&&J<=166||J==172||J==175||10214<=J&&J<=10221||10629<=J&&J<=10630?"Na":J==161||J==164||167<=J&&J<=168||J==170||173<=J&&J<=174||176<=J&&J<=180||182<=J&&J<=186||188<=J&&J<=191||J==198||J==208||215<=J&&J<=216||222<=J&&J<=225||J==230||232<=J&&J<=234||236<=J&&J<=237||J==240||242<=J&&J<=243||247<=J&&J<=250||J==252||J==254||J==257||J==273||J==275||J==283||294<=J&&J<=295||J==299||305<=J&&J<=307||J==312||319<=J&&J<=322||J==324||328<=J&&J<=331||J==333||338<=J&&J<=339||358<=J&&J<=359||J==363||J==462||J==464||J==466||J==468||J==470||J==472||J==474||J==476||J==593||J==609||J==708||J==711||713<=J&&J<=715||J==717||J==720||728<=J&&J<=731||J==733||J==735||768<=J&&J<=879||913<=J&&J<=929||931<=J&&J<=937||945<=J&&J<=961||963<=J&&J<=969||J==1025||1040<=J&&J<=1103||J==1105||J==8208||8211<=J&&J<=8214||8216<=J&&J<=8217||8220<=J&&J<=8221||8224<=J&&J<=8226||8228<=J&&J<=8231||J==8240||8242<=J&&J<=8243||J==8245||J==8251||J==8254||J==8308||J==8319||8321<=J&&J<=8324||J==8364||J==8451||J==8453||J==8457||J==8467||J==8470||8481<=J&&J<=8482||J==8486||J==8491||8531<=J&&J<=8532||8539<=J&&J<=8542||8544<=J&&J<=8555||8560<=J&&J<=8569||J==8585||8592<=J&&J<=8601||8632<=J&&J<=8633||J==8658||J==8660||J==8679||J==8704||8706<=J&&J<=8707||8711<=J&&J<=8712||J==8715||J==8719||J==8721||J==8725||J==8730||8733<=J&&J<=8736||J==8739||J==8741||8743<=J&&J<=8748||J==8750||8756<=J&&J<=8759||8764<=J&&J<=8765||J==8776||J==8780||J==8786||8800<=J&&J<=8801||8804<=J&&J<=8807||8810<=J&&J<=8811||8814<=J&&J<=8815||8834<=J&&J<=8835||8838<=J&&J<=8839||J==8853||J==8857||J==8869||J==8895||J==8978||9312<=J&&J<=9449||9451<=J&&J<=9547||9552<=J&&J<=9587||9600<=J&&J<=9615||9618<=J&&J<=9621||9632<=J&&J<=9633||9635<=J&&J<=9641||9650<=J&&J<=9651||9654<=J&&J<=9655||9660<=J&&J<=9661||9664<=J&&J<=9665||9670<=J&&J<=9672||J==9675||9678<=J&&J<=9681||9698<=J&&J<=9701||J==9711||9733<=J&&J<=9734||J==9737||9742<=J&&J<=9743||9748<=J&&J<=9749||J==9756||J==9758||J==9792||J==9794||9824<=J&&J<=9825||9827<=J&&J<=9829||9831<=J&&J<=9834||9836<=J&&J<=9837||J==9839||9886<=J&&J<=9887||9918<=J&&J<=9919||9924<=J&&J<=9933||9935<=J&&J<=9953||J==9955||9960<=J&&J<=9983||J==10045||J==10071||10102<=J&&J<=10111||11093<=J&&J<=11097||12872<=J&&J<=12879||57344<=J&&J<=63743||65024<=J&&J<=65039||J==65533||127232<=J&&J<=127242||127248<=J&&J<=127277||127280<=J&&J<=127337||127344<=J&&J<=127386||917760<=J&&J<=917999||983040<=J&&J<=1048573||1048576<=J&&J<=1114109?"A":"N"},V.characterLength=function(q){var Y=this.eastAsianWidth(q);return Y=="F"||Y=="W"||Y=="A"?2:1};function Q(q){return q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}V.length=function(q){for(var Y=Q(q),P=0,J=0;J<Y.length;J++)P=P+this.characterLength(Y[J]);return P},V.slice=function(q,Y,P){textLen=V.length(q),Y=Y||0,P=P||1,Y<0&&(Y=textLen+Y),P<0&&(P=textLen+P);for(var J="",K=0,U=Q(q),X=0;X<U.length;X++){var G=U[X],j=V.length(G);if(K>=Y-(j==2?1:0))if(K+j<=P)J+=G;else break;K+=j}return J}})(_V);var i9=_V.exports,n9=bV(i9),r9=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},a9=bV(r9);function F0($,V={}){if(typeof $!="string"||$.length===0||(V={ambiguousIsNarrow:!0,...V},$=fV($),$.length===0))return 0;$=$.replace(a9()," ");let Q=V.ambiguousIsNarrow?1:2,q=0;for(let Y of $){let P=Y.codePointAt(0);if(P<=31||P>=127&&P<=159||P>=768&&P<=879)continue;switch(n9.eastAsianWidth(Y)){case"F":case"W":q+=2;break;case"A":q+=Q;break;default:q+=1}}return q}var Z6=10,SV=($=0)=>(V)=>`\x1B[${V+$}m`,gV=($=0)=>(V)=>`\x1B[${38+$};5;${V}m`,xV=($=0)=>(V,Q,q)=>`\x1B[${38+$};2;${V};${Q};${q}m`,f={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(f.modifier);var s9=Object.keys(f.color),t9=Object.keys(f.bgColor);[...s9,...t9];function e9(){let $=new Map;for(let[V,Q]of Object.entries(f)){for(let[q,Y]of Object.entries(Q))f[q]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},Q[q]=f[q],$.set(Y[0],Y[1]);Object.defineProperty(f,V,{value:Q,enumerable:!1})}return Object.defineProperty(f,"codes",{value:$,enumerable:!1}),f.color.close="\x1B[39m",f.bgColor.close="\x1B[49m",f.color.ansi=SV(),f.color.ansi256=gV(),f.color.ansi16m=xV(),f.bgColor.ansi=SV(Z6),f.bgColor.ansi256=gV(Z6),f.bgColor.ansi16m=xV(Z6),Object.defineProperties(f,{rgbToAnsi256:{value:(V,Q,q)=>V===Q&&Q===q?V<8?16:V>248?231:Math.round((V-8)/247*24)+232:16+36*Math.round(V/255*5)+6*Math.round(Q/255*5)+Math.round(q/255*5),enumerable:!1},hexToRgb:{value:(V)=>{let Q=/[a-f\d]{6}|[a-f\d]{3}/i.exec(V.toString(16));if(!Q)return[0,0,0];let[q]=Q;q.length===3&&(q=[...q].map((P)=>P+P).join(""));let Y=Number.parseInt(q,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(V)=>f.rgbToAnsi256(...f.hexToRgb(V)),enumerable:!1},ansi256ToAnsi:{value:(V)=>{if(V<8)return 30+V;if(V<16)return 90+(V-8);let Q,q,Y;if(V>=232)Q=((V-232)*10+8)/255,q=Q,Y=Q;else{V-=16;let K=V%36;Q=Math.floor(V/36)/5,q=Math.floor(K/6)/5,Y=K%6/5}let P=Math.max(Q,q,Y)*2;if(P===0)return 30;let J=30+(Math.round(Y)<<2|Math.round(q)<<1|Math.round(Q));return P===2&&(J+=60),J},enumerable:!1},rgbToAnsi:{value:(V,Q,q)=>f.ansi256ToAnsi(f.rgbToAnsi256(V,Q,q)),enumerable:!1},hexToAnsi:{value:(V)=>f.ansi256ToAnsi(f.hexToAnsi256(V)),enumerable:!1}}),f}var $2=e9(),I$=new Set(["\x1B","›"]),V2=39,N6="\x07",cV="[",Q2="]",mV="m",B6=`${Q2}8;;`,EV=($)=>`${I$.values().next().value}${cV}${$}${mV}`,yV=($)=>`${I$.values().next().value}${B6}${$}${N6}`,q2=($)=>$.split(" ").map((V)=>F0(V)),z6=($,V,Q)=>{let q=[...V],Y=!1,P=!1,J=F0(fV($[$.length-1]));for(let[K,U]of q.entries()){let X=F0(U);if(J+X<=Q?$[$.length-1]+=U:($.push(U),J=0),I$.has(U)&&(Y=!0,P=q.slice(K+1).join("").startsWith(B6)),Y){P?U===N6&&(Y=!1,P=!1):U===mV&&(Y=!1);continue}J+=X,J===Q&&K<q.length-1&&($.push(""),J=0)}!J&&$[$.length-1].length>0&&$.length>1&&($[$.length-2]+=$.pop())},J2=($)=>{let V=$.split(" "),Q=V.length;for(;Q>0&&!(F0(V[Q-1])>0);)Q--;return Q===V.length?$:V.slice(0,Q).join(" ")+V.slice(Q).join("")},Y2=($,V,Q={})=>{if(Q.trim!==!1&&$.trim()==="")return"";let q="",Y,P,J=q2($),K=[""];for(let[X,G]of $.split(" ").entries()){Q.trim!==!1&&(K[K.length-1]=K[K.length-1].trimStart());let j=F0(K[K.length-1]);if(X!==0&&(j>=V&&(Q.wordWrap===!1||Q.trim===!1)&&(K.push(""),j=0),(j>0||Q.trim===!1)&&(K[K.length-1]+=" ",j++)),Q.hard&&J[X]>V){let H=V-j,W=1+Math.floor((J[X]-H-1)/V);Math.floor((J[X]-1)/V)<W&&K.push(""),z6(K,G,V);continue}if(j+J[X]>V&&j>0&&J[X]>0){if(Q.wordWrap===!1&&j<V){z6(K,G,V);continue}K.push("")}if(j+J[X]>V&&Q.wordWrap===!1){z6(K,G,V);continue}K[K.length-1]+=G}Q.trim!==!1&&(K=K.map((X)=>J2(X)));let U=[...K.join(`
4
+ `)];for(let[X,G]of U.entries()){if(q+=G,I$.has(G)){let{groups:H}=new RegExp(`(?:\\${cV}(?<code>\\d+)m|\\${B6}(?<uri>.*)${N6})`).exec(U.slice(X).join(""))||{groups:{}};if(H.code!==void 0){let W=Number.parseFloat(H.code);Y=W===V2?void 0:W}else H.uri!==void 0&&(P=H.uri.length===0?void 0:H.uri)}let j=$2.codes.get(Number(Y));U[X+1]===`
5
+ `?(P&&(q+=yV("")),Y&&j&&(q+=EV(j))):G===`
6
+ `&&(Y&&j&&(q+=EV(Y)),P&&(q+=yV(P)))}return q};function kV($,V,Q){return String($).normalize().replace(/\r\n/g,`
7
+ `).split(`
8
+ `).map((q)=>Y2(q,V,Q)).join(`
9
+ `)}var P2=["up","down","left","right","space","enter","cancel"],L$={actions:new Set(P2),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function M6($,V){if(typeof $=="string")return L$.aliases.get($)===V;for(let Q of $)if(Q!==void 0&&M6(Q,V))return!0;return!1}function K2($,V){if($===V)return;let Q=$.split(`
10
+ `),q=V.split(`
11
+ `),Y=[];for(let P=0;P<Math.max(Q.length,q.length);P++)Q[P]!==q[P]&&Y.push(P);return Y}var X2=globalThis.process.platform.startsWith("win"),C6=Symbol("clack:cancel");function O$($){return $===C6}function w$($,V){let Q=$;Q.isTTY&&Q.setRawMode(V)}function pV({input:$=DV,output:V=hV,overwrite:Q=!0,hideCursor:q=!0}={}){let Y=R1.createInterface({input:$,output:V,prompt:"",tabSize:1});R1.emitKeypressEvents($,Y),$.isTTY&&$.setRawMode(!0);let P=(J,{name:K,sequence:U})=>{let X=String(J);if(M6([X,K,U],"cancel")){q&&V.write(o.cursor.show),process.exit(0);return}if(!Q)return;R1.moveCursor(V,K==="return"?0:-1,K==="return"?-1:0,()=>{R1.clearLine(V,1,()=>{$.once("keypress",P)})})};return q&&V.write(o.cursor.hide),$.once("keypress",P),()=>{$.off("keypress",P),q&&V.write(o.cursor.show),$.isTTY&&!X2&&$.setRawMode(!1),Y.terminal=!1,Y.close()}}var G2=Object.defineProperty,U2=($,V,Q)=>(V in $)?G2($,V,{enumerable:!0,configurable:!0,writable:!0,value:Q}):$[V]=Q,s=($,V,Q)=>(U2($,typeof V!="symbol"?V+"":V,Q),Q);class lV{constructor($,V=!0){s(this,"input"),s(this,"output"),s(this,"_abortSignal"),s(this,"rl"),s(this,"opts"),s(this,"_render"),s(this,"_track",!1),s(this,"_prevFrame",""),s(this,"_subscribers",new Map),s(this,"_cursor",0),s(this,"state","initial"),s(this,"error",""),s(this,"value");let{input:Q=DV,output:q=hV,render:Y,signal:P,...J}=$;this.opts=J,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=Y.bind(this),this._track=V,this._abortSignal=P,this.input=Q,this.output=q}unsubscribe(){this._subscribers.clear()}setSubscriber($,V){let Q=this._subscribers.get($)??[];Q.push(V),this._subscribers.set($,Q)}on($,V){this.setSubscriber($,{cb:V})}once($,V){this.setSubscriber($,{cb:V,once:!0})}emit($,...V){let Q=this._subscribers.get($)??[],q=[];for(let Y of Q)Y.cb(...V),Y.once&&q.push(()=>Q.splice(Q.indexOf(Y),1));for(let Y of q)Y()}prompt(){return new Promise(($,V)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),$(C6);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let Q=new d9;Q._write=(q,Y,P)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),P()},this.input.pipe(Q),this.rl=RV.createInterface({input:this.input,output:Q,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),RV.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),w$(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(o.cursor.show),this.output.off("resize",this.render),w$(this.input,!1),$(this.value)}),this.once("cancel",()=>{this.output.write(o.cursor.show),this.output.off("resize",this.render),w$(this.input,!1),$(C6)})})}onKeypress($,V){if(this.state==="error"&&(this.state="active"),V?.name&&(!this._track&&L$.aliases.has(V.name)&&this.emit("cursor",L$.aliases.get(V.name)),L$.actions.has(V.name)&&this.emit("cursor",V.name)),$&&($.toLowerCase()==="y"||$.toLowerCase()==="n")&&this.emit("confirm",$.toLowerCase()==="y"),$==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),$&&this.emit("key",$.toLowerCase()),V?.name==="return"){if(this.opts.validate){let Q=this.opts.validate(this.value);Q&&(this.error=Q instanceof Error?Q.message:Q,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}M6([$,V?.name,V?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
12
+ `),w$(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let $=kV(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
13
+ `).length-1;this.output.write(o.cursor.move(-999,$*-1))}render(){let $=kV(this._render(this)??"",process.stdout.columns,{hard:!0});if($!==this._prevFrame){if(this.state==="initial")this.output.write(o.cursor.hide);else{let V=K2(this._prevFrame,$);if(this.restoreCursor(),V&&V?.length===1){let Q=V[0];this.output.write(o.cursor.move(0,Q)),this.output.write(o.erase.lines(1));let q=$.split(`
14
+ `);this.output.write(q[Q]),this._prevFrame=$,this.output.write(o.cursor.move(0,q.length-Q-1));return}if(V&&V?.length>1){let Q=V[0];this.output.write(o.cursor.move(0,Q)),this.output.write(o.erase.down());let q=$.split(`
15
+ `).slice(Q);this.output.write(q.join(`
16
+ `)),this._prevFrame=$;return}this.output.write(o.erase.down())}this.output.write($),this.state==="initial"&&(this.state="active"),this._prevFrame=$}}}class A6 extends lV{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor($){super($,!1),this.value=!!$.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(V)=>{this.output.write(o.cursor.move(0,-1)),this.value=V,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var W2;W2=new WeakMap;var R=T0(O6(),1),Z$=T0(L6(),1);import P1 from"node:process";function H2(){return P1.platform!=="win32"?P1.env.TERM!=="linux":!!P1.env.CI||!!P1.env.WT_SESSION||!!P1.env.TERMINUS_SUBLIME||P1.env.ConEmuTask==="{cmd::Cmder}"||P1.env.TERM_PROGRAM==="Terminus-Sublime"||P1.env.TERM_PROGRAM==="vscode"||P1.env.TERM==="xterm-256color"||P1.env.TERM==="alacritty"||P1.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var T6=H2(),c=($,V)=>T6?$:V,j2=c("◆","*"),iV=c("■","x"),nV=c("▲","x"),F6=c("◇","o"),w2=c("┌","T"),K1=c("│","|"),R6=c("└","—"),dV=c("●",">"),uV=c("○"," "),H3=c("◻","[•]"),j3=c("◼","[+]"),w3=c("◻","[ ]"),L3=c("▪","•"),oV=c("─","-"),L2=c("╮","+"),I2=c("├","+"),O2=c("╯","+"),I3=c("●","•"),O3=c("◆","*"),Z3=c("▲","!"),z3=c("■","x"),Z2=($)=>{switch($){case"initial":case"active":return R.default.cyan(j2);case"cancel":return R.default.red(iV);case"error":return R.default.yellow(nV);case"submit":return R.default.green(F6)}};var rV=($)=>{let V=$.active??"Yes",Q=$.inactive??"No";return new A6({active:V,inactive:Q,initialValue:$.initialValue??!0,render(){let q=`${R.default.gray(K1)}
17
+ ${Z2(this.state)} ${$.message}
18
+ `,Y=this.value?V:Q;switch(this.state){case"submit":return`${q}${R.default.gray(K1)} ${R.default.dim(Y)}`;case"cancel":return`${q}${R.default.gray(K1)} ${R.default.strikethrough(R.default.dim(Y))}
19
+ ${R.default.gray(K1)}`;default:return`${q}${R.default.cyan(K1)} ${this.value?`${R.default.green(dV)} ${V}`:`${R.default.dim(uV)} ${R.default.dim(V)}`} ${R.default.dim("/")} ${this.value?`${R.default.dim(uV)} ${R.default.dim(Q)}`:`${R.default.green(dV)} ${Q}`}
20
+ ${R.default.cyan(R6)}
21
+ `}}}).prompt()};var z$=($="",V="")=>{let Q=`
22
+ ${$}
23
+ `.split(`
24
+ `),q=v6(V).length,Y=Math.max(Q.reduce((J,K)=>{let U=v6(K);return U.length>J?U.length:J},0),q)+2,P=Q.map((J)=>`${R.default.gray(K1)} ${R.default.dim(J)}${" ".repeat(Y-v6(J).length)}${R.default.gray(K1)}`).join(`
25
+ `);process.stdout.write(`${R.default.gray(K1)}
26
+ ${R.default.green(F6)} ${R.default.reset(V)} ${R.default.gray(oV.repeat(Math.max(Y-q-1,1))+L2)}
27
+ ${P}
28
+ ${R.default.gray(I2+oV.repeat(Y+2)+O2)}
29
+ `)},X1=($="")=>{process.stdout.write(`${R.default.gray(R6)} ${R.default.red($)}
30
+
31
+ `)},S6=($="")=>{process.stdout.write(`${R.default.gray(w2)} ${$}
32
+ `)},g6=($="")=>{process.stdout.write(`${R.default.gray(K1)}
33
+ ${R.default.gray(R6)} ${$}
34
+
35
+ `)};var C3=`${R.default.gray(K1)} `;var $0=({indicator:$="dots"}={})=>{let V=T6?["◒","◐","◓","◑"]:["•","o","O","0"],Q=T6?80:120,q=process.env.CI==="true",Y,P,J=!1,K="",U,X=performance.now(),G=(w)=>{let L=w>1?"Something went wrong":"Canceled";J&&M(L,w)},j=()=>G(2),H=()=>G(1),W=()=>{process.on("uncaughtExceptionMonitor",j),process.on("unhandledRejection",j),process.on("SIGINT",H),process.on("SIGTERM",H),process.on("exit",G)},C=()=>{process.removeListener("uncaughtExceptionMonitor",j),process.removeListener("unhandledRejection",j),process.removeListener("SIGINT",H),process.removeListener("SIGTERM",H),process.removeListener("exit",G)},Z=()=>{if(U===void 0)return;q&&process.stdout.write(`
36
+ `);let w=U.split(`
37
+ `);process.stdout.write(Z$.cursor.move(-999,w.length-1)),process.stdout.write(Z$.erase.down(w.length))},N=(w)=>w.replace(/\.+$/,""),I=(w)=>{let L=(performance.now()-w)/1000,v=Math.floor(L/60),F=Math.floor(L%60);return v>0?`[${v}m ${F}s]`:`[${F}s]`},O=(w="")=>{J=!0,Y=pV(),K=N(w),X=performance.now(),process.stdout.write(`${R.default.gray(K1)}
38
+ `);let L=0,v=0;W(),P=setInterval(()=>{if(q&&K===U)return;Z(),U=K;let F=R.default.magenta(V[L]);if(q)process.stdout.write(`${F} ${K}...`);else if($==="timer")process.stdout.write(`${F} ${K} ${I(X)}`);else{let T=".".repeat(Math.floor(v)).slice(0,3);process.stdout.write(`${F} ${K}${T}`)}L=L+1<V.length?L+1:0,v=v<V.length?v+0.125:0},Q)},M=(w="",L=0)=>{J=!1,clearInterval(P),Z();let v=L===0?R.default.green(F6):L===1?R.default.red(iV):R.default.red(nV);K=N(w??K),$==="timer"?process.stdout.write(`${v} ${K} ${I(X)}
39
+ `):process.stdout.write(`${v} ${K}
40
+ `),C(),Y()};return{start:O,stop:M,message:(w="")=>{K=N(w??K)}}};var NV=T0(P9(),1),B=T0(O6(),1);import{spawn as TG}from"node:child_process";import{createServer as jG}from"node:http";class y extends Error{code;constructor($,V){super(V);this.name="ClerkCliAuthError",this.code=$}}var wG=`<!doctype html>
41
+ <html>
42
+ <head><meta charset="utf-8"><title>Authentication complete</title></head>
43
+ <body><h1>Authentication complete</h1><p>You can close this tab and return to your terminal.</p></body>
44
+ </html>`,LG=`<!doctype html>
45
+ <html>
46
+ <head><meta charset="utf-8"><title>Authentication failed</title></head>
47
+ <body><h1>Authentication failed</h1><p>You can close this tab and return to your terminal.</p></body>
48
+ </html>`;function IV($,V){return new y($,V)}function K9($){let{expectedState:V,port:Q=0,timeoutMs:q=120000,successHtml:Y=wG,errorHtml:P=LG}=$,J,K=!1,U=!1,X,G,j=new Promise((C,Z)=>{X=C,G=Z}),H=(C)=>{if(U)return;U=!0,C.close()},W=jG((C,Z)=>{if(K){Z.writeHead(410,{"Content-Type":"text/plain; charset=utf-8"}),Z.end("Authentication callback already handled.");return}if(C.method!=="GET"||!C.url){Z.writeHead(404,{"Content-Type":"text/plain; charset=utf-8"}),Z.end("Not found");return}let N=new URL(C.url,"http://127.0.0.1");if(N.pathname!=="/callback"){Z.writeHead(404,{"Content-Type":"text/plain; charset=utf-8"}),Z.end("Clerk CLI auth server is waiting for /callback.");return}let I=N.searchParams.get("code"),O=N.searchParams.get("state"),M=N.searchParams.get("error"),w=N.searchParams.get("error_description")??M,L=(v,F,T)=>{if(K=!0,J)clearTimeout(J);Z.writeHead(v,{"Content-Type":"text/html; charset=utf-8"}),Z.end(F,()=>{if(T)G(T);else if(I&&O)X({code:I,state:O});H(W)})};if(M){L(400,P,IV("token_exchange",`OAuth authorization failed: ${w??"unknown error"}`));return}if(O!==V){L(400,P,IV("state_mismatch","OAuth callback state did not match."));return}if(!I){L(400,P,IV("token_exchange","OAuth callback did not include an authorization code."));return}L(200,Y)});return new Promise((C,Z)=>{W.once("error",(N)=>{Z(new y("config",`Failed to start local auth callback server: ${N.message}`))}),W.listen(Q,"127.0.0.1",()=>{let I=W.address().port,O=`http://127.0.0.1:${I}/callback`;J=setTimeout(()=>{if(K)return;K=!0,G(new y("timeout",`OAuth callback timed out after ${q}ms.`)),H(W)},q),C({port:I,redirectUri:O,waitForCallback:()=>j,close:()=>{if(J)clearTimeout(J);if(!K)K=!0,G(new y("timeout","OAuth callback server was closed."));H(W)}})})})}import{chmod as IG,mkdir as OG,readFile as ZG,writeFile as zG}from"node:fs/promises";import{homedir as CG}from"node:os";import{dirname as NG,join as BG}from"node:path";function X9($,V){if(V instanceof y)return V;let Q=V instanceof Error?V.message:String(V);return new y("storage",`${$}: ${Q}`)}function U9($){return $?.environment??"default"}function MG($){return BG(CG(),".config","clerk-cli-auth",`${$}.json`)}class W9{values=new Map;async get($){return this.values.get($)??null}async set($,V){this.values.set($,V)}async delete($){this.values.delete($)}}class H9{filePath;queue=Promise.resolve();constructor($){this.filePath=$}enqueue($){let V=this.queue.then($,$);return this.queue=V.catch(()=>{return}),V}async readAll(){try{let $=await ZG(this.filePath,"utf8");if(!$.trim())return{};let V=JSON.parse($);if(!V||typeof V!=="object"||Array.isArray(V))return{};let Q={};for(let[q,Y]of Object.entries(V))if(typeof Y==="string")Q[q]=Y;return Q}catch($){if($.code==="ENOENT")return{};throw X9(`Failed to read credential file ${this.filePath}`,$)}}async writeAll($){try{await OG(NG(this.filePath),{recursive:!0}),await zG(this.filePath,`${JSON.stringify($,null,2)}
49
+ `,{mode:384}),await IG(this.filePath,384)}catch(V){throw X9(`Failed to write credential file ${this.filePath}`,V)}}async get($){return this.enqueue(async()=>{return(await this.readAll())[$]??null})}async set($,V){return this.enqueue(async()=>{let Q=await this.readAll();Q[$]=V,await this.writeAll(Q)})}async delete($){return this.enqueue(async()=>{let V=await this.readAll();delete V[$],await this.writeAll(V)})}}class j9{service;environment;fallback;keyringPromise=null;constructor($,V,Q){this.service=$;this.environment=V;this.fallback=Q}account($){return`${this.environment}:${$}`}warnFallback($,V){let Q=V instanceof Error?V.message:String(V);console.warn(`Keychain ${$} failed; falling back to file store. ${Q}`)}async loadKeyring(){return this.keyringPromise??=import("@napi-rs/keyring").catch(($)=>{return this.warnFallback("initialization",$),null}),this.keyringPromise}async get($){try{let V=await this.loadKeyring();if(!V)return this.fallback.get($);return new V.Entry(this.service,this.account($)).getPassword()??await this.fallback.get($)}catch(V){return this.warnFallback("get",V),this.fallback.get($)}}async set($,V){try{let Q=await this.loadKeyring();if(!Q){await this.fallback.set($,V);return}new Q.Entry(this.service,this.account($)).setPassword(V)}catch(Q){this.warnFallback("set",Q),await this.fallback.set($,V)}}async delete($){try{let V=await this.loadKeyring();if(V)new V.Entry(this.service,this.account($)).deletePassword()}catch(V){this.warnFallback("delete",V)}await this.fallback.delete($)}}function G9($){let V=U9($);return new H9($?.filePath??MG(V))}function w9($,V){if($==="memory")return new W9;if($==="file")return G9(V);let Q=G9(V),q=V?.keychainService??"clerk-cli-auth",Y=U9(V);return new j9(q,Y,Q)}import{createHash as AG,randomBytes as L9}from"node:crypto";function OV($){return $.toString("base64url")}function I9(){return OV(L9(32))}async function O9($){return OV(AG("sha256").update($).digest())}function Z9(){return OV(L9(32))}function z9($,V){return`${$.replace(/\/+$/,"")}${V}`}async function C9($){if(($.headers.get("content-type")??"").includes("application/json"))return $.json();return $.text()}function N9($,V){if(typeof $==="string"&&$.trim())return $.trim();if($&&typeof $==="object"){let Q=$;for(let q of["error_description","message","error"]){let Y=Q[q];if(typeof Y==="string"&&Y.trim())return Y.trim()}}return V}function vG($){if(typeof $.access_token!=="string"||$.access_token.length===0)throw new y("token_exchange","Token response did not include access_token.");let V={accessToken:$.access_token};if(typeof $.refresh_token==="string")V.refreshToken=$.refresh_token;if(typeof $.id_token==="string")V.idToken=$.id_token;if(typeof $.scope==="string")V.scope=$.scope;if(typeof $.token_type==="string")V.tokenType=$.token_type;if(typeof $.expires_in==="number")V.expiresAt=Date.now()+$.expires_in*1000;return V}async function B9($,V){let Q;try{Q=await fetch(z9($,"/oauth/token"),{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:V.toString()})}catch(Y){throw new y("token_exchange",`Token request failed: ${Y.message}`)}let q;try{q=await C9(Q)}catch(Y){throw new y("token_exchange",`Token response could not be parsed: ${Y.message}`)}if(!Q.ok)throw new y("token_exchange",N9(q,`Token request failed with HTTP ${Q.status}.`));if(!q||typeof q!=="object")throw new y("token_exchange","Token response was not JSON.");return vG(q)}async function M9($){let V=new URLSearchParams({grant_type:"authorization_code",client_id:$.clientId,code:$.code,code_verifier:$.codeVerifier,redirect_uri:$.redirectUri});return B9($.issuer,V)}async function A9($){let V=new URLSearchParams({grant_type:"refresh_token",client_id:$.clientId,refresh_token:$.refreshToken});if($.scopes?.length)V.set("scope",$.scopes.join(" "));return B9($.issuer,V)}async function ZV($){let V;try{V=await fetch(z9($.issuer,"/oauth/userinfo"),{headers:{Authorization:`Bearer ${$.accessToken}`}})}catch(Y){throw new y("userinfo",`Userinfo request failed: ${Y.message}`)}let Q;try{Q=await C9(V)}catch(Y){throw new y("userinfo",`Userinfo response could not be parsed: ${Y.message}`)}if(!V.ok)throw new y("userinfo",N9(Q,`Userinfo request failed with HTTP ${V.status}.`));if(!Q||typeof Q!=="object")throw new y("userinfo","Userinfo response was not JSON.");let q=Q;if(typeof q.sub!=="string"||q.sub.length===0)throw new y("userinfo","Userinfo response did not include sub.");return q}var FG=["profile","email","openid","offline_access"];function RG($){let V=$.trim().replace(/\/+$/,"");try{let Q=new URL(V);if(Q.protocol!=="http:"&&Q.protocol!=="https:")throw Error("issuer must use http or https");return V}catch(Q){throw new y("config",`issuer must be a valid URL: ${Q.message}`)}}function W6($,V){if(V instanceof y)return V;let Q=V instanceof Error?V.message:String(V);return new y("storage",`Failed to ${$}: ${Q}`)}async function SG($){console.log(`Open this URL to sign in:
50
+ ${$}`);let V=process.platform,Q=V==="darwin"?"open":V==="win32"?"cmd":"xdg-open",q=V==="win32"?["/c","start","",$]:[$];await new Promise((Y)=>{let P=TG(Q,q,{detached:!0,stdio:"ignore"});P.once("error",()=>Y()),P.unref(),Y()})}class H6{config;constructor($){if(!$.clientId)throw new y("config","clientId is required");if(!$.issuer)throw new y("config","issuer is required");let V=$.environment??"default",Q=typeof $.storage==="object"&&$.storage!==null?$.storage:w9($.storage??"keychain",{environment:V,keychainService:$.keychainService});this.config={clientId:$.clientId,issuer:RG($.issuer),scopes:$.scopes??FG,storage:Q,keychainService:$.keychainService??"clerk-cli-auth",environment:V,callbackPort:$.callbackPort??0,timeoutMs:$.timeoutMs??120000,openBrowser:$.openBrowser}}async login(){let $=I9(),V=await O9($),Q=Z9(),q=await K9({expectedState:Q,port:this.config.callbackPort,timeoutMs:this.config.timeoutMs});try{let Y=new URL(`${this.config.issuer}/oauth/authorize`);Y.searchParams.set("response_type","code"),Y.searchParams.set("client_id",this.config.clientId),Y.searchParams.set("redirect_uri",q.redirectUri),Y.searchParams.set("scope",this.config.scopes.join(" ")),Y.searchParams.set("state",Q),Y.searchParams.set("code_challenge",V),Y.searchParams.set("code_challenge_method","S256");try{await(this.config.openBrowser??SG)(Y.toString())}catch(U){throw new y("config",`Failed to open authorization URL: ${U.message}`)}let{code:P}=await q.waitForCallback(),J=await M9({issuer:this.config.issuer,clientId:this.config.clientId,code:P,codeVerifier:$,redirectUri:q.redirectUri});await this.setJson("tokens",J);let K=await ZV({issuer:this.config.issuer,accessToken:J.accessToken});return await this.setJson("user",K),{tokens:J,user:K}}finally{q.close()}}async getAccessToken(){let $=await this.getTokenSet();if(!$)return null;if(($.expiresAt??Number.POSITIVE_INFINITY)>=Date.now()+30000)return $.accessToken;if(!$.refreshToken)return null;let Q=await A9({issuer:this.config.issuer,clientId:this.config.clientId,refreshToken:$.refreshToken,scopes:this.config.scopes}),q={...$,...Q,refreshToken:Q.refreshToken??$.refreshToken};return await this.setJson("tokens",q),q.accessToken}async whoami(){let $=await this.getJson("user");if($)return $;let V=await this.getAccessToken();if(!V)return null;let Q=await ZV({issuer:this.config.issuer,accessToken:V});return await this.setJson("user",Q),Q}async logout(){try{await Promise.all([this.config.storage.delete("tokens"),this.config.storage.delete("user")])}catch($){throw W6("clear stored credentials",$)}}async getTokenSet(){return this.getJson("tokens")}async getJson($){let V;try{V=await this.config.storage.get($)}catch(Q){throw W6(`read ${$}`,Q)}if(!V)return null;try{return JSON.parse(V)}catch(Q){throw W6(`parse stored ${$}`,Q)}}async setJson($,V){try{await this.config.storage.set($,JSON.stringify(V))}catch(Q){throw W6(`write ${$}`,Q)}}}var _1=process.env.PETDEX_URL??"https://petdex.crafter.run",kG=process.env.CLERK_ISSUER??"https://clerk.petdex.crafter.run",DG=process.env.CLERK_OAUTH_CLIENT_ID??"LcThwEayl6KAA1Qm",X$=new H6({clientId:DG,issuer:kG,scopes:["profile","email","openid","offline_access"],storage:"keychain",keychainService:"petdex-cli"}),g9="0.1.1";hG().catch(($)=>{X1(`petdex: ${$.message}`),process.exit(1)});async function hG(){let $=process.argv.slice(2),V=$[0];if(!V||V==="--help"||V==="-h"||V==="help"){v9();return}switch(V){case"login":await fG();break;case"logout":await bG();break;case"whoami":await _G();break;case"submit":await pG($.slice(1));break;case"install":await cG($.slice(1));break;case"list":await mG();break;case"version":case"--version":case"-v":console.log(g9);break;default:console.error(B.default.red(`Unknown command: ${V}`)),v9(),process.exit(1)}}function v9(){let $=B.default.cyan,V=B.default.dim;console.log(["",` ${B.default.bold(B.default.magenta("petdex"))} ${V(g9)} ${V("— Codex pet gallery CLI")}`,"",` ${$("Usage")}`," petdex <command> [args]","",` ${$("Commands")}`,` ${B.default.bold("login")} Sign in with Clerk OAuth`,` ${B.default.bold("logout")} Clear stored credentials`,` ${B.default.bold("whoami")} Show signed-in user`,` ${B.default.bold("submit")} <path> Submit a pet folder, zip, or parent of pets (bulk)`,` ${B.default.bold("install")} <slug> Install a pet into ~/.codex/pets/<slug>`,` ${B.default.bold("list")} List approved pets`,"",` ${$("Examples")}`,` ${V("$")} petdex login`,` ${V("$")} petdex submit ~/.codex/pets/boba ${V("# single folder")}`,` ${V("$")} petdex submit ~/Downloads/boba.zip ${V("# zip file")}`,` ${V("$")} petdex submit ~/.codex/pets ${V("# bulk all subfolders")}`,` ${V("$")} petdex install boba`,"",` ${V("Gallery & docs:")} ${B.default.underline(_1)}`,""].join(`
51
+ `))}async function fG(){S6(B.default.bgMagenta(B.default.white(" petdex login ")));let $=$0();$.start("Opening your browser to sign in with Clerk");try{let{user:V}=await X$.login();$.stop(B.default.green("✓ ")+`Signed in as ${B.default.cyan(V.email??V.username??V.sub)}`),g6(`Try ${B.default.cyan("petdex submit ~/.codex/pets")} to share your pets.`)}catch(V){throw $.stop(B.default.red("× login failed")),V}}async function bG(){await X$.logout(),console.log(B.default.green("✓ ")+"Signed out")}async function _G(){try{let $=await X$.whoami();z$([`${B.default.dim("user: ")}${$.sub}`,`${B.default.dim("email: ")}${$.email??"—"}`,`${B.default.dim("name: ")}${[$.given_name,$.family_name].filter(Boolean).join(" ")||"—"}`,`${B.default.dim("username:")}${$.preferred_username??"—"}`].join(`
52
+ `),"Signed in")}catch{X1(`Not signed in. Run ${B.default.cyan("petdex login")}.`),process.exit(1)}}async function cG($){let V=$[0];if(!V)X1(`Usage: ${B.default.cyan("petdex install <slug>")}`),process.exit(1);let Q=$0();Q.start(`Resolving ${V}`);let q;try{let J=await fetch(`${_1}/api/manifest`);if(!J.ok)throw Q.stop(B.default.red("failed")),Error(`manifest fetch ${J.status}`);let U=(await J.json()).pets.find((X)=>X.slug===V);if(!U)Q.stop(B.default.red("not found")),X1(`No pet with slug ${B.default.bold(V)}. Try ${B.default.cyan("petdex list")} to see what's available.`),process.exit(1);q=U}catch(J){throw Q.stop(B.default.red("failed")),J}let Y=J1.join(yG(),".codex","pets",V);Q.message(`Downloading to ${Y}`),await gG(Y,{recursive:!0});let P=q.spritesheetUrl.endsWith(".png")?"png":"webp";await Promise.all([T9(q.petJsonUrl,J1.join(Y,"pet.json")),T9(q.spritesheetUrl,J1.join(Y,`spritesheet.${P}`))]),fetch(`${_1}/install/${V}`,{method:"GET"}).catch(()=>{}),Q.stop(`Installed ${B.default.cyan(q.displayName)}`),z$([`Path: ${B.default.dim(Y)}`,"","Activate inside Codex:",` ${B.default.cyan("Settings → Appearance → Pets")} → select ${B.default.bold(q.displayName)}`,`Then ${B.default.cyan("/pet")} inside Codex to wake or tuck it away.`].join(`
53
+ `),"Next steps")}async function T9($,V){let Q=await fetch($);if(!Q.ok)throw Error(`download ${$} → ${Q.status}`);let q=Buffer.from(await Q.arrayBuffer());await EG(V,q)}async function mG(){let $=$0();$.start("Fetching gallery");let V=await fetch(`${_1}/api/manifest`);if(!V.ok)throw $.stop(B.default.red("failed")),Error(`failed to fetch manifest: ${V.status}`);let Q=await V.json();$.stop(`${Q.total} pets`);let q=Q.pets.map((Y)=>{let P=Y.submittedBy?B.default.dim(` — by ${Y.submittedBy}`):"";return` ${B.default.cyan(Y.slug.padEnd(26))} ${Y.displayName}${P}`});console.log(q.join(`
54
+ `)),console.log(`
55
+ ${B.default.dim("Install with")} ${B.default.cyan("petdex install <slug>")}
56
+ ${B.default.dim("Browse:")} ${B.default.underline(_1)}`)}async function pG($){let V=$[0];if(!V)X1(`Usage: ${B.default.cyan("petdex submit <path>")}`),process.exit(1);let Q;try{let G=await X$.getAccessToken();if(!G)X1(`Not signed in. Run ${B.default.cyan("petdex login")}.`),process.exit(1);Q=G}catch{X1(`Not signed in. Run ${B.default.cyan("petdex login")}.`),process.exit(1)}let q=J1.resolve(V),Y=await S9(q).catch(()=>null);if(!Y)X1(`No such file or directory: ${V}`),process.exit(1);S6(B.default.bgMagenta(B.default.white(" petdex submit ")));let P=$0();P.start(`Scanning ${q}`);let J=await lG(q,Y.isDirectory());if(P.stop(J.length>0?`${J.length} pet${J.length===1?"":"s"} found`:B.default.red("no pets found")),J.length===0)X1("A pet folder must contain pet.json and spritesheet.{webp,png}."),process.exit(1);if(J.length>1){let G=await rV({message:`Submit all ${B.default.bold(String(J.length))} pets?`});if(O$(G)||!G)X1("Aborted."),process.exit(1)}let K=0,U=0,X=[];for(let G of J){let j=$0();j.start(`Submitting ${B.default.cyan(G.label)}`);try{let H=await X$.getAccessToken();if(!H)throw Error("session expired");Q=H;let W=await uG(G,Q);j.stop(`${B.default.green("✓")} ${B.default.cyan(G.label)} → ${B.default.dim(W.slug)}`),K++}catch(H){let W=H.message;j.stop(`${B.default.red("×")} ${B.default.cyan(G.label)} ${B.default.red(W.slice(0,60))}`),X.push({label:G.label,error:W}),U++}}if(X.length>0)z$(X.map((G)=>`${B.default.red("•")} ${B.default.bold(G.label)}: ${G.error}`).join(`
57
+ `),"Failures");if(g6(`${B.default.green(String(K))} submitted, ${U>0?B.default.red(String(U)):B.default.dim(String(U))} failed. Review at ${B.default.underline(_1+"/admin")} (admin only).`),U>0)process.exit(1)}async function lG($,V){if(!V){if(!$.endsWith(".zip"))throw Error(`Expected a .zip file or a folder, got: ${$}`);let P=await dG($);return P?[P]:[]}if(await j6(J1.join($,"pet.json"))){let P=await F9($);return P?[P]:[]}let q=await xG($,{withFileTypes:!0}),Y=[];for(let P of q){if(!P.isDirectory())continue;let J=J1.join($,P.name),K=await F9(J);if(K)Y.push(K)}return Y}async function F9($){let V=J1.join($,"pet.json");if(!await j6(V))return null;let Q=J1.join($,"spritesheet.webp"),q="webp";if(!await j6(Q)){let G=J1.join($,"spritesheet.png");if(!await j6(G))return null;Q=G,q="png"}let Y=await CV(V,"utf8"),P={};try{P=JSON.parse(Y)}catch{throw Error(`pet.json in ${$} is not valid JSON`)}let J=await CV(Q),K=new NV.default;K.file("pet.json",Y),K.file(`spritesheet.${q}`,J);let U=Buffer.from(await K.generateAsync({type:"uint8array",compression:"DEFLATE"})),X=J1.basename($);return{label:X,source:"folder",petJson:Y,petJsonObj:P,zipBuffer:U,zipFileName:`${X}.zip`,spritesheetBuffer:J,spritesheetExt:q,petIdHint:typeof P.id==="string"?P.id:X}}async function dG($){let V=await CV($),Q=await NV.default.loadAsync(V),q=Q.file("pet.json"),Y=Q.file("spritesheet.webp"),P=Q.file("spritesheet.png"),J=Y??P,K=Y?"webp":"png";if(!q||!J)throw Error(`Zip is missing pet.json or spritesheet.{webp,png}: ${$}`);let U=await q.async("string"),X={};try{X=JSON.parse(U)}catch{throw Error("pet.json in zip is not valid JSON")}let G=Buffer.from(await J.async("uint8array")),j=J1.basename($,".zip");return{label:j,source:"zip",petJson:U,petJsonObj:X,zipBuffer:V,zipFileName:J1.basename($),spritesheetBuffer:G,spritesheetExt:K,petIdHint:typeof X.id==="string"?X.id:j}}async function uG($,V){let{width:Q,height:q}=iG($.spritesheetBuffer);if(Q===0||q===0)throw Error("spritesheet dimensions could not be parsed");let Y=await fetch(`${_1}/api/cli/submit`,{method:"POST",headers:{Authorization:`Bearer ${V}`,"Content-Type":"application/json"},body:JSON.stringify({slugHint:oG($.petIdHint),petId:$.petIdHint,spritesheetExt:$.spritesheetExt})});if(!Y.ok){let W=await Y.text().catch(()=>"");throw Error(`presign ${Y.status} ${W.slice(0,100)}`)}let P=await Y.json(),J=(W)=>{let C=P.files.find((Z)=>Z.role===W);if(!C)throw Error(`presign response missing ${W}`);return C},K=J("zip"),U=J("sprite"),X=J("petjson"),G=$.spritesheetExt==="png"?"image/png":"image/webp";await Promise.all([zV(K.uploadUrl,$.zipBuffer,"application/zip"),zV(U.uploadUrl,$.spritesheetBuffer,G),zV(X.uploadUrl,Buffer.from($.petJson,"utf8"),"application/json")]);let j=await fetch(`${_1}/api/cli/submit/register`,{method:"POST",headers:{Authorization:`Bearer ${V}`,"Content-Type":"application/json"},body:JSON.stringify({zipUrl:K.publicUrl,spritesheetUrl:U.publicUrl,petJsonUrl:X.publicUrl,petId:$.petIdHint,displayName:R9($.petJsonObj.displayName,"Untitled pet"),description:R9($.petJsonObj.description,"A Codex-compatible digital pet."),spritesheetWidth:Q,spritesheetHeight:q})});if(!j.ok){let W=await j.text().catch(()=>"");throw Error(`register ${j.status} ${W.slice(0,100)}`)}return await j.json()}async function zV($,V,Q){let q=await fetch($,{method:"PUT",headers:{"Content-Type":Q},body:V});if(!q.ok)throw Error(`R2 PUT ${q.status}`)}async function j6($){try{return await S9($),!0}catch{return!1}}function R9($,V){if(typeof $==="string"&&$.trim())return $.trim();return V}function oG($){return $.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}function iG($){if($.length>24&&$[0]===137&&$[1]===80&&$[2]===78&&$[3]===71)return{width:$.readUInt32BE(16),height:$.readUInt32BE(20)};if($.length>30&&$.slice(0,4).toString()==="RIFF"&&$.slice(8,12).toString()==="WEBP"){let V=$.slice(12,16).toString();if(V==="VP8X")return{width:(($[24]|$[25]<<8|$[26]<<16)>>>0)+1,height:(($[27]|$[28]<<8|$[29]<<16)>>>0)+1};if(V==="VP8L"){let Q=$[22],q=$[23],Y=$[24];return{width:(($[21]|(Q&63)<<8)>>>0)+1,height:((Q>>6|q<<2|(Y&15)<<10)>>>0)+1}}if(V==="VP8 "){for(let Q=23;Q<Math.min(60,$.length-7);Q++)if($[Q]===157&&$[Q+1]===1&&$[Q+2]===42)return{width:($[Q+3]|$[Q+4]<<8)&16383,height:($[Q+5]|$[Q+6]<<8)&16383}}}return{width:0,height:0}}
package/package.json CHANGED
@@ -1,14 +1,37 @@
1
1
  {
2
2
  "name": "petdex",
3
- "version": "0.0.0",
4
- "description": "Reserved for Petdex CLI — public gallery of animated Codex pets. petdex.crafter.run",
3
+ "version": "0.1.1",
4
+ "description": "CLI for Petdex — install, browse, and submit Codex pets from your terminal.",
5
5
  "homepage": "https://petdex.crafter.run",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/crafter-station/petdex"
8
+ "url": "https://github.com/crafter-station/petdex",
9
+ "directory": "packages/petdex-cli"
9
10
  },
10
11
  "license": "MIT",
11
- "keywords": ["codex", "pets", "petdex"],
12
- "main": "index.js",
13
- "files": ["index.js"]
12
+ "type": "module",
13
+ "engines": {
14
+ "node": ">=18"
15
+ },
16
+ "bin": {
17
+ "petdex": "./dist/petdex.js"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "bun build ./bin/petdex.ts --target=node --outfile=./dist/petdex.js --minify",
25
+ "postbuild": "node -e 'const f=\"./dist/petdex.js\";const fs=require(\"fs\");const c=fs.readFileSync(f,\"utf8\");if(!c.startsWith(\"#!\")){fs.writeFileSync(f,\"#!/usr/bin/env node\\n\"+c)}fs.chmodSync(f,0o755)'",
26
+ "typecheck": "tsc --noEmit"
27
+ },
28
+ "dependencies": {
29
+ "@clack/prompts": "^0.11.0",
30
+ "jszip": "^3.10.1",
31
+ "picocolors": "^1.1.1"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^24.0.0",
35
+ "typescript": "^5.6.0"
36
+ }
14
37
  }
package/index.js DELETED
@@ -1,5 +0,0 @@
1
- // Reserved for the Petdex CLI. Coming soon.
2
- // In the meantime, install pets with:
3
- // curl -sSf https://petdex.crafter.run/install/<slug> | sh
4
- // Browse the gallery: https://petdex.crafter.run
5
- module.exports = {};