@visulima/vis 3.0.0 → 3.0.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/CHANGELOG.md +8 -0
- package/LICENSE.md +5307 -4249
- package/dist/bin.js +1 -1
- package/dist/binx.js +2 -2
- package/dist/config/index.js +1 -1
- package/dist/packem_chunks/CONFIG_FILES.js +6 -6
- package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -1
- package/dist/packem_chunks/agent-instructions.js +7 -7
- package/dist/packem_chunks/bloom-status.js +2 -2
- package/dist/packem_chunks/bloom-sync.js +2 -2
- package/dist/packem_chunks/cache-attestation.js +1 -1
- package/dist/packem_chunks/catalog-detector.js +1 -1
- package/dist/packem_chunks/catalog.js +87 -111
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +192 -217
- package/dist/packem_chunks/defineReleasePlugin.js +3 -3
- package/dist/packem_chunks/detect.js +8 -3
- package/dist/packem_chunks/devtools.js +1 -1
- package/dist/packem_chunks/discord.js +4 -4
- package/dist/packem_chunks/dispatch.js +4 -4
- package/dist/packem_chunks/doctor-probe.js +2 -2
- package/dist/packem_chunks/extra-files.js +3 -3
- package/dist/packem_chunks/fix.js +11 -11
- package/dist/packem_chunks/git.js +3 -3
- package/dist/packem_chunks/group-tags.js +1 -1
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +5 -5
- package/dist/packem_chunks/handler11.js +1 -1
- package/dist/packem_chunks/handler12.js +16 -16
- package/dist/packem_chunks/handler13.js +5 -5
- package/dist/packem_chunks/handler14.js +1 -1
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -1
- package/dist/packem_chunks/handler17.js +1 -1
- package/dist/packem_chunks/handler18.js +1 -1
- package/dist/packem_chunks/handler19.js +5 -5
- package/dist/packem_chunks/handler2.js +1 -1
- package/dist/packem_chunks/handler20.js +2 -2
- package/dist/packem_chunks/handler21.js +2 -2
- package/dist/packem_chunks/handler22.js +8 -8
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -1
- package/dist/packem_chunks/handler26.js +5 -5
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler28.js +3 -3
- package/dist/packem_chunks/handler29.js +1 -1
- package/dist/packem_chunks/handler3.js +2 -2
- package/dist/packem_chunks/handler30.js +1 -1
- package/dist/packem_chunks/handler31.js +2 -2
- package/dist/packem_chunks/handler32.js +2 -2
- package/dist/packem_chunks/handler33.js +2 -2
- package/dist/packem_chunks/handler34.js +3 -3
- package/dist/packem_chunks/handler35.js +5 -5
- package/dist/packem_chunks/handler36.js +1 -1
- package/dist/packem_chunks/handler37.js +2 -2
- package/dist/packem_chunks/handler38.js +6 -6
- package/dist/packem_chunks/handler39.js +8 -8
- package/dist/packem_chunks/handler4.js +4 -4
- package/dist/packem_chunks/handler40.js +34 -34
- package/dist/packem_chunks/handler41.js +5 -5
- package/dist/packem_chunks/handler42.js +4 -4
- package/dist/packem_chunks/handler43.js +3 -3
- package/dist/packem_chunks/handler44.js +2 -2
- package/dist/packem_chunks/handler45.js +1 -1
- package/dist/packem_chunks/handler46.js +1 -1
- package/dist/packem_chunks/handler47.js +1 -1
- package/dist/packem_chunks/handler48.js +3 -3
- package/dist/packem_chunks/handler49.js +1 -1
- package/dist/packem_chunks/handler5.js +6 -6
- package/dist/packem_chunks/handler50.js +6 -6
- package/dist/packem_chunks/handler51.js +13 -13
- package/dist/packem_chunks/handler52.js +3 -3
- package/dist/packem_chunks/handler53.js +5 -5
- package/dist/packem_chunks/handler54.js +2 -2
- package/dist/packem_chunks/handler55.js +1 -1
- package/dist/packem_chunks/handler56.js +4 -4
- package/dist/packem_chunks/handler57.js +5 -5
- package/dist/packem_chunks/handler58.js +5 -5
- package/dist/packem_chunks/handler59.js +8 -8
- package/dist/packem_chunks/handler6.js +7 -7
- package/dist/packem_chunks/handler60.js +3 -3
- package/dist/packem_chunks/handler61.js +21 -21
- package/dist/packem_chunks/handler62.js +12 -12
- package/dist/packem_chunks/handler63.js +3 -3
- package/dist/packem_chunks/handler64.js +5 -5
- package/dist/packem_chunks/handler65.js +8 -8
- package/dist/packem_chunks/handler66.js +2 -2
- package/dist/packem_chunks/handler67.js +21 -21
- package/dist/packem_chunks/handler68.js +21 -21
- package/dist/packem_chunks/handler69.js +30 -30
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +9 -9
- package/dist/packem_chunks/handler71.js +17 -17
- package/dist/packem_chunks/handler72.js +104 -104
- package/dist/packem_chunks/handler73.js +20 -20
- package/dist/packem_chunks/handler74.js +45 -45
- package/dist/packem_chunks/handler75.js +27 -3
- package/dist/packem_chunks/handler76.js +3 -27
- package/dist/packem_chunks/handler77.js +68 -68
- package/dist/packem_chunks/handler78.js +30 -30
- package/dist/packem_chunks/handler8.js +1 -1
- package/dist/packem_chunks/handler9.js +1 -1
- package/dist/packem_chunks/heal-accept.js +9 -9
- package/dist/packem_chunks/heal.js +11 -11
- package/dist/packem_chunks/help-command.js +7 -63
- package/dist/packem_chunks/index.js +1 -1
- package/dist/packem_chunks/index2.js +48 -804
- package/dist/packem_chunks/index3.js +3 -7
- package/dist/packem_chunks/index4.js +803 -134
- package/dist/packem_chunks/index5.js +7 -73
- package/dist/packem_chunks/index6.js +73 -0
- package/dist/packem_chunks/index7.js +135 -0
- package/dist/packem_chunks/interface.js +2 -2
- package/dist/packem_chunks/keys-refresh.js +4 -4
- package/dist/packem_chunks/lean.js +3 -3
- package/dist/packem_chunks/list.js +3 -3
- package/dist/packem_chunks/loader.js +4 -4
- package/dist/packem_chunks/loader2.js +1 -1
- package/dist/packem_chunks/orchestrator.js +27 -27
- package/dist/packem_chunks/pre-mode.js +2 -2
- package/dist/packem_chunks/print-config.js +1 -1
- package/dist/packem_chunks/prompts.js +7 -7
- package/dist/packem_chunks/prune.js +3 -3
- package/dist/packem_chunks/publish-guards.js +1 -1
- package/dist/packem_chunks/resolveFormatter.js +5 -5
- package/dist/packem_chunks/run.js +1 -1
- package/dist/packem_chunks/security.js +1 -1
- package/dist/packem_chunks/shell-runner.js +1 -1
- package/dist/packem_chunks/slack.js +2 -2
- package/dist/packem_chunks/snapshot.js +2 -2
- package/dist/packem_chunks/stage-publisher.js +1 -1
- package/dist/packem_chunks/staged-registry.js +2 -2
- package/dist/packem_chunks/state.js +3 -3
- package/dist/packem_chunks/status.js +2 -2
- package/dist/packem_chunks/success-walk.js +4 -4
- package/dist/packem_chunks/sync.js +2 -2
- package/dist/packem_chunks/sync2.js +2 -2
- package/dist/packem_chunks/tar.js +3 -3
- package/dist/packem_chunks/tripwire.js +2 -2
- package/dist/packem_chunks/ts-loader.js +5 -9
- package/dist/packem_chunks/verify-lockfile.js +2 -2
- package/dist/packem_chunks/version-resolver.js +2 -2
- package/dist/packem_chunks/webhook.js +1 -1
- package/dist/packem_chunks/workflow-templates.js +5 -5
- package/dist/packem_chunks/workspace.js +2 -2
- package/dist/packem_shared/ReleaseClient-DAvbxCdo.js +1 -0
- package/dist/packem_shared/Table-DyORjLji-CC9cYgCG.js +11 -0
- package/dist/packem_shared/{VisReleaseError-DMGRBTNO.js → VisReleaseError-DZtgcKf8.js} +1 -1
- package/dist/packem_shared/_commonjsHelpers-DTfxOvZk.js +1 -0
- package/dist/packem_shared/advisories-CyDqzi5j.js +1 -0
- package/dist/packem_shared/affected-selection-DPQR-Bd3.js +1 -0
- package/dist/packem_shared/affected-shas-Dd0P7fGD.js +1 -0
- package/dist/packem_shared/ai-analysis-DSQQDFU9.js +68 -0
- package/dist/packem_shared/ai-fix-6nXZbecQ.js +43 -0
- package/dist/packem_shared/augment-COAiXSIx.js +4 -0
- package/dist/packem_shared/bin-wafzkjaB.js +1 -0
- package/dist/packem_shared/build-scripts-pdVmqXRm.js +1 -0
- package/dist/packem_shared/clean-DRiLimTx.js +1 -0
- package/dist/packem_shared/command-runtime-CiLVo4ED.js +1 -0
- package/dist/packem_shared/{compile-cache-B_Vf_WxT.js → compile-cache-DoMHRsRZ.js} +1 -1
- package/dist/packem_shared/createAdapter-F7GidOzU.js +1 -0
- package/dist/packem_shared/createVersionActions-ByaJ1Nbv.js +1 -0
- package/dist/packem_shared/cyclonedx-C_ezHg8b.js +4 -0
- package/dist/packem_shared/dependency-scan-DBH2Qo4I.js +1 -0
- package/dist/packem_shared/docker-Br_iFmI-.js +59 -0
- package/dist/packem_shared/failure-log-D92tM0ie.js +2 -0
- package/dist/packem_shared/formatBytes-BHAzNIrn-DFIppnY0.js +4 -0
- package/dist/packem_shared/getRandomSpinner-4ZEcbTYv-DCyIuj19.js +1 -0
- package/dist/packem_shared/giget-CVyyR7x8.js +2 -0
- package/dist/packem_shared/glob-Cyk1H9ZL-ox19CSsT.js +1 -0
- package/dist/packem_shared/index-B4AjSxHU.js +1 -0
- package/dist/packem_shared/index-BisalDCf.js +39 -0
- package/dist/packem_shared/{index-BWl4DbMp.js → index-BjdW45xX.js} +1 -1
- package/dist/packem_shared/index-DHD8wb6Z.js +22 -0
- package/dist/packem_shared/index-DXPSWMbG.js +1 -0
- package/dist/packem_shared/index.server-CwSgbeN7.js +2 -0
- package/dist/packem_shared/isAccessibleSync-DYKTrrvc-CSnBISfV.js +1 -0
- package/dist/packem_shared/license-DvlYdo6T.js +1 -0
- package/dist/packem_shared/lifecycle-CfTZQHOG.js +2 -0
- package/dist/packem_shared/lockfile-35RFsJDs.js +1 -0
- package/dist/packem_shared/lockfile-DhHAaHN5.js +1 -0
- package/dist/packem_shared/main-BjJN8kWj.js +1 -0
- package/dist/packem_shared/manifests-BNSmpPF_.js +1 -0
- package/dist/packem_shared/min-release-age-ChzTC7_I.js +34 -0
- package/dist/packem_shared/missing-package-json-C0keIt78.js +1 -0
- package/dist/packem_shared/native-config-sync-BSzU4qUO.js +21 -0
- package/dist/packem_shared/osv-bloom-5wDAoZ1e.js +2 -0
- package/dist/packem_shared/otelPlugin-D8LL2-4L.js +1 -0
- package/dist/packem_shared/package-version-BJkg7-6H.js +4 -0
- package/dist/packem_shared/packument-C55kVxcQ.js +1 -0
- package/dist/packem_shared/{peer-warnings-BXAzXqY3.js → peer-warnings-CmYSxvql.js} +1 -1
- package/dist/packem_shared/pm-runner-de-jCq8q.js +1 -0
- package/dist/packem_shared/project-name-filter-BeREbPMI.js +7 -0
- package/dist/packem_shared/{prompt-BSAy8SMH.js → prompt-DMzaQEVa.js} +1 -1
- package/dist/packem_shared/provenance-CvfQEJPQ.js +1 -0
- package/dist/packem_shared/readJsonSync-CbryXYxN-B2aSeDpC.js +1 -0
- package/dist/packem_shared/registry-keys-DmBrAlhg.js +1 -0
- package/dist/packem_shared/resolve-explicit-COmP7eqr.js +5 -0
- package/dist/packem_shared/resolve-runtime-C7NBCA1C.js +1 -0
- package/dist/packem_shared/run-file-jMngGQhs.js +1 -0
- package/dist/packem_shared/runtime-check-BklgEMkC.js +1 -0
- package/dist/packem_shared/s1ngularity-RZOHbGrE.js +1 -0
- package/dist/packem_shared/scan-progress-C9nMDLis.js +2 -0
- package/dist/packem_shared/selectors-B7lSFz7l.js +3 -0
- package/dist/packem_shared/signatures-oZ_2IneN.js +2 -0
- package/dist/packem_shared/{slug-DoueYuLo.js → slug-OBHcH7wV.js} +1 -1
- package/dist/packem_shared/spinner-CbJfWYwB.js +1 -0
- package/dist/packem_shared/sticky-comment-DjhyCIZt.js +1 -0
- package/dist/packem_shared/subtree-DtmcKAJK.js +2 -0
- package/dist/packem_shared/symbols-BXDZ_sKt.js +1 -0
- package/dist/packem_shared/tabs-BilwonkM.js +1 -0
- package/dist/packem_shared/target-merge-D1xbylFw.js +4 -0
- package/dist/packem_shared/target-options-d_rIrLyq.js +1 -0
- package/dist/packem_shared/toolchain-DY11tPCw.js +5 -0
- package/dist/packem_shared/typosquats-D8ppc5kr.js +1 -0
- package/dist/packem_shared/use-measured-height-BPQg2q_p.js +1 -0
- package/dist/packem_shared/utils-DQFHJn72.js +1 -0
- package/dist/packem_shared/verify-D8wYvB85.js +1 -0
- package/dist/packem_shared/vis-update-app-ngwL2mRv.js +1 -0
- package/dist/packem_shared/vis-user-error-jhNwmkZp.js +30 -0
- package/dist/packem_shared/watch-Dswvj6Zp.js +1 -0
- package/dist/packem_shared/watch-loop-COWvvSbR.js +11 -0
- package/dist/packem_shared/writeFileSync-DJoHk3Ks-CgQ-VNNT.js +1 -0
- package/dist/release/core/changelog/index.d.ts +62 -2
- package/dist/release/core/package-managers/index.d.ts +25 -1
- package/dist/release/core/package-managers/index.js +1 -1
- package/dist/release/core/version-actions/index.d.ts +47 -2
- package/dist/release/core/version-actions/index.js +1 -1
- package/dist/release/index.d.ts +100 -1
- package/dist/release/index.js +1 -1
- package/dist/release/plugin-sdk.d.ts +16 -1
- package/dist/release/plugin-sdk.js +1 -1
- package/dist/release/presets.js +1 -1
- package/dist/release/types.js +1 -1
- package/dist/runtime/preload.js +1 -1
- package/index.js +26 -26
- package/package.json +9 -9
- package/dist/packem_chunks/detect2.js +0 -8
- package/dist/packem_chunks/registry.js +0 -48
- package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +0 -1
- package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +0 -1
- package/dist/packem_shared/advisories-DsXRmIA5.js +0 -1
- package/dist/packem_shared/affected-selection-BE6VFCDV.js +0 -1
- package/dist/packem_shared/affected-shas-BKEu4RZc.js +0 -1
- package/dist/packem_shared/ai-analysis-DikAj6rX.js +0 -68
- package/dist/packem_shared/ai-fix-bfWo0cZX.js +0 -43
- package/dist/packem_shared/augment-BkJxi_GW.js +0 -4
- package/dist/packem_shared/bin-B-TytgzW.js +0 -1
- package/dist/packem_shared/build-scripts-DWypBQ--.js +0 -1
- package/dist/packem_shared/clean-DWjQl14S.js +0 -1
- package/dist/packem_shared/command-runtime-DQ7ZpLYL.js +0 -1
- package/dist/packem_shared/createAdapter-bU4DIP3F.js +0 -1
- package/dist/packem_shared/createVersionActions-BK43SNDH.js +0 -1
- package/dist/packem_shared/cyclonedx-DLBi65MV.js +0 -4
- package/dist/packem_shared/dependency-scan-ZLOuLkGN.js +0 -1
- package/dist/packem_shared/docker-B4zAZCZG.js +0 -59
- package/dist/packem_shared/en-BDYMmM2_.js +0 -27
- package/dist/packem_shared/failure-log-DyhWPqno.js +0 -2
- package/dist/packem_shared/giget-CAxjpwew.js +0 -2
- package/dist/packem_shared/glob-BUjyjdE8-Dp_QcayW.js +0 -1
- package/dist/packem_shared/index-BAe6e0XE.js +0 -1
- package/dist/packem_shared/index-BLtnel38.js +0 -35
- package/dist/packem_shared/index-CuKDxOCI.js +0 -1
- package/dist/packem_shared/index-tNFGWxc0.js +0 -39
- package/dist/packem_shared/index.server-CusjRLCh.js +0 -2
- package/dist/packem_shared/license-t5KnNX6v.js +0 -1
- package/dist/packem_shared/lifecycle-KY9umOg6.js +0 -2
- package/dist/packem_shared/lockfile-YAuZf1gh.js +0 -1
- package/dist/packem_shared/main-D_cam4hv.js +0 -1
- package/dist/packem_shared/manifests-BwTn_1ad.js +0 -1
- package/dist/packem_shared/min-release-age-6avfn81h.js +0 -34
- package/dist/packem_shared/missing-package-json-Cl0vdz6K.js +0 -1
- package/dist/packem_shared/native-config-sync-CHMCJx7H.js +0 -21
- package/dist/packem_shared/osv-bloom-DdqDnLCt.js +0 -2
- package/dist/packem_shared/otelPlugin-DmKDBaPo.js +0 -1
- package/dist/packem_shared/package-version-BNRJ3o9C.js +0 -4
- package/dist/packem_shared/packument-B9-WqReu.js +0 -1
- package/dist/packem_shared/pm-runner-DRybtzOV.js +0 -1
- package/dist/packem_shared/project-name-filter-Dw0fC6IO.js +0 -7
- package/dist/packem_shared/provenance-CLxuqCfL.js +0 -1
- package/dist/packem_shared/readJsonSync-DweZd5ZA-CtrDlqpb.js +0 -1
- package/dist/packem_shared/registry-keys-cTN24144.js +0 -1
- package/dist/packem_shared/resolve-explicit-Uw6WQl9R.js +0 -5
- package/dist/packem_shared/resolve-runtime-DztanwkZ.js +0 -1
- package/dist/packem_shared/run-file-CaE5_xBY.js +0 -1
- package/dist/packem_shared/runtime-check-C32yE57I.js +0 -1
- package/dist/packem_shared/s1ngularity-BIYhg82u.js +0 -1
- package/dist/packem_shared/scan-progress-DWfY4zkp.js +0 -2
- package/dist/packem_shared/selectors-D2j4M9Ul.js +0 -3
- package/dist/packem_shared/signatures-C8iQ5fUq.js +0 -2
- package/dist/packem_shared/sticky-comment-D6_7-w8T.js +0 -1
- package/dist/packem_shared/subtree-DSm0QEoE.js +0 -2
- package/dist/packem_shared/symbols-DPTlrJ3B.js +0 -1
- package/dist/packem_shared/target-merge-DLxJTcxn.js +0 -11
- package/dist/packem_shared/target-options-3t4-2F-F.js +0 -1
- package/dist/packem_shared/toolchain-BPzbahcQ.js +0 -5
- package/dist/packem_shared/typosquats-BWrmhh36.js +0 -1
- package/dist/packem_shared/use-measured-height-BwAwGHjw.js +0 -1
- package/dist/packem_shared/utils-CRueU43T.js +0 -1
- package/dist/packem_shared/verify-CzUPT6Uk.js +0 -1
- package/dist/packem_shared/vis-update-app-D6Wq8ZHM.js +0 -1
- package/dist/packem_shared/vis-user-error-CfM4_ORo.js +0 -30
- package/dist/packem_shared/watch-D_oAxW_Z.js +0 -1
- package/dist/packem_shared/watch-loop-BrjblOz5.js +0 -11
|
@@ -1,135 +1,804 @@
|
|
|
1
|
-
import{createRequire as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
let Ii;const ui=A=>(Ii??=Qi(import.meta.url))(A),at=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ie=A=>{if(typeof at<"u"&&at.versions&&at.versions.node){const[I,d]=at.versions.node.split(".").map(Number);if(I>22||I===22&&d>=3||I===20&&d>=16)return at.getBuiltinModule(A)}return ui(A)},_A=ie("node:assert"),gt=ie("node:net"),wt=ie("node:http"),ue=ie("node:stream"),Bi=ie("node:querystring"),Le=ie("node:events"),Wo=ie("node:diagnostics_channel"),we=ie("node:util"),Ci=ie("node:tls"),_e=ie("node:buffer"),St=ie("node:zlib"),di=ie("node:perf_hooks"),ms=ie("node:util/types"),fi=ie("node:worker_threads"),Ze=ie("node:crypto"),qo=ie("node:sqlite"),yi=ie("node:stream/web"),Di=ie("node:url"),ct=ie("node:async_hooks"),pi=ie("node:console"),wi=ie("node:fs/promises"),Si=ie("node:path"),Ri=ie("node:timers"),Ni=ie("node:dns");function mi(A,I){for(var d=0;d<I.length;d++){const N=I[d];if(typeof N!="string"&&!Array.isArray(N))for(const S in N)S!=="default"&&!(S in A)&&(A[S]=N[S])}return Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})}var kt={exports:{}},Mt,Gs;function Ae(){return Gs||(Gs=1,Mt={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2Options:Symbol("http2 options"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}),Mt}var Tt,Vs;function Po(){if(Vs)return Tt;Vs=1;let A=0;const I=1e3,d=(I>>1)-1;let N;const S=Symbol("kFastTimer"),s=[],a=-2,f=-1,C=0,h=1;function u(){A+=d;let r=0,e=s.length;for(;r<e;){const n=s[r];n._state===C?(n._idleStart=A-d,n._state=h):n._state===h&&A>=n._idleStart+n._idleTimeout&&(n._state=f,n._idleStart=-1,n._onTimeout(n._timerArg)),n._state===f?(n._state=a,--e!==0&&(s[r]=s[e])):++r}s.length=e,s.length!==0&&c()}function c(){N?.refresh?N.refresh():(clearTimeout(N),N=setTimeout(u,d),N?.unref())}class t{[S]=!0;_state=a;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,n,o){this._onTimeout=e,this._idleTimeout=n,this._timerArg=o,this.refresh()}refresh(){this._state===a&&s.push(this),(!N||s.length===1)&&c(),this._state=C}clear(){this._state=f,this._idleStart=-1}}return Tt={setTimeout(r,e,n){return e<=I?setTimeout(r,e,n):new t(r,e,n)},clearTimeout(r){r[S]?r.clear():clearTimeout(r)},setFastTimeout(r,e,n){return new t(r,e,n)},clearFastTimeout(r){r.clear()},now(){return A},tick(r=0){A+=r-I+1,u(),u()},reset(){A=0,s.length=0,clearTimeout(N),N=null},kFastTimer:S},Tt}var Lt,Os;function VA(){if(Os)return Lt;Os=1;const A=Symbol.for("undici.error.UND_ERR");class I extends Error{constructor(v,iA){super(v,iA),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](v){return v&&v[A]===!0}get[A](){return!0}}const d=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class N extends I{constructor(v){super(v),this.name="ConnectTimeoutError",this.message=v||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](v){return v&&v[d]===!0}get[d](){return!0}}const S=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class s extends I{constructor(v){super(v),this.name="HeadersTimeoutError",this.message=v||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](v){return v&&v[S]===!0}get[S](){return!0}}const a=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class f extends I{constructor(v){super(v),this.name="HeadersOverflowError",this.message=v||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](v){return v&&v[a]===!0}get[a](){return!0}}const C=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class h extends I{constructor(v){super(v),this.name="BodyTimeoutError",this.message=v||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](v){return v&&v[C]===!0}get[C](){return!0}}const u=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class c extends I{constructor(v){super(v),this.name="InvalidArgumentError",this.message=v||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](v){return v&&v[u]===!0}get[u](){return!0}}const t=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class r extends I{constructor(v){super(v),this.name="InvalidReturnValueError",this.message=v||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](v){return v&&v[t]===!0}get[t](){return!0}}const e=Symbol.for("undici.error.UND_ERR_ABORT");class n extends I{constructor(v){super(v),this.name="AbortError",this.message=v||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](v){return v&&v[e]===!0}get[e](){return!0}}const o=Symbol.for("undici.error.UND_ERR_ABORTED");class g extends n{constructor(v){super(v),this.name="AbortError",this.message=v||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](v){return v&&v[o]===!0}get[o](){return!0}}const D=Symbol.for("undici.error.UND_ERR_INFO");class w extends I{constructor(v,iA){super(v,iA),this.name="InformationalError",this.message=v||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](v){return v&&v[D]===!0}get[D](){return!0}}const E=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class i extends I{constructor(v){super(v),this.name="RequestContentLengthMismatchError",this.message=v||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](v){return v&&v[E]===!0}get[E](){return!0}}const y=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class l extends I{constructor(v){super(v),this.name="ResponseContentLengthMismatchError",this.message=v||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](v){return v&&v[y]===!0}get[y](){return!0}}const B=Symbol.for("undici.error.UND_ERR_DESTROYED");class U extends I{constructor(v){super(v),this.name="ClientDestroyedError",this.message=v||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](v){return v&&v[B]===!0}get[B](){return!0}}const M=Symbol.for("undici.error.UND_ERR_CLOSED");class T extends I{constructor(v){super(v),this.name="ClientClosedError",this.message=v||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](v){return v&&v[M]===!0}get[M](){return!0}}const F=Symbol.for("undici.error.UND_ERR_SOCKET");class R extends I{constructor(v,iA){super(v),this.name="SocketError",this.message=v||"Socket error",this.code="UND_ERR_SOCKET",this.socket=iA}static[Symbol.hasInstance](v){return v&&v[F]===!0}get[F](){return!0}}const k=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class Q extends I{constructor(v){super(v),this.name="NotSupportedError",this.message=v||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](v){return v&&v[k]===!0}get[k](){return!0}}const p=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class m extends I{constructor(v){super(v),this.name="MissingUpstreamError",this.message=v||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](v){return v&&v[p]===!0}get[p](){return!0}}const G=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class O extends Error{constructor(v,iA,AA){super(v),this.name="HTTPParserError",this.code=iA?`HPE_${iA}`:void 0,this.data=AA?AA.toString():void 0}static[Symbol.hasInstance](v){return v&&v[G]===!0}get[G](){return!0}}const Y=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class Z extends I{constructor(v){super(v),this.name="ResponseExceededMaxSizeError",this.message=v||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](v){return v&&v[Y]===!0}get[Y](){return!0}}const tA=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class lA extends I{constructor(v,iA,{headers:AA,data:dA}){super(v),this.name="RequestRetryError",this.message=v||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=iA,this.data=dA,this.headers=AA}static[Symbol.hasInstance](v){return v&&v[tA]===!0}get[tA](){return!0}}const $=Symbol.for("undici.error.UND_ERR_RESPONSE");class J extends I{constructor(v,iA,{headers:AA,body:dA}){super(v),this.name="ResponseError",this.message=v||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=iA,this.body=dA,this.headers=AA}static[Symbol.hasInstance](v){return v&&v[$]===!0}get[$](){return!0}}const V=Symbol.for("undici.error.UND_ERR_PRX_TLS");class X extends I{constructor(v,iA,AA={}){super(iA,{cause:v,...AA}),this.name="SecureProxyConnectionError",this.message=iA||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=v}static[Symbol.hasInstance](v){return v&&v[V]===!0}get[V](){return!0}}const j=Symbol.for("undici.error.UND_ERR_PRX_CONN");class nA extends I{constructor(v,iA,AA={}){super(iA,{cause:v,...AA}),this.name="ProxyConnectionError",this.message=iA||"Proxy Connection failed",this.code="UND_ERR_PRX_CONN",this.cause=v}static[Symbol.hasInstance](v){return v&&v[j]===!0}get[j](){return!0}}const gA=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");class rA extends I{constructor(v){super(v),this.name="MaxOriginsReachedError",this.message=v||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](v){return v&&v[gA]===!0}get[gA](){return!0}}class DA extends I{constructor(v,iA){super(v),this.name="Socks5ProxyError",this.message=v||"SOCKS5 proxy error",this.code=iA||"UND_ERR_SOCKS5"}}const kA=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class mA extends I{constructor(v){super(v),this.name="MessageSizeExceededError",this.message=v||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](v){return v&&v[kA]===!0}get[kA](){return!0}}return Lt={AbortError:n,HTTPParserError:O,UndiciError:I,HeadersTimeoutError:s,HeadersOverflowError:f,BodyTimeoutError:h,RequestContentLengthMismatchError:i,ConnectTimeoutError:N,InvalidArgumentError:c,InvalidReturnValueError:r,RequestAbortedError:g,ClientDestroyedError:U,ClientClosedError:T,InformationalError:w,SocketError:R,NotSupportedError:Q,ResponseContentLengthMismatchError:l,BalancedPoolMissingUpstreamError:m,ResponseExceededMaxSizeError:Z,RequestRetryError:lA,ResponseError:J,SecureProxyConnectionError:X,ProxyConnectionError:nA,MaxOriginsReachedError:rA,Socks5ProxyError:DA,MessageSizeExceededError:mA},Lt}var Ht,Js;function bs(){if(Js)return Ht;Js=1;const A=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],I={};Object.setPrototypeOf(I,null);for(let d=0;d<A.length;++d){const N=A[d],S=N.toLowerCase();I[N]=I[S]=S}return Ht={wellknownHeaderNames:A,headerNameLowerCasedRecord:I},Ht}var Yt,xs;function bi(){if(xs)return Yt;xs=1;const{wellknownHeaderNames:A,headerNameLowerCasedRecord:I}=bs();class d{value=null;left=null;middle=null;right=null;code;constructor(a,f,C){if(C===void 0||C>=a.length)throw new TypeError("Unreachable");if((this.code=a.charCodeAt(C))>127)throw new TypeError("key must be ascii string");a.length!==++C?this.middle=new d(a,f,C):this.value=f}add(a,f){const C=a.length;if(C===0)throw new TypeError("Unreachable");let h=0,u=this;for(;;){const c=a.charCodeAt(h);if(c>127)throw new TypeError("key must be ascii string");if(u.code===c)if(C===++h){u.value=f;break}else if(u.middle!==null)u=u.middle;else{u.middle=new d(a,f,h);break}else if(u.code<c)if(u.left!==null)u=u.left;else{u.left=new d(a,f,h);break}else if(u.right!==null)u=u.right;else{u.right=new d(a,f,h);break}}}search(a){const f=a.length;let C=0,h=this;for(;h!==null&&C<f;){let u=a[C];for(u<=90&&u>=65&&(u|=32);h!==null;){if(u===h.code){if(f===++C)return h;h=h.middle;break}h=h.code<u?h.left:h.right}}return null}}class N{node=null;insert(a,f){this.node===null?this.node=new d(a,f,0):this.node.add(a,f)}lookup(a){return this.node?.search(a)?.value??null}}const S=new N;for(let s=0;s<A.length;++s){const a=I[A[s]];S.insert(a,a)}return Yt={TernarySearchTree:N,tree:S},Yt}var vt,Ws;function OA(){if(Ws)return vt;Ws=1;const A=_A,{kDestroyed:I,kBodyUsed:d,kListeners:N,kBody:S}=Ae(),{IncomingMessage:s}=wt,a=ue,f=gt,{stringify:C}=Bi,{EventEmitter:h,addAbortListener:u}=Le,c=Po(),{InvalidArgumentError:t,ConnectTimeoutError:r}=VA(),{headerNameLowerCasedRecord:e}=bs(),{tree:n}=bi();class o{constructor(cA){this[S]=cA,this[d]=!1}async*[Symbol.asyncIterator](){A(!this[d],"disturbed"),this[d]=!0,yield*this[S]}}function g(){}function D(H){return w(H)?(m(H)===0&&H.on("data",function(){A(!1)}),typeof H.readableDidRead!="boolean"&&(H[d]=!1,h.prototype.on.call(H,"data",function(){this[d]=!0})),H):H&&typeof H.pipeTo=="function"?new o(H):H&&kA(H)?H:H&&typeof H!="string"&&!ArrayBuffer.isView(H)&&Q(H)?new o(H):H}function w(H){return H&&typeof H=="object"&&typeof H.pipe=="function"&&typeof H.on=="function"}function E(H){return H instanceof Blob}function i(H){return H.includes("?")||H.includes("#")}function y(H,cA){if(i(H))throw new Error('Query params cannot be passed when url already contains "?" or "#".');const CA=C(cA);return CA&&(H+="?"+CA),H}function l(H){const cA=parseInt(H,10);return cA===Number(H)&&cA>=0&&cA<=65535}function B(H){return H!=null&&H[0]==="h"&&H[1]==="t"&&H[2]==="t"&&H[3]==="p"&&(H[4]===":"||H[4]==="s"&&H[5]===":")}function U(H){if(typeof H=="string"){if(H=new URL(H),!B(H.origin||H.protocol))throw new t("Invalid URL protocol: the URL must start with `http:` or `https:`.");return H}if(!H||typeof H!="object")throw new t("Invalid URL: The URL argument must be a non-null object.");if(!(H instanceof URL)){if(H.port!=null&&H.port!==""&&l(H.port)===!1)throw new t("Invalid URL: port must be a valid integer or a string representation of an integer.");if(H.path!=null&&typeof H.path!="string")throw new t("Invalid URL path: the path must be a string or null/undefined.");if(H.pathname!=null&&typeof H.pathname!="string")throw new t("Invalid URL pathname: the pathname must be a string or null/undefined.");if(H.hostname!=null&&typeof H.hostname!="string")throw new t("Invalid URL hostname: the hostname must be a string or null/undefined.");if(H.origin!=null&&typeof H.origin!="string")throw new t("Invalid URL origin: the origin must be a string or null/undefined.");if(!B(H.origin||H.protocol))throw new t("Invalid URL protocol: the URL must start with `http:` or `https:`.");const cA=H.port!=null?H.port:H.protocol==="https:"?443:80;let CA=H.origin!=null?H.origin:`${H.protocol||""}//${H.hostname||""}:${cA}`,wA=H.path!=null?H.path:`${H.pathname||""}${H.search||""}`;return CA[CA.length-1]==="/"&&(CA=CA.slice(0,CA.length-1)),wA&&wA[0]!=="/"&&(wA=`/${wA}`),new URL(`${CA}${wA}`)}if(!B(H.origin||H.protocol))throw new t("Invalid URL protocol: the URL must start with `http:` or `https:`.");return H}function M(H){if(H=U(H),H.pathname!=="/"||H.search||H.hash)throw new t("invalid url");return H}function T(H){if(H[0]==="["){const CA=H.indexOf("]");return A(CA!==-1),H.substring(1,CA)}const cA=H.indexOf(":");return cA===-1?H:H.substring(0,cA)}function F(H){if(!H)return null;A(typeof H=="string");const cA=T(H);return f.isIP(cA)?"":cA}function R(H){return JSON.parse(JSON.stringify(H))}function k(H){return H!=null&&typeof H[Symbol.asyncIterator]=="function"}function Q(H){return H!=null&&(typeof H[Symbol.iterator]=="function"||typeof H[Symbol.asyncIterator]=="function")}function p(H){const cA=Object.getPrototypeOf(H);return Object.hasOwn(H,Symbol.iterator)||cA!=null&&cA!==Object.prototype&&typeof H[Symbol.iterator]=="function"}function m(H){if(H==null)return 0;if(w(H)){const cA=H._readableState;return cA&&cA.objectMode===!1&&cA.ended===!0&&Number.isFinite(cA.length)?cA.length:null}else{if(E(H))return H.size!=null?H.size:null;if(j(H))return H.byteLength}return null}function G(H){return H&&!!(H.destroyed||H[I]||a.isDestroyed?.(H))}function O(H,cA){if(!(H==null||!w(H)||G(H))){if(typeof H.destroy=="function"){Object.getPrototypeOf(H).constructor===s&&(H.socket=null);try{H.destroy(cA)}catch{}}else cA&&queueMicrotask(()=>{H.emit("error",cA)});H.destroyed!==!0&&(H[I]=!0)}}const Y=/timeout=(\d+)/;function Z(H){const cA=H.match(Y);return cA?parseInt(cA[1],10)*1e3:null}function tA(H){return typeof H=="string"?e[H]??H.toLowerCase():n.lookup(H)??H.toString("latin1").toLowerCase()}function lA(H){return n.lookup(H)??H.toString("latin1").toLowerCase()}function $(H,cA){cA===void 0&&(cA={});for(let CA=0;CA<H.length;CA+=2){const wA=tA(H[CA]);let q=cA[wA];if(q!==void 0)if(Object.hasOwn(cA,wA))typeof q=="string"&&(q=[q],cA[wA]=q),q.push(H[CA+1].toString("latin1"));else{const oA=typeof H[CA+1]=="string"?H[CA+1]:Array.isArray(H[CA+1])?H[CA+1].map(BA=>BA.toString("latin1")):H[CA+1].toString("latin1");wA==="__proto__"?Object.defineProperty(cA,wA,{value:oA,enumerable:!0,configurable:!0,writable:!0}):cA[wA]=oA}else{const oA=typeof H[CA+1]=="string"?H[CA+1]:Array.isArray(H[CA+1])?H[CA+1].map(BA=>BA.toString("latin1")):H[CA+1].toString("latin1");cA[wA]=oA}}return cA}function J(H){if(H==null)return[];if(!Array.isArray(H)){const oA=[];for(const[BA,yA]of Object.entries(H))if(Array.isArray(yA))for(const TA of yA)oA.push(BA,`${TA}`);else oA.push(BA,`${yA}`);return oA}const cA=H.length,CA=new Array(cA);let wA,q;for(let oA=0;oA<cA;oA+=2)wA=H[oA],q=H[oA+1],typeof wA!="string"&&(wA=wA.toString()),typeof q!="string"&&(q=q.toString("latin1")),CA[oA]=wA,CA[oA+1]=q;return CA}function V(H){const cA=[];for(const[CA,wA]of Object.entries(H))if(Array.isArray(wA))for(const q of wA)cA.push(Buffer.from(CA,"latin1"),Buffer.from(`${q}`,"latin1"));else cA.push(Buffer.from(CA,"latin1"),Buffer.from(`${wA}`,"latin1"));return cA}function X(H){if(!Array.isArray(H))throw new TypeError("expected headers to be an array");return H.map(cA=>Buffer.from(cA))}function j(H){return H instanceof Uint8Array||Buffer.isBuffer(H)}function nA(H,cA,CA){if(!H||typeof H!="object")throw new t("handler must be an object");if(typeof H.onRequestStart!="function")throw new t("invalid onRequestStart method");if(typeof H.onResponseError!="function")throw new t("invalid onResponseError method");if(typeof H.onBodySent!="function"&&H.onBodySent!==void 0)throw new t("invalid onBodySent method");if(typeof H.onRequestSent!="function"&&H.onRequestSent!==void 0)throw new t("invalid onRequestSent method");if(CA||cA==="CONNECT"){if(typeof H.onRequestUpgrade!="function")throw new t("invalid onRequestUpgrade method")}else{if(typeof H.onResponseStart!="function")throw new t("invalid onResponseStart method");if(typeof H.onResponseData!="function")throw new t("invalid onResponseData method");if(typeof H.onResponseEnd!="function")throw new t("invalid onResponseEnd method")}}function gA(H){return!!(H&&(a.isDisturbed(H)||H[d]))}function rA(H){return{localAddress:H.localAddress,localPort:H.localPort,remoteAddress:H.remoteAddress,remotePort:H.remotePort,remoteFamily:H.remoteFamily,timeout:H.timeout,bytesWritten:H.bytesWritten,bytesRead:H.bytesRead}}function DA(H){let cA;return new ReadableStream({start(){cA=H[Symbol.asyncIterator]()},pull(CA){return cA.next().then(({done:wA,value:q})=>{if(wA)return queueMicrotask(()=>{CA.close(),CA.byobRequest?.respond(0)});{const oA=Buffer.isBuffer(q)?q:Buffer.from(q);return oA.byteLength?CA.enqueue(new Uint8Array(oA)):this.pull(CA)}})},cancel(){return cA.return()},type:"bytes"})}function kA(H){return H&&typeof H=="object"&&typeof H.append=="function"&&typeof H.delete=="function"&&typeof H.get=="function"&&typeof H.getAll=="function"&&typeof H.has=="function"&&typeof H.set=="function"&&H[Symbol.toStringTag]==="FormData"}function mA(H,cA){return!H||"aborted"in H?u(H,cA)[Symbol.dispose]:typeof H.addEventListener=="function"?(H.addEventListener("abort",cA,{once:!0}),()=>H.removeEventListener("abort",cA)):(H.once("abort",cA),()=>H.removeListener("abort",cA))}const aA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function v(H){return aA[H]===1}const iA=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function AA(H){if(H.length>=12)return iA.test(H);if(H.length===0)return!1;for(let cA=0;cA<H.length;cA++)if(aA[H.charCodeAt(cA)]!==1)return!1;return!0}const dA=/[^\t\x20-\x7e\x80-\xff]/;function MA(H){return!dA.test(H)}const FA=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/;function SA(H){if(H==null||H==="")return{start:0,end:null,size:null};if(!H)return null;const cA=FA.exec(H);return cA?{start:parseInt(cA[1]),end:cA[2]?parseInt(cA[2]):null,size:cA[3]&&cA[3]!=="*"?parseInt(cA[3]):null}:null}function YA(H,cA,CA){return(H[N]??=[]).push([cA,CA]),H.on(cA,CA),H}function jA(H){if(H[N]!=null){for(const[cA,CA]of H[N])H.removeListener(cA,CA);H[N]=null}return H}function PA(H,cA,CA){try{cA.onResponseError(CA),A(cA.aborted)}catch(wA){H.emit("error",wA)}}const KA=process.platform==="win32"?(H,cA)=>{if(!cA.timeout)return g;let CA=null,wA=null;const q=c.setFastTimeout(()=>{CA=setImmediate(()=>{wA=setImmediate(()=>re(H.deref(),cA))})},cA.timeout);return()=>{c.clearFastTimeout(q),clearImmediate(CA),clearImmediate(wA)}}:(H,cA)=>{if(!cA.timeout)return g;let CA=null;const wA=c.setFastTimeout(()=>{CA=setImmediate(()=>{re(H.deref(),cA)})},cA.timeout);return()=>{c.clearFastTimeout(wA),clearImmediate(CA)}};function re(H,cA){if(H==null)return;let CA="Connect Timeout Error";Array.isArray(H.autoSelectFamilyAttemptedAddresses)?CA+=` (attempted addresses: ${H.autoSelectFamilyAttemptedAddresses.join(", ")},`:CA+=` (attempted address: ${cA.hostname}:${cA.port},`,CA+=` timeout: ${cA.timeout}ms)`,O(H,new r(CA))}let te=null,ee=null;function ae(H){if(H===te)return ee;const cA=GA(H);return te=H,ee=cA,cA}function GA(H){if(H[0]==="h"&&H[1]==="t"&&H[2]==="t"&&H[3]==="p")switch(H[4]){case":":return"http:";case"s":if(H[5]===":")return"https:"}return H.slice(0,H.indexOf(":")+1)}const z={__proto__:null,enumerable:!0},RA={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},vA={...RA,patch:"patch",PATCH:"PATCH"};return Object.setPrototypeOf(RA,null),Object.setPrototypeOf(vA,null),vt={kEnumerableProperty:z,isDisturbed:gA,isBlobLike:E,parseOrigin:M,parseURL:U,getServerName:F,isStream:w,isIterable:Q,hasSafeIterator:p,isAsyncIterable:k,isDestroyed:G,headerNameToString:tA,bufferToLowerCasedHeaderName:lA,addListener:YA,removeAllListeners:jA,errorRequest:PA,parseRawHeaders:J,toRawHeaders:V,encodeRawHeaders:X,parseHeaders:$,parseKeepAliveTimeout:Z,destroy:O,bodyLength:m,deepClone:R,ReadableStreamFrom:DA,isBuffer:j,assertRequestHandler:nA,getSocketInfo:rA,isFormDataLike:kA,pathHasQueryOrFragment:i,serializePathWithQuery:y,addAbortListener:mA,isValidHTTPToken:AA,isValidHeaderValue:MA,isTokenCharCode:v,parseRangeHeader:SA,normalizedMethodRecordsBase:RA,normalizedMethodRecords:vA,isValidPort:l,isHttpOrHttpsPrefixed:B,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:D,setupConnectTimeout:KA,getProtocolFromUrlString:ae},vt}var Gt,qs;function _o(){if(qs)return Gt;qs=1;const{kConnected:A,kPending:I,kRunning:d,kSize:N,kFree:S,kQueued:s}=Ae();class a{constructor(h){this.connected=h[A],this.pending=h[I],this.running=h[d],this.size=h[N]}}class f{constructor(h){this.connected=h[A],this.free=h[S],this.pending=h[I],this.queued=h[s],this.running=h[d],this.size=h[N]}}return Gt={ClientStats:a,PoolStats:f},Gt}var Vt,Ps;function Je(){if(Ps)return Vt;Ps=1;const A=Wo,I=we,d=I.debuglog("undici"),N=I.debuglog("fetch"),S=I.debuglog("websocket"),s={beforeConnect:A.channel("undici:client:beforeConnect"),connected:A.channel("undici:client:connected"),connectError:A.channel("undici:client:connectError"),sendHeaders:A.channel("undici:client:sendHeaders"),create:A.channel("undici:request:create"),bodySent:A.channel("undici:request:bodySent"),bodyChunkSent:A.channel("undici:request:bodyChunkSent"),bodyChunkReceived:A.channel("undici:request:bodyChunkReceived"),headers:A.channel("undici:request:headers"),trailers:A.channel("undici:request:trailers"),error:A.channel("undici:request:error"),open:A.channel("undici:websocket:open"),close:A.channel("undici:websocket:close"),socketError:A.channel("undici:websocket:socket_error"),ping:A.channel("undici:websocket:ping"),pong:A.channel("undici:websocket:pong"),proxyConnected:A.channel("undici:proxy:connected")};let a=!1;function f(t=d){if(!a){if(s.beforeConnect.hasSubscribers||s.connected.hasSubscribers||s.connectError.hasSubscribers||s.sendHeaders.hasSubscribers){a=!0;return}a=!0,A.subscribe("undici:client:beforeConnect",r=>{const{connectParams:{version:e,protocol:n,port:o,host:g}}=r;t("connecting to %s%s using %s%s",g,o?`:${o}`:"",n,e)}),A.subscribe("undici:client:connected",r=>{const{connectParams:{version:e,protocol:n,port:o,host:g}}=r;t("connected to %s%s using %s%s",g,o?`:${o}`:"",n,e)}),A.subscribe("undici:client:connectError",r=>{const{connectParams:{version:e,protocol:n,port:o,host:g},error:D}=r;t("connection to %s%s using %s%s errored - %s",g,o?`:${o}`:"",n,e,D.message)}),A.subscribe("undici:client:sendHeaders",r=>{const{request:{method:e,path:n,origin:o}}=r;t("sending request to %s %s%s",e,o,n)})}}let C=!1;function h(t=d){if(!C){if(s.headers.hasSubscribers||s.trailers.hasSubscribers||s.error.hasSubscribers){C=!0;return}C=!0,A.subscribe("undici:request:headers",r=>{const{request:{method:e,path:n,origin:o},response:{statusCode:g}}=r;t("received response to %s %s%s - HTTP %d",e,o,n,g)}),A.subscribe("undici:request:trailers",r=>{const{request:{method:e,path:n,origin:o}}=r;t("trailers received from %s %s%s",e,o,n)}),A.subscribe("undici:request:error",r=>{const{request:{method:e,path:n,origin:o},error:g}=r;t("request to %s %s%s errored - %s",e,o,n,g.message)})}}let u=!1;function c(t=S){if(!u){if(s.open.hasSubscribers||s.close.hasSubscribers||s.socketError.hasSubscribers||s.ping.hasSubscribers||s.pong.hasSubscribers){u=!0;return}u=!0,A.subscribe("undici:websocket:open",r=>{if(r.address!=null){const{address:e,port:n}=r.address;t("connection opened %s%s",e,n?`:${n}`:"")}else t("connection opened")}),A.subscribe("undici:websocket:close",r=>{const{websocket:e,code:n,reason:o}=r;t("closed connection to %s - %s %s",e.url,n,o)}),A.subscribe("undici:websocket:socket_error",r=>{t("connection errored - %s",r.message)}),A.subscribe("undici:websocket:ping",r=>{t("ping received")}),A.subscribe("undici:websocket:pong",r=>{t("pong received")})}}return(d.enabled||N.enabled)&&(f(N.enabled?N:d),h(N.enabled?N:d)),S.enabled&&(f(d.enabled?d:S),c(S)),Vt={channels:s},Vt}var Ot,_s;function Fi(){if(_s)return Ot;_s=1;const{InvalidArgumentError:A,NotSupportedError:I}=VA(),d=_A,{isValidHTTPToken:N,isValidHeaderValue:S,isStream:s,destroy:a,isBuffer:f,isFormDataLike:C,isIterable:h,hasSafeIterator:u,isBlobLike:c,serializePathWithQuery:t,parseHeaders:r,assertRequestHandler:e,getServerName:n,normalizedMethodRecords:o,getProtocolFromUrlString:g}=OA(),{channels:D}=Je(),{headerNameLowerCasedRecord:w}=bs(),E=/[^\u0021-\u00ff]/;function i(F){if(typeof F!="string"||F.length===0)return!1;for(let R=0;R<F.length;R++){const k=F.charCodeAt(R);if(k<48||k>57)return!1}return!0}const y=Symbol("handler"),l=Symbol("controller"),B=Symbol("resume");class U{#A=!1;#e=null;#t=!1;#r;[B]=null;rawHeaders=null;rawTrailers=null;constructor(R){this.#r=R}pause(){this.#A=!0}resume(){this.#A&&(this.#A=!1,this[B]?.())}abort(R){this.#t||(this.#t=!0,this.#e=R,this.#r(R))}get aborted(){return this.#t}get reason(){return this.#e}get paused(){return this.#A}}class M{constructor(R,{path:k,method:Q,body:p,headers:m,query:G,idempotent:O,blocking:Y,upgrade:Z,headersTimeout:tA,bodyTimeout:lA,reset:$,expectContinue:J,servername:V,throwOnError:X,maxRedirections:j,typeOfService:nA},gA){if(typeof k!="string")throw new A("path must be a string");if(k[0]!=="/"&&!(k.startsWith("http://")||k.startsWith("https://"))&&Q!=="CONNECT")throw new A("path must be an absolute URL or start with a slash");if(E.test(k))throw new A("invalid request path");if(typeof Q!="string")throw new A("method must be a string");if(o[Q]===void 0&&!N(Q))throw new A("invalid request method");if(Z&&typeof Z!="string")throw new A("upgrade must be a string");if(Z&&!S(Z))throw new A("invalid upgrade header");if(tA!=null&&(!Number.isFinite(tA)||tA<0))throw new A("invalid headersTimeout");if(lA!=null&&(!Number.isFinite(lA)||lA<0))throw new A("invalid bodyTimeout");if($!=null&&typeof $!="boolean")throw new A("invalid reset");if(J!=null&&typeof J!="boolean")throw new A("invalid expectContinue");if(X!=null)throw new A("invalid throwOnError");if(j!=null&&j!==0)throw new A("maxRedirections is not supported, use the redirect interceptor");if(nA!=null&&(!Number.isInteger(nA)||nA<0||nA>255))throw new A("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=tA,this.bodyTimeout=lA,this.method=Q,this.typeOfService=nA,this.abort=null,p==null)this.body=null;else if(s(p)){this.body=p;const rA=this.body._readableState;(!rA||!rA.autoDestroy)&&(this.endHandler=function(){a(this)},this.body.on("end",this.endHandler)),this.errorHandler=DA=>{this.abort?this.abort(DA):this.error=DA},this.body.on("error",this.errorHandler)}else if(f(p))this.body=p.byteLength?p:null;else if(ArrayBuffer.isView(p))this.body=p.buffer.byteLength?Buffer.from(p.buffer,p.byteOffset,p.byteLength):null;else if(p instanceof ArrayBuffer)this.body=p.byteLength?Buffer.from(p):null;else if(typeof p=="string")this.body=p.length?Buffer.from(p):null;else if(C(p)||h(p)||c(p))this.body=p;else throw new A("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=Z||null,this.path=G?t(k,G):k,this.origin=R,this.protocol=g(R),this.idempotent=O??(Q==="HEAD"||Q==="GET"||Q==="QUERY"),this.blocking=Y??this.method!=="HEAD",this.reset=$??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=J??!1,Array.isArray(m)){if(m.length%2!==0)throw new A("headers array must be even");for(let rA=0;rA<m.length;rA+=2)T(this,m[rA],m[rA+1])}else if(m&&typeof m=="object")if(u(m))for(const rA of m){if(!Array.isArray(rA)||rA.length!==2)throw new A("headers must be in key-value pair format");T(this,rA[0],rA[1])}else{const rA=Object.keys(m);for(let DA=0;DA<rA.length;++DA)T(this,rA[DA],m[rA[DA]])}else if(m!=null)throw new A("headers must be an object or an array");e(gA,Q,Z),this.servername=V||n(this.host)||null,this[y]=gA,D.create.hasSubscribers&&D.create.publish({request:this})}onBodySent(R){if(D.bodyChunkSent.hasSubscribers&&D.bodyChunkSent.publish({request:this,chunk:R}),this[y].onBodySent)try{return this[y].onBodySent(R)}catch(k){this.abort(k)}}onRequestSent(){if(D.bodySent.hasSubscribers&&D.bodySent.publish({request:this}),this[y].onRequestSent)try{return this[y].onRequestSent()}catch(R){this.abort(R)}}onRequestStart(R,k){if(d(!this.aborted),d(!this.completed),this[l]=new U(R),this.error){this[l].abort(this.error);return}return this.abort=R,this[y].onRequestStart(this[l],k)}onResponseStarted(){return this[y].onResponseStarted?.()}onResponseStart(R,k,Q,p){d(!this.aborted),d(!this.completed),D.headers.hasSubscribers&&D.headers.publish({request:this,response:{statusCode:R,headers:k,statusText:p}});const m=this[l];m&&(m[B]=Q,m.rawHeaders=k);const G=Array.isArray(k)?r(k):k;try{return this[y].onResponseStart?.(m,R,G,p),!m?.paused}catch(O){return this.abort(O),!1}}onResponseData(R){d(!this.aborted),d(!this.completed),D.bodyChunkReceived.hasSubscribers&&D.bodyChunkReceived.publish({request:this,chunk:R});const k=this[l];try{return this[y].onResponseData?.(k,R),!k?.paused}catch(Q){return this.abort(Q),!1}}onRequestUpgrade(R,k,Q){d(!this.aborted),d(!this.completed);const p=this[l];p&&(p.rawHeaders=k);const m=Array.isArray(k)?r(k):k;return this[y].onRequestUpgrade?.(p,R,m,Q)}onResponseEnd(R){this.onFinally(),d(!this.aborted),d(!this.completed),this.completed=!0,D.trailers.hasSubscribers&&D.trailers.publish({request:this,trailers:R});const k=this[l];k&&(k.rawTrailers=R);const Q=Array.isArray(R)?r(R):R;try{return this[y].onResponseEnd?.(k,Q)}catch(p){this.onResponseError(p)}}onResponseError(R){if(this.onFinally(),D.error.hasSubscribers&&D.error.publish({request:this,error:R}),this.aborted)return;this.aborted=!0;const k=this[l];return this[y].onResponseError?.(k,R)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(R,k){return T(this,R,k),this}}function T(F,R,k){if(k&&typeof k=="object"&&!Array.isArray(k))throw new A(`invalid ${R} header`);if(k===void 0)return;let Q=w[R];if(Q===void 0&&(Q=R.toLowerCase(),w[Q]===void 0&&!N(Q)))throw new A("invalid header key");if(Array.isArray(k)){const p=[];for(let m=0;m<k.length;m++)if(typeof k[m]=="string"){if(!S(k[m]))throw new A(`invalid ${R} header`);p.push(k[m])}else if(k[m]===null)p.push("");else{if(typeof k[m]=="object")throw new A(`invalid ${R} header`);{const G=`${k[m]}`;if(!S(G))throw new A(`invalid ${R} header`);p.push(G)}}k=p}else if(typeof k=="string"){if(!S(k))throw new A(`invalid ${R} header`)}else if(k===null)k="";else if(k=`${k}`,!S(k))throw new A(`invalid ${R} header`);if(Q==="host"){if(F.host!==null)throw new A("duplicate host header");if(typeof k!="string")throw new A("invalid host header");F.host=k}else if(Q==="content-length"){if(F.contentLength!==null)throw new A("duplicate content-length header");if(!i(k))throw new A("invalid content-length header");F.contentLength=parseInt(k,10)}else if(F.contentType===null&&Q==="content-type")F.contentType=k,F.headers.push(R,k);else{if(Q==="transfer-encoding"||Q==="keep-alive"||Q==="upgrade")throw new A(`invalid ${Q} header`);if(Q==="connection"){const p=typeof k=="string"?k:null;if(p===null)throw new A("invalid connection header");for(const m of p.toLowerCase().split(",")){const G=m.trim();if(!N(G))throw new A("invalid connection header");G==="close"&&(F.reset=!0)}}else{if(Q==="expect")throw new I("expect header not supported");F.headers.push(R,k)}}}return Ot=M,Ot}var Jt,Zs;function lt(){if(Zs)return Jt;Zs=1;const A=Le;class I extends A{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...N){const S=Array.isArray(N[0])?N[0]:N;let s=this.dispatch.bind(this);for(const a of S)if(a!=null){if(typeof a!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof a}`);if(s=a(s),s==null||typeof s!="function"||s.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(a,f)=>f==="dispatch"?s:a[f]})}}return Jt=I,Jt}var xt,Xs;function Xe(){if(Xs)return xt;Xs=1;const A=lt(),{ClientDestroyedError:I,ClientClosedError:d,InvalidArgumentError:N}=VA(),{kDestroy:S,kClose:s,kClosed:a,kDestroyed:f,kDispatch:C}=Ae(),h=Symbol("onDestroyed"),u=Symbol("onClosed"),c=Symbol("webSocketOptions");class t extends A{[f]=!1;[h]=null;[a]=!1;[u]=null;constructor(e){super(),this[c]=e?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[c].maxFragments??131072,maxPayloadSize:this[c].maxPayloadSize??128*1024*1024}}get destroyed(){return this[f]}get closed(){return this[a]}close(e){if(e===void 0)return new Promise((o,g)=>{this.close((D,w)=>D?g(D):o(w))});if(typeof e!="function")throw new N("invalid callback");if(this[f]){const o=new I;queueMicrotask(()=>e(o,null));return}if(this[a]){this[u]?this[u].push(e):queueMicrotask(()=>e(null,null));return}this[a]=!0,this[u]??=[],this[u].push(e);const n=()=>{const o=this[u];this[u]=null;for(let g=0;g<o.length;g++)o[g](null,null)};this[s]().then(()=>this.destroy()).then(()=>queueMicrotask(n))}destroy(e,n){if(typeof e=="function"&&(n=e,e=null),n===void 0)return new Promise((g,D)=>{this.destroy(e,(w,E)=>w?D(w):g(E))});if(typeof n!="function")throw new N("invalid callback");if(this[f]){this[h]?this[h].push(n):queueMicrotask(()=>n(null,null));return}e||(e=new I),this[f]=!0,this[h]??=[],this[h].push(n);const o=()=>{const g=this[h];this[h]=null;for(let D=0;D<g.length;D++)g[D](null,null)};this[S](e).then(()=>queueMicrotask(o))}dispatch(e,n){if(!n||typeof n!="object")throw new N("handler must be an object");try{if(!e||typeof e!="object")throw new N("opts must be an object.");if(e.dispatcher)throw new N("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[f]||this[h])throw new I;if(this[a])throw new d;return this[C](e,n)}catch(o){if(typeof n.onResponseError!="function")throw o;return n.onResponseError(null,o),!1}}}return xt=t,xt}var Wt,js;function je(){if(js)return Wt;js=1;const A=gt,I=_A,d=OA(),{InvalidArgumentError:N,ConnectTimeoutError:S}=VA();let s;const a=class{constructor(h){this._maxCachedSessions=h,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(u=>{if(this._sessionCache.size<this._maxCachedSessions)return;const c=this._sessionCache.get(u);c!==void 0&&c.deref()===void 0&&this._sessionCache.delete(u)})}get(h){const u=this._sessionCache.get(h);return u?u.deref():null}set(h,u){if(this._maxCachedSessions!==0){if(this._sessionCache.has(h))this._sessionCache.delete(h);else if(this._sessionCache.size>=this._maxCachedSessions){for(const[t,r]of this._sessionCache)if(r.deref()===void 0){this._sessionCache.delete(t);return}const c=this._sessionCache.keys().next();c.done||this._sessionCache.delete(c.value)}this._sessionCache.set(h,new WeakRef(u)),this._sessionRegistry.register(u,h)}}};function f({allowH2:h,preferH2:u,useH2c:c,maxCachedSessions:t,socketPath:r,timeout:e,session:n,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new N("maxCachedSessions must be a positive integer or zero");const g={path:r,...o},D=new a(t??100);return e=e??1e4,h=h??!0,function({hostname:w,host:E,protocol:i,port:y,servername:l,localAddress:B,httpSocket:U},M){let T;if(i==="https:"){s||(s=Ci),l=l||g.servername||d.getServerName(E)||null;const R=l||w;I(R);const k=n||D.get(R)||null;y=y||443,T=s.connect({highWaterMark:16384,...g,servername:l,session:k,localAddress:B,ALPNProtocols:h?u?["h2","http/1.1"]:["http/1.1","h2"]:["http/1.1"],socket:U,port:y,host:w}),T.on("session",function(Q){D.set(R,Q)})}else{I(!U,"httpSocket can only be sent on TLS update"),y=y||80;const R={highWaterMark:64*1024,...g,localAddress:B,port:y,host:w},k=A.isIP(w);k!==0&&l&&l!==w&&(R.host=l,R.lookup=(Q,p,m)=>{p.all?m(null,[{address:w,family:k}]):m(null,w,k)}),T=A.connect(R),c===!0&&(T.alpnProtocol="h2")}if(g.keepAlive==null||g.keepAlive){const R=g.keepAliveInitialDelay===void 0?6e4:g.keepAliveInitialDelay;T.setKeepAlive(!0,R)}const F=d.setupConnectTimeout(new WeakRef(T),{timeout:e,hostname:w,port:y});return T.setNoDelay(!0).once(i==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(F),M){const R=M;M=null,R(null,this)}}).on("error",function(R){if(queueMicrotask(F),M){const k=M;M=null,k(C(R,this,{timeout:e,hostname:w,port:y}))}}),T}}function C(h,u,c){if(h instanceof AggregateError&&(h.code==="ETIMEDOUT"||h.errors.some(t=>t!=null&&t.code==="ETIMEDOUT"))){let t="Connect Timeout Error";Array.isArray(u.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${u.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${c.hostname}:${c.port},`,t+=` timeout: ${c.timeout}ms)`;const r=new S(t);return r.cause=h,r}return h}return Wt=f,Wt}var qt={},dt={},zs;function Ui(){if(zs)return dt;zs=1,Object.defineProperty(dt,"__esModule",{value:!0}),dt.enumToMap=A;function A(I,d=[],N=[]){const S=(d?.length??0)===0,s=(N?.length??0)===0;return Object.fromEntries(Object.entries(I).filter(([,a])=>typeof a=="number"&&(S||d.includes(a))&&(s||!N.includes(a))))}return dt}var Ks;function ki(){return Ks||(Ks=1,(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.SPECIAL_HEADERS=A.MINOR=A.MAJOR=A.HTAB_SP_VCHAR_OBS_TEXT=A.QUOTED_STRING=A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS=A.TOKEN=A.HEX=A.URL_CHAR=A.USERINFO_CHARS=A.MARK=A.ALPHANUM=A.NUM=A.HEX_MAP=A.NUM_MAP=A.ALPHA=A.STATUSES_HTTP=A.H_METHOD_MAP=A.METHOD_MAP=A.METHODS_RTSP=A.METHODS_ICE=A.METHODS_HTTP=A.HEADER_STATE=A.FINISH=A.STATUSES=A.METHODS=A.LENIENT_FLAGS=A.FLAGS=A.TYPE=A.ERROR=void 0;const I=Ui();A.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38},A.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},A.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512},A.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512},A.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46},A.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599},A.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},A.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8},A.METHODS_HTTP=[A.METHODS.DELETE,A.METHODS.GET,A.METHODS.HEAD,A.METHODS.POST,A.METHODS.PUT,A.METHODS.CONNECT,A.METHODS.OPTIONS,A.METHODS.TRACE,A.METHODS.COPY,A.METHODS.LOCK,A.METHODS.MKCOL,A.METHODS.MOVE,A.METHODS.PROPFIND,A.METHODS.PROPPATCH,A.METHODS.SEARCH,A.METHODS.UNLOCK,A.METHODS.BIND,A.METHODS.REBIND,A.METHODS.UNBIND,A.METHODS.ACL,A.METHODS.REPORT,A.METHODS.MKACTIVITY,A.METHODS.CHECKOUT,A.METHODS.MERGE,A.METHODS["M-SEARCH"],A.METHODS.NOTIFY,A.METHODS.SUBSCRIBE,A.METHODS.UNSUBSCRIBE,A.METHODS.PATCH,A.METHODS.PURGE,A.METHODS.MKCALENDAR,A.METHODS.LINK,A.METHODS.UNLINK,A.METHODS.PRI,A.METHODS.SOURCE,A.METHODS.QUERY],A.METHODS_ICE=[A.METHODS.SOURCE],A.METHODS_RTSP=[A.METHODS.OPTIONS,A.METHODS.DESCRIBE,A.METHODS.ANNOUNCE,A.METHODS.SETUP,A.METHODS.PLAY,A.METHODS.PAUSE,A.METHODS.TEARDOWN,A.METHODS.GET_PARAMETER,A.METHODS.SET_PARAMETER,A.METHODS.REDIRECT,A.METHODS.RECORD,A.METHODS.FLUSH,A.METHODS.GET,A.METHODS.POST],A.METHOD_MAP=(0,I.enumToMap)(A.METHODS),A.H_METHOD_MAP=Object.fromEntries(Object.entries(A.METHODS).filter(([d])=>d.startsWith("H"))),A.STATUSES_HTTP=[A.STATUSES.CONTINUE,A.STATUSES.SWITCHING_PROTOCOLS,A.STATUSES.PROCESSING,A.STATUSES.EARLY_HINTS,A.STATUSES.RESPONSE_IS_STALE,A.STATUSES.REVALIDATION_FAILED,A.STATUSES.DISCONNECTED_OPERATION,A.STATUSES.HEURISTIC_EXPIRATION,A.STATUSES.MISCELLANEOUS_WARNING,A.STATUSES.OK,A.STATUSES.CREATED,A.STATUSES.ACCEPTED,A.STATUSES.NON_AUTHORITATIVE_INFORMATION,A.STATUSES.NO_CONTENT,A.STATUSES.RESET_CONTENT,A.STATUSES.PARTIAL_CONTENT,A.STATUSES.MULTI_STATUS,A.STATUSES.ALREADY_REPORTED,A.STATUSES.TRANSFORMATION_APPLIED,A.STATUSES.IM_USED,A.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,A.STATUSES.MULTIPLE_CHOICES,A.STATUSES.MOVED_PERMANENTLY,A.STATUSES.FOUND,A.STATUSES.SEE_OTHER,A.STATUSES.NOT_MODIFIED,A.STATUSES.USE_PROXY,A.STATUSES.SWITCH_PROXY,A.STATUSES.TEMPORARY_REDIRECT,A.STATUSES.PERMANENT_REDIRECT,A.STATUSES.BAD_REQUEST,A.STATUSES.UNAUTHORIZED,A.STATUSES.PAYMENT_REQUIRED,A.STATUSES.FORBIDDEN,A.STATUSES.NOT_FOUND,A.STATUSES.METHOD_NOT_ALLOWED,A.STATUSES.NOT_ACCEPTABLE,A.STATUSES.PROXY_AUTHENTICATION_REQUIRED,A.STATUSES.REQUEST_TIMEOUT,A.STATUSES.CONFLICT,A.STATUSES.GONE,A.STATUSES.LENGTH_REQUIRED,A.STATUSES.PRECONDITION_FAILED,A.STATUSES.PAYLOAD_TOO_LARGE,A.STATUSES.URI_TOO_LONG,A.STATUSES.UNSUPPORTED_MEDIA_TYPE,A.STATUSES.RANGE_NOT_SATISFIABLE,A.STATUSES.EXPECTATION_FAILED,A.STATUSES.IM_A_TEAPOT,A.STATUSES.PAGE_EXPIRED,A.STATUSES.ENHANCE_YOUR_CALM,A.STATUSES.MISDIRECTED_REQUEST,A.STATUSES.UNPROCESSABLE_ENTITY,A.STATUSES.LOCKED,A.STATUSES.FAILED_DEPENDENCY,A.STATUSES.TOO_EARLY,A.STATUSES.UPGRADE_REQUIRED,A.STATUSES.PRECONDITION_REQUIRED,A.STATUSES.TOO_MANY_REQUESTS,A.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,A.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,A.STATUSES.LOGIN_TIMEOUT,A.STATUSES.NO_RESPONSE,A.STATUSES.RETRY_WITH,A.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,A.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,A.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,A.STATUSES.INVALID_X_FORWARDED_FOR,A.STATUSES.REQUEST_HEADER_TOO_LARGE,A.STATUSES.SSL_CERTIFICATE_ERROR,A.STATUSES.SSL_CERTIFICATE_REQUIRED,A.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,A.STATUSES.INVALID_TOKEN,A.STATUSES.CLIENT_CLOSED_REQUEST,A.STATUSES.INTERNAL_SERVER_ERROR,A.STATUSES.NOT_IMPLEMENTED,A.STATUSES.BAD_GATEWAY,A.STATUSES.SERVICE_UNAVAILABLE,A.STATUSES.GATEWAY_TIMEOUT,A.STATUSES.HTTP_VERSION_NOT_SUPPORTED,A.STATUSES.VARIANT_ALSO_NEGOTIATES,A.STATUSES.INSUFFICIENT_STORAGE,A.STATUSES.LOOP_DETECTED,A.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,A.STATUSES.NOT_EXTENDED,A.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,A.STATUSES.WEB_SERVER_UNKNOWN_ERROR,A.STATUSES.WEB_SERVER_IS_DOWN,A.STATUSES.CONNECTION_TIMEOUT,A.STATUSES.ORIGIN_IS_UNREACHABLE,A.STATUSES.TIMEOUT_OCCURED,A.STATUSES.SSL_HANDSHAKE_FAILED,A.STATUSES.INVALID_SSL_CERTIFICATE,A.STATUSES.RAILGUN_ERROR,A.STATUSES.SITE_IS_OVERLOADED,A.STATUSES.SITE_IS_FROZEN,A.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,A.STATUSES.NETWORK_READ_TIMEOUT,A.STATUSES.NETWORK_CONNECT_TIMEOUT],A.ALPHA=[];for(let d=65;d<=90;d++)A.ALPHA.push(String.fromCharCode(d)),A.ALPHA.push(String.fromCharCode(d+32));A.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},A.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},A.NUM=["0","1","2","3","4","5","6","7","8","9"],A.ALPHANUM=A.ALPHA.concat(A.NUM),A.MARK=["-","_",".","!","~","*","'","(",")"],A.USERINFO_CHARS=A.ALPHANUM.concat(A.MARK).concat(["%",";",":","&","=","+","$",","]),A.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(A.ALPHANUM),A.HEX=A.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]),A.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(A.ALPHANUM),A.HEADER_CHARS=[" "];for(let d=32;d<=255;d++)d!==127&&A.HEADER_CHARS.push(d);A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS.filter(d=>d!==44),A.QUOTED_STRING=[" "," "];for(let d=33;d<=255;d++)d!==34&&d!==92&&A.QUOTED_STRING.push(d);A.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let d=33;d<=126;d++)A.HTAB_SP_VCHAR_OBS_TEXT.push(d);for(let d=128;d<=255;d++)A.HTAB_SP_VCHAR_OBS_TEXT.push(d);A.MAJOR=A.NUM_MAP,A.MINOR=A.MAJOR,A.SPECIAL_HEADERS={connection:A.HEADER_STATE.CONNECTION,"content-length":A.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":A.HEADER_STATE.CONNECTION,"transfer-encoding":A.HEADER_STATE.TRANSFER_ENCODING,upgrade:A.HEADER_STATE.UPGRADE},A.default={ERROR:A.ERROR,TYPE:A.TYPE,FLAGS:A.FLAGS,LENIENT_FLAGS:A.LENIENT_FLAGS,METHODS:A.METHODS,STATUSES:A.STATUSES,FINISH:A.FINISH,HEADER_STATE:A.HEADER_STATE,ALPHA:A.ALPHA,NUM_MAP:A.NUM_MAP,HEX_MAP:A.HEX_MAP,NUM:A.NUM,ALPHANUM:A.ALPHANUM,MARK:A.MARK,USERINFO_CHARS:A.USERINFO_CHARS,URL_CHAR:A.URL_CHAR,HEX:A.HEX,TOKEN:A.TOKEN,HEADER_CHARS:A.HEADER_CHARS,CONNECTION_TOKEN_CHARS:A.CONNECTION_TOKEN_CHARS,QUOTED_STRING:A.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:A.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:A.MAJOR,MINOR:A.MINOR,SPECIAL_HEADERS:A.SPECIAL_HEADERS,METHODS_HTTP:A.METHODS_HTTP,METHODS_ICE:A.METHODS_ICE,METHODS_RTSP:A.METHODS_RTSP,METHOD_MAP:A.METHOD_MAP,H_METHOD_MAP:A.H_METHOD_MAP,STATUSES_HTTP:A.STATUSES_HTTP}})(qt)),qt}var Pt={exports:{}},$s;function An(){return $s||($s=1,(function(A){const{Buffer:I}=_e,d="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let N;Object.defineProperty(A,"exports",{get:()=>N||(N=I.from(d,"base64"))})})(Pt)),Pt.exports}var _t={exports:{}},en;function Mi(){return en||(en=1,(function(A){const{Buffer:I}=_e,d="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let N;Object.defineProperty(A,"exports",{get:()=>N||(N=I.from(d,"base64"))})})(_t)),_t.exports}var Zt,tn;function Rt(){if(tn)return Zt;tn=1;const A=["GET","HEAD","POST"],I=new Set(A),d=[101,204,205,304],N=[301,302,303,307,308],S=new Set(N),s=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],a=new Set(s),f=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],C=["",...f],h=new Set(f),u=["follow","manual","error"],c=["GET","HEAD","OPTIONS","TRACE","QUERY"],t=new Set(c),r=["navigate","same-origin","no-cors","cors"],e=["omit","same-origin","include"],n=["default","no-store","reload","no-cache","force-cache","only-if-cached"],o=["content-encoding","content-language","content-location","content-type","content-length"],g=["half"],D=["CONNECT","TRACE","TRACK"],w=new Set(D),E=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],i=new Set(E);return Zt={subresource:E,forbiddenMethods:D,requestBodyHeader:o,referrerPolicy:C,requestRedirect:u,requestMode:r,requestCredentials:e,requestCache:n,redirectStatus:N,corsSafeListedMethods:A,nullBodyStatus:d,safeMethods:c,badPorts:s,requestDuplex:g,subresourceSet:i,badPortsSet:a,redirectStatusSet:S,corsSafeListedMethodsSet:I,safeMethodsSet:t,forbiddenMethodsSet:w,referrerPolicyTokens:h},Zt}var Xt,rn;function Zo(){if(rn)return Xt;rn=1;const A=Symbol.for("undici.globalOrigin.1");function I(){return globalThis[A]}function d(N){if(N===void 0){Object.defineProperty(globalThis,A,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}const S=new URL(N);if(S.protocol!=="http:"&&S.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${S.protocol}`);Object.defineProperty(globalThis,A,{value:S,writable:!0,enumerable:!1,configurable:!1})}return Xt={getGlobalOrigin:I,setGlobalOrigin:d},Xt}var jt,sn;function Fs(){if(sn)return jt;sn=1;const A=new TextDecoder;function I(d){return d.length===0?"":(d[0]===239&&d[1]===187&&d[2]===191&&(d=d.subarray(3)),A.decode(d))}return jt={utf8DecodeBytes:I},jt}var zt,nn;function He(){if(nn)return zt;nn=1;const A=_A,{utf8DecodeBytes:I}=Fs();function d(e,n,o){let g="";for(;o.position<n.length&&e(n[o.position]);)g+=n[o.position],o.position++;return g}function N(e,n,o){const g=n.indexOf(e,o.position),D=o.position;return g===-1?(o.position=n.length,n.slice(D)):(o.position=g,n.slice(D,o.position))}const S=/[\u0009\u000A\u000C\u000D\u0020]/g;function s(e){e=e.replace(S,"");let n=e.length;if(n%4===0&&e.charCodeAt(n-1)===61&&(--n,e.charCodeAt(n-1)===61&&--n),n%4===1||/[^+/0-9A-Za-z]/.test(e.length===n?e:e.substring(0,n)))return"failure";const o=Buffer.from(e,"base64");return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function a(e){return e===9||e===10||e===12||e===13||e===32}function f(e){const n=e.length;if(65535>n)return String.fromCharCode.apply(null,e);let o="",g=0,D=65535;for(;g<n;)g+D>n&&(D=n-g),o+=String.fromCharCode.apply(null,e.subarray(g,g+=D));return o}const C=/[^\x00-\xFF]/;function h(e){return A(!C.test(e)),e}function u(e){return JSON.parse(I(e))}function c(e,n=!0,o=!0){return t(e,n,o,a)}function t(e,n,o,g){let D=0,w=e.length-1;if(n)for(;D<e.length&&g(e.charCodeAt(D));)D++;if(o)for(;w>0&&g(e.charCodeAt(w));)w--;return D===0&&w===e.length-1?e:e.slice(D,w+1)}function r(e){const n=JSON.stringify(e);if(n===void 0)throw new TypeError("Value is not JSON serializable");return A(typeof n=="string"),n}return zt={collectASequenceOfCodePoints:d,collectASequenceOfCodePointsFast:N,forgivingBase64:s,isASCIIWhitespace:a,isomorphicDecode:f,isomorphicEncode:h,parseJSONFromBytes:u,removeASCIIWhitespace:c,removeChars:t,serializeJavascriptValueToJSONString:r},zt}var Kt,on;function be(){if(on)return Kt;on=1;const A=_A,{forgivingBase64:I,collectASequenceOfCodePoints:d,collectASequenceOfCodePointsFast:N,isomorphicDecode:S,removeASCIIWhitespace:s,removeChars:a}=He(),f=new TextEncoder,C=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,h=/[\u000A\u000D\u0009\u0020]/u,u=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function c(l){A(l.protocol==="data:");let B=t(l,!0);B=B.slice(5);const U={position:0};let M=N(",",B,U);const T=M.length;if(M=s(M,!0,!0),U.position>=B.length)return"failure";U.position++;const F=B.slice(T+1);let R=r(F);if(/;(?:\u0020*)base64$/ui.test(M)){const Q=S(R);if(R=I(Q),R==="failure")return"failure";M=M.slice(0,-6),M=M.replace(/(\u0020+)$/u,""),M=M.slice(0,-1)}M.startsWith(";")&&(M="text/plain"+M);let k=g(M);return k==="failure"&&(k=g("text/plain;charset=US-ASCII")),{mimeType:k,body:R}}function t(l,B=!1){if(!B)return l.href;const U=l.href,M=l.hash.length,T=M===0?U:U.substring(0,U.length-M);return!M&&U.endsWith("#")?T.slice(0,-1):T}function r(l){const B=f.encode(l);return o(B)}function e(l){return l>=48&&l<=57||l>=65&&l<=70||l>=97&&l<=102}function n(l){return l>=48&&l<=57?l-48:(l&223)-55}function o(l){const B=l.length,U=new Uint8Array(B);let M=0,T=0;for(;T<B;){const F=l[T];F!==37?U[M++]=F:F===37&&!(e(l[T+1])&&e(l[T+2]))?U[M++]=37:(U[M++]=n(l[T+1])<<4|n(l[T+2]),T+=2),++T}return B===M?U:U.subarray(0,M)}function g(l){l=i(l,!0,!0);const B={position:0},U=N("/",l,B);if(U.length===0||!C.test(U)||B.position>=l.length)return"failure";B.position++;let M=N(";",l,B);if(M=i(M,!1,!0),M.length===0||!C.test(M))return"failure";const T=U.toLowerCase(),F=M.toLowerCase(),R={type:T,subtype:F,parameters:new Map,essence:`${T}/${F}`};for(;B.position<l.length;){B.position++,d(p=>h.test(p),l,B);let k=d(p=>p!==";"&&p!=="=",l,B);if(k=k.toLowerCase(),B.position<l.length){if(l[B.position]===";")continue;B.position++}if(B.position>=l.length)break;let Q=null;if(l[B.position]==='"')Q=D(l,B,!0),N(";",l,B);else if(Q=N(";",l,B),Q=i(Q,!1,!0),Q.length===0)continue;k.length!==0&&C.test(k)&&(Q.length===0||u.test(Q))&&!R.parameters.has(k)&&R.parameters.set(k,Q)}return R}function D(l,B,U=!1){const M=B.position;let T="";for(A(l[B.position]==='"'),B.position++;T+=d(F=>F!=='"'&&F!=="\\",l,B),!(B.position>=l.length);){const F=l[B.position];if(B.position++,F==="\\"){if(B.position>=l.length){T+="\\";break}T+=l[B.position],B.position++}else{A(F==='"');break}}return U?T:l.slice(M,B.position)}function w(l){A(l!=="failure");const{parameters:B,essence:U}=l;let M=U;for(let[T,F]of B.entries())M+=";",M+=T,M+="=",C.test(F)||(F=F.replace(/[\\"]/ug,"\\$&"),F='"'+F,F+='"'),M+=F;return M}function E(l){return l===13||l===10||l===9||l===32}function i(l,B=!0,U=!0){return a(l,B,U,E)}function y(l){switch(l.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return l.subtype.endsWith("+json")?"application/json":l.subtype.endsWith("+xml")?"application/xml":""}return Kt={dataURLProcessor:c,URLSerializer:t,stringPercentDecode:r,parseMIMEType:g,collectAnHTTPQuotedString:D,serializeAMimeType:w,removeHTTPWhitespace:i,minimizeSupportedMimeType:y,HTTP_TOKEN_CODEPOINTS:C},Kt}var $t,an;function he(){if(an)return $t;an=1;const A=_A,{types:I,inspect:d}=we,{markAsUncloneable:N}=fi,S=1,s=2,a=3,f=4,C=5,h=6,u=7,c=8,t=Function.call.bind(Function.prototype[Symbol.hasInstance]),r={converters:{},util:{},errors:{},is:{}};return r.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)},r.errors.conversionFailed=function(e){const n=e.types.length===1?"":" one of",o=`${e.argument} could not be converted to${n}: ${e.types.join(", ")}.`;return r.errors.exception({header:e.prefix,message:o})},r.errors.invalidArgument=function(e){return r.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})},r.brandCheck=function(e,n){if(!t(n,e)){const o=new TypeError("Illegal invocation");throw o.code="ERR_INVALID_THIS",o}},r.brandCheckMultiple=function(e){const n=e.map(o=>r.util.MakeTypeAssertion(o));return o=>{if(n.every(g=>!g(o))){const g=new TypeError("Illegal invocation");throw g.code="ERR_INVALID_THIS",g}}},r.argumentLengthCheck=function({length:e},n,o){if(e<n)throw r.errors.exception({message:`${n} argument${n!==1?"s":""} required, but${e?" only":""} ${e} found.`,header:o})},r.illegalConstructor=function(){throw r.errors.exception({header:"TypeError",message:"Illegal constructor"})},r.util.MakeTypeAssertion=function(e){return n=>t(e,n)},r.util.Type=function(e){switch(typeof e){case"undefined":return S;case"boolean":return s;case"string":return a;case"symbol":return f;case"number":return C;case"bigint":return h;case"function":case"object":return e===null?u:c}},r.util.Types={UNDEFINED:S,BOOLEAN:s,STRING:a,SYMBOL:f,NUMBER:C,BIGINT:h,NULL:u,OBJECT:c},r.util.TypeValueToString=function(e){switch(r.util.Type(e)){case S:return"Undefined";case s:return"Boolean";case a:return"String";case f:return"Symbol";case C:return"Number";case h:return"BigInt";case u:return"Null";case c:return"Object"}},r.util.markAsUncloneable=N,r.util.ConvertToInt=function(e,n,o,g){let D,w;n===64?(D=Math.pow(2,53)-1,o==="unsigned"?w=0:w=Math.pow(-2,53)+1):o==="unsigned"?(w=0,D=Math.pow(2,n)-1):(w=-Math.pow(2,n-1),D=Math.pow(2,n-1)-1);let E=Number(e);if(E===0&&(E=0),r.util.HasFlag(g,r.attributes.EnforceRange)){if(Number.isNaN(E)||E===Number.POSITIVE_INFINITY||E===Number.NEGATIVE_INFINITY)throw r.errors.exception({header:"Integer conversion",message:`Could not convert ${r.util.Stringify(e)} to an integer.`});if(E=r.util.IntegerPart(E),E<w||E>D)throw r.errors.exception({header:"Integer conversion",message:`Value must be between ${w}-${D}, got ${E}.`});return E}return!Number.isNaN(E)&&r.util.HasFlag(g,r.attributes.Clamp)?(E=Math.min(Math.max(E,w),D),Math.floor(E)%2===0?E=Math.floor(E):E=Math.ceil(E),E):Number.isNaN(E)||E===0&&Object.is(0,E)||E===Number.POSITIVE_INFINITY||E===Number.NEGATIVE_INFINITY?0:(E=r.util.IntegerPart(E),E=E%Math.pow(2,n),o==="signed"&&E>=Math.pow(2,n-1)?E-Math.pow(2,n):E)},r.util.IntegerPart=function(e){const n=Math.floor(Math.abs(e));return e<0?-1*n:n},r.util.Stringify=function(e){switch(r.util.Type(e)){case f:return`Symbol(${e.description})`;case c:return d(e);case a:return`"${e}"`;case h:return`${e}n`;default:return`${e}`}},r.util.IsResizableArrayBuffer=function(e){if(I.isArrayBuffer(e))return e.resizable;if(I.isSharedArrayBuffer(e))return e.growable;throw r.errors.exception({header:"IsResizableArrayBuffer",message:`"${r.util.Stringify(e)}" is not an array buffer.`})},r.util.HasFlag=function(e,n){return typeof e=="number"&&(e&n)===n},r.sequenceConverter=function(e){return(n,o,g,D)=>{if(r.util.Type(n)!==c)throw r.errors.exception({header:o,message:`${g} (${r.util.Stringify(n)}) is not iterable.`});const w=typeof D=="function"?D():n?.[Symbol.iterator]?.(),E=[];let i=0;if(w===void 0||typeof w.next!="function")throw r.errors.exception({header:o,message:`${g} is not iterable.`});for(;;){const{done:y,value:l}=w.next();if(y)break;E.push(e(l,o,`${g}[${i++}]`))}return E}},r.recordConverter=function(e,n){return(o,g,D)=>{if(r.util.Type(o)!==c)throw r.errors.exception({header:g,message:`${D} ("${r.util.TypeValueToString(o)}") is not an Object.`});const w={};if(!I.isProxy(o)){const i=[...Object.getOwnPropertyNames(o),...Object.getOwnPropertySymbols(o)];for(const y of i){const l=r.util.Stringify(y),B=e(y,g,`Key ${l} in ${D}`),U=n(o[y],g,`${D}[${l}]`);w[B]=U}return w}const E=Reflect.ownKeys(o);for(const i of E)if(Reflect.getOwnPropertyDescriptor(o,i)?.enumerable){const y=e(i,g,D),l=n(o[i],g,D);w[y]=l}return w}},r.interfaceConverter=function(e,n){return(o,g,D)=>{if(!e(o))throw r.errors.exception({header:g,message:`Expected ${D} ("${r.util.Stringify(o)}") to be an instance of ${n}.`});return o}},r.dictionaryConverter=function(e){return e.sort((n,o)=>(n.key>o.key)-(n.key<o.key)),(n,o,g)=>{const D={};if(n!=null&&r.util.Type(n)!==c)throw r.errors.exception({header:o,message:`Expected ${n} to be one of: Null, Undefined, Object.`});for(const w of e){const{key:E,defaultValue:i,required:y,converter:l}=w;if(y===!0&&(n==null||!Object.hasOwn(n,E)))throw r.errors.exception({header:o,message:`Missing required key "${E}".`});let B=n?.[E];const U=i!==void 0;if(U&&B===void 0&&(B=i()),y||U||B!==void 0){if(B=l(B,o,`${g}.${E}`),w.allowedValues&&!w.allowedValues.includes(B))throw r.errors.exception({header:o,message:`${B} is not an accepted type. Expected one of ${w.allowedValues.join(", ")}.`});D[E]=B}}return D}},r.nullableConverter=function(e){return(n,o,g)=>n===null?n:e(n,o,g)},r.is.USVString=function(e){return typeof e=="string"&&e.isWellFormed()},r.is.ReadableStream=r.util.MakeTypeAssertion(ReadableStream),r.is.Blob=r.util.MakeTypeAssertion(Blob),r.is.URLSearchParams=r.util.MakeTypeAssertion(URLSearchParams),r.is.File=r.util.MakeTypeAssertion(File),r.is.URL=r.util.MakeTypeAssertion(URL),r.is.AbortSignal=r.util.MakeTypeAssertion(AbortSignal),r.is.MessagePort=r.util.MakeTypeAssertion(MessagePort),r.is.BufferSource=function(e){return I.isArrayBuffer(e)||ArrayBuffer.isView(e)&&I.isArrayBuffer(e.buffer)},r.util.getCopyOfBytesHeldByBufferSource=function(e){const n=e;let o=n,g=0,D=0;if(I.isTypedArray(n)||I.isDataView(n)?(o=n.buffer,g=n.byteOffset,D=n.byteLength):(A(I.isAnyArrayBuffer(n)),D=n.byteLength),o.detached)return new Uint8Array(0);const w=new Uint8Array(D),E=new Uint8Array(o,g,D);return w.set(E),w},r.converters.DOMString=function(e,n,o,g){if(e===null&&r.util.HasFlag(g,r.attributes.LegacyNullToEmptyString))return"";if(typeof e=="symbol")throw r.errors.exception({header:n,message:`${o} is a symbol, which cannot be converted to a DOMString.`});return String(e)},r.converters.ByteString=function(e,n,o){if(typeof e=="symbol")throw r.errors.exception({header:n,message:`${o} is a symbol, which cannot be converted to a ByteString.`});const g=String(e);for(let D=0;D<g.length;D++)if(g.charCodeAt(D)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${D} has a value of ${g.charCodeAt(D)} which is greater than 255.`);return g},r.converters.USVString=function(e){return typeof e=="string"?e.toWellFormed():`${e}`.toWellFormed()},r.converters.boolean=function(e){return!!e},r.converters.any=function(e){return e},r.converters["long long"]=function(e,n,o){return r.util.ConvertToInt(e,64,"signed",0,n,o)},r.converters["unsigned long long"]=function(e,n,o){return r.util.ConvertToInt(e,64,"unsigned",0,n,o)},r.converters["unsigned long"]=function(e,n,o){return r.util.ConvertToInt(e,32,"unsigned",0,n,o)},r.converters["unsigned short"]=function(e,n,o,g){return r.util.ConvertToInt(e,16,"unsigned",g,n,o)},r.converters.ArrayBuffer=function(e,n,o,g){if(r.util.Type(e)!==c||!I.isArrayBuffer(e))throw r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(!r.util.HasFlag(g,r.attributes.AllowResizable)&&r.util.IsResizableArrayBuffer(e))throw r.errors.exception({header:n,message:`${o} cannot be a resizable ArrayBuffer.`});return e},r.converters.SharedArrayBuffer=function(e,n,o,g){if(r.util.Type(e)!==c||!I.isSharedArrayBuffer(e))throw r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["SharedArrayBuffer"]});if(!r.util.HasFlag(g,r.attributes.AllowResizable)&&r.util.IsResizableArrayBuffer(e))throw r.errors.exception({header:n,message:`${o} cannot be a resizable SharedArrayBuffer.`});return e},r.converters.TypedArray=function(e,n,o,g,D){if(r.util.Type(e)!==c||!I.isTypedArray(e)||e.constructor.name!==n.name)throw r.errors.conversionFailed({prefix:o,argument:`${g} ("${r.util.Stringify(e)}")`,types:[n.name]});if(!r.util.HasFlag(D,r.attributes.AllowShared)&&I.isSharedArrayBuffer(e.buffer))throw r.errors.exception({header:o,message:`${g} cannot be a view on a shared array buffer.`});if(!r.util.HasFlag(D,r.attributes.AllowResizable)&&r.util.IsResizableArrayBuffer(e.buffer))throw r.errors.exception({header:o,message:`${g} cannot be a view on a resizable array buffer.`});return e},r.converters.DataView=function(e,n,o,g){if(r.util.Type(e)!==c||!I.isDataView(e))throw r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["DataView"]});if(!r.util.HasFlag(g,r.attributes.AllowShared)&&I.isSharedArrayBuffer(e.buffer))throw r.errors.exception({header:n,message:`${o} cannot be a view on a shared array buffer.`});if(!r.util.HasFlag(g,r.attributes.AllowResizable)&&r.util.IsResizableArrayBuffer(e.buffer))throw r.errors.exception({header:n,message:`${o} cannot be a view on a resizable array buffer.`});return e},r.converters.ArrayBufferView=function(e,n,o,g){if(r.util.Type(e)!==c||!I.isArrayBufferView(e))throw r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["ArrayBufferView"]});if(!r.util.HasFlag(g,r.attributes.AllowShared)&&I.isSharedArrayBuffer(e.buffer))throw r.errors.exception({header:n,message:`${o} cannot be a view on a shared array buffer.`});if(!r.util.HasFlag(g,r.attributes.AllowResizable)&&r.util.IsResizableArrayBuffer(e.buffer))throw r.errors.exception({header:n,message:`${o} cannot be a view on a resizable array buffer.`});return e},r.converters.BufferSource=function(e,n,o,g){if(I.isArrayBuffer(e))return r.converters.ArrayBuffer(e,n,o,g);if(I.isArrayBufferView(e))return g&=~r.attributes.AllowShared,r.converters.ArrayBufferView(e,n,o,g);throw I.isSharedArrayBuffer(e)?r.errors.exception({header:n,message:`${o} cannot be a SharedArrayBuffer.`}):r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["ArrayBuffer","ArrayBufferView"]})},r.converters.AllowSharedBufferSource=function(e,n,o,g){if(I.isArrayBuffer(e))return r.converters.ArrayBuffer(e,n,o,g);if(I.isSharedArrayBuffer(e))return r.converters.SharedArrayBuffer(e,n,o,g);if(I.isArrayBufferView(e))return g|=r.attributes.AllowShared,r.converters.ArrayBufferView(e,n,o,g);throw r.errors.conversionFailed({prefix:n,argument:`${o} ("${r.util.Stringify(e)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})},r.converters["sequence<ByteString>"]=r.sequenceConverter(r.converters.ByteString),r.converters["sequence<sequence<ByteString>>"]=r.sequenceConverter(r.converters["sequence<ByteString>"]),r.converters["record<ByteString, ByteString>"]=r.recordConverter(r.converters.ByteString,r.converters.ByteString),r.converters.Blob=r.interfaceConverter(r.is.Blob,"Blob"),r.converters.AbortSignal=r.interfaceConverter(r.is.AbortSignal,"AbortSignal"),r.converters.EventHandlerNonNull=function(e){return r.util.Type(e)!==c?null:typeof e=="function"?e:()=>{}},r.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},$t={webidl:r},$t}var Ar,gn;function Se(){if(gn)return Ar;gn=1;const{Transform:A}=ue,I=St,{redirectStatusSet:d,referrerPolicyTokens:N,badPortsSet:S}=Rt(),{getGlobalOrigin:s}=Zo(),{collectAnHTTPQuotedString:a,parseMIMEType:f}=be(),{performance:C}=di,{ReadableStreamFrom:h,isValidHTTPToken:u,normalizedMethodRecordsBase:c}=OA(),t=_A,{isUint8Array:r}=ms,{webidl:e}=he(),{isomorphicEncode:n,collectASequenceOfCodePoints:o,removeChars:g}=He();function D(q){const oA=q.urlList,BA=oA.length;return BA===0?null:oA[BA-1].toString()}function w(q,oA){if(!d.has(q.status))return null;let BA=q.headersList.get("location",!0);return BA!==null&&T(BA)&&(E(BA)||(BA=i(BA)),BA=new URL(BA,D(q))),BA&&!BA.hash&&(BA.hash=oA),BA}function E(q){for(let oA=0;oA<q.length;++oA){const BA=q.charCodeAt(oA);if(BA>126||BA<32)return!1}return!0}function i(q){return Buffer.from(q,"binary").toString("utf8")}function y(q){return q.urlList[q.urlList.length-1]}function l(q){const oA=y(q);return PA(oA)&&S.has(oA.port)?"blocked":"allowed"}function B(q){return q instanceof Error||q?.constructor?.name==="Error"||q?.constructor?.name==="DOMException"}function U(q){for(let oA=0;oA<q.length;++oA){const BA=q.charCodeAt(oA);if(!(BA===9||BA>=32&&BA<=126||BA>=128&&BA<=255))return!1}return!0}const M=u;function T(q){return(q[0]===" "||q[0]===" "||q[q.length-1]===" "||q[q.length-1]===" "||q.includes(`
|
|
5
|
-
`)||q.includes("\r")||q.includes("\0"))===!1}function F(q){const oA=(q.headersList.get("referrer-policy",!0)??"").split(",");let BA="";if(oA.length)for(let yA=oA.length;yA!==0;yA--){const TA=oA[yA-1].trim();if(N.has(TA)){BA=TA;break}}return BA}function R(q,oA){const BA=F(oA);BA!==""&&(q.referrerPolicy=BA)}function k(){return"allowed"}function Q(){return"success"}function p(){return"success"}function m(q){let oA=null;oA=q.mode,q.headersList.set("sec-fetch-mode",oA,!0)}function G(q){let oA=q.origin;if(!(oA==="client"||oA===void 0)){if(q.responseTainting==="cors"||q.mode==="websocket")q.headersList.append("origin",oA,!0);else if(q.method!=="GET"&&q.method!=="HEAD"){switch(q.referrerPolicy){case"no-referrer":oA=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":q.origin&&jA(q.origin)&&!jA(y(q))&&(oA=null);break;case"same-origin":kA(q,y(q))||(oA=null);break}q.headersList.append("origin",oA,!0)}}}function O(q,oA){return q}function Y(q,oA,BA){return!q?.startTime||q.startTime<oA?{domainLookupStartTime:oA,domainLookupEndTime:oA,connectionStartTime:oA,connectionEndTime:oA,secureConnectionStartTime:oA,ALPNNegotiatedProtocol:q?.ALPNNegotiatedProtocol}:{domainLookupStartTime:O(q.domainLookupStartTime),domainLookupEndTime:O(q.domainLookupEndTime),connectionStartTime:O(q.connectionStartTime),connectionEndTime:O(q.connectionEndTime),secureConnectionStartTime:O(q.secureConnectionStartTime),ALPNNegotiatedProtocol:q.ALPNNegotiatedProtocol}}function Z(q){return O(C.now())}function tA(q){return{startTime:q.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:q.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function lA(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function $(q){return{referrerPolicy:q.referrerPolicy}}function J(q){const oA=q.referrerPolicy;t(oA);let BA=null;if(q.referrer==="client"){const HA=s();if(!HA||HA.origin==="null")return"no-referrer";BA=new URL(HA)}else e.is.URL(q.referrer)&&(BA=q.referrer);let yA=V(BA);const TA=V(BA,!0);switch(yA.toString().length>4096&&(yA=TA),oA){case"no-referrer":return"no-referrer";case"origin":return TA??V(BA,!0);case"unsafe-url":return yA;case"strict-origin":{const HA=y(q);return rA(yA)&&!rA(HA)?"no-referrer":TA}case"strict-origin-when-cross-origin":{const HA=y(q);return kA(yA,HA)?yA:rA(yA)&&!rA(HA)?"no-referrer":TA}case"same-origin":return kA(q,yA)?yA:"no-referrer";case"origin-when-cross-origin":return kA(q,yA)?yA:TA;case"no-referrer-when-downgrade":{const HA=y(q);return rA(yA)&&!rA(HA)?"no-referrer":yA}}}function V(q,oA=!1){return t(e.is.URL(q)),q=new URL(q),YA(q)?"no-referrer":(q.username="",q.password="",q.hash="",oA===!0&&(q.pathname="",q.search=""),q)}const X=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),j=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function nA(q){return q.includes(":")?(q[0]==="["&&q[q.length-1]==="]"&&(q=q.slice(1,-1)),j(q)):X(q)}function gA(q){return q==null||q==="null"?!1:(q=new URL(q),!!(q.protocol==="https:"||q.protocol==="wss:"||nA(q.hostname)||q.hostname==="localhost"||q.hostname==="localhost."||q.hostname.endsWith(".localhost")||q.hostname.endsWith(".localhost.")||q.protocol==="file:"))}function rA(q){return e.is.URL(q)?q.href==="about:blank"||q.href==="about:srcdoc"||q.protocol==="data:"||q.protocol==="blob:"?!0:gA(q.origin):!1}function DA(q){}function kA(q,oA){return q.origin===oA.origin&&q.origin==="null"||q.protocol===oA.protocol&&q.hostname===oA.hostname&&q.port===oA.port}function mA(q){return q.controller.state==="aborted"}function aA(q){return q.controller.state==="aborted"||q.controller.state==="terminated"}function v(q){return c[q.toLowerCase()]??q}const iA=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function AA(q,oA,BA=0,yA=1){class TA{#A;#e;#t;constructor(ZA,se){this.#A=ZA,this.#e=se,this.#t=0}next(){if(typeof this!="object"||this===null||!(#A in this))throw new TypeError(`'next' called on an object that does not implement interface ${q} Iterator.`);const ZA=this.#t,se=oA(this.#A),zA=se.length;if(ZA>=zA)return{value:void 0,done:!0};const{[BA]:ge,[yA]:Ce}=se[ZA];this.#t=ZA+1;let Qe;switch(this.#e){case"key":Qe=ge;break;case"value":Qe=Ce;break;case"key+value":Qe=[ge,Ce];break}return{value:Qe,done:!1}}}return delete TA.prototype.constructor,Object.setPrototypeOf(TA.prototype,iA),Object.defineProperties(TA.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${q} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(HA,ZA){return new TA(HA,ZA)}}function dA(q,oA,BA,yA=0,TA=1){const HA=AA(q,BA,yA,TA),ZA={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,oA),HA(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,oA),HA(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,oA),HA(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(se,zA=globalThis){if(e.brandCheck(this,oA),e.argumentLengthCheck(arguments,1,`${q}.forEach`),typeof se!="function")throw new TypeError(`Failed to execute 'forEach' on '${q}': parameter 1 is not of type 'Function'.`);for(const{0:ge,1:Ce}of HA(this,"key+value"))se.call(zA,Ce,ge,this)}}};return Object.defineProperties(oA.prototype,{...ZA,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:ZA.entries.value}})}function MA(q,oA,BA){const yA=oA,TA=BA;try{const HA=q.stream.getReader();SA(HA,yA,TA)}catch(HA){TA(HA)}}function FA(q){try{q.close(),q.byobRequest?.respond(0)}catch(oA){if(!oA.message.includes("Controller is already closed")&&!oA.message.includes("ReadableStream is already closed"))throw oA}}async function SA(q,oA,BA){try{const yA=[];let TA=0;do{const{done:HA,value:ZA}=await q.read();if(HA){oA(Buffer.concat(yA,TA));return}if(!r(ZA)){BA(new TypeError("Received non-Uint8Array chunk"));return}yA.push(ZA),TA+=ZA.length}while(!0)}catch(yA){BA(yA)}}function YA(q){t("protocol"in q);const oA=q.protocol;return oA==="about:"||oA==="blob:"||oA==="data:"}function jA(q){return typeof q=="string"&&q[5]===":"&&q[0]==="h"&&q[1]==="t"&&q[2]==="t"&&q[3]==="p"&&q[4]==="s"||q.protocol==="https:"}function PA(q){t("protocol"in q);const oA=q.protocol;return oA==="http:"||oA==="https:"}function KA(q,oA){const BA=q;if(!BA.startsWith("bytes"))return"failure";const yA={position:5};if(oA&&o(zA=>zA===" "||zA===" ",BA,yA),BA.charCodeAt(yA.position)!==61)return"failure";yA.position++,oA&&o(zA=>zA===" "||zA===" ",BA,yA);const TA=o(zA=>{const ge=zA.charCodeAt(0);return ge>=48&&ge<=57},BA,yA),HA=TA.length?Number(TA):null;if(oA&&o(zA=>zA===" "||zA===" ",BA,yA),BA.charCodeAt(yA.position)!==45)return"failure";yA.position++,oA&&o(zA=>zA===" "||zA===" ",BA,yA);const ZA=o(zA=>{const ge=zA.charCodeAt(0);return ge>=48&&ge<=57},BA,yA),se=ZA.length?Number(ZA):null;return yA.position<BA.length||se===null&&HA===null||HA!==null&&se!==null&&HA>se?"failure":{rangeStartValue:HA,rangeEndValue:se}}function re(q,oA,BA){let yA="bytes ";return yA+=n(`${q}`),yA+="-",yA+=n(`${oA}`),yA+="/",yA+=n(`${BA}`),yA}class te extends A{#A;constructor(oA){super(),this.#A=oA}_transform(oA,BA,yA){if(!this._inflateStream){if(oA.length===0){yA();return}this._inflateStream=(oA[0]&15)===8?I.createInflate(this.#A):I.createInflateRaw(this.#A),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",TA=>this.destroy(TA))}this._inflateStream.write(oA,BA,yA)}_final(oA){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),oA()}}function ee(q){return new te(q)}function ae(q){let oA=null,BA=null,yA=null;const TA=z("content-type",q);if(TA===null)return"failure";for(const HA of TA){const ZA=f(HA);ZA==="failure"||ZA.essence==="*/*"||(yA=ZA,yA.essence!==BA?(oA=null,yA.parameters.has("charset")&&(oA=yA.parameters.get("charset")),BA=yA.essence):!yA.parameters.has("charset")&&oA!==null&&yA.parameters.set("charset",oA))}return yA??"failure"}function GA(q){const oA=q,BA={position:0},yA=[];let TA="";for(;BA.position<oA.length;){if(TA+=o(HA=>HA!=='"'&&HA!==",",oA,BA),BA.position<oA.length)if(oA.charCodeAt(BA.position)===34){if(TA+=a(oA,BA),BA.position<oA.length)continue}else t(oA.charCodeAt(BA.position)===44),BA.position++;TA=g(TA,!0,!0,HA=>HA===9||HA===32),yA.push(TA),TA=""}return yA}function z(q,oA){const BA=oA.get(q,!0);return BA===null?null:GA(BA)}function RA(q){return!1}function vA(q){return!!(q.username||q.password)}function H(q){return q!=null&&q!=="client"&&q!=="no-traversable"}class cA{get baseUrl(){return s()}get origin(){return this.baseUrl?.origin}policyContainer=lA()}class CA{settingsObject=new cA}const wA=new CA;return Ar={isAborted:mA,isCancelled:aA,isValidEncodedURL:E,ReadableStreamFrom:h,tryUpgradeRequestToAPotentiallyTrustworthyURL:DA,clampAndCoarsenConnectionTimingInfo:Y,coarsenedSharedCurrentTime:Z,determineRequestsReferrer:J,makePolicyContainer:lA,clonePolicyContainer:$,appendFetchMetadata:m,appendRequestOriginHeader:G,TAOCheck:p,corsCheck:Q,crossOriginResourcePolicyCheck:k,createOpaqueTimingInfo:tA,setRequestReferrerPolicyOnRedirect:R,isValidHTTPToken:u,requestBadPort:l,requestCurrentURL:y,responseURL:D,responseLocationURL:w,isURLPotentiallyTrustworthy:rA,isValidReasonPhrase:U,sameOrigin:kA,normalizeMethod:v,iteratorMixin:dA,createIterator:AA,isValidHeaderName:M,isValidHeaderValue:T,isErrorLike:B,fullyReadBody:MA,readableStreamClose:FA,urlIsLocal:YA,urlHasHttpsScheme:jA,urlIsHttpHttpsScheme:PA,readAllBytes:SA,simpleRangeHeaderValue:KA,buildContentRange:re,createInflate:ee,extractMimeType:ae,getDecodeSplit:z,environmentSettingsObject:wA,isOriginIPPotentiallyTrustworthy:nA,hasAuthenticationEntry:RA,includesCredentials:vA,isTraversableNavigable:H},Ar}var ft={},cn;function Et(){if(cn)return ft;cn=1;const A={__proto__:null,"node:crypto":()=>Ze,"node:sqlite":()=>qo};function I(a){try{return A[a](),!0}catch(f){if(f.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&f.code!=="ERR_NO_CRYPTO")throw f;return!1}}const d=["crypto","sqlite"];function N(a){if(d.includes(a))return I(`node:${a}`);throw new TypeError(`unknown feature: ${a}`)}class S{#A=new Map;clear(){this.#A.clear()}has(f){return this.#A.get(f)??this.#e(f)}set(f,C){if(d.includes(f)===!1)throw new TypeError(`unknown feature: ${f}`);this.#A.set(f,C)}#e(f){const C=N(f);return this.#A.set(f,C),C}}const s=new S;return ft.runtimeFeatures=s,ft.default=s,ft}var er,ln;function Us(){if(ln)return er;ln=1;const{iteratorMixin:A}=Se(),{kEnumerableProperty:I}=OA(),{webidl:d}=he(),N=we,{runtimeFeatures:S}=Et(),s=S.has("crypto")?Ze.randomInt:c=>Math.floor(Math.random()*c);class a{#A=[];#e=null;constructor(t=void 0){if(d.util.markAsUncloneable(this),t!==void 0)throw d.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(t,r,e=void 0){d.brandCheck(this,a);const n="FormData.append";d.argumentLengthCheck(arguments,2,n),t=d.converters.USVString(t),arguments.length===3||d.is.Blob(r)?(r=d.converters.Blob(r,n,"value"),e!==void 0&&(e=d.converters.USVString(e))):r=d.converters.USVString(r);const o=u(t,r,e);this.#A.push(o)}delete(t){d.brandCheck(this,a),d.argumentLengthCheck(arguments,1,"FormData.delete"),t=d.converters.USVString(t),this.#A=this.#A.filter(r=>r.name!==t)}get(t){d.brandCheck(this,a),d.argumentLengthCheck(arguments,1,"FormData.get"),t=d.converters.USVString(t);const r=this.#A.findIndex(e=>e.name===t);return r===-1?null:this.#A[r].value}getAll(t){return d.brandCheck(this,a),d.argumentLengthCheck(arguments,1,"FormData.getAll"),t=d.converters.USVString(t),this.#A.filter(r=>r.name===t).map(r=>r.value)}has(t){return d.brandCheck(this,a),d.argumentLengthCheck(arguments,1,"FormData.has"),t=d.converters.USVString(t),this.#A.findIndex(r=>r.name===t)!==-1}set(t,r,e=void 0){d.brandCheck(this,a);const n="FormData.set";d.argumentLengthCheck(arguments,2,n),t=d.converters.USVString(t),arguments.length===3||d.is.Blob(r)?(r=d.converters.Blob(r,n,"value"),e!==void 0&&(e=d.converters.USVString(e))):r=d.converters.USVString(r);const o=u(t,r,e),g=this.#A.findIndex(D=>D.name===t);g!==-1?this.#A=[...this.#A.slice(0,g),o,...this.#A.slice(g+1).filter(D=>D.name!==t)]:this.#A.push(o)}[N.inspect.custom](t,r){const e=this.#A.reduce((o,g)=>(o[g.name]?Array.isArray(o[g.name])?o[g.name].push(g.value):o[g.name]=[o[g.name],g.value]:o[g.name]=g.value,o),{__proto__:null});r.depth??=t,r.colors??=!0;const n=N.formatWithOptions(r,e);return`FormData ${n.slice(n.indexOf("]")+2)}`}static getFormDataState(t){return t.#A}static setFormDataState(t,r){t.#A=r}static getFormDataBoundary(t){return t.#e??(t.#e=`----formdata-undici-0${`${s(1e11)}`.padStart(11,"0")}`)}}const{getFormDataState:f,setFormDataState:C,getFormDataBoundary:h}=a;Reflect.deleteProperty(a,"getFormDataState"),Reflect.deleteProperty(a,"setFormDataState"),Reflect.deleteProperty(a,"getFormDataBoundary"),A("FormData",a,f,"name","value"),Object.defineProperties(a.prototype,{append:I,delete:I,get:I,getAll:I,has:I,set:I,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function u(c,t,r){if(typeof t!="string"&&(d.is.File(t)||(t=new File([t],"blob",{type:t.type})),r!==void 0)){const e={type:t.type,lastModified:t.lastModified};t=new File([t],r,e)}return{name:c,value:t}}return d.is.FormData=d.util.MakeTypeAssertion(a),er={FormData:a,makeEntry:u,setFormDataState:C,getFormDataBoundary:h},er}var tr,En;function Ti(){if(En)return tr;En=1;const{bufferToLowerCasedHeaderName:A}=OA(),{HTTP_TOKEN_CODEPOINTS:I}=be(),{makeEntry:d}=Us(),{webidl:N}=he(),S=_A,{isomorphicDecode:s}=He(),a=Buffer.from("--"),f=new TextDecoder,C=new TextDecoder("utf-8",{ignoreBOM:!0});function h(i){for(let y=0;y<i.length;++y)if((i.charCodeAt(y)&-128)!==0)return!1;return!0}function u(i){const y=i.length;if(y<27||y>70)return!1;for(let l=0;l<y;++l){const B=i.charCodeAt(l);if(!(B>=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||B===39||B===45||B===95))return!1}return!0}function c(i,y){S(y!=="failure"&&y.essence==="multipart/form-data");const l=y.parameters.get("boundary");if(l===void 0)throw g("missing boundary in content-type header");const B=Buffer.from(`--${l}`,"utf8"),U=[],M={position:0},T=i.indexOf(B);if(T===-1)throw g("no boundary found in multipart body");for(M.position=T;;){if(i.subarray(M.position,M.position+B.length).equals(B))M.position+=B.length;else throw g("expected a value starting with -- and the boundary");if(o(i,a,M))return U;if(i[M.position]!==13||i[M.position+1]!==10)throw g("expected CRLF");M.position+=2;const F=r(i,M);let{name:R,filename:k,contentType:Q,encoding:p}=F;M.position+=2;let m;{const O=i.indexOf(B.subarray(2),M.position);if(O===-1)throw g("expected boundary after body");m=i.subarray(M.position,O-4),M.position+=m.length,p==="base64"&&(m=Buffer.from(m.toString(),"base64"))}if(i[M.position]!==13||i[M.position+1]!==10)throw g("expected CRLF");M.position+=2;let G;k!==null?(Q??="text/plain",h(Q)||(Q=""),G=new File([m],k,{type:Q})):G=C.decode(Buffer.from(m)),S(N.is.USVString(R)),S(typeof G=="string"&&N.is.USVString(G)||N.is.File(G)),U.push(d(R,G,k))}}function t(i,y){i[y.position]===59&&y.position++,e(T=>T===32||T===9,i,y);const l=e(T=>E(T)&&T!==61&&T!==42,i,y);if(l.length===0)return null;const B=l.toString("ascii").toLowerCase(),U=i[y.position]===42;if(U&&y.position++,i[y.position]!==61)return null;y.position++,e(T=>T===32||T===9,i,y);let M;if(U){const T=e(F=>F!==32&&F!==13&&F!==10&&F!==59,i,y);if(T[0]!==117&&T[0]!==85||T[1]!==116&&T[1]!==84||T[2]!==102&&T[2]!==70||T[3]!==45||T[4]!==56)throw g("unknown encoding, expected utf-8''");M=decodeURIComponent(f.decode(T.subarray(7)))}else if(i[y.position]===34){y.position++;const T=e(F=>F!==10&&F!==13&&F!==34,i,y);if(i[y.position]!==34)throw g("Closing quote not found");y.position++,M=f.decode(T).replace(/%0A/ig,`
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
`);J.push(j),O+=j.byteLength,X&&(O=null),G=R,m=async function*(){for(const nA of J)nA.stream?yield*nA.stream():yield nA},Y=`multipart/form-data; boundary=${Z}`}else if(C.is.Blob(R))G=R,O=R.size,R.type&&(Y=R.type);else if(typeof R[Symbol.asyncIterator]=="function"){if(k)throw new TypeError("keepalive");if(A.isDisturbed(R)||R.locked)throw new TypeError("Response body object should not be disturbed or locked");Q=C.is.ReadableStream(R)?R:I(R)}return(typeof G=="string"||t(G))&&(m=()=>(O=typeof G=="string"?Buffer.byteLength(G):G.length,G)),m!=null&&(async()=>{const Z=m(),tA=Z?.[Symbol.asyncIterator]?.();if(tA)for await(const lA of tA){if(u(Q))break;lA.length&&p.enqueue(new Uint8Array(lA))}else Z?.length&&!u(Q)&&p.enqueue(typeof Z=="string"?D.encode(Z):new Uint8Array(Z));queueMicrotask(()=>d(p))})(),[{stream:Q,source:G,length:O},Y]}function y(R,k=!1){return C.is.ReadableStream(R)&&(h(!A.isDisturbed(R),"The body has already been consumed."),h(!R.locked,"The stream is locked.")),i(R,k)}function l(R){const{0:k,1:Q}=g?.(R.stream,!0)??R.stream.tee();return R.stream=k,{stream:Q,length:R.length,source:R.source}}function B(R,k){return{blob(){return M(this,Q=>{let p=F(k(this));return p===null?p="":p&&(p=r(p)),new Blob([Q],{type:p})},R,k)},arrayBuffer(){return M(this,Q=>new Uint8Array(Q).buffer,R,k)},text(){return M(this,o,R,k)},json(){return M(this,n,R,k)},formData(){return M(this,Q=>{const p=F(k(this));if(p!==null)switch(p.essence){case"multipart/form-data":{const m=e(Q,p),G=new s;return a(G,m),G}case"application/x-www-form-urlencoded":{const m=new URLSearchParams(Q.toString()),G=new s;for(const[O,Y]of m)G.append(O,Y);return G}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},R,k)},bytes(){return M(this,Q=>new Uint8Array(Q),R,k)},textStream(){const Q=k(this);if(T(Q))throw new TypeError("Body is unusable: Body has already been read");if(Q.body==null){let G;const O=new ReadableStream({start:Y=>{G=Y},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return G.close(),O}const p=Q.body.stream,m=new TextDecoderStream("UTF-8");return p.pipeThrough(m)}}}function U(R,k){Object.assign(R.prototype,B(R,k))}function M(R,k,Q,p){try{C.brandCheck(R,Q)}catch(Y){return Promise.reject(Y)}if(R=p(R),T(R))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));const m=Promise.withResolvers(),G=m.reject,O=Y=>{try{m.resolve(k(Y))}catch(Z){G(Z)}};return R.body==null?(O(Buffer.allocUnsafe(0)),m.promise):(N(R.body,O,G),m.promise)}function T(R){const k=R.body;return k!=null&&(k.stream.locked||A.isDisturbed(k.stream))}function F(R){const k=R.headersList,Q=S(k);return Q==="failure"?null:Q}return rr={extractBody:i,safelyExtractBody:y,cloneBody:l,mixinBody:U,streamRegistry:E,bodyUnusable:T},rr}var sr,Qn;function Li(){if(Qn)return sr;Qn=1;const A=_A,I=OA(),{channels:d}=Je(),N=Po(),{RequestContentLengthMismatchError:S,ResponseContentLengthMismatchError:s,RequestAbortedError:a,InvalidArgumentError:f,HeadersTimeoutError:C,HeadersOverflowError:h,SocketError:u,InformationalError:c,BodyTimeoutError:t,HTTPParserError:r,ResponseExceededMaxSizeError:e}=VA(),{kUrl:n,kReset:o,kClient:g,kParser:D,kBlocking:w,kRunning:E,kPending:i,kSize:y,kWriting:l,kQueue:B,kNoRef:U,kKeepAliveDefaultTimeout:M,kHostHeader:T,kPendingIdx:F,kRunningIdx:R,kError:k,kPipelining:Q,kSocket:p,kKeepAliveTimeoutValue:m,kMaxHeadersSize:G,kKeepAliveMaxTimeout:O,kKeepAliveTimeoutThreshold:Y,kHeadersTimeout:Z,kBodyTimeout:tA,kStrictContentLength:lA,kMaxRequests:$,kCounter:J,kMaxResponseSize:V,kOnError:X,kResume:j,kHTTPContext:nA,kClosed:gA}=Ae(),rA=ki(),DA=Buffer.alloc(0),kA=Buffer[Symbol.species],mA=I.removeAllListeners,aA=Symbol("kIdleSocketValidation"),v=Symbol("kIdleSocketValidationTimeout"),iA=Symbol("kSocketUsed"),AA=Symbol("kTypeOfService");let dA;function MA(){const QA=process.env.JEST_WORKER_ID?An():void 0;let b,W=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?W=!1:process.env.UNDICI_NO_WASM_SIMD==="0"&&(W=!0),W)try{b=new WebAssembly.Module(Mi())}catch{}return b||(b=new WebAssembly.Module(QA||An())),new WebAssembly.Instance(b,{env:{wasm_on_url:(_,x,sA)=>0,wasm_on_status:(_,x,sA)=>{A(SA.ptr===_);const K=x-PA+YA.byteOffset;return SA.onStatus(new kA(YA.buffer,K,sA))},wasm_on_message_begin:_=>(A(SA.ptr===_),SA.onMessageBegin()),wasm_on_header_field:(_,x,sA)=>{A(SA.ptr===_);const K=x-PA+YA.byteOffset;return SA.onHeaderField(new kA(YA.buffer,K,sA))},wasm_on_header_value:(_,x,sA)=>{A(SA.ptr===_);const K=x-PA+YA.byteOffset;return SA.onHeaderValue(new kA(YA.buffer,K,sA))},wasm_on_headers_complete:(_,x,sA,K)=>(A(SA.ptr===_),SA.onHeadersComplete(x,sA===1,K===1)),wasm_on_body:(_,x,sA)=>{A(SA.ptr===_);const K=x-PA+YA.byteOffset;return SA.onBody(new kA(YA.buffer,K,sA))},wasm_on_message_complete:_=>(A(SA.ptr===_),SA.onMessageComplete())}})}let FA=null,SA=null,YA=null,jA=0,PA=null,KA=null;const re=0,te=1,ee=2|te,ae=4|te,GA=8|re;class z{constructor(b,W,{exports:_}){this.llhttp=_,this.ptr=this.llhttp.llhttp_alloc(rA.TYPE.RESPONSE),this.client=b,this.socket=W,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=b[G],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=b[V]}setTimeout(b,W){b!==this.timeoutValue||W&te^this.timeoutType&te?(this.timeout&&(N.clearTimeout(this.timeout),this.timeout=null),b&&(W&te?this.timeout=N.setFastTimeout(RA,b,this.timeoutWeakRef):(this.timeout=setTimeout(RA,b,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=b):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=W}resume(){this.socket.destroyed||!this.paused||(A(this.ptr!=null),A(SA===null),this.llhttp.llhttp_resume(this.ptr),A(this.timeoutType===ae),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||DA),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){const b=this.socket.read();if(b===null)break;this.execute(b)}}execute(b){A(SA===null),A(this.ptr!=null),A(!this.paused);const{socket:W,llhttp:_}=this;b.length>jA&&(PA&&_.free(PA),jA=Math.ceil(b.length/4096)*4096,PA=_.malloc(jA)),(KA===null||KA.buffer!==_.memory.buffer||KA.byteOffset!==PA||KA.byteLength!==jA)&&(KA=new Uint8Array(_.memory.buffer,PA,jA)),KA.set(b);try{let x;try{YA=b,SA=this,x=_.llhttp_execute(this.ptr,PA,b.length)}finally{SA=null,YA=null}if(x!==rA.ERROR.OK){const sA=b.subarray(_.llhttp_get_error_pos(this.ptr)-PA);if(x===rA.ERROR.PAUSED_UPGRADE)this.onUpgrade(sA);else if(x===rA.ERROR.PAUSED)this.paused=!0,W.unshift(sA);else throw this.createError(x,sA)}}catch(x){I.destroy(W,x)}}finish(){A(SA===null),A(this.ptr!=null);const{llhttp:b}=this;if(this.paused){let _;do b.llhttp_resume(this.ptr),this.paused=!1,_=this.socket.read()||DA,this.execute(_);while(this.paused&&_.length>0);this.paused&&(b.llhttp_resume(this.ptr),this.paused=!1)}let W;try{SA=this,W=b.llhttp_finish(this.ptr)}finally{SA=null}return W===rA.ERROR.OK?null:W===rA.ERROR.PAUSED||W===rA.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(W,DA)}createError(b,W){const{llhttp:_,contentLength:x,bytesRead:sA}=this;if(x!==-1&&sA!==x)return new s;const K=_.llhttp_get_error_reason(this.ptr);let fA="";if(K){const IA=new Uint8Array(_.memory.buffer,K).indexOf(0);fA="Response does not match the HTTP/1.1 protocol ("+Buffer.from(_.memory.buffer,K,IA).toString()+")"}return new r(fA,rA.ERROR[b],W)}destroy(){A(SA===null),A(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&N.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(b){return this.statusText=b.toString(),0}onMessageBegin(){const{socket:b,client:W}=this;if(b.destroyed)return-1;if(W[E]===0)return I.destroy(b,new u("bad response",I.getSocketInfo(b))),-1;const _=W[B][W[R]];return _?(_.onResponseStarted(),0):-1}onHeaderField(b){const W=this.headers.length;return(W&1)===0?this.headers.push(b):this.headers[W-1]=Buffer.concat([this.headers[W-1],b]),this.trackHeader(b.length),0}onHeaderValue(b){let W=this.headers.length;(W&1)===1?(this.headers.push(b),W+=1):this.headers[W-1]=Buffer.concat([this.headers[W-1],b]);const _=this.headers[W-2];if(_.length===10){const x=I.bufferToLowerCasedHeaderName(_);x==="keep-alive"?this.keepAlive+=b.toString():x==="connection"&&(this.connectionKeepAlive=this.headers[W-1].length===10&&I.bufferToLowerCasedHeaderName(this.headers[W-1])==="keep-alive")}else if(_.length===14&&I.bufferToLowerCasedHeaderName(_)==="content-length"){this.contentLength===-1&&(this.contentLength=0);for(let x=0;x<b.length;x++)this.contentLength=this.contentLength*10+(b[x]-48)}return this.trackHeader(b.length),0}trackHeader(b){this.headersSize+=b,this.headersSize>=this.headersMaxSize&&I.destroy(this.socket,new h)}onUpgrade(b){const{upgrade:W,client:_,socket:x,headers:sA,statusCode:K}=this;A(W),A(_[p]===x),A(!x.destroyed),A(!this.paused),A((sA.length&1)===0);const fA=_[B][_[R]];A(fA),A(fA.upgrade||fA.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,x.unshift(b),x[D].destroy(),x[D]=null,x[g]=null,x[k]=null,mA(x),_[p]=null,_[nA]=null,_[B][_[R]++]=null,_.emit("disconnect",_[n],[_],new c("upgrade"));try{fA.onRequestUpgrade(K,sA,x)}catch(IA){I.destroy(x,IA)}_[j]()}onHeadersComplete(b,W,_){const{client:x,socket:sA,headers:K,statusText:fA}=this;if(sA.destroyed)return-1;if(x[E]===0)return I.destroy(sA,new u("bad response",I.getSocketInfo(sA))),-1;const IA=x[B][x[R]];if(!IA)return-1;if(A(!this.upgrade),A(this.statusCode<200),b===100)return I.destroy(sA,new u("bad response",I.getSocketInfo(sA))),-1;if(W&&!IA.upgrade)return I.destroy(sA,new u("bad upgrade",I.getSocketInfo(sA))),-1;if(A(this.timeoutType===ee),this.statusCode=b,this.shouldKeepAlive=_||IA.method==="HEAD"&&!sA[o]&&this.connectionKeepAlive,this.statusCode>=200){const NA=IA.bodyTimeout!=null?IA.bodyTimeout:x[tA];this.setTimeout(NA,ae)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(IA.method==="CONNECT")return A(x[E]===1),this.upgrade=!0,2;if(W)return A(x[E]===1),this.upgrade=!0,2;if(A((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&x[Q]){const NA=this.keepAlive?I.parseKeepAliveTimeout(this.keepAlive):null;if(NA!=null){const bA=Math.min(NA-x[Y],x[O]);bA<=0?sA[o]=!0:x[m]=bA}else x[m]=x[M]}else sA[o]=!0;const LA=IA.onResponseStart(b,K,this.resume,fA)===!1;return IA.aborted?-1:IA.method==="HEAD"||b<200?1:(sA[w]&&(sA[w]=!1,x[j]()),LA?rA.ERROR.PAUSED:0)}onBody(b){const{client:W,socket:_,statusCode:x,maxResponseSize:sA}=this;if(_.destroyed)return-1;const K=W[B][W[R]];return A(K),A(this.timeoutType===ae),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),A(x>=200),sA>-1&&this.bytesRead+b.length>sA?(I.destroy(_,new e),-1):(this.bytesRead+=b.length,K.onResponseData(b)===!1?rA.ERROR.PAUSED:0)}onMessageComplete(){const{client:b,socket:W,statusCode:_,upgrade:x,headers:sA,contentLength:K,bytesRead:fA,shouldKeepAlive:IA}=this;if(W.destroyed&&(!_||IA))return-1;if(x)return 0;A(_>=100),A((this.headers.length&1)===0);const LA=b[B][b[R]];if(A(LA),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength=-1,this.keepAlive="",this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,_<200)return 0;if(LA.method!=="HEAD"&&K!==-1&&fA!==K)return I.destroy(W,new s),-1;if(LA.onResponseEnd(sA),b[B][b[R]++]=null,W[iA]=b[i]===0,W[l])return A(b[E]===0),I.destroy(W,new c("reset")),rA.ERROR.PAUSED;if(IA){if(W[o]&&b[E]===0)return I.destroy(W,new c("reset")),rA.ERROR.PAUSED;b[Q]==null||b[Q]===1?setImmediate(b[j]):b[j]()}else return I.destroy(W,new c("reset")),rA.ERROR.PAUSED;return 0}}function RA(QA){const b=QA.deref();if(!b)return;const{socket:W,timeoutType:_,client:x,paused:sA}=b;_===ee?(!W[l]||W.writableNeedDrain||x[E]>1)&&(A(!sA,"cannot be paused while waiting for headers"),I.destroy(W,new C)):_===ae?sA||I.destroy(W,new t):_===GA&&(A(x[E]===0&&x[m]),I.destroy(W,new c("socket idle timeout")))}function vA(QA,b){if(QA[p]=b,FA||(FA=MA()),b.errored)throw b.errored;if(b.destroyed)throw new u("destroyed");return b[U]=!1,b[l]=!1,b[o]=!1,b[w]=!1,b[aA]=0,b[v]=null,b[iA]=!1,b[D]=new z(QA,b,FA),I.addListener(b,"error",H),I.addListener(b,"readable",cA),I.addListener(b,"end",CA),I.addListener(b,"close",wA),b[gA]=!1,b.on("close",q),{version:"h1",defaultPipelining:1,write(W){return ZA(QA,W)},resume(){yA(QA)},destroy(W,_){b[gA]?queueMicrotask(_):(b.on("close",_),b.destroy(W))},get destroyed(){return b.destroyed},busy(W){return!!(b[l]||b[o]||b[w]||b[aA]===1||W&&(QA[E]>0&&!W.idempotent||QA[E]>0&&(W.upgrade||W.method==="CONNECT")||QA[E]>0&&I.bodyLength(W.body)!==0&&(I.isStream(W.body)||I.isAsyncIterable(W.body)||I.isFormDataLike(W.body))))}}}function H(QA){A(QA.code!=="ERR_TLS_CERT_ALTNAME_INVALID");const b=this[D];if(QA.code==="ECONNRESET"&&b.statusCode&&!b.shouldKeepAlive){const W=b.finish();W&&(this[k]=W,this[g][X](W));return}this[k]=QA,this[g][X](QA)}function cA(){this[D]?.readMore()}function CA(){const QA=this[D];if(QA.statusCode&&!QA.shouldKeepAlive){const b=QA.finish();b&&I.destroy(this,b);return}I.destroy(this,new u("other side closed",I.getSocketInfo(this)))}function wA(){const QA=this[D];oA(this),QA&&(!this[k]&&QA.statusCode&&!QA.shouldKeepAlive&&(this[k]=QA.finish()||this[k]),this[D].destroy(),this[D]=null);const b=this[k]||new u("closed",I.getSocketInfo(this)),W=this[g];if(W[p]=null,W[nA]=null,W.destroyed){A(W[i]===0);const _=W[B].splice(W[R]);for(let x=0;x<_.length;x++){const sA=_[x];I.errorRequest(W,sA,b)}}else if(W[E]>0&&b.code!=="UND_ERR_INFO"){const _=W[B][W[R]];W[B][W[R]++]=null,I.errorRequest(W,_,b)}W[F]=W[R],A(W[E]===0),W.emit("disconnect",W[n],[W],b),W[j]()}function q(){this[gA]=!0}function oA(QA){QA[v]&&(clearTimeout(QA[v]),QA[v]=null),QA[aA]=0}function BA(QA,b){b[aA]=1,b[v]=setTimeout(()=>{b[v]=null,b[aA]=2,QA[p]===b&&!b.destroyed&&QA[j]()},0),b[v].unref?.()}function yA(QA){const b=QA[p];if(b&&!b.destroyed){if(QA[y]===0?!b[U]&&b.unref&&(b.unref(),b[U]=!0):b[U]&&b.ref&&(b.ref(),b[U]=!1),QA[E]===0&&QA[i]>0&&b[iA]){if(b[aA]===0)return BA(QA,b),b[D].readMore(),void 0;if(b[aA]===1)return b[D].readMore(),void 0}if(QA[E]===0&&(b[D].readMore(),b.destroyed))return;if(QA[y]===0)b[D].timeoutType!==GA&&b[D].setTimeout(QA[m],GA);else if(QA[E]>0&&b[D].statusCode<200&&b[D].timeoutType!==ee){const W=QA[B][QA[R]],_=W.headersTimeout!=null?W.headersTimeout:QA[Z];b[D].setTimeout(_,ee)}}}function TA(QA){return QA!=="GET"&&QA!=="HEAD"&&QA!=="OPTIONS"&&QA!=="TRACE"&&QA!=="CONNECT"}function HA(QA,b){if(typeof QA.setTypeOfService!="function")return;const W=b.typeOfService;if(!(W===void 0||QA[AA]===W))try{QA.setTypeOfService(W),QA[AA]=W}catch{}}function ZA(QA,b){const{method:W,path:_,host:x,upgrade:sA,blocking:K,reset:fA}=b;let{body:IA,headers:LA,contentLength:NA}=b;const bA=W==="PUT"||W==="POST"||W==="PATCH"||W==="QUERY"||W==="PROPFIND"||W==="PROPPATCH";if(I.isFormDataLike(IA)){dA||(dA=ht().extractBody);const[xA,ce]=dA(IA);b.contentType==null&&LA.push("content-type",ce),IA=xA.stream,NA=xA.length}else if(I.isBlobLike(IA)&&b.contentType==null){const xA=IA.type;if(xA){const ce=`${xA}`;if(!I.isValidHeaderValue(ce))return I.errorRequest(QA,b,new f("invalid content-type header")),!1;LA.push("content-type",ce)}}IA&&typeof IA.read=="function"&&IA.read(0);const XA=I.bodyLength(IA);if(NA=XA??NA,NA===null&&(NA=b.contentLength),NA===0&&!bA&&(NA=null),TA(W)&&NA>0&&b.contentLength!==null&&b.contentLength!==NA){if(QA[lA])return I.errorRequest(QA,b,new S),!1;process.emitWarning(new S)}const uA=QA[p];oA(uA);const UA=xA=>{b.aborted||b.completed||(I.errorRequest(QA,b,xA||new a),I.destroy(IA),I.destroy(uA,new c("aborted")))};try{b.onRequestStart(UA,null)}catch(xA){I.errorRequest(QA,b,xA)}if(b.aborted)return!1;W==="HEAD"&&(uA[o]=!0),(sA||W==="CONNECT")&&(uA[o]=!0),fA!=null&&(uA[o]=fA),QA[$]&&++uA[J]>=QA[$]&&(uA[o]=!0),K&&(uA[w]=!0),HA(uA,b);let WA=`${W} ${_} HTTP/1.1\r
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
`,"latin1"),W!==null&&x!==W){if(_[lA])throw new S;process.emitWarning(new S)}b[D].timeout&&b[D].timeoutType===ee&&b[D].timeout.refresh&&b[D].timeout.refresh(),_[j]()}}destroy(b){const{socket:W,client:_,abort:x}=this;W[l]=!1,b&&(A(_[E]<=1,"pipeline should only contain this request"),x(b))}}return sr=vA,sr}var nr,In;function Hi(){if(In)return nr;In=1;const A=_A,{pipeline:I}=ue,d=OA(),{RequestContentLengthMismatchError:N,RequestAbortedError:S,SocketError:s,InformationalError:a,InvalidArgumentError:f,HeadersTimeoutError:C,BodyTimeoutError:h}=VA(),{kUrl:u,kReset:c,kClient:t,kRunning:r,kPending:e,kQueue:n,kPendingIdx:o,kRunningIdx:g,kError:D,kSocket:w,kStrictContentLength:E,kOnError:i,kMaxConcurrentStreams:y,kHTTP2Session:l,kHostAuthority:B,kResume:U,kSize:M,kHTTPContext:T,kClosed:F,kKeepAliveDefaultTimeout:R,kHeadersTimeout:k,kBodyTimeout:Q,kEnableConnectProtocol:p,kRemoteSettings:m,kHTTP2Stream:G,kHTTP2SessionState:O,kHTTP2Options:Y}=Ae(),{channels:Z}=Je(),tA=Symbol("open streams"),lA=Symbol("request stream id"),$=Symbol("request stream"),J=Symbol("request stream cleanup"),V=Symbol("request stream state"),X=Symbol("received goaway"),j=Symbol("goaway replay attempts"),nA=Symbol("refused stream retry"),gA=1;let rA,DA;try{DA=require("node:http2")}catch{DA={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:kA,HTTP2_HEADER_METHOD:mA,HTTP2_HEADER_PATH:aA,HTTP2_HEADER_SCHEME:v,HTTP2_HEADER_CONTENT_LENGTH:iA,HTTP2_HEADER_EXPECT:AA,HTTP2_HEADER_STATUS:dA,HTTP2_HEADER_PROTOCOL:MA,NGHTTP2_NO_ERROR:FA,NGHTTP2_REFUSED_STREAM:SA}}=DA;function YA(L,P){return L[D]||(P===FA?new a(`HTTP/2: "GOAWAY" frame received with code ${P}`):new s(`HTTP/2: "GOAWAY" frame received with code ${P}`,d.getSocketInfo(L[w])))}function jA(L,P){const eA=L[t],EA=L[w];if(eA[l]===L&&(eA[w]=null,eA[T]=null,eA[l]=null),EA!=null&&EA[D]==null&&(EA[D]=P),!L.closed&&!L.destroyed)try{L.destroy(P)}catch{}d.destroy(EA,P)}function PA(L,P){const eA=Number.isInteger(P)?P:Number.MAX_SAFE_INTEGER;for(let EA=L[g];EA<L[o];EA++){const hA=L[n][EA];if(hA!=null&&(typeof hA[lA]!="number"||hA[lA]>eA))return EA}return L[o]}function KA(L){L[lA]=null,L[$]=null,L[J]=null}function re(L,P,eA){const EA=L[J],hA=L[$];KA(L),EA?.(hA),L[lA]=P.id,L[$]=P,L[J]=eA}function te(L){const P=L[J],eA=L[$];KA(L),P?.(eA)}function ee(L,P){L[n].splice(L[o]+1,0,P)}function ae(L,P,eA=!1){const EA=L[n],hA=L[g];if(hA<L[o]&&EA[hA]===P){EA[hA]=null,L[g]=hA+1;return}const pA=EA.indexOf(P,hA);pA===-1||pA>=L[o]||(EA.splice(pA,1),L[o]--,eA&&L[o]<L[g]&&(L[o]=L[g]))}function GA(L){const{body:P}=L;return P==null||d.isBuffer(P)||d.isBlobLike(P)}function z(L){const P=(L[j]??0)+1;return L[j]=P,P<=gA}function RA(L,P=SA){if(L!=null&&!L.destroyed&&!L.closed)try{L.close(P)}catch{}}function vA(L){const P=L[$];return te(L),H(P),P}function H(L){L==null||L[V]==null||(L[V]=null,L.off("close",LA),L.off("close",IA),L[l]!=null&&fA(L),!L.destroyed&&!L.closed&&L.once("error",K))}function cA(L,P){L[w]=P;const eA=L[Y].sessionOptions?.initialWindowSize,EA=L[Y].connectionWindowSize,hA=DA.connect(L[u],{createConnection:()=>P,peerMaxConcurrentStreams:L[Y].maxConcurrentStreams,settings:{enablePush:!1,...eA!=null?{initialWindowSize:eA}:null}});return L[w]=P,hA[tA]=0,hA[t]=L,hA[w]=P,hA[O]={idleTimeout:null,noStreamsTimeout:null,refed:!0,ping:{interval:L[Y].pingInterval===0?null:setInterval(ge,L[Y].pingInterval,hA).unref()}},hA[X]=!1,hA[p]=!1,hA[m]=!1,EA&&d.addListener(hA,"connect",se.bind(hA,EA)),d.addListener(hA,"error",Ce),d.addListener(hA,"frameError",Qe),d.addListener(hA,"goaway",QA),d.addListener(hA,"close",b),d.addListener(hA,"remoteSettings",zA),wA(hA),L[l]=hA,P[l]=hA,d.addListener(P,"error",_),d.addListener(P,"end",x),d.addListener(P,"close",W),P[F]=!1,P.on("close",sA),{version:"h2",defaultPipelining:1/0,write(pA){return Ct(L,pA)},resume(){q(L)},destroy(pA,JA){P[F]?queueMicrotask(JA):P.destroy(pA).on("close",JA)},get destroyed(){return P.destroyed},busy(pA){if(hA[m]===!1&&L[r]>0||L[r]>=L[y])return!0;if(pA!=null)if(L[r]>0){if((pA.upgrade==="websocket"||pA.method==="CONNECT")&&hA[m]===!1)return!0}else return(pA.upgrade==="websocket"||pA.method==="CONNECT")&&hA[m]===!1;return!1}}}function CA(L){const P=L[O];P.refed===!1&&(P.refed=!0,L.ref())}function wA(L){const P=L[O];P.refed===!0&&(P.refed=!1,L.unref())}function q(L){const P=L[w],eA=L[l];P?.destroyed===!1&&(L[M]===0||L[y]===0?wA(eA):CA(eA),L[M]===0&&eA[tA]===0?HA(eA):TA(eA),L[y]===0&&L[r]===0&&L[e]>0?BA(eA):oA(eA))}function oA(L){const P=L[O];P?.noStreamsTimeout!=null&&(clearTimeout(P.noStreamsTimeout),P.noStreamsTimeout=null)}function BA(L){const P=L[t],eA=L[O],EA=P[k];!EA||eA.noStreamsTimeout!=null||(eA.noStreamsTimeout=setTimeout(yA,EA,L).unref())}function yA(L){const P=L[t],eA=L[O];if(eA.noStreamsTimeout=null,P[l]!==L||P[y]!==0||P[r]!==0||P[e]===0)return;const EA=new C(`HTTP/2: server did not accept a new stream within ${P[k]}`),hA=P[n].splice(P[o]);for(let pA=0;pA<hA.length;pA++)hA[pA]!=null&&d.errorRequest(P,hA[pA],EA);L[D]=EA,jA(L,EA)}function TA(L){const P=L[O];P?.idleTimeout!=null&&(clearTimeout(P.idleTimeout),P.idleTimeout=null)}function HA(L){const P=L[t];if(P[l]!==L||L.closed||L.destroyed)return;if(L[tA]!==0||P[M]!==0){TA(L);return}const eA=L[O];eA.idleTimeout==null&&(eA.idleTimeout=setTimeout(ZA,P[R],L).unref())}function ZA(L){const P=L[t],eA=L[w],EA=L[O];if(EA.idleTimeout=null,P[l]!==L||L[tA]!==0||P[M]!==0||L.closed||L.destroyed)return;const hA=new a("socket idle timeout");eA[D]=hA,d.destroy(eA,hA)}function se(L){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(L)}catch{}}function zA(L){if(this[t][y]=L.maxConcurrentStreams??this[t][y],this[m]===!0&&this[p]===!0&&L.enableConnectProtocol===!1){const P=new a("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[w][D]=P,this[t][i](P);return}this[p]=L.enableConnectProtocol??this[p],this[m]=!0,this[t][U]()}function ge(L){const P=L[O];if((L.closed||L.destroyed)&&P.ping.interval!=null){clearInterval(P.ping.interval),P.ping.interval=null;return}L.ping(eA.bind(L));function eA(EA,hA){const pA=this[t],JA=this[w];if(EA!=null){const $A=new a(`HTTP/2: "PING" errored - type ${EA.message}`);JA[D]=$A,pA[i]($A)}else pA.emit("ping",hA)}}function Ce(L){A(L.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[w][D]=L,!this[X]&&this[t][i](L)}function Qe(L,P,eA){if(eA===0){if(this[X])return;const EA=new a(`HTTP/2: "frameError" received - type ${L}, code ${P}`);this[w][D]=EA,this[t][i](EA)}}function QA(L,P){if(this[X])return;this[X]=!0;const eA=YA(this,L),EA=this[t],hA=EA[o],pA=PA(EA,P),JA=[],$A=[];for(let qA=pA;qA<hA;qA++){const le=EA[n][qA];le!=null&&($A.push(vA(le)),GA(le)&&z(le)?JA.push(le):d.errorRequest(EA,le,eA))}for(let qA=0;qA<$A.length;qA++)RA($A[qA]);if(pA!==hA){const qA=EA[n].slice(hA);EA[n].length=pA,EA[n].push(...JA,...qA)}EA[l]===this&&(EA[w]=null,EA[T]=null,EA[l]=null),TA(this),oA(this),!this.closed&&!this.destroyed&&this.close(),EA[o]=pA,EA.emit("disconnect",EA[u],[EA],eA),EA[U]()}function b(){const{[t]:L,[O]:P,[w]:eA}=this,EA=eA[D]||this[D]||new s("closed",d.getSocketInfo(eA));if(L[l]===this&&(L[w]=null,L[T]=null,L[l]=null),TA(this),oA(this),P.ping.interval!=null&&(clearInterval(P.ping.interval),P.ping.interval=null),L.destroyed){A(L[e]===0);const hA=L[n].splice(L[g]);for(let pA=0;pA<hA.length;pA++){const JA=hA[pA];JA!=null&&d.errorRequest(L,JA,EA)}}}function W(){const L=this[D]||new s("closed",d.getSocketInfo(this)),P=this[l],eA=P[t];eA[w]!==this&&(P[X]||eA[l]!=null&&eA[l]!==P)||(eA[w]=null,eA[T]=null,eA[l]===P&&(eA[l]=null),P.destroy(L),eA[o]=eA[g],A(eA[r]===0),eA.emit("disconnect",eA[u],[eA],L),eA[U]())}function _(L){A(L.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[D]=L,!this[l]?.[X]&&this[l]?.[t]?.[i](L)}function x(){d.destroy(this,new s("other side closed",d.getSocketInfo(this)))}function sA(){this[F]=!0}function K(){}function fA(L){const P=L[l];L[l]=null,P[tA]-=1,P[tA]===0&&(wA(P),HA(P))}function IA(){this.off("error",K);const L=this[V];this[V]=null,UA(L,new a("HTTP/2: stream closed before response headers")),fA(this)}function LA(){const L=this[V];L!=null&&(ne(this),L.pendingEnd&&!L.request.aborted&&!L.request.completed?L.request.onResponseEnd(L.trailers||{}):!L.request.aborted&&!L.request.completed&&d.errorRequest(L.client,L.request,new a("HTTP/2: stream closed before the response was complete")),Ye(L),fA(this),this[V]=null)}function NA(L){return L!=="GET"&&L!=="HEAD"&&L!=="OPTIONS"&&L!=="TRACE"&&L!=="CONNECT"}function bA(L){const P={};for(let eA=0;eA<L.length;eA+=2){const EA=L[eA+0],hA=L[eA+1],pA=P[EA];if(EA==="cookie"){pA!=null?P[EA]=Array.isArray(pA)?(pA.push(hA),pA):[pA,hA]:P[EA]=hA;continue}if(typeof hA=="string"){P[EA]=pA?`${pA}, ${hA}`:hA;continue}for(let JA=0;JA<hA.length;JA++)P[EA]=P[EA]?`${P[EA]}, ${hA[JA]}`:hA[JA]}return P}function XA(L){L.off("response",De),L.off("error",WA),L.off("end",xA),L.off("timeout",ce),L.off("error",K)}function uA(L){if(L==null)return;const P=L[V];if(P==null)return;const{request:eA}=P;eA[$]===L&&KA(eA),XA(L),!L.destroyed&&!L.closed&&L.once("error",K)}function UA(L,P){if(L==null)return;const{request:eA}=L;L.responseReceived||eA.aborted||eA.completed||(uA(L.stream),L.abort(P,!0))}function WA(){const L=this[V];typeof this.rstCode=="number"&&this.rstCode!==0?UA(L,new a(`HTTP/2: "stream error" received - code ${this.rstCode}`)):UA(L,new a("HTTP/2: stream errored before response headers"))}function xA(){UA(this[V],new a("HTTP/2: stream half-closed (remote)"))}function ce(){const L=this[V];UA(L,new a(`HTTP/2: "stream timeout after ${L.headersTimeout}"`))}function De(L,P){const eA=this,EA=eA[V],{request:hA}=EA;EA.responseReceived=!0;const pA=L[dA];delete L[dA],hA.onRequestUpgrade(pA,L,eA),!(hA.aborted||hA.completed)&&(XA(eA),KA(hA),Ye(EA))}function Fe(L,P){const{request:eA,headersTimeout:EA,session:hA}=P;L[G]=!0,L[l]=hA,L[V]=P,P.stream=L,re(eA,L,uA),L.once("response",De),L.on("error",WA),L.once("end",xA),L.on("timeout",ce),L.once("close",IA),TA(hA),++hA[tA],L.setTimeout(EA)}function Ye(L,P=!1){L.requestFinalized||(L.requestFinalized=!0,ae(L.client,L.request,P),L.client[U]())}function ve(L,P,eA,EA,hA,pA){try{return eA.request(hA,pA)}catch(JA){if(JA?.code==="ERR_HTTP2_INVALID_SESSION"||JA?.code==="ERR_HTTP2_GOAWAY_SESSION"){const qA=new s(JA.message,d.getSocketInfo(eA[w]));return qA.cause=JA,eA[D]=qA,jA(eA,qA),ee(L,P),null}const $A=new a(JA.message,{cause:JA});return eA[D]=$A,eA[w][D]=$A,eA.destroy($A),d.destroy(eA[w],$A),EA($A),null}}function Ct(L,P){const eA=P.headersTimeout??L[k],EA=P.bodyTimeout??L[Q],hA=L[l],{method:pA,path:JA,host:$A,upgrade:qA,expectContinue:le,signal:me,protocol:Be,headers:ot}=P;if(qA!=null&&qA!=="websocket")return d.errorRequest(L,P,new f(`Custom upgrade "${qA}" not supported over HTTP/2`)),!1;const Ee=bA(ot);Ee[kA]=$A||L[B],Ee[mA]=pA;const fe={abort:null,body:P.body,client:L,contentLength:null,expectsPayload:!1,request:P,headersTimeout:eA,bodyTimeout:EA,requestFinalized:!1,responseReceived:!1,bodySent:!1,pendingEnd:!1,trailers:null,session:hA,stream:null},it=(ye,Pe=!1)=>{if(!(P.aborted||P.completed)){if(ye=ye||new S,d.errorRequest(L,P,ye),fe.stream!=null){te(P);const Ut=fe.stream;Ut.close(),Ut.destroyed||d.destroy(Ut),L[i](ye),Ye(fe,Pe)}d.destroy(fe.body,ye)}};fe.abort=it;let oe=null;try{P.onRequestStart(it,null)}catch(ye){d.errorRequest(L,P,ye)}if(P.aborted)return!1;if(qA||pA==="CONNECT")return CA(hA),qA==="websocket"?hA[p]===!1?(d.errorRequest(L,P,new a("HTTP/2: Extended CONNECT protocol not supported by server")),wA(hA),!1):(Ee[mA]="CONNECT",Ee[MA]="websocket",Ee[aA]=JA,Be==="ws:"||Be==="wss:"?Ee[v]=Be==="ws:"?"http":"https":Ee[v]=Be==="http:"?"http":"https",oe=ve(L,P,hA,it,Ee,{endStream:!1,signal:me}),oe==null?(wA(hA),!1):(Fe(oe,fe),!0)):(oe=ve(L,P,hA,it,Ee,{endStream:!1,signal:me}),oe==null?(wA(hA),!1):(Fe(oe,fe),!0));Ee[aA]=JA,Ee[v]=Be==="http:"?"http":"https";const vs=pA==="PUT"||pA==="POST"||pA==="PATCH"||pA==="QUERY"||pA==="PROPFIND"||pA==="PROPPATCH";let ke=fe.body;ke&&typeof ke.read=="function"&&ke.read(0);let pe=d.bodyLength(ke);if(d.isFormDataLike(ke)){rA??=ht().extractBody;const[ye,Pe]=rA(ke);Ee["content-type"]=Pe,ke=ye.stream,pe=ye.length}if(pe==null&&(pe=P.contentLength),pe===0&&!vs&&(pe=null),NA(pA)&&pe>0&&P.contentLength!=null&&P.contentLength!==pe){if(L[E])return d.errorRequest(L,P,new N),!1;process.emitWarning(new N)}if(pe!=null&&(A(ke||pe===0,"no body must not have content length"),Ee[iA]=`${pe}`),CA(hA),Z.sendHeaders.hasSubscribers){let ye="";for(const Pe in Ee)ye+=`${Pe}: ${Ee[Pe]}\r
|
|
42
|
-
`;Z.sendHeaders.publish({request:P,headers:ye,socket:hA[w]})}const hi=ke===null||pe===0;return fe.body=ke,fe.contentLength=pe,fe.expectsPayload=vs,le&&(Ee[AA]="100-continue"),oe=ve(L,P,hA,it,Ee,{endStream:hi,signal:me}),oe==null?!1:(oe[G]=!0,oe[V]=fe,fe.stream=oe,TA(hA),++hA[tA],eA&&oe.setTimeout(eA),oe[l]=hA,oe.on("close",LA),re(P,oe,ne),le&&oe.once("continue",Te),oe.on("response",Re),oe.on("end",Ge),oe.on("error",tt),oe.on("frameError",rt),oe.on("aborted",Ue),(eA||EA)&&oe.on("timeout",qe),oe.on("trailers",Ne),le||Te.call(oe),!0)}function de(L){L.off("error",K),L.off("continue",Te),L.off("response",Re),L.off("end",Ge),L.off("error",tt),L.off("frameError",rt),L.off("aborted",Ue),L.off("timeout",qe),L.off("trailers",Ne),L.off("data",Ie)}function ne(L){if(L==null)return;const P=L[V];if(P==null)return;const{request:eA}=P;eA[$]===L&&KA(eA),!L.destroyed&&!L.closed&&(de(L),L.once("error",K))}function Ie(L){const P=this,eA=P[V];if(eA==null)return;const{request:EA}=eA;EA.aborted||EA.completed||EA.onResponseData(L)===!1&&P.pause()}function Re(L){const P=this,eA=P[V];if(eA==null)return;const{request:EA}=eA;P.off("response",Re),eA.body!=null&&!eA.bodySent&&!P.writableEnded&&(P.removeListener("continue",Te),P.end());const hA=L[dA];if(delete L[dA],EA.onResponseStarted(),eA.responseReceived=!0,(eA.headersTimeout||eA.bodyTimeout)&&P.setTimeout(eA.bodyTimeout),EA.aborted||EA.completed){ne(P);return}EA.onResponseStart(Number(hA),L,P.resume.bind(P),"")===!1&&P.pause(),P.on("data",Ie)}function Ge(){const L=this,P=L[V];if(P==null)return;const{request:eA}=P;L.off("end",Ge),P.responseReceived?!eA.aborted&&!eA.completed&&(P.pendingEnd=!0,LA.call(L)):P.abort(new a("HTTP/2: stream half-closed (remote)"),!0)}function Me(L,P){const{client:eA,request:EA}=P;return P.responseReceived||EA.aborted||EA.completed||EA[nA]||!GA(EA)?!1:(EA[nA]=!0,vA(EA),P.stream=null,P.requestFinalized=!0,ae(eA,EA),eA[n].splice(eA[o],0,EA),eA[U](),!0)}function tt(L){const P=this,eA=P[V];eA!=null&&(P.off("error",tt),typeof P.rstCode=="number"&&P.rstCode!==FA&&(L.http2ErrorCode=P.rstCode),!(P.rstCode===SA&&Me(P,eA))&&eA.abort(L))}function rt(L,P){const eA=this,EA=eA[V];EA!=null&&(eA.off("frameError",rt),EA.abort(new a(`HTTP/2: "frameError" received - type ${L}, code ${P}`)))}function Ue(){this.off("data",Ie)}function qe(){const L=this,P=L[V];if(P==null)return;L.off("timeout",qe);const eA=P.responseReceived?new h(`HTTP/2: "stream timeout after ${P.bodyTimeout}"`):new C(`HTTP/2: "headers timeout after ${P.headersTimeout}"`);P.abort(eA)}function Ne(L){const P=this,eA=P[V];if(eA==null)return;const{request:EA}=eA;P.off("trailers",Ne),P.off("data",Ie),!(EA.aborted||EA.completed)&&(eA.trailers=L)}function Te(){const L=this,P=L[V];P.bodySent=!0;const{abort:eA,body:EA,client:hA,contentLength:pA,expectsPayload:JA,request:$A}=P;!EA||pA===0?st(eA,L,null,hA,$A,hA[w],pA,JA):d.isBuffer(EA)?st(eA,L,EA,hA,$A,hA[w],pA,JA):d.isBlobLike(EA)?typeof EA.stream=="function"?Ys(eA,L,EA.stream(),hA,$A,hA[w],pA,JA):Ve(eA,L,EA,hA,$A,hA[w],pA,JA):d.isStream(EA)?nt(eA,hA[w],JA,L,EA,hA,$A,pA):d.isIterable(EA)?Ys(eA,L,EA,hA,$A,hA[w],pA,JA):A(!1)}function st(L,P,eA,EA,hA,pA,JA,$A){try{eA!=null&&d.isBuffer(eA)&&(A(JA===eA.byteLength,"buffer body must have content length"),P.cork(),P.write(eA),P.uncork(),P.end(),hA.onBodySent(eA)),$A||(pA[c]=!0),hA.onRequestSent(),EA[U]()}catch(qA){L(qA)}}function nt(L,P,eA,EA,hA,pA,JA,$A){A($A!==0||pA[r]===0,"stream body cannot be pipelined");const qA=I(hA,EA,me=>{me?(d.destroy(qA,me),L(me)):(d.removeAllListeners(qA),JA.onRequestSent(),eA||(P[c]=!0),pA[U]())});d.addListener(qA,"data",le);function le(me){JA.onBodySent(me)}}async function Ve(L,P,eA,EA,hA,pA,JA,$A){try{if(JA!=null&&JA!==eA.size)throw new N;const qA=Buffer.from(await eA.arrayBuffer());P.cork(),P.write(qA),P.uncork(),P.end(),hA.onBodySent(qA),hA.onRequestSent(),$A||(pA[c]=!0),EA[U]()}catch(qA){L(qA)}}async function Ys(L,P,eA,EA,hA,pA,JA,$A){A(JA!==0||EA[r]===0,"iterator body cannot be pipelined");let qA=null;function le(){if(qA){const Be=qA;qA=null,Be()}}const me=()=>new Promise((Be,ot)=>{A(qA===null),pA[D]?ot(pA[D]):qA=Be});P.on("close",le).on("drain",le);try{for await(const Be of eA){if(pA[D])throw pA[D];const ot=P.write(Be);hA.onBodySent(Be),ot||await me()}P.end(),hA.onRequestSent(),$A||(pA[c]=!0),EA[U]()}catch(Be){L(Be)}finally{P.off("close",le).off("drain",le)}}return nr=cA,nr}var or,un;function xe(){if(un)return or;un=1;const A=_A,I=gt,d=wt,N=OA(),{ClientStats:S}=_o(),{channels:s}=Je(),a=Fi(),f=Xe(),{InvalidArgumentError:C,InformationalError:h,ClientDestroyedError:u}=VA(),c=je(),{kUrl:t,kServerName:r,kClient:e,kBusy:n,kConnect:o,kResuming:g,kRunning:D,kPending:w,kSize:E,kQueue:i,kConnected:y,kConnecting:l,kNeedDrain:B,kKeepAliveDefaultTimeout:U,kHostHeader:M,kPendingIdx:T,kRunningIdx:F,kError:R,kPipelining:k,kKeepAliveTimeoutValue:Q,kMaxHeadersSize:p,kKeepAliveMaxTimeout:m,kKeepAliveTimeoutThreshold:G,kHeadersTimeout:O,kBodyTimeout:Y,kStrictContentLength:Z,kConnector:tA,kMaxRequests:lA,kCounter:$,kClose:J,kDestroy:V,kDispatch:X,kLocalAddress:j,kMaxResponseSize:nA,kOnError:gA,kHTTPContext:rA,kMaxConcurrentStreams:DA,kHostAuthority:kA,kResume:mA,kHTTP2Options:aA}=Ae(),v=Li(),iA=Hi(),AA=Symbol("kClosedResolve"),dA=d&&d.maxHeaderSize&&Number.isInteger(d.maxHeaderSize)&&d.maxHeaderSize>0?()=>d.maxHeaderSize:()=>{throw new C("http module not available or http.maxHeaderSize invalid")},MA=()=>{};function FA(z){return z[k]??z[rA]?.defaultPipelining??1}let SA=!1;function YA(z){SA!==!0&&(process.emitWarning(`Use h2Options.${z} instead. ${z} for H2 will be deprecated in future major.`,{code:"UNDICI-H2-OPTIONS"}),SA=!0)}function jA(z){return z[rA]?.version==="h2"?z[DA]:FA(z)}class PA extends f{constructor(RA,{maxHeaderSize:vA,headersTimeout:H,socketTimeout:cA,requestTimeout:CA,connectTimeout:wA,bodyTimeout:q,idleTimeout:oA,keepAlive:BA,keepAliveTimeout:yA,maxKeepAliveTimeout:TA,keepAliveMaxTimeout:HA,keepAliveTimeoutThreshold:ZA,socketPath:se,pipelining:zA,tls:ge,strictContentLength:Ce,maxCachedSessions:Qe,connect:QA,maxRequestsPerClient:b,localAddress:W,maxResponseSize:_,autoSelectFamily:x,autoSelectFamilyAttemptTimeout:sA,maxConcurrentStreams:K,allowH2:fA,useH2c:IA,initialWindowSize:LA,connectionWindowSize:NA,pingInterval:bA,webSocket:XA,h2Options:uA}={}){if(BA!==void 0)throw new C("unsupported keepAlive, use pipelining=0 instead");if(cA!==void 0)throw new C("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(CA!==void 0)throw new C("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(oA!==void 0)throw new C("unsupported idleTimeout, use keepAliveTimeout instead");if(TA!==void 0)throw new C("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(vA!=null){if(!Number.isInteger(vA)||vA<1)throw new C("invalid maxHeaderSize")}else vA=dA();if(se!=null&&typeof se!="string")throw new C("invalid socketPath");if(wA!=null&&(!Number.isFinite(wA)||wA<0))throw new C("invalid connectTimeout");if(yA!=null&&(!Number.isFinite(yA)||yA<=0))throw new C("invalid keepAliveTimeout");if(HA!=null&&(!Number.isFinite(HA)||HA<=0))throw new C("invalid keepAliveMaxTimeout");if(ZA!=null&&!Number.isFinite(ZA))throw new C("invalid keepAliveTimeoutThreshold");if(H!=null&&(!Number.isInteger(H)||H<0))throw new C("headersTimeout must be a positive integer or zero");if(q!=null&&(!Number.isInteger(q)||q<0))throw new C("bodyTimeout must be a positive integer or zero");if(QA!=null&&typeof QA!="function"&&typeof QA!="object")throw new C("connect must be a function or an object");if(b!=null&&(!Number.isInteger(b)||b<0))throw new C("maxRequestsPerClient must be a positive number");if(W!=null&&(typeof W!="string"||I.isIP(W)===0))throw new C("localAddress must be valid string IP address");if(_!=null&&(!Number.isInteger(_)||_<-1))throw new C("maxResponseSize must be a positive number");if(sA!=null&&(!Number.isInteger(sA)||sA<-1))throw new C("autoSelectFamilyAttemptTimeout must be a positive number");if(fA!=null&&typeof fA!="boolean")throw new C("allowH2 must be a valid boolean value");if(fA!==!1)if(uA!=null){if(uA.useH2c!=null&&typeof uA.useH2c!="boolean")throw new C("h2Options.useH2c must be a valid boolean value");if(uA.settings?.initialWindowSize!=null&&(!Number.isInteger(uA.settings.initialWindowSize)||uA.settings.initialWindowSize<1))throw new C("h2Options.settings.initialWindowSize must be a positive integer, greater than 0");if(uA.maxConcurrentStreams!=null&&(!Number.isInteger(uA.connectionWindowSize)||uA.maxConcurrentStreams<1))throw new C("h2Options.maxConcurrentStreams must be a positive integer, greater than 0");if(uA.connectionWindowSize!=null&&(!Number.isInteger(uA.connectionWindowSize)||uA.connectionWindowSize<1))throw new C("h2Options.connectionWindowSize must be a positive integer, greater than 0");if(uA.pingInterval!=null&&(typeof uA.pingInterval!="number"||!Number.isInteger(uA.pingInterval)||uA.pingInterval<0))throw new C("h2Options.pingInterval must be a positive integer, greater or equal to 0")}else{if(IA!=null&&typeof IA!="boolean")throw YA("useH2c"),new C("useH2c must be a valid boolean value");if(K!=null&&(typeof K!="number"||K<1))throw YA("maxConcurrentStreams"),new C("maxConcurrentStreams must be a positive integer, greater than 0");if(LA!=null&&(!Number.isInteger(LA)||LA<1))throw YA("initialWindowSize"),new C("initialWindowSize must be a positive integer, greater than 0");if(NA!=null&&(!Number.isInteger(NA)||NA<1))throw YA("connectionWindowSize"),new C("connectionWindowSize must be a positive integer, greater than 0");if(bA!=null&&(typeof bA!="number"||!Number.isInteger(bA)||bA<0))throw YA("pingInterval"),new C("pingInterval must be a positive integer, greater or equal to 0")}if(super({webSocket:XA}),typeof QA!="function")QA=c({...ge,maxCachedSessions:Qe,allowH2:fA,socketPath:se,useH2c:uA?.useH2c??IA,timeout:wA,...typeof x=="boolean"?{autoSelectFamily:x,autoSelectFamilyAttemptTimeout:sA}:void 0,...QA});else{const UA=QA;QA=(WA,xA)=>UA({...WA,...se!=null?{socketPath:se}:null,...fA!=null?{allowH2:fA}:null},xA)}this[t]=N.parseOrigin(RA),this[kA]=`${this[t].hostname}${this[t].port?`:${this[t].port}`:""}`,this[tA]=QA,this[k]=zA??1,this[p]=vA,this[U]=yA??4e3,this[m]=HA??6e5,this[G]=ZA??2e3,this[Q]=this[U],this[r]=null,this[j]=W??null,this[g]=0,this[B]=0,this[M]=`host: ${this[kA]}\r
|
|
43
|
-
`,this[Y]=q??3e5,this[O]=H??3e5,this[Z]=Ce??!0,this[lA]=b,this[AA]=null,this[nA]=_>-1?_:-1,this[rA]=null,this[aA]={pingInterval:uA?.pingInterval??bA??6e4,connectionWindowSize:uA?.connectionWindowSize??NA??524288,maxConcurrentStreams:uA?.maxConcurrentStreams??K??100,sessionOptions:{initialWindowSize:uA?.initialWindowSize??LA??262144}},this[i]=[],this[F]=0,this[T]=0,this[mA]=UA=>ae(this,UA),this[gA]=UA=>KA(this,UA)}get pipelining(){return this[k]}set pipelining(RA){this[k]=RA,this[mA](!0)}get stats(){return new S(this)}get[w](){return this[i].length-this[T]}get[D](){return this[T]-this[F]}get[E](){return this[i].length-this[F]}get[y](){return!!this[rA]&&!this[l]&&!this[rA].destroyed}get[n](){const RA=this[rA]?.version==="h2";return!!(this[rA]?.busy(null)||this[E]>=(jA(this)||1)||this[w]>0&&!RA)}[o](RA){re(this),this.once("connect",RA)}[X](RA,vA){const H=new a(this[t].origin,RA,vA);return this[i].push(H),this[g]||(N.bodyLength(H.body)==null&&N.isIterable(H.body)?(this[g]=1,queueMicrotask(()=>ae(this))):this[mA](!0)),this[g]&&this[B]!==2&&this[n]&&(this[B]=2),this[B]<2}[J](){return new Promise(RA=>{this[E]?this[AA]=RA:RA(null)})}[V](RA){return new Promise(vA=>{const H=this[i].splice(this[T]);for(let CA=0;CA<H.length;CA++){const wA=H[CA];wA!=null&&N.errorRequest(this,wA,RA)}const cA=()=>{this[AA]&&(this[AA](),this[AA]=null),vA(null)};this[rA]?(this[rA].destroy(RA,cA),this[rA]=null):queueMicrotask(cA),this[mA]()})}}function KA(z,RA){if(z[D]===0&&RA.code!=="UND_ERR_INFO"&&RA.code!=="UND_ERR_SOCKET"){A(z[T]===z[F]);const vA=z[i].splice(z[F]);for(let H=0;H<vA.length;H++){const cA=vA[H];cA!=null&&N.errorRequest(z,cA,RA)}A(z[E]===0)}}function re(z){A(!z[l]),A(!z[rA]);let{host:RA,hostname:vA,protocol:H,port:cA}=z[t];if(vA[0]==="["){const CA=vA.indexOf("]");A(CA!==-1);const wA=vA.substring(1,CA);A(I.isIPv6(wA)),vA=wA}z[l]=!0,s.beforeConnect.hasSubscribers&&s.beforeConnect.publish({connectParams:{host:RA,hostname:vA,protocol:H,port:cA,version:z[rA]?.version,servername:z[r],localAddress:z[j]},connector:z[tA]});try{z[tA]({host:RA,hostname:vA,protocol:H,port:cA,servername:z[r],localAddress:z[j]},(CA,wA)=>{if(CA){te(z,CA,{host:RA,hostname:vA,protocol:H,port:cA}),z[mA]();return}if(z.destroyed){N.destroy(wA.on("error",MA),new u),z[mA]();return}A(wA);try{z[rA]=wA.alpnProtocol==="h2"?iA(z,wA):v(z,wA)}catch(q){wA.destroy().on("error",MA),te(z,q,{host:RA,hostname:vA,protocol:H,port:cA}),z[mA]();return}z[l]=!1,wA[$]=0,wA[lA]=z[lA],wA[e]=z,wA[R]=null,s.connected.hasSubscribers&&s.connected.publish({connectParams:{host:RA,hostname:vA,protocol:H,port:cA,version:z[rA]?.version,servername:z[r],localAddress:z[j]},connector:z[tA],socket:wA}),z.emit("connect",z[t],[z]),z[mA]()})}catch(CA){te(z,CA,{host:RA,hostname:vA,protocol:H,port:cA}),z[mA]()}}function te(z,RA,{host:vA,hostname:H,protocol:cA,port:CA}){if(!z.destroyed){if(z[l]=!1,s.connectError.hasSubscribers&&s.connectError.publish({connectParams:{host:vA,hostname:H,protocol:cA,port:CA,version:z[rA]?.version,servername:z[r],localAddress:z[j]},connector:z[tA],error:RA}),RA.code==="ERR_TLS_CERT_ALTNAME_INVALID"){const wA=z[i].splice(z[F],z[D]);z[T]=z[F];for(let q=0;q<wA.length;q++)N.errorRequest(z,wA[q],RA);for(;z[w]>0&&z[i][z[T]].servername===z[r];){const q=z[i].splice(z[T],1)[0];N.errorRequest(z,q,RA)}}else KA(z,RA);z.emit("connectionError",z[t],[z],RA)}}function ee(z){z[B]=0,z.emit("drain",z[t],[z])}function ae(z,RA){z[g]!==2&&(z[g]=2,GA(z,RA),z[g]=0,z[F]>256&&(z[i].splice(0,z[F]),z[T]-=z[F],z[F]=0))}function GA(z,RA){for(;;){if(z.destroyed){A(z[w]===0);return}if(z[AA]&&!z[E]){z[AA](),z[AA]=null;return}if(z[rA]&&z[rA].resume(),z[n])z[B]=2;else if(z[B]===2){RA?(z[B]=1,queueMicrotask(()=>ee(z))):ee(z);continue}if(z[w]===0||z[D]>=(jA(z)||1))return;const vA=z[i][z[T]];if(vA===null)return;if(z[t].protocol==="https:"&&z[r]!==vA.servername){if(z[D]>0)return;z[r]=vA.servername,z[rA]?.destroy(new h("servername changed"),()=>{z[rA]=null,ae(z)})}if(z[l])return;if(!z[rA]){z[r]=vA.servername,re(z);return}if(z[rA].destroyed||z[rA].busy(vA))return;!vA.aborted&&z[rA].write(vA)?z[T]++:z[i].splice(z[T],1)}}return or=PA,or}var ir,Bn;function Xo(){if(Bn)return ir;Bn=1;class A{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(d){this.list[this.top]=d,this.top=this.top+1&2047}shift(){const d=this.list[this.bottom];return d===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,d)}}return ir=class{constructor(){this.head=this.tail=new A}isEmpty(){return this.head.isEmpty()}push(I){this.head.isFull()&&(this.head=this.head.next=new A),this.head.push(I)}shift(){const I=this.tail,d=I.shift();return I.isEmpty()&&I.next!==null&&(this.tail=I.next,I.next=null),d}},ir}var ar,Cn;function ks(){if(Cn)return ar;Cn=1;const{PoolStats:A}=_o(),I=Xe(),d=Xo(),{kConnected:N,kSize:S,kRunning:s,kPending:a,kQueued:f,kBusy:C,kFree:h,kUrl:u,kClose:c,kDestroy:t,kDispatch:r}=Ae(),e=Symbol("clients"),n=Symbol("needDrain"),o=Symbol("queue"),g=Symbol("closed resolve"),D=Symbol("onDrain"),w=Symbol("onConnect"),E=Symbol("onDisconnect"),i=Symbol("onConnectionError"),y=Symbol("get dispatcher"),l=Symbol("has dispatcher"),B=Symbol("add client"),U=Symbol("remove client");class M extends I{[o]=new d;[f]=0;[e]=[];[n]=!1;[D](F,R,k){const Q=this[o];let p=!1;for(;!p;){const m=Q.shift();if(!m)break;this[f]--,p=!F.dispatch(m.opts,m.handler)}if(F[n]=p,!p&&this[n]&&(this[n]=!1,this.emit("drain",R,[this,...k])),this[g]&&Q.isEmpty()){const m=[];for(let G=0;G<this[e].length;G++){const O=this[e][G];O.destroyed||m.push(O.close())}return Promise.all(m).then(this[g])}}[w]=(F,R)=>{this.emit("connect",F,[this,...R])};[E]=(F,R,k)=>{this.emit("disconnect",F,[this,...R],k)};[i]=(F,R,k)=>{this.emit("connectionError",F,[this,...R],k)};get[C](){return this[n]}get[N](){let F=0;for(const{[N]:R}of this[e])F+=R;return F}get[h](){let F=0;for(const{[N]:R,[n]:k}of this[e])F+=R&&!k;return F}get[a](){let F=this[f];for(const{[a]:R}of this[e])F+=R;return F}get[s](){let F=0;for(const{[s]:R}of this[e])F+=R;return F}get[S](){let F=this[f];for(const{[S]:R}of this[e])F+=R;return F}get stats(){return new A(this)}[c](){if(this[o].isEmpty()){const F=[];for(let R=0;R<this[e].length;R++){const k=this[e][R];k.destroyed||F.push(k.close())}return Promise.all(F)}else return new Promise(F=>{this[g]=F})}[t](F){for(;;){const k=this[o].shift();if(!k)break;k.handler.onResponseError(null,F)}const R=new Array(this[e].length);for(let k=0;k<this[e].length;k++)R[k]=this[e][k].destroy(F);return Promise.all(R)}[r](F,R){const k=this[y]();return k?k.dispatch(F,R)||(k[n]=!0,this[n]=!this[l]()):(this[n]=!0,this[o].push({opts:F,handler:R}),this[f]++),!this[n]}[l](){for(let F=0;F<this[e].length;F++){const R=this[e][F];if(!R[n]&&R.closed!==!0&&R.destroyed!==!0)return!0}return!1}[B](F){return F.on("drain",this[D].bind(this,F)).on("connect",this[w]).on("disconnect",this[E]).on("connectionError",this[i]),this[e].push(F),this[n]&&queueMicrotask(()=>{this[n]&&this[D](F,F[u],[F,this])}),this}[U](F){const R=this[e].indexOf(F);R!==-1&&this[e].splice(R,1),F.close(()=>{}),this[n]=!this[e].some(k=>!k[n]&&k.closed!==!0&&k.destroyed!==!0)}}return ar={PoolBase:M,kClients:e,kNeedDrain:n,kAddClient:B,kRemoveClient:U,kGetDispatcher:y,kHasDispatcher:l},ar}var gr,dn;function ze(){if(dn)return gr;dn=1;const{PoolBase:A,kClients:I,kNeedDrain:d,kAddClient:N,kGetDispatcher:S,kHasDispatcher:s,kRemoveClient:a}=ks(),f=xe(),{InvalidArgumentError:C}=VA(),h=OA(),{kUrl:u}=Ae(),c=je(),t=Symbol("options"),r=Symbol("connections"),e=Symbol("factory");function n(g,D){return new f(g,D)}class o extends A{constructor(D,{connections:w,factory:E=n,connect:i,connectTimeout:y,tls:l,maxCachedSessions:B,socketPath:U,autoSelectFamily:M,autoSelectFamilyAttemptTimeout:T,allowH2:F,useH2c:R,clientTtl:k,...Q}={}){if(w!=null&&(!Number.isFinite(w)||w<0))throw new C("invalid connections");if(typeof E!="function")throw new C("factory must be a function.");if(i!=null&&typeof i!="function"&&typeof i!="object")throw new C("connect must be a function or an object");typeof i!="function"&&(i=c({...l,maxCachedSessions:B,allowH2:F,useH2c:R,socketPath:U,timeout:y,...typeof M=="boolean"?{autoSelectFamily:M,autoSelectFamilyAttemptTimeout:T}:void 0,...i})),super(Q),this[r]=w||null,this[u]=h.parseOrigin(D),this[t]={...h.deepClone(Q),connect:i,allowH2:F,useH2c:R,clientTtl:k,socketPath:U},this[e]=E,this.on("connect",(p,m)=>{if(k!=null&&k>0)for(const G of m)Object.assign(G,{ttl:Date.now()})}),this.on("connectionError",(p,m,G)=>{for(const O of m){const Y=this[I].indexOf(O);Y!==-1&&this[I].splice(Y,1)}})}[S](){const D=this[t].clientTtl;for(let w=0;w<this[I].length;w++){const E=this[I][w];if(D!=null&&D>0&&E.ttl&&Date.now()-E.ttl>D)this[a](E),w--;else if(!E[d])return E}if(!this[r]||this[I].length<this[r]){const w=this[e](this[u],this[t]);return this[N](w),w}}[s](){const D=this[t].clientTtl;for(let w=0;w<this[I].length;w++){const E=this[I][w];if(D!=null&&D>0&&E.ttl&&Date.now()-E.ttl>D)this[a](E),w--;else if(!E[d])return!0}if(!this[r]||this[I].length<this[r]){const w=this[e](this[u],this[t]);return this[N](w),!0}return!1}}return gr=o,gr}var cr,fn;function Yi(){if(fn)return cr;fn=1;const{BalancedPoolMissingUpstreamError:A,InvalidArgumentError:I}=VA(),{PoolBase:d,kClients:N,kNeedDrain:S,kAddClient:s,kRemoveClient:a,kGetDispatcher:f}=ks(),C=ze(),{kUrl:h}=Ae(),u=OA(),c=Symbol("factory"),t=Symbol("options"),r=Symbol("kGreatestCommonDivisor"),e=Symbol("kCurrentWeight"),n=Symbol("kIndex"),o=Symbol("kWeight"),g=Symbol("kMaxWeightPerServer"),D=Symbol("kErrorPenalty");function w(y,l){if(y===0)return l;for(;l!==0;){const B=l;l=y%l,y=B}return y}function E(y,l){return new C(y,l)}class i extends d{constructor(l=[],{factory:B=E,...U}={}){if(typeof B!="function")throw new I("factory must be a function.");super(),this[t]={...u.deepClone(U)},this[n]=-1,this[e]=0,this[g]=this[t].maxWeightPerServer||100,this[D]=this[t].errorPenalty||15,Array.isArray(l)||(l=[l]),this[c]=B;for(const M of l)this.addUpstream(M);this._updateBalancedPoolStats()}addUpstream(l){const B=u.parseOrigin(l).origin;if(this[N].find(M=>M[h].origin===B&&M.closed!==!0&&M.destroyed!==!0))return this;const U=this[c](B,this[t]);this[s](U),U.on("connect",()=>{U[o]=Math.min(this[g],U[o]+this[D])}),U.on("connectionError",()=>{U[o]=Math.max(1,U[o]-this[D]),this._updateBalancedPoolStats()}),U.on("disconnect",(...M)=>{const T=M[2];T&&T.code==="UND_ERR_SOCKET"&&(U[o]=Math.max(1,U[o]-this[D]),this._updateBalancedPoolStats())});for(const M of this[N])M[o]=this[g];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let l=0;for(let B=0;B<this[N].length;B++)l=w(this[N][B][o],l);this[r]=l}removeUpstream(l){const B=u.parseOrigin(l).origin,U=this[N].find(M=>M[h].origin===B&&M.closed!==!0&&M.destroyed!==!0);return U&&this[a](U),this}getUpstream(l){const B=u.parseOrigin(l).origin;return this[N].find(U=>U[h].origin===B&&U.closed!==!0&&U.destroyed!==!0)}get upstreams(){return this[N].filter(l=>l.closed!==!0&&l.destroyed!==!0).map(l=>l[h].origin)}[f](){if(this[N].length===0)throw new A;let l=0,B=-1;for(;l++<this[N].length;){this[n]=(this[n]+1)%this[N].length;const U=this[N][this[n]];if(this[n]===0&&(this[e]=this[e]-this[r],this[e]<=0&&(this[e]=this[g])),!(U[S]||U.closed===!0||U.destroyed===!0)&&((B===-1||U[o]>this[N][B][o])&&(B=this[n]),U[o]>=this[e]))return U}if(B!==-1)return this[e]=this[N][B][o],this[n]=B,this[N][B]}}return cr=i,cr}var lr,yn;function vi(){if(yn)return lr;yn=1;const{PoolBase:A,kClients:I,kNeedDrain:d,kAddClient:N,kGetDispatcher:S,kHasDispatcher:s,kRemoveClient:a}=ks(),f=xe(),{InvalidArgumentError:C}=VA(),h=OA(),{kUrl:u}=Ae(),c=je(),t=Symbol("options"),r=Symbol("connections"),e=Symbol("factory"),n=Symbol("index");function o(D,w){return new f(D,w)}class g extends A{constructor(w,{connections:E,factory:i=o,connect:y,connectTimeout:l,tls:B,maxCachedSessions:U,socketPath:M,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F,allowH2:R,clientTtl:k,...Q}={}){if(E!=null&&(!Number.isFinite(E)||E<0))throw new C("invalid connections");if(typeof i!="function")throw new C("factory must be a function.");if(y!=null&&typeof y!="function"&&typeof y!="object")throw new C("connect must be a function or an object");typeof y!="function"&&(y=c({...B,maxCachedSessions:U,allowH2:R,socketPath:M,timeout:l,...typeof T=="boolean"?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:F}:void 0,...y})),super(),this[r]=E||null,this[u]=h.parseOrigin(w),this[t]={...h.deepClone(Q),connect:y,allowH2:R,clientTtl:k,socketPath:M},this[e]=i,this[n]=-1,this.on("connect",(p,m)=>{if(k!=null&&k>0)for(const G of m)Object.assign(G,{ttl:Date.now()})}),this.on("connectionError",(p,m,G)=>{for(const O of m){const Y=this[I].indexOf(O);Y!==-1&&this[I].splice(Y,1)}})}[S](){const w=this[t].clientTtl;if(this[I].length===0){const i=this[e](this[u],this[t]);return this[N](i),i}let E=0;for(;E<this[I].length;){this[n]=(this[n]+1)%this[I].length;const i=this[I][this[n]];if(w!=null&&w>0&&i.ttl&&Date.now()-i.ttl>w){this[a](i),this[n]--;continue}if(!i[d])return i;E++}if(!this[r]||this[I].length<this[r]){const i=this[e](this[u],this[t]);return this[N](i),i}}[s](){const w=this[t].clientTtl;for(let E=0;E<this[I].length;E++){const i=this[I][E];if(w!=null&&w>0&&i.ttl&&Date.now()-i.ttl>w)this[a](i),E<=this[n]&&this[n]--,E--;else if(!i[d])return!0}if(!this[r]||this[I].length<this[r]){const E=this[e](this[u],this[t]);return this[N](E),!0}return!1}}return lr=g,lr}var Er,Dn;function Ke(){if(Dn)return Er;Dn=1;const{InvalidArgumentError:A,MaxOriginsReachedError:I}=VA(),{kBusy:d,kClients:N,kConnected:S,kRunning:s,kClose:a,kDestroy:f,kDispatch:C,kUrl:h}=Ae(),u=Xe(),c=ze(),t=xe(),r=OA(),e=Symbol("onConnect"),n=Symbol("onDisconnect"),o=Symbol("onConnectionError"),g=Symbol("onDrain"),D=Symbol("factory"),w=Symbol("options"),E=Symbol("origins");function i(l,B){return B&&B.connections===1?new t(l,B):new c(l,B)}class y extends u{constructor({factory:B=i,maxOrigins:U=1/0,connect:M,...T}={}){if(typeof B!="function")throw new A("factory must be a function.");if(M!=null&&typeof M!="function"&&typeof M!="object")throw new A("connect must be a function or an object");if(typeof U!="number"||Number.isNaN(U)||U<=0)throw new A("maxOrigins must be a number greater than 0");super(T),M&&typeof M!="function"&&(M={...M}),this[w]={...r.deepClone(T),maxOrigins:U,connect:M},this[D]=B,this[N]=new Map,this[E]=new Set,this[g]=(F,R)=>{this.emit("drain",F,[this,...R])},this[e]=(F,R)=>{this.emit("connect",F,[this,...R])},this[n]=(F,R,k)=>{this.emit("disconnect",F,[this,...R],k)},this[o]=(F,R,k)=>{this.emit("connectionError",F,[this,...R],k)}}get[s](){let B=0;for(const U of this[N].values())B+=U[s];return B}[C](B,U){let M;if(B.origin&&(typeof B.origin=="string"||B.origin instanceof URL))M=String(B.origin);else throw new A("opts.origin must be a non-empty string or URL.");const T=B.allowH2??this[w].allowH2,F=T===!1?`${M}#http1-only`:M;if(this[E].size>=this[w].maxOrigins&&!this[E].has(M))throw new I;let R=this[N].get(F);if(!R){R=this[D](B.origin,T===!1?{...this[w],allowH2:!1}:this[w]);const k=()=>{if(this[N].get(F)!==R||R[S]>0||R[d])return;this[N].delete(F),R.destroyed||R.close();let Q=!1;for(const p of this[N].keys())if(p===M||p===`${M}#http1-only`){Q=!0;break}Q||this[E].delete(M)};R.on("drain",this[g]).on("connect",this[e]).on("disconnect",(Q,p,m)=>{k(),this[n](Q,p,m)}).on("connectionError",(Q,p,m)=>{k(),this[o](Q,p,m)}),this[N].set(F,R),this[E].add(M)}return R.dispatch(B,U)}[a](){const B=[];for(const U of this[N].values())B.push(U.close());return this[N].clear(),Promise.all(B)}[f](B){const U=[];for(const M of this[N].values())U.push(M.destroy(B));return this[N].clear(),Promise.all(U)}get stats(){const B={};for(const U of this[N].values())U.stats&&(B[U[h].origin]=U.stats);return B}}return Er=y,Er}var hr,pn;function jo(){if(pn)return hr;pn=1;const A=lt(),{InvalidArgumentError:I}=VA(),{toRawHeaders:d}=OA();class N{#A;constructor(a){this.#A=a}onRequestStart(a,f){this.#A.onConnect?.(C=>a.abort(C),f)}onRequestUpgrade(a,f,C,h){const u=a?.rawHeaders??d(C??{});this.#A.onUpgrade?.(f,u,h)}onResponseStart(a,f,C,h){const u=a?.rawHeaders??d(C??{});this.#A.onHeaders?.(f,u,()=>a.resume(),h)===!1&&a.pause()}onResponseData(a,f){this.#A.onData?.(f)===!1&&a.pause()}onResponseEnd(a,f){const C=a?.rawTrailers??d(f??{});this.#A.onComplete?.(C)}onResponseError(a,f){if(!this.#A.onError)throw f;this.#A.onError(f)}onBodySent(a){this.#A.onBodySent?.(a)}onRequestSent(){this.#A.onRequestSent?.()}onResponseStarted(){this.#A.onResponseStarted?.()}}class S extends A{#A;constructor(a){if(super(),!a||typeof a.dispatch!="function")throw new I("Argument dispatcher must implement dispatch");this.#A=a}static wrapHandler(a){if(!a||typeof a!="object")throw new I("handler must be an object");return typeof a.onRequestStart=="function"?a:new N(a)}dispatch(a,f){return a.allowH2!==!1&&(a={...a,allowH2:!1}),this.#A.dispatch(a,S.wrapHandler(f))}close(...a){return this.#A.close(...a)}destroy(...a){return this.#A.destroy(...a)}}return hr=S,hr}var Qr,wn;function Gi(){if(wn)return Qr;wn=1;const{Buffer:A}=_e,I=gt,{InvalidArgumentError:d}=VA();function N(C){if(I.isIPv4(C)){const u=C.split(".").map(Number);return{type:1,buffer:A.from(u)}}if(I.isIPv6(C))return{type:4,buffer:S(C)};const h=A.from(C,"utf8");if(h.length>255)throw new d("Domain name too long (max 255 bytes)");return{type:3,buffer:A.concat([A.from([h.length]),h])}}function S(C){const h=A.alloc(16);let u=C;if(C.includes(".")){const t=C.lastIndexOf(":"),r=C.slice(t+1);if(I.isIPv4(r)){const e=r.split(".").map(Number),n=(e[0]<<8|e[1]).toString(16),o=(e[2]<<8|e[3]).toString(16);u=`${C.slice(0,t)}:${n}:${o}`}}const c=u.indexOf("::");if(c!==-1){const t=u.slice(0,c),r=u.slice(c+2),e=t===""?[]:t.split(":"),n=r===""?[]:r.split(":");let o=0;for(const g of e)h.writeUInt16BE(parseInt(g,16),o),o+=2;o=16-n.length*2;for(const g of n)h.writeUInt16BE(parseInt(g,16),o),o+=2}else{const t=u.split(":");for(let r=0;r<t.length;r++)h.writeUInt16BE(parseInt(t[r],16),r*2)}return h}function s(C,h,u){const c=A.allocUnsafe(2);return c.writeUInt16BE(u,0),A.concat([A.from([C]),h,c])}function a(C,h=0){if(C.length<h+1)throw new d("Buffer too small to contain address type");const u=C[h];let c,t=h+1;switch(u){case 1:{if(C.length<t+6)throw new d("Buffer too small for IPv4 address");c=Array.from(C.subarray(t,t+4)).join("."),t+=4;break}case 3:{if(C.length<t+1)throw new d("Buffer too small for domain length");const e=C[t];if(t+=1,C.length<t+e+2)throw new d("Buffer too small for domain address");c=C.subarray(t,t+e).toString("utf8"),t+=e;break}case 4:{if(C.length<t+18)throw new d("Buffer too small for IPv6 address");const e=[];for(let n=0;n<8;n++){const o=C.readUInt16BE(t+n*2);e.push(o.toString(16))}c=e.join(":"),t+=16;break}default:throw new d(`Invalid address type: ${u}`)}if(C.length<t+2)throw new d("Buffer too small for port");const r=C.readUInt16BE(t);return t+=2,{address:c,port:r,bytesRead:t-h}}function f(C){const h={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[C]||`Unknown SOCKS5 error code: ${C}`,u=new Error(h);return u.code=`SOCKS5_${C}`,u}return Qr={parseAddress:N,parseIPv6:S,buildAddressBuffer:s,parseResponseAddress:a,createReplyError:f},Qr}var Ir,Sn;function Vi(){if(Sn)return Ir;Sn=1;const{EventEmitter:A}=Le,{Buffer:I}=_e,{InvalidArgumentError:d,Socks5ProxyError:N}=VA(),{debuglog:S}=we,{parseAddress:s}=Gi(),a=S("undici:socks5"),f=I.alloc(0),C=5,h={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},u={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},c={IPV4:1,DOMAIN:3,IPV6:4},t={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},r={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class e extends A{constructor(o,g={}){if(super(),!o)throw new d("socket is required");this.socket=o,this.options=g,this.state=r.INITIAL,this.buffer=f,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],g.username&&g.password&&this.authMethods.push(h.USERNAME_PASSWORD),this.authMethods.push(h.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(o){a("received data",o.length,"bytes in state",this.state),this.buffer=I.concat([this.buffer,o]);try{switch(this.state){case r.HANDSHAKING:this.handleHandshakeResponse();break;case r.AUTHENTICATING:this.handleAuthResponse();break;case r.CONNECTING:this.handleConnectResponse();break}}catch(g){this.onError(g)}}onError(o){a("socket error",o),this.state=r.ERROR,this.emit("error",o),this.destroy()}onClose(){a("socket closed"),this.state=r.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=r.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==r.INITIAL)throw new d("Handshake already started");a("starting handshake with",this.authMethods.length,"auth methods"),this.state=r.HANDSHAKING;const o=I.alloc(2+this.authMethods.length);o[0]=C,o[1]=this.authMethods.length,this.authMethods.forEach((g,D)=>{o[2+D]=g}),this.socket.write(o)}handleHandshakeResponse(){if(this.buffer.length<2)return;const o=this.buffer[0],g=this.buffer[1];if(o!==C)throw new N(`Invalid SOCKS version: ${o}`,"UND_ERR_SOCKS5_VERSION");if(g===h.NO_ACCEPTABLE)throw new N("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),a("server selected auth method",g),g===h.NO_AUTH)this.markAuthenticated();else if(g===h.USERNAME_PASSWORD)this.state=r.AUTHENTICATING,this.sendAuthRequest();else throw new N(`Unsupported authentication method: ${g}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){const{username:o,password:g}=this.options;if(!o||!g)throw new d("Username and password required for authentication");a("sending username/password auth");const D=I.from(o),w=I.from(g);if(D.length>255||w.length>255)throw new d("Username or password too long");const E=I.alloc(3+D.length+w.length);E[0]=1,E[1]=D.length,D.copy(E,2),E[2+D.length]=w.length,w.copy(E,3+D.length),this.socket.write(E)}handleAuthResponse(){if(this.buffer.length<2)return;const o=this.buffer[0],g=this.buffer[1];if(o!==1)throw new N(`Invalid auth sub-negotiation version: ${o}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(g!==0)throw new N("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),a("authentication successful"),this.markAuthenticated()}connect(o,g){if(this.state===r.CONNECTING||this.state===r.CONNECTED)throw new d("Connection already in progress");if(this.state!==r.AUTHENTICATED)throw new d("Client must be authenticated before CONNECT");a("connecting to",o,g),this.state=r.CONNECTING;const D=this.buildConnectRequest(u.CONNECT,o,g);this.socket.write(D)}buildConnectRequest(o,g,D){const{type:w,buffer:E}=s(g),i=I.alloc(4+E.length+2);return i[0]=C,i[1]=o,i[2]=0,i[3]=w,E.copy(i,4),i.writeUInt16BE(D,4+E.length),i}handleConnectResponse(){if(this.buffer.length<4)return;const o=this.buffer[0],g=this.buffer[1],D=this.buffer[3];if(o!==C)throw new N(`Invalid SOCKS version in reply: ${o}`,"UND_ERR_SOCKS5_REPLY_VERSION");let w=4;if(D===c.IPV4)w+=6;else if(D===c.DOMAIN){if(this.buffer.length<5)return;w+=1+this.buffer[4]+2}else if(D===c.IPV6)w+=18;else throw new N(`Invalid address type in reply: ${D}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<w)return;if(g!==t.SUCCEEDED){const l=this.getReplyErrorMessage(g);throw new N(`SOCKS5 connection failed: ${l}`,`UND_ERR_SOCKS5_REPLY_${g}`)}let E,i=4;if(D===c.IPV4)E=Array.from(this.buffer.subarray(i,i+4)).join("."),i+=4;else if(D===c.DOMAIN){const l=this.buffer[i];i+=1,E=this.buffer.subarray(i,i+l).toString(),i+=l}else if(D===c.IPV6){const l=[];for(let B=0;B<8;B++){const U=this.buffer.readUInt16BE(i+B*2);l.push(U.toString(16))}E=l.join(":"),i+=16}const y=this.buffer.readUInt16BE(i);this.buffer=f,this.state=r.CONNECTED,this.socket.removeListener("data",this.onSocketData),a("connected, bound address:",E,"port:",y),this.emit("connected",{address:E,port:y})}getReplyErrorMessage(o){switch(o){case t.GENERAL_FAILURE:return"General SOCKS server failure";case t.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case t.NETWORK_UNREACHABLE:return"Network unreachable";case t.HOST_UNREACHABLE:return"Host unreachable";case t.CONNECTION_REFUSED:return"Connection refused";case t.TTL_EXPIRED:return"TTL expired";case t.COMMAND_NOT_SUPPORTED:return"Command not supported";case t.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${o}`}}}return Ir={Socks5Client:e,AUTH_METHODS:h,COMMANDS:u,ADDRESS_TYPES:c,REPLY_CODES:t,STATES:r},Ir}var ur,Rn;function zo(){if(Rn)return ur;Rn=1;const{URL:A}=Di;let I;const d=Xe(),{InvalidArgumentError:N}=VA(),{Socks5Client:S,STATES:s}=Vi(),{kBusy:a,kConnected:f,kDispatch:C,kClose:h,kDestroy:u}=Ae(),c=ze(),t=je(),{debuglog:r}=we,e=r("undici:socks5-proxy"),n=Symbol("proxy url"),o=Symbol("proxy headers"),g=Symbol("proxy auth"),D=Symbol("proxy protocol"),w=Symbol("pools"),E=Symbol("connector"),i=Symbol("request tls settings");let y=!1;class l extends d{constructor(U,M={}){if(super(),y||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),y=!0),!U)throw new N("Proxy URL is mandatory");const T=typeof U=="string"?new A(U):U;if(T.protocol!=="socks5:"&&T.protocol!=="socks:")throw new N("Proxy URL must use socks5:// or socks:// protocol");this[n]=T,this[o]=M.headers||{},this[D]=M.proxyTls?"https:":"http:",this[i]=M.requestTls,this[g]={username:M.username||(T.username?decodeURIComponent(T.username):null),password:M.password||(T.password?decodeURIComponent(T.password):null)},this[E]=M.connect||t({...M.proxyTls,servername:M.proxyTls?.servername||T.hostname}),this[w]=new Map}async createSocks5Connection(U,M){const T=this[n].hostname,F=parseInt(this[n].port)||1080;e("creating SOCKS5 connection to",T,F);const R=Promise.withResolvers();this[E]({hostname:T,host:T,port:F,protocol:this[D]},($,J)=>{$?R.reject($):R.resolve(J)});const k=await R.promise,Q=new S(k,this[g]);Q.on("error",$=>{e("SOCKS5 error:",$),k.destroy()}),await Q.handshake();const p=Promise.withResolvers(),m=setTimeout(()=>{p.reject(new Error("SOCKS5 authentication timeout"))},5e3),G=()=>{clearTimeout(m),Q.removeListener("error",O),p.resolve()},O=$=>{clearTimeout(m),Q.removeListener("authenticated",G),p.reject($)};Q.state===s.AUTHENTICATED?(clearTimeout(m),p.resolve()):(Q.once("authenticated",G),Q.once("error",O)),await p.promise,await Q.connect(U,M);const Y=Promise.withResolvers(),Z=setTimeout(()=>{Y.reject(new Error("SOCKS5 connection timeout"))},5e3),tA=$=>{e("SOCKS5 tunnel established to",U,M,"via",$),clearTimeout(Z),Q.removeListener("error",lA),Y.resolve()},lA=$=>{clearTimeout(Z),Q.removeListener("connected",tA),Y.reject($)};return Q.once("connected",tA),Q.once("error",lA),await Y.promise,k}[C](U,M){const{origin:T}=U;e("dispatching request to",T,"via SOCKS5");try{const F=String(T);let R=this[w].get(F);if(!R||R.destroyed||R.closed){R=new c(T,{pipelining:U.pipelining,connections:U.connections,connect:async(Q,p)=>{try{const m=new A(T),G=m.hostname,O=parseInt(m.port)||(m.protocol==="https:"?443:80);e("establishing SOCKS5 connection to",G,O);const Y=await this.createSocks5Connection(G,O);let Z=Y;if(m.protocol==="https:"){I||(I=require("node:tls")),e("upgrading to TLS"),Z=I.connect({...this[i],socket:Y,servername:this[i]?.servername||G});const tA=Promise.withResolvers();Z.once("secureConnect",tA.resolve),Z.once("error",tA.reject),await tA.promise}p(null,Z)}catch(m){e("SOCKS5 connection error:",m),p(m)}}}),this[w].set(F,R);const k=()=>{this[w].get(F)!==R||R[f]>0||R[a]||(this[w].delete(F),R.destroyed||R.close())};R.on("disconnect",k),R.on("connectionError",k)}return R[C](U,M)}catch(F){if(e("dispatch error:",F),typeof M.onResponseError=="function")return M.onResponseError(null,F),!1;if(typeof M.onError=="function")return M.onError(F),!1;throw F}}async[h](){const U=[];for(const M of this[w].values())U.push(M.close());this[w].clear(),await Promise.all(U)}async[u](U){const M=[];for(const T of this[w].values())M.push(T.destroy(U));this[w].clear(),await Promise.all(M)}}return ur=l,ur}var Br,Nn;function Ko(){if(Nn)return Br;Nn=1;const{kProxy:A,kClose:I,kDestroy:d,kDispatch:N}=Ae(),S=Ke(),s=ze(),a=Xe(),{InvalidArgumentError:f,RequestAbortedError:C,SecureProxyConnectionError:h,ProxyConnectionError:u}=VA(),c=je(),t=xe(),{channels:r}=Je(),e=zo(),n=Symbol("proxy agent"),o=Symbol("proxy client"),g=Symbol("proxy headers"),D=Symbol("request tls settings"),w=Symbol("proxy tls settings"),E=Symbol("connect endpoint function"),i=Symbol("connect endpoint function (http/1.1 only)"),y=Symbol("tunnel proxy"),l="proxy-authorization";function B(O){return O==="https:"?443:80}function U(O,Y){return new s(O,Y)}const M=()=>{};function T(O,Y){return Y.connections===1?new t(O,Y):new s(O,Y)}function F(O,Y){return Y===!0||O!=="http:"}class R extends a{#A;#e;constructor(Y,{headers:Z={},connect:tA,factory:lA,proxyServername:$}){if(!Y)throw new f("Proxy URL is mandatory");super(),this[g]=Z,this.#e=$,lA?this.#A=lA(Y,{connect:tA}):this.#A=new t(Y,{connect:tA})}[N](Y,Z){const tA=Z.onResponseStart;Z.onResponseStart=function(V,X,j,nA){if(X===407){typeof Z.onResponseError=="function"&&Z.onResponseError(V,new f("Proxy Authentication Required (407)"));return}tA&&tA.call(this,V,X,j,nA)};const{origin:lA,path:$="/",headers:J={}}=Y;if(Y.path=lA+$,!("host"in J)&&!("Host"in J)){const{host:V}=new URL(lA);J.host=V}return Y.headers={...this[g],...J},this.#e!=null&&(Y.servername=this.#e),this.#A[N](Y,Z)}[I](){return this.#A.close()}[d](Y){return this.#A.destroy(Y)}}class k extends a{constructor(Y){if(!Y||typeof Y=="object"&&!(Y instanceof URL)&&!Y.uri)throw new f("Proxy uri is mandatory");const{clientFactory:Z=U}=Y;if(typeof Z!="function")throw new f("Proxy opts.clientFactory must be a function.");const{proxyTunnel:tA,connectTimeout:lA}=Y;super();const $=this.#A(Y),{href:J,origin:V,port:X,protocol:j,username:nA,password:gA,hostname:rA}=$;if(this[A]={uri:J,protocol:j},this[D]=Y.requestTls,this[w]=Y.proxyTls,this[g]=Y.headers||{},this[y]=tA,Y.auth&&Y.token)throw new f("opts.auth cannot be used in combination with opts.token");Y.auth?this[g]["proxy-authorization"]=`Basic ${Y.auth}`:Y.token?this[g]["proxy-authorization"]=Y.token:nA&&gA?this[g]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(nA)}:${decodeURIComponent(gA)}`).toString("base64")}`:nA&&(this[g]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(nA)}:`).toString("base64")}`);const DA=c({timeout:lA,...Y.proxyTls}),kA=c({timeout:lA,...Y.proxyTls,allowH2:!1});this[E]=c({timeout:lA,...Y.requestTls}),this[i]=c({timeout:lA,...Y.requestTls,allowH2:!1});const mA=Y.factory||T,aA=(v,iA)=>{const{protocol:AA}=new URL(v);if(this[A].protocol==="socks5:"||this[A].protocol==="socks:")return new e(this[A].uri,{headers:this[g],connect:DA,factory:mA,username:Y.username||nA,password:Y.password||gA,proxyTls:Y.proxyTls,requestTls:Y.requestTls});if(!F(AA,this[y])){const dA=this[A].protocol==="https:"?(MA,FA)=>kA(MA,(SA,YA)=>{SA&&SA.code==="ERR_TLS_CERT_ALTNAME_INVALID"?FA(new h(SA)):FA(SA,YA)}):kA;return new R(this[A].uri,{headers:this[g],connect:dA,factory:mA,proxyServername:this[A].protocol==="https:"?this[w]?.servername||rA:void 0})}return mA(v,iA)};j==="socks5:"||j==="socks:"?this[o]=null:this[o]=Z($,{connect:DA}),this[n]=new S({...Y,factory:aA,connect:async(v,iA)=>{if(!this[o]){iA(new f("Cannot establish tunnel connection without a proxy client"));return}let AA=v.host;v.port||(AA+=`:${B(v.protocol)}`);try{const dA={origin:V,port:X,path:AA,signal:v.signal,headers:{...this[g],host:v.host,...v.connections==null||v.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[w]?.servername||rA},{socket:MA,statusCode:FA}=await this[o].connect(dA);if(FA!==200){MA.on("error",M).destroy(),iA(new C(`Proxy response (${FA}) !== 200 when HTTP Tunneling`));return}if(r.proxyConnected.hasSubscribers&&r.proxyConnected.publish({socket:MA,connectParams:dA}),v.protocol!=="https:"){iA(null,MA);return}let SA;this[D]?SA=this[D].servername:SA=v.servername,(v.allowH2===!1?this[i]:this[E])({...v,servername:SA,httpSocket:MA},iA)}catch(dA){dA.code==="ERR_TLS_CERT_ALTNAME_INVALID"?iA(new h(dA)):dA.code==="UND_ERR_SOCKET"?iA(new u(dA)):iA(dA)}}})}dispatch(Y,Z){const tA=Q(Y.headers);if(p(tA),tA&&!("host"in tA)&&!("Host"in tA)){const{host:lA}=new URL(Y.origin);tA.host=lA}return this[n].dispatch({...Y,headers:tA},Z)}#A(Y){return typeof Y=="string"?new URL(Y):Y instanceof URL?Y:new URL(Y.uri)}[I](){const Y=[this[n].close()];return this[o]&&Y.push(this[o].close()),Promise.all(Y)}[d](){const Y=[this[n].destroy()];return this[o]&&Y.push(this[o].destroy()),Promise.all(Y)}}function Q(O){if(Array.isArray(O)){const Y={};for(let Z=0;Z<O.length;Z+=2)m(O[Z])&&G(),Y[O[Z]]=O[Z+1];return Y}return O}function p(O){for(const Y in O)m(Y)&&G()}function m(O){return O.length===l.length&&O.toLowerCase()===l}function G(){throw new f("Proxy-Authorization should be sent in ProxyAgent constructor")}return Br=k,Br}var Cr,mn;function Oi(){if(mn)return Cr;mn=1;const A=Xe(),{kClose:I,kDestroy:d,kClosed:N,kDestroyed:S,kDispatch:s,kNoProxyAgent:a,kHttpProxyAgent:f,kHttpsProxyAgent:C}=Ae(),h=Ko(),u=Ke(),c={"http:":80,"https:":443};class t extends A{#A=null;#e=null;#t=null;constructor(e={}){super(),this.#t=e;const{httpProxy:n,httpsProxy:o,noProxy:g,...D}=e;this[a]=new u(D);const w=n??process.env.http_proxy??process.env.HTTP_PROXY;w?this[f]=new h({...D,uri:w}):this[f]=this[a];const E=o??process.env.https_proxy??process.env.HTTPS_PROXY;E?this[C]=new h({...D,uri:E}):this[C]=this[f],this.#s()}[s](e,n){const o=new URL(e.origin);return this.#r(o).dispatch(e,n)}[I](){return Promise.all([this[a].close(),!this[f][N]&&this[f].close(),!this[C][N]&&this[C].close()])}[d](e){return Promise.all([this[a].destroy(e),!this[f][S]&&this[f].destroy(e),!this[C][S]&&this[C].destroy(e)])}#r(e){let{protocol:n,host:o,port:g}=e;return o=o.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),g=Number.parseInt(g,10)||c[n]||0,this.#n(o,g)?n==="https:"?this[C]:this[f]:this[a]}#n(e,n){if(this.#o&&this.#s(),this.#e.length===0)return!0;if(this.#A==="*")return!1;for(let o=0;o<this.#e.length;o++){const g=this.#e[o];if(!(g.port&&g.port!==n)&&(e===g.hostname||e.slice(-(g.hostname.length+1))===`.${g.hostname}`))return!1}return!0}#s(){const e=this.#t.noProxy??this.#i,n=e.split(/[,\s]/),o=[];for(let g=0;g<n.length;g++){const D=n[g];if(!D)continue;let w,E;const i=D.match(/^\[(.+)\]:(\d+)$/);if(i)w=i[1],E=Number.parseInt(i[2],10);else{const y=D.replace(/^\[(.+)\]$/,"$1"),l=(y.match(/:/g)||[]).length===1&&y.match(/^(.+):(\d+)$/);w=l?l[1]:y,E=l?Number.parseInt(l[2],10):0}o.push({hostname:w.replace(/^\*?\./,"").toLowerCase(),port:E})}this.#A=e,this.#e=o}get#o(){return this.#t.noProxy!==void 0?!1:this.#A!==this.#i}get#i(){return process.env.no_proxy??process.env.NO_PROXY??""}}return Cr=t,Cr}var dr,bn;function Ms(){if(bn)return dr;bn=1;const A=_A,{kRetryHandlerDefaultRetry:I}=Ae(),{RequestRetryError:d}=VA(),{isDisturbed:N,parseRangeHeader:S,wrapRequestBody:s}=OA();function a(u){const c=new Date(u).getTime();return isNaN(c)?null:c-Date.now()}function f(u,c,t,r){const e=u["content-length"];if(e==null||!Number.isFinite(c.start)||!Number.isFinite(c.end))return;const n=Number(e),o=c.end-c.start+1;if(!Number.isFinite(n)||n!==o)throw new d("Content-Length mismatch",t,{headers:u,data:{count:r}})}class C{constructor(){this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(c){this.target?.abort(c)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}get rawTrailers(){return this.target?.rawTrailers??null}}class h{constructor(c,{dispatch:t,handler:r}){const{retryOptions:e,...n}=c,{retry:o,maxRetries:g,maxTimeout:D,minTimeout:w,timeoutFactor:E,methods:i,errorCodes:y,retryAfter:l,statusCodes:B,throwOnError:U}=e??{};this.error=null,this.dispatch=t,this.handler=r,this.opts={...n,body:s(c.body)},this.retryOpts={throwOnError:U??!0,retry:o??h[I],retryAfter:l??!0,maxTimeout:D??30*1e3,minTimeout:w??500,timeoutFactor:E??2,maxRetries:g??5,methods:i??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE","QUERY"],statusCodes:B??[500,502,503,504,429],errorCodes:y??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new C}onResponseStartWithRetry(c,t,r,e,n){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,r,e)):this.error=n;return}if(N(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,r,e);return}function o(g){if(g){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,r,e),c.resume();return}this.error=n,c.resume()}c.pause(),this.retryOpts.retry(n,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},o.bind(this))}onRequestStart(c,t){this.controllerProxy.target=c,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,t)}onRequestUpgrade(c,t,r,e){this.handler.onRequestUpgrade?.(this.controllerProxy,t,r,e)}static[I](c,{state:t,opts:r},e){const{statusCode:n,code:o,headers:g}=c,{method:D,retryOptions:w}=r,{maxRetries:E,minTimeout:i,maxTimeout:y,timeoutFactor:l,statusCodes:B,errorCodes:U,methods:M}=w,{counter:T}=t;if(o&&o!=="UND_ERR_REQ_RETRY"&&!U.includes(o)){e(c);return}if(Array.isArray(M)&&!M.includes(D)){e(c);return}if(n!=null&&Array.isArray(B)&&!B.includes(n)){e(c);return}if(T>E){e(c);return}let F=g?.["retry-after"];F&&(F=Number(F),F=Number.isNaN(F)?a(g["retry-after"]):F*1e3);const R=F===0?0:F>0?Math.min(F,y):Math.min(i*l**(T-1),y);setTimeout(()=>e(null),R)}onResponseStart(c,t,r,e){if(t<200){this.handler.onResponseStart?.(this.controllerProxy,t,r,e);return}if(this.error=null,this.retryCount+=1,this.statusCode=t,this.headers=r,t>=300){const n=new d("Request failed",t,{headers:r,data:{count:this.retryCount}});this.onResponseStartWithRetry(c,t,r,e,n);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new d("server does not support the range header and the payload was partially consumed",t,{headers:r,data:{count:this.retryCount}});const n=S(r["content-range"]);if(!n)throw new d("Content-Range mismatch",t,{headers:r,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==r.etag)throw new d("ETag mismatch",t,{headers:r,data:{count:this.retryCount}});f(r,n,t,this.retryCount);const{start:o,size:g,end:D=g?g-1:null}=n;A(this.start===o,"content-range mismatch"),A(this.end==null||this.end===D,"content-range mismatch");return}if(this.end==null){if(t===206){const n=S(r["content-range"]);if(n==null||n.end==null){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,r,e);return}f(r,n,t,this.retryCount);const{start:o,size:g,end:D=g?g-1:null}=n;A(o!=null&&Number.isFinite(o),"content-range mismatch"),A(D!=null&&Number.isFinite(D),"invalid content-length"),this.start=o,this.end=D}if(this.end==null&&this.opts.method!=="HEAD"){const n=r["content-length"];this.end=n!=null?Number(n)-1:null}A(Number.isFinite(this.start)),A(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=r.etag!=null?r.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,t,r,e)}else throw new d("Request failed",t,{headers:r,data:{count:this.retryCount}})}onResponseData(c,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(this.controllerProxy,t))}onResponseEnd(c,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(this.end!=null&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new d("Content-Range mismatch",this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,t)}this.retry()}retry(){if(this.start!==0){const c={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(c["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...c}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(c){this.handler.onResponseError?.(this.controllerProxy,c)}}onResponseError(c,t){if(c?.aborted||N(this.opts.body)){this.handler.onResponseError?.(this.controllerProxy,t);return}function r(e){if(!e){this.retry();return}this.handler?.onResponseError?.(this.controllerProxy,e)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},r.bind(this))}}return dr=h,dr}var fr,Fn;function Ji(){if(Fn)return fr;Fn=1;const A=lt(),I=Ms();class d extends A{#A=null;#e=null;constructor(S,s={}){super(s),this.#A=S,this.#e=s}dispatch(S,s){const a=new I({...S,retryOptions:this.#e},{dispatch:this.#A.dispatch.bind(this.#A),handler:s});return this.#A.dispatch(S,a)}close(){return this.#A.close()}destroy(){return this.#A.destroy()}}return fr=d,fr}var yr,Un;function xi(){if(Un)return yr;Un=1;const{InvalidArgumentError:A}=VA(),I=xe();class d extends I{constructor(S,s){if(typeof S=="string"&&(S=new URL(S)),S.protocol!=="http:")throw new A("h2c-client: Only h2c protocol is supported");const{maxConcurrentStreams:a,pipelining:f,...C}=s??{},h=a??100;let u=100;if(a!=null&&(!Number.isInteger(a)||a<1))throw new A("maxConcurrentStreams must be a positive integer, greater than 0");if(f!=null&&Number.isInteger(f)&&f>0&&(u=f),u>h)throw new A("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(S,{...C,maxConcurrentStreams:h,pipelining:u,allowH2:!0,useH2c:!0})}}return yr=d,yr}var Oe={},yt={exports:{}},Dr,kn;function Wi(){if(kn)return Dr;kn=1;const A=_A,{addAbortListener:I}=Le,{Readable:d}=ue,{RequestAbortedError:N,NotSupportedError:S,InvalidArgumentError:s,AbortError:a}=VA(),f=OA(),{ReadableStreamFrom:C}=OA(),h=Symbol("kConsume"),u=Symbol("kReading"),c=Symbol("kBody"),t=Symbol("kAbort"),r=Symbol("kContentType"),e=Symbol("kContentLength"),n=Symbol("kUsed"),o=Symbol("kBytesRead"),g=()=>{};class D extends d{constructor({resume:R,abort:k,contentType:Q="",contentLength:p,highWaterMark:m=64*1024}){super({autoDestroy:!0,read:R,highWaterMark:m}),this._readableState.dataEmitted=!1,this[t]=k,this[h]=null,this[o]=0,this[c]=null,this[n]=!1,this[r]=Q,this[e]=Number.isFinite(p)?p:null,this[u]=!1}_destroy(R,k){!R&&!this._readableState.endEmitted&&(R=new N),R&&this[t](),this[n]?k(R):setImmediate(k,R)}on(R,k){return(R==="data"||R==="readable")&&(this[u]=!0,this[n]=!0),super.on(R,k)}addListener(R,k){return this.on(R,k)}off(R,k){const Q=super.off(R,k);return(R==="data"||R==="readable")&&(this[u]=this.listenerCount("data")>0||this.listenerCount("readable")>0),Q}removeListener(R,k){return this.off(R,k)}push(R){return R&&(this[o]+=R.length,this[h])?(M(this[h],R),this[u]?super.push(R):!0):super.push(R)}text(){return i(this,"text")}json(){return i(this,"json")}blob(){return i(this,"blob")}bytes(){return i(this,"bytes")}arrayBuffer(){return i(this,"arrayBuffer")}async formData(){throw new S}get bodyUsed(){return f.isDisturbed(this)}get body(){return this[c]||(this[c]=C(this),this[h]&&(this[c].getReader(),A(this[c].locked))),this[c]}dump(R){const k=R?.signal;if(k!=null&&(typeof k!="object"||!("aborted"in k)))return Promise.reject(new s("signal must be an AbortSignal"));const Q=R?.limit&&Number.isFinite(R.limit)?R.limit:128*1024;return k?.aborted?Promise.reject(k.reason??new a):this._readableState.closeEmitted?Promise.resolve(null):new Promise((p,m)=>{if((this[e]&&this[e]>Q||this[o]>Q)&&this.destroy(new a),k){const G=I(k,()=>{this.destroy(k.reason??new a)});this.on("close",function(){G[Symbol.dispose](),k.aborted?m(k.reason??new a):p(null)})}else this.on("close",p);this.on("error",g).on("data",()=>{this[o]>Q&&this.destroy()}).resume()})}setEncoding(R){return Buffer.isEncoding(R)&&super.setEncoding(R),this}}function w(F){return F[c]?.locked===!0||F[h]!==null}function E(F){return f.isDisturbed(F)||w(F)}function i(F,R){return A(!F[h]),new Promise((k,Q)=>{if(E(F)){const p=F._readableState;p.destroyed&&p.closeEmitted===!1?F.on("error",Q).on("close",()=>{Q(new TypeError("unusable"))}):Q(p.errored??new TypeError("unusable"))}else queueMicrotask(()=>{F[h]={type:R,stream:F,resolve:k,reject:Q,length:0,body:[]},F.on("error",function(p){T(this[h],p)}).on("close",function(){this[h].body!==null&&T(this[h],new N)}),y(F[h])})})}function y(F){if(F.body===null)return;const{_readableState:R}=F.stream;if(R.bufferIndex){const Q=R.bufferIndex,p=R.buffer.length;for(let m=Q;m<p;m++)M(F,R.buffer[m])}else for(const Q of R.buffer)M(F,Q);const k=R.decoder;if(k!=null&&k.lastNeed>0&&M(F,Buffer.from(k.lastChar.subarray(0,k.lastTotal-k.lastNeed))),R.endEmitted){U(F,R.encoding);return}for(F.stream.on("end",function(){U(this[h],this._readableState.encoding)}),F.stream.resume();F.stream.read()!=null;);}function l(F,R,k){if(F.length===0||R===0)return"";const Q=F.length===1?F[0]:Buffer.concat(F,R),p=Q.length,m=p>2&&Q[0]===239&&Q[1]===187&&Q[2]===191?3:0;return!k||k==="utf8"||k==="utf-8"?Q.utf8Slice(m,p):Q.subarray(m,p).toString(k)}function B(F,R){if(F.length===0||R===0)return new Uint8Array(0);if(F.length===1)return new Uint8Array(F[0]);const k=new Uint8Array(Buffer.allocUnsafeSlow(R).buffer);let Q=0;for(let p=0;p<F.length;++p){const m=F[p];k.set(m,Q),Q+=m.length}return k}function U(F,R){const{type:k,body:Q,resolve:p,stream:m,length:G}=F;try{k==="text"?p(l(Q,G,R)):k==="json"?p(JSON.parse(l(Q,G,R))):k==="arrayBuffer"?p(B(Q,G).buffer):k==="blob"?p(new Blob(Q,{type:m[r]})):k==="bytes"&&p(B(Q,G)),T(F)}catch(O){m.destroy(O)}}function M(F,R){F.body!==null&&(typeof R=="string"&&(R=Buffer.from(R,F.stream._readableState.encoding)),F.length+=R.length,F.body.push(R))}function T(F,R){F.body!==null&&(R?F.reject(R):F.resolve(),F.type=null,F.stream=null,F.resolve=null,F.reject=null,F.length=0,F.body=null)}return Dr={Readable:D,chunksDecode:l},Dr}var Mn;function qi(){if(Mn)return yt.exports;Mn=1;const A=_A,{AsyncResource:I}=ct,{Readable:d}=Wi(),{InvalidArgumentError:N,RequestAbortedError:S}=VA(),s=OA();function a(){}class f extends I{constructor(u,c){if(!u||typeof u!="object")throw new N("invalid opts");const{signal:t,method:r,opaque:e,body:n,onInfo:o,responseHeaders:g,highWaterMark:D}=u;try{if(typeof c!="function")throw new N("invalid callback");if(D!=null&&(!Number.isFinite(D)||D<0))throw new N("invalid highWaterMark");if(t&&typeof t.on!="function"&&typeof t.addEventListener!="function")throw new N("signal must be an EventEmitter or EventTarget");if(r==="CONNECT")throw new N("invalid method");if(o&&typeof o!="function")throw new N("invalid onInfo callback");super("UNDICI_REQUEST")}catch(w){throw s.isStream(n)&&s.destroy(n.on("error",a),w),w}this.method=r,this.responseHeaders=g||null,this.opaque=e||null,this.callback=c,this.res=null,this.abort=null,this.body=n,this.trailers={},this.context=null,this.controller=null,this.onInfo=o||null,this.highWaterMark=D,this.reason=null,this.removeAbortListener=null,t?.aborted?this.reason=t.reason??new S:t&&(this.removeAbortListener=s.addAbortListener(t,()=>{if(this.reason=t.reason??new S,this.res){const w=this.res;this.res=null,s.destroy(w.on("error",a),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(u,c){if(this.reason){u.abort(this.reason);return}A(this.callback),this.controller=u,this.abort=t=>u.abort(t),this.context=c}onResponseStart(u,c,t,r){const{callback:e,opaque:n,context:o,responseHeaders:g,highWaterMark:D}=this,w=u?.rawHeaders,E=g==="raw"?s.parseRawHeaders(w):t;if(c<200){this.onInfo&&this.onInfo({statusCode:c,headers:E});return}const i=t,y=i?.["content-type"],l=i?.["content-length"],B=new d({resume:()=>u.resume(),abort:U=>u.abort(U),contentType:y,contentLength:this.method!=="HEAD"&&l?Number(l):null,highWaterMark:D});if(this.removeAbortListener&&(B.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=B,e!==null)try{this.runInAsyncScope(e,null,null,{statusCode:c,statusText:r,headers:E,trailers:this.trailers,opaque:n,body:B,context:o})}catch(U){this.res=null,s.destroy(B.on("error",a),U),queueMicrotask(()=>{throw U})}}onResponseData(u,c){this.res&&this.res.push(c)===!1&&u.pause()}onResponseEnd(u,c){if(c&&typeof c=="object")for(const t of Object.keys(c))t==="__proto__"?Object.defineProperty(this.trailers,t,{value:c[t],enumerable:!0,configurable:!0,writable:!0}):this.trailers[t]=c[t];this.res?.push(null)}onResponseError(u,c){const{res:t,callback:r,body:e,opaque:n}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,c,{opaque:n})})),t&&(this.res=null,queueMicrotask(()=>{s.destroy(t.on("error",a),c)})),e&&(this.body=null,s.isStream(e)&&(e.on("error",a),s.destroy(e,c))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}}function C(h,u){if(u===void 0)return new Promise((c,t)=>{C.call(this,h,(r,e)=>r?t(r):c(e))});try{const c=new f(h,u);this.dispatch(h,c)}catch(c){if(typeof u!="function")throw c;const t=h?.opaque;queueMicrotask(()=>u(c,{opaque:t}))}}return yt.exports=C,yt.exports.RequestHandler=f,yt.exports}var pr,Tn;function Nt(){if(Tn)return pr;Tn=1;const{addAbortListener:A}=OA(),{RequestAbortedError:I}=VA(),d=Symbol("kListener"),N=Symbol("kSignal");function S(f){f.abort?f.abort(f[N]?.reason):f.reason=f[N]?.reason??new I,a(f)}function s(f,C){if(f.reason=null,f[N]=null,f[d]=null,!!C){if(C.aborted){S(f);return}f[N]=C,f[d]=()=>{S(f)},A(f[N],f[d])}}function a(f){f[N]&&("removeEventListener"in f[N]?f[N].removeEventListener("abort",f[d]):f[N].removeListener("abort",f[d]),f[N]=null,f[d]=null)}return pr={addSignal:s,removeSignal:a},pr}var wr,Ln;function Pi(){if(Ln)return wr;Ln=1;const A=_A,{AsyncResource:I}=ct,{InvalidArgumentError:d,InvalidReturnValueError:N}=VA(),S=OA(),{addSignal:s,removeSignal:a}=Nt();function f(){}function C(r){return r.errored??r.writableErrored??r._writableState?.errored}function h(){const r=new Error("Premature close");return r.code="ERR_STREAM_PREMATURE_CLOSE",r}function u(r,e){let n=!1;const o=()=>{r.removeListener("close",D),r.removeListener("error",w),r.removeListener("finish",E)},g=(i,y=!1)=>{n||(n=!0,o(),e(i,y))},D=()=>{const i=C(r);g(i??(r.writableFinished?void 0:h()))},w=i=>g(i,!0),E=()=>g();r.on("close",D),r.on("error",w),r.on("finish",E),r.closed?process.nextTick(D):r.writableFinished&&process.nextTick(E)}class c extends I{constructor(e,n,o){if(!e||typeof e!="object")throw new d("invalid opts");const{signal:g,method:D,opaque:w,body:E,onInfo:i,responseHeaders:y}=e;try{if(typeof o!="function")throw new d("invalid callback");if(typeof n!="function")throw new d("invalid factory");if(g&&typeof g.on!="function"&&typeof g.addEventListener!="function")throw new d("signal must be an EventEmitter or EventTarget");if(D==="CONNECT")throw new d("invalid method");if(i&&typeof i!="function")throw new d("invalid onInfo callback");super("UNDICI_STREAM")}catch(l){throw S.isStream(E)&&S.destroy(E.on("error",f),l),l}this.responseHeaders=y||null,this.opaque=w||null,this.factory=n,this.callback=o,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=E,this.onInfo=i||null,S.isStream(E)&&E.on("error",l=>{this.onResponseError(this.controller,l)}),s(this,g)}onRequestStart(e,n){if(this.reason){e.abort(this.reason);return}A(this.callback),this.controller=e,this.abort=o=>e.abort(o),this.context=n}onResponseStart(e,n,o,g){const{factory:D,opaque:w,context:E,responseHeaders:i}=this,y=e?.rawHeaders,l=i==="raw"?S.parseRawHeaders(y):o;if(n<200){this.onInfo&&this.onInfo({statusCode:n,headers:l});return}if(this.factory=null,D===null)return;const B=this.runInAsyncScope(D,null,{statusCode:n,headers:l,opaque:w,context:E});if(!B||typeof B.write!="function"||typeof B.end!="function"||typeof B.on!="function")throw new N("expected Writable");u(B,(U,M)=>{const{callback:T,res:F,opaque:R,trailers:k,abort:Q}=this;this.res=null,(U||!F?.readable)&&S.destroy(F,M?void 0:U),this.callback=null,this.runInAsyncScope(T,null,U||null,{opaque:R,trailers:k}),U&&Q(U)}),B.on("drain",()=>e.resume()),this.res=B,(B.writableNeedDrain!==void 0?B.writableNeedDrain:B._writableState?.needDrain)===!0&&e.pause()}onResponseData(e,n){const{res:o}=this;o&&o.write(n)===!1&&e.pause()}onResponseEnd(e,n){const{res:o}=this;a(this),o&&(n&&typeof n=="object"&&(this.trailers=n),o.end())}onResponseError(e,n){const{res:o,callback:g,opaque:D,body:w}=this;a(this),this.factory=null,o?(this.res=null,S.destroy(o,n)):g&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(g,null,n,{opaque:D})})),w&&(this.body=null,S.destroy(w,n))}}function t(r,e,n){if(n===void 0)return new Promise((o,g)=>{t.call(this,r,e,(D,w)=>D?g(D):o(w))});try{const o=new c(r,e,n);this.dispatch(r,o)}catch(o){if(typeof n!="function")throw o;const g=r?.opaque;queueMicrotask(()=>n(o,{opaque:g}))}}return wr=t,wr}var Sr,Hn;function _i(){if(Hn)return Sr;Hn=1;const{Readable:A,Duplex:I,PassThrough:d}=ue,N=_A,{AsyncResource:S}=ct,{InvalidArgumentError:s,InvalidReturnValueError:a,RequestAbortedError:f}=VA(),C=OA(),{kBodyUsed:h}=Ae(),{addSignal:u,removeSignal:c}=Nt();function t(){}const r=Symbol("resume");class e extends A{constructor(){super({autoDestroy:!0}),this[r]=null,this[h]=!0}_read(){const{[r]:w}=this;w&&(this[r]=null,w())}_destroy(w,E){this._read(),E(w)}}class n extends A{constructor(w){super({autoDestroy:!0}),this[r]=w}_read(){this[r]()}_destroy(w,E){!w&&!this._readableState.endEmitted&&(w=new f),E(w)}}class o extends S{constructor(w,E){if(!w||typeof w!="object")throw new s("invalid opts");if(typeof E!="function")throw new s("invalid handler");const{signal:i,method:y,opaque:l,onInfo:B,responseHeaders:U}=w;if(i&&typeof i.on!="function"&&typeof i.addEventListener!="function")throw new s("signal must be an EventEmitter or EventTarget");if(y==="CONNECT")throw new s("invalid method");if(B&&typeof B!="function")throw new s("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=l||null,this.responseHeaders=U||null,this.handler=E,this.abort=null,this.context=null,this.onInfo=B||null,this.req=new e().on("error",t),this.ret=new I({readableObjectMode:w.objectMode,autoDestroy:!0,read:()=>{const{body:M}=this;M?.resume&&M.resume()},write:(M,T,F)=>{const{req:R}=this;R.push(M,T)||R._readableState.destroyed?F():R[r]=F},destroy:(M,T)=>{const{body:F,req:R,res:k,ret:Q,abort:p}=this;!M&&!Q._readableState.endEmitted&&(M=new f),p&&M&&p(),C.destroy(F,M),C.destroy(R,M),C.destroy(k,M),c(this),T(M)}}).on("prefinish",()=>{const{req:M}=this;M.push(null)}),this.res=null,u(this,i)}onRequestStart(w,E){const{res:i}=this;if(this.reason){w.abort(this.reason);return}N(!i,"pipeline cannot be retried"),this.abort=y=>w.abort(y),this.context=E}onResponseStart(w,E,i,y){const{opaque:l,handler:B,context:U}=this;if(E<200){if(this.onInfo){const T=w?.rawHeaders,F=this.responseHeaders==="raw"?C.parseRawHeaders(T):i;this.onInfo({statusCode:E,headers:F})}return}this.res=new n(()=>w.resume());let M;try{this.handler=null;const T=w?.rawHeaders,F=this.responseHeaders==="raw"?C.parseRawHeaders(T):i;M=this.runInAsyncScope(B,null,{statusCode:E,headers:F,opaque:l,body:this.res,context:U})}catch(T){throw this.res.on("error",t),T}if(!M||typeof M.on!="function")throw new a("expected Readable");M.on("data",T=>{const{ret:F,body:R}=this;!F.push(T)&&R.pause&&R.pause()}).on("error",T=>{const{ret:F}=this;C.destroy(F,T)}).on("end",()=>{const{ret:T}=this;T.push(null)}).on("close",()=>{const{ret:T}=this;T._readableState.ended||C.destroy(T,new f)}),this.body=M}onResponseData(w,E){const{res:i}=this;i.push(E)===!1&&w.pause()}onResponseEnd(w,E){const{res:i}=this;i.push(null)}onResponseError(w,E){const{ret:i}=this;this.handler=null,C.destroy(i,E)}}function g(D,w){try{const E=new o(D,w);return this.dispatch({...D,body:E.req},E),E.ret}catch(E){return new d().destroy(E)}}return Sr=g,Sr}var Rr,Yn;function Zi(){if(Yn)return Rr;Yn=1;const{InvalidArgumentError:A,SocketError:I}=VA(),{AsyncResource:d}=ct,N=_A,S=OA(),{kHTTP2Stream:s}=Ae(),{addSignal:a,removeSignal:f}=Nt();class C extends d{constructor(c,t){if(!c||typeof c!="object")throw new A("invalid opts");if(typeof t!="function")throw new A("invalid callback");const{signal:r,opaque:e,responseHeaders:n}=c;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new A("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=n||null,this.opaque=e||null,this.callback=t,this.abort=null,this.context=null,a(this,r)}onRequestStart(c,t){if(this.reason){c.abort(this.reason);return}N(this.callback),this.abort=r=>c.abort(r),this.context=t}onResponseStart(){throw new I("bad upgrade",null)}onRequestUpgrade(c,t,r,e){const n=e[s]===!0?200:101;if(t!==n){const i=e[s]===!0?null:S.getSocketInfo(e);c.abort(new I("bad upgrade",i));return}const{callback:o,opaque:g,context:D}=this;f(this),this.callback=null;const w=c?.rawHeaders,E=this.responseHeaders==="raw"?S.parseRawHeaders(w):r;this.runInAsyncScope(o,null,null,{headers:E,socket:e,opaque:g,context:D})}onResponseError(c,t){const{callback:r,opaque:e}=this;f(this),r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:e})}))}}function h(u,c){if(c===void 0)return new Promise((t,r)=>{h.call(this,u,(e,n)=>e?r(e):t(n))});try{const t=new C(u,c),r={...u,method:u.method||"GET",upgrade:u.protocol||"Websocket"};this.dispatch(r,t)}catch(t){if(typeof c!="function")throw t;const r=u?.opaque;queueMicrotask(()=>c(t,{opaque:r}))}}return Rr=h,Rr}var Nr,vn;function Xi(){if(vn)return Nr;vn=1;const A=_A,{AsyncResource:I}=ct,{InvalidArgumentError:d,SocketError:N}=VA(),S=OA(),{addSignal:s,removeSignal:a}=Nt();class f extends I{constructor(u,c){if(!u||typeof u!="object")throw new d("invalid opts");if(typeof c!="function")throw new d("invalid callback");const{signal:t,opaque:r,responseHeaders:e}=u;if(t&&typeof t.on!="function"&&typeof t.addEventListener!="function")throw new d("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=r||null,this.responseHeaders=e||null,this.callback=c,this.abort=null,s(this,t)}onRequestStart(u,c){if(this.reason){u.abort(this.reason);return}A(this.callback),this.abort=t=>u.abort(t),this.context=c}onResponseStart(){throw new N("bad connect",null)}onRequestUpgrade(u,c,t,r){const{callback:e,opaque:n,context:o}=this;a(this),this.callback=null;let g=t;const D=u?.rawHeaders;g!=null&&(g=this.responseHeaders==="raw"?S.parseRawHeaders(D):t),this.runInAsyncScope(e,null,null,{statusCode:c,headers:g,socket:r,opaque:n,context:o})}onResponseError(u,c){const{callback:t,opaque:r}=this;a(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,c,{opaque:r})}))}}function C(h,u){if(u===void 0)return new Promise((c,t)=>{C.call(this,h,(r,e)=>r?t(r):c(e))});try{const c=new f(h,u),t={...h,method:"CONNECT"};this.dispatch(t,c)}catch(c){if(typeof u!="function")throw c;const t=h?.opaque;queueMicrotask(()=>u(c,{opaque:t}))}}return Nr=C,Nr}var Gn;function ji(){return Gn||(Gn=1,Oe.request=qi(),Oe.stream=Pi(),Oe.pipeline=_i(),Oe.upgrade=Zi(),Oe.connect=Xi()),Oe}var mr,Vn;function $o(){if(Vn)return mr;Vn=1;const{UndiciError:A}=VA(),I=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class d extends A{constructor(S){super(S),this.name="MockNotMatchedError",this.message=S||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](S){return S&&S[I]===!0}get[I](){return!0}}return mr={MockNotMatchedError:d},mr}var br,On;function $e(){return On||(On=1,br={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}),br}var Fr,Jn;function mt(){if(Jn)return Fr;Jn=1;const{MockNotMatchedError:A}=$o(),{kDispatches:I,kMockAgent:d,kOriginalDispatch:N,kOrigin:S,kGetNetConnect:s,kTotalDispatchCount:a}=$e(),{serializePathWithQuery:f,parseHeaders:C}=OA(),{STATUS_CODES:h}=wt,{types:{isPromise:u}}=we,{InvalidArgumentError:c}=VA(),t=Symbol("request aborted");function r(J,V){return typeof J=="string"?J===V:J instanceof RegExp?J.test(V):typeof J=="function"?J(V)===!0:!1}function e(J){return Object.fromEntries(Object.entries(J).map(([V,X])=>[V.toLocaleLowerCase(),X]))}function n(J,V){if(Array.isArray(J)){for(let X=0;X<J.length;X+=2)if(J[X].toLocaleLowerCase()===V.toLocaleLowerCase())return J[X+1];return}else return typeof J.get=="function"?J.get(V):e(J)[V.toLocaleLowerCase()]}function o(J){const V=J.slice(),X=[];for(let j=0;j<V.length;j+=2)X.push([V[j],V[j+1]]);return Object.fromEntries(X)}function g(J,V){if(typeof J.headers=="function")return Array.isArray(V)&&(V=o(V)),J.headers(V?e(V):{});if(typeof J.headers>"u")return!0;if(typeof V!="object"||typeof J.headers!="object")return!1;for(const[X,j]of Object.entries(J.headers)){const nA=n(V,X);if(!r(j,nA))return!1}return!0}function D(J){if(typeof J!="string")return J;const V=new URLSearchParams(J),X=new URLSearchParams;for(let[j,nA]of V.entries()){if(j=j.replace("[]",""),/^(['"]).*\1$/.test(nA)){X.append(j,nA);continue}if(nA.includes(",")){const gA=nA.split(",");for(const rA of gA)X.append(j,rA);continue}X.append(j,nA)}return X}function w(J){if(typeof J!="string")return J;const V=J.split("?",3);if(V.length!==2)return J;const X=new URLSearchParams(V.pop());return X.sort(),[...V,X.toString()].join("?")}function E(J,{path:V,method:X,body:j,headers:nA}){const gA=r(J.path,V),rA=r(J.method,X),DA=typeof J.body<"u"?r(J.body,j):!0,kA=g(J,nA);return gA&&rA&&DA&&kA}function i(J){return Buffer.isBuffer(J)||J instanceof Uint8Array||J instanceof ArrayBuffer?J:ArrayBuffer.isView(J)?new Uint8Array(J.buffer,J.byteOffset,J.byteLength):typeof J=="object"?JSON.stringify(J):J?J.toString():""}function y(J,V){const X=V.query?f(V.path,V.query):V.path,j=typeof X=="string"?w(X):X,nA=U(j);let gA=J.filter(({consumed:rA})=>!rA).filter(({path:rA,ignoreTrailingSlash:DA})=>DA?r(U(w(rA)),nA):r(w(rA),j));if(gA.length===0)throw new A(`Mock dispatch not matched for path '${j}'`);if(gA=gA.filter(({method:rA})=>r(rA,V.method)),gA.length===0)throw new A(`Mock dispatch not matched for method '${V.method}' on path '${j}'`);if(gA=gA.filter(({body:rA})=>typeof rA<"u"?r(rA,V.body):!0),gA.length===0)throw new A(`Mock dispatch not matched for body '${V.body}' on path '${j}'`);if(gA=gA.filter(rA=>g(rA,V.headers)),gA.length===0){const rA=typeof V.headers=="object"?JSON.stringify(V.headers):V.headers;throw new A(`Mock dispatch not matched for headers '${rA}' on path '${j}'`)}return gA[0]}function l(J,V,X,j){const nA={timesInvoked:0,times:1,persist:!1,consumed:!1,...j},gA=typeof X=="function"?{callback:X}:{...X},rA={...nA,...V,pending:!0,data:{error:null,...gA}};return J.push(rA),J[a]=(J[a]||0)+1,rA}function B(J,V){const X=J.findIndex(j=>j.consumed?E(j,V):!1);X!==-1&&J.splice(X,1)}function U(J){if(typeof J!="string")return J;for(;J.endsWith("/");)J=J.slice(0,-1);return J.length===0&&(J="/"),J}function M(J){const{path:V,method:X,body:j,headers:nA,query:gA}=J;return{path:V,method:X,body:j,headers:nA,query:gA}}function T(J){const V=Object.keys(J),X=[];for(let j=0;j<V.length;++j){const nA=V[j],gA=J[nA],rA=Buffer.from(`${nA}`);if(Array.isArray(gA))for(let DA=0;DA<gA.length;++DA)X.push(rA,Buffer.from(`${gA[DA]}`));else X.push(rA,Buffer.from(`${gA}`))}return X}function F(J){return h[J]||"unknown"}async function R(J){const V=[];for await(const X of J)V.push(X);return Buffer.concat(V).toString("utf8")}function k(J,V){const X=M(J),j=y(this[I],X),nA=this[I];j.timesInvoked++;const{timesInvoked:gA,times:rA}=j;j.consumed=!j.persist&&gA>=rA,j.pending=gA<rA;const DA=typeof V.onBodySent=="function"||typeof V.onRequestSent=="function";if(j.data.callback&&(!DA||J.body==null)){const{callback:kA,...mA}=j.data,aA=kA(J);if(u(aA))return aA.then(v=>{if(v==null||typeof v!="object"){V.onResponseError(null,new c("reply options callback must return an object"));return}j.data={...mA,...v},Q(nA,j,X,J,V)},v=>{V.onResponseError(null,v)}),!0;if(aA==null||typeof aA!="object")throw new c("reply options callback must return an object");j.data={...mA,...aA}}return Q(nA,j,X,J,V)}function Q(J,V,X,j,nA){const{data:gA,delay:rA}=V;if(gA.error!==null)return B(J,X),nA.onResponseError(null,gA.error),!0;let DA=!1,kA=null;const mA={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:MA=>{DA||(DA=!0,kA!==null&&(clearTimeout(kA),kA=null),nA.onResponseError?.(mA,MA))}};let aA=j;const v=J;if(nA.onRequestStart?.(mA,null),DA)return!0;const iA=p(j.body,nA,mA,()=>DA);if(u(iA))return iA.then(MA=>{MA!==t&&(MA!==j.body&&(aA={...j,body:MA}),AA())},MA=>mA.abort(MA)),!0;if(iA===t)return!0;iA!==j.body&&(aA={...j,body:iA}),AA();function AA(){if(gA.callback){const{callback:MA,...FA}=gA;let SA;try{SA=MA(aA)}catch(YA){B(J,X),nA.onResponseError(null,YA);return}if(u(SA)){SA.then(YA=>{if(YA==null||typeof YA!="object"){nA.onResponseError(null,new c("reply options callback must return an object"));return}V.data={...FA,...YA},dA(v,V.data)},YA=>{nA.onResponseError(null,YA)});return}if(SA==null||typeof SA!="object")throw new c("reply options callback must return an object");V.data={...FA,...SA},dA(v,V.data);return}typeof rA=="number"&&rA>0?kA=setTimeout(()=>{kA=null,dA(v)},rA):dA(v)}function dA(MA,FA=gA){if(DA)return;const{statusCode:SA,data:YA,headers:jA,trailers:PA}=FA,KA=Array.isArray(j.headers)?o(j.headers):j.headers,re=typeof YA=="function"?YA({...aA,headers:KA}):YA;if(u(re))return re.then(GA=>dA(MA,{...FA,data:GA}));if(DA)return;const te=i(re),ee=T(jA??{}),ae=T(PA??{});mA.rawHeaders=ee,mA.rawTrailers=ae,nA.onResponseStart?.(mA,SA,C(ee),F(SA)),nA.onResponseData?.(mA,Buffer.from(te)),nA.onResponseEnd?.(mA,C(ae)),B(MA,X)}return!0}function p(J,V,X,j){if(typeof V.onBodySent!="function"&&typeof V.onRequestSent!="function")return J;if(J==null)return O(V,X,j)?J:t;if(J&&typeof J[Symbol.asyncIterator]=="function")return m(J,V,X,j);if(Y(J)){const nA=[];for(const gA of J)if(j()||(nA.push(gA),!G(V,X,gA)||j()))return t;return O(V,X,j)?nA:t}return j()||!G(V,X,J)?t:O(V,X,j)?J:t}async function m(J,V,X,j){const nA=[];for await(const gA of J)if(j()||(nA.push(gA),!G(V,X,gA)||j()))return t;return O(V,X,j)?{async*[Symbol.asyncIterator](){yield*nA}}:t}function G(J,V,X){try{return J.onBodySent?.(X),!0}catch(j){return V.abort(j),!1}}function O(J,V,X){try{return J.onRequestSent?.(),!X()}catch(j){return V.abort(j),!1}}function Y(J){return typeof J!="string"&&!Buffer.isBuffer(J)&&!ArrayBuffer.isView(J)&&typeof J[Symbol.iterator]=="function"}function Z(){const J=this[d],V=this[S],X=this[N];return function(j,nA){if(J.isMockActive)try{k.call(this,j,nA)}catch(gA){if(gA.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){const rA=J[s](),DA=this[I][a]||this[I].length,kA=`, ${this[I].filter(({consumed:mA})=>!mA).length} interceptor(s) remaining out of ${DA} defined`;if(rA===!1)throw new A(`${gA.message}: subsequent request to origin ${V} was not allowed (net.connect disabled)${kA}`);if(tA(rA,V))X.call(this,"__mockAgentBodyForDispatch"in j?{...j,body:j.__mockAgentBodyForDispatch}:j,nA);else throw new A(`${gA.message}: subsequent request to origin ${V} was not allowed (net.connect is not enabled for this origin)${kA}`)}else throw gA}else X.call(this,j,nA)}}function tA(J,V){const X=new URL(V);return J===!0?!0:!!(Array.isArray(J)&&J.some(j=>r(j,X.host)))}function lA(J){return typeof J!="string"&&!(J instanceof URL)?J:J instanceof URL?J.origin:J.toLowerCase()}function $(J){const{agent:V,...X}=J;if("enableCallHistory"in X&&typeof X.enableCallHistory!="boolean")throw new c("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in X&&typeof X.acceptNonStandardSearchParameters!="boolean")throw new c("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in X&&typeof X.ignoreTrailingSlash!="boolean")throw new c("options.ignoreTrailingSlash must to be a boolean");return X}return Fr={getResponseData:i,getMockDispatch:y,addMockDispatch:l,deleteMockDispatch:B,buildKey:M,generateKeyValues:T,matchValue:r,getResponse:R,getStatusText:F,mockDispatch:k,buildMockDispatch:Z,checkNetConnect:tA,buildAndValidateMockOptions:$,getHeaderByName:n,buildHeadersFromArray:o,normalizeSearchParams:D,normalizeOrigin:lA},Fr}var Dt={},xn;function Ai(){if(xn)return Dt;xn=1;const{getResponseData:A,buildKey:I,addMockDispatch:d}=mt(),{kDispatches:N,kDispatchKey:S,kDefaultHeaders:s,kDefaultTrailers:a,kContentLength:f,kMockDispatch:C,kIgnoreTrailingSlash:h}=$e(),{InvalidArgumentError:u}=VA(),{serializePathWithQuery:c}=OA(),{types:{isPromise:t}}=we;class r{constructor(o){this[C]=o}delay(o){if(typeof o!="number"||!Number.isInteger(o)||o<=0)throw new u("waitInMs must be a valid integer > 0");return this[C].delay=o,this}persist(){return this[C].persist=!0,this}times(o){if(typeof o!="number"||!Number.isInteger(o)||o<=0)throw new u("repeatTimes must be a valid integer > 0");return this[C].times=o,this}}class e{constructor(o,g){if(typeof o!="object")throw new u("opts must be an object");if(typeof o.path>"u")throw new u("opts.path must be defined");if(typeof o.method>"u"&&(o.method="GET"),typeof o.path=="string")if(o.query)o.path=c(o.path,o.query);else{const D=new URL(o.path,"data://");o.path=D.pathname+D.search}typeof o.method=="string"&&(o.method=o.method.toUpperCase()),this[S]=I(o),this[N]=g,this[h]=o.ignoreTrailingSlash??!1,this[s]={},this[a]={},this[f]=!1}createMockScopeDispatchData({statusCode:o,data:g,responseOptions:D}){const w=A(g),E=this[f]?{"content-length":w.length}:{},i={...this[s],...E,...D.headers},y={...this[a],...D.trailers};return{statusCode:o,data:g,headers:i,trailers:y}}validateReplyParameters(o){if(typeof o.statusCode>"u")throw new u("statusCode must be defined");if(typeof o.responseOptions!="object"||o.responseOptions===null)throw new u("responseOptions must be an object")}reply(o){if(typeof o=="function"){const E=l=>{if(typeof l!="object"||l===null)throw new u("reply options callback must return an object");const B={data:"",responseOptions:{},...l};return this.validateReplyParameters(B),{...this.createMockScopeDispatchData(B)}},i=l=>{const B=o(l);return t(B)?B.then(E):E(B)},y=d(this[N],this[S],i,{ignoreTrailingSlash:this[h]});return new r(y)}const g={statusCode:o,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(g);const D=this.createMockScopeDispatchData(g),w=d(this[N],this[S],D,{ignoreTrailingSlash:this[h]});return new r(w)}replyWithError(o){if(typeof o>"u")throw new u("error must be defined");const g=d(this[N],this[S],{error:o},{ignoreTrailingSlash:this[h]});return new r(g)}defaultReplyHeaders(o){if(typeof o>"u")throw new u("headers must be defined");return this[s]=o,this}defaultReplyTrailers(o){if(typeof o>"u")throw new u("trailers must be defined");return this[a]=o,this}replyContentLength(){return this[f]=!0,this}}return Dt.MockInterceptor=e,Dt.MockScope=r,Dt}var Ur,Wn;function ei(){if(Wn)return Ur;Wn=1;const{promisify:A}=we,I=xe(),{buildMockDispatch:d}=mt(),{kDispatches:N,kMockAgent:S,kClose:s,kOriginalClose:a,kOrigin:f,kOriginalDispatch:C,kConnected:h,kIgnoreTrailingSlash:u}=$e(),{MockInterceptor:c}=Ai(),t=Ae(),{InvalidArgumentError:r}=VA();class e extends I{constructor(o,g){if(!g||!g.agent||typeof g.agent.dispatch!="function")throw new r("Argument opts.agent must implement Agent");super(o,g),this[S]=g.agent,this[f]=o,this[u]=g.ignoreTrailingSlash??!1,this[N]=[],this[h]=1,this[C]=this.dispatch,this[a]=this.close.bind(this),this.dispatch=d.call(this),this.close=this[s]}get[t.kConnected](){return this[h]}intercept(o){return new c(o&&{ignoreTrailingSlash:this[u],...o},this[N])}cleanMocks(){this[N]=[]}async[s](){await A(this[a])(),this[h]=0,this[S][t.kClients].delete(this[f])}}return Ur=e,Ur}var pt={},qn;function ti(){if(qn)return pt;qn=1;const{kMockCallHistoryAddLog:A}=$e(),{InvalidArgumentError:I}=VA();function d(C,h,u,c,t){switch(h.operator){case"OR":return c.push(...u(C,t)),c;case"AND":return u(C,c);default:throw new I("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function N(C={}){const h={};if("operator"in C){if(typeof C.operator!="string"||C.operator.toUpperCase()!=="OR"&&C.operator.toUpperCase()!=="AND")throw new I("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...h,operator:C.operator.toUpperCase()}}return h}function S(C){return(h,u=this.logs)=>{if(typeof h=="string"||h==null)return u.filter(c=>c[C]===h);if(h instanceof RegExp)return u.filter(c=>h.test(c[C]));throw new I(`${C} parameter should be one of string, regexp, undefined or null`)}}function s(C){try{const h=new URL(C.path,C.origin);return h.search.length!==0||(h.search=new URLSearchParams(C.query).toString()),h}catch(h){throw new I("An error occurred when computing MockCallHistoryLog.url",{cause:h})}}class a{constructor(h={}){this.body=h.body,this.headers=h.headers,this.method=h.method;const u=s(h);this.fullUrl=u.toString(),this.origin=u.origin,this.path=u.pathname,this.searchParams=Object.fromEntries(u.searchParams),this.protocol=u.protocol,this.host=u.host,this.port=u.port,this.hash=u.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){const h={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"};let u="";return this.toMap().forEach((c,t)=>{(typeof c=="string"||c===void 0||c===null)&&(u=`${u}${t}${h.betweenKeyValueSeparator}${c}${h.betweenPairSeparator}`),(typeof c=="object"&&c!==null||Array.isArray(c))&&(u=`${u}${t}${h.betweenKeyValueSeparator}${JSON.stringify(c)}${h.betweenPairSeparator}`)}),u.slice(0,-1)}}class f{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(h){if(typeof h!="number")throw new I("nthCall must be called with a number");if(!Number.isInteger(h))throw new I("nthCall must be called with an integer");if(Math.sign(h)!==1)throw new I("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(h-1)}filterCalls(h,u){if(this.logs.length===0)return this.logs;if(typeof h=="function")return this.logs.filter(h);if(h instanceof RegExp)return this.logs.filter(c=>h.test(c.toString()));if(typeof h=="object"&&h!==null){if(Object.keys(h).length===0)return this.logs;const c={operator:"OR",...N(u)};let t=c.operator==="AND"?this.logs:[];return"protocol"in h&&(t=d(h.protocol,c,this.filterCallsByProtocol,t,this.logs)),"host"in h&&(t=d(h.host,c,this.filterCallsByHost,t,this.logs)),"port"in h&&(t=d(h.port,c,this.filterCallsByPort,t,this.logs)),"origin"in h&&(t=d(h.origin,c,this.filterCallsByOrigin,t,this.logs)),"path"in h&&(t=d(h.path,c,this.filterCallsByPath,t,this.logs)),"hash"in h&&(t=d(h.hash,c,this.filterCallsByHash,t,this.logs)),"fullUrl"in h&&(t=d(h.fullUrl,c,this.filterCallsByFullUrl,t,this.logs)),"method"in h&&(t=d(h.method,c,this.filterCallsByMethod,t,this.logs)),[...new Set(t)]}throw new I("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=S.call(this,"protocol");filterCallsByHost=S.call(this,"host");filterCallsByPort=S.call(this,"port");filterCallsByOrigin=S.call(this,"origin");filterCallsByPath=S.call(this,"path");filterCallsByHash=S.call(this,"hash");filterCallsByFullUrl=S.call(this,"fullUrl");filterCallsByMethod=S.call(this,"method");clear(){this.logs=[]}[A](h){const u=new a(h);return this.logs.push(u),u}*[Symbol.iterator](){for(const h of this.calls())yield h}}return pt.MockCallHistory=f,pt.MockCallHistoryLog=a,pt}var kr,Pn;function ri(){if(Pn)return kr;Pn=1;const{promisify:A}=we,I=ze(),{buildMockDispatch:d}=mt(),{kDispatches:N,kMockAgent:S,kClose:s,kOriginalClose:a,kOrigin:f,kOriginalDispatch:C,kConnected:h,kIgnoreTrailingSlash:u}=$e(),{MockInterceptor:c}=Ai(),t=Ae(),{InvalidArgumentError:r}=VA();class e extends I{constructor(o,g){if(!g||!g.agent||typeof g.agent.dispatch!="function")throw new r("Argument opts.agent must implement Agent");super(o,g),this[S]=g.agent,this[f]=o,this[u]=g.ignoreTrailingSlash??!1,this[N]=[],this[h]=1,this[C]=this.dispatch,this[a]=this.close.bind(this),this.dispatch=d.call(this),this.close=this[s]}get[t.kConnected](){return this[h]}intercept(o){return new c(o&&{ignoreTrailingSlash:this[u],...o},this[N])}cleanMocks(){this[N]=[]}async[s](){await A(this[a])(),this[h]=0,this[S][t.kClients].delete(this[f])}}return kr=e,kr}var Mr,_n;function zi(){if(_n)return Mr;_n=1;const{Transform:A}=ue,{Console:I}=pi,d=process.versions.icu?"✅":"Y ",N=process.versions.icu?"❌":"N ";return Mr=class{constructor({disableColors:S}={}){this.transform=new A({transform(s,a,f){f(null,s)}}),this.logger=new I({stdout:this.transform,inspectOptions:{colors:!S&&!process.env.CI}})}format(S){const s=S.map(({method:a,path:f,data:{statusCode:C},persist:h,times:u,timesInvoked:c,origin:t})=>({Method:a,Origin:t,Path:f,"Status code":C,Persistent:h?d:N,Invocations:c,Remaining:h?1/0:u-c}));return this.logger.table(s),this.transform.read().toString()}},Mr}var Tr,Zn;function si(){if(Zn)return Tr;Zn=1;const{kClients:A}=Ae(),I=Ke(),{kAgent:d,kMockAgentSet:N,kMockAgentGet:S,kDispatches:s,kIsMockActive:a,kNetConnect:f,kGetNetConnect:C,kOptions:h,kFactory:u,kMockAgentRegisterCallHistory:c,kMockAgentIsCallHistoryEnabled:t,kMockAgentAddCallHistoryLog:r,kMockAgentMockCallHistoryInstance:e,kMockAgentAcceptsNonStandardSearchParameters:n,kMockCallHistoryAddLog:o,kIgnoreTrailingSlash:g}=$e(),D=ei(),w=ri(),{matchValue:E,normalizeSearchParams:i,buildAndValidateMockOptions:y,normalizeOrigin:l}=mt(),{InvalidArgumentError:B,UndiciError:U}=VA(),M=lt(),T=zi(),{MockCallHistory:F}=ti();class R extends M{constructor(Q={}){super(Q);const p=y(Q);if(this[f]=!0,this[a]=!0,this[t]=p.enableCallHistory??!1,this[n]=p.acceptNonStandardSearchParameters??!1,this[g]=p.ignoreTrailingSlash??!1,Q?.agent&&typeof Q.agent.dispatch!="function")throw new B("Argument opts.agent must implement Agent");const m=Q?.agent?Q.agent:new I(Q);this[d]=m,this[A]=m[A],this[h]=p,this[t]&&this[c]()}get(Q){const p=l(Q),m=this[g]?p.replace(/\/$/,""):p;let G=this[S](m);return G||(G=this[u](m),this[N](m,G)),G}dispatch(Q,p){Q.origin=l(Q.origin),this.get(Q.origin),this[r](Q);const m=this[n],G={...Q};if(m&&G.path){const[O,Y]=G.path.split("?"),Z=i(Y,m);G.path=`${O}?${Z}`}return this[d].dispatch(G,p)}async close(){this.clearCallHistory(),await this[d].close(),this[A].clear()}deactivate(){this[a]=!1}activate(){this[a]=!0}enableNetConnect(Q){if(typeof Q=="string"||typeof Q=="function"||Q instanceof RegExp)Array.isArray(this[f])?this[f].push(Q):this[f]=[Q];else if(typeof Q>"u")this[f]=!0;else throw new B("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[f]=!1}enableCallHistory(){return this[t]=!0,this}disableCallHistory(){return this[t]=!1,this}getCallHistory(){return this[e]}clearCallHistory(){this[e]!==void 0&&this[e].clear()}get isMockActive(){return this[a]}[c](){this[e]===void 0&&(this[e]=new F)}[r](Q){this[t]&&(this[c](),this[e][o](Q))}[N](Q,p){this[A].set(Q,p)}[u](Q){const p=Object.assign({agent:this},this[h]);return this[h]&&this[h].connections===1?new D(Q,p):new w(Q,p)}[S](Q){const p=this[A].get(Q);if(p)return p;if(typeof Q!="string"){const m=this[u]("http://localhost:9999");return this[N](Q,m),m}for(const[m,G]of Array.from(this[A]))if(G&&typeof m!="string"&&E(m,Q)){const O=this[u](Q);return this[N](Q,O),O[s]=G[s],O}}[C](){return this[f]}pendingInterceptors(){const Q=this[A];return Array.from(Q.entries()).flatMap(([p,m])=>m[s].map(G=>({...G,origin:p}))).filter(({pending:p})=>p)}assertNoPendingInterceptors({pendingInterceptorsFormatter:Q=new T}={}){const p=this.pendingInterceptors();if(p.length!==0)throw new U(p.length===1?`1 interceptor is pending:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
${Q.format(p)}`.trim())}}return Tr=R,Tr}var Lr,Xn;function ni(){if(Xn)return Lr;Xn=1;const{InvalidArgumentError:A}=VA(),{runtimeFeatures:I}=Et();function d(u={}){const{ignoreHeaders:c=[],excludeHeaders:t=[],matchHeaders:r=[],caseSensitive:e=!1}=u;return{ignore:new Set(c.map(n=>e?n:n.toLowerCase())),exclude:new Set(t.map(n=>e?n:n.toLowerCase())),match:new Set(r.map(n=>e?n:n.toLowerCase()))}}const N=I.has("crypto")?Ze:null,S=N?.hash?u=>N.hash("sha256",u,"base64url"):u=>Buffer.from(u).toString("base64url");function s(u){return Array.isArray(u)&&(u.length&1)===0}function a(u=[]){return u.length===0?()=>!1:function(c){let t;for(const r of u)if(typeof r=="string"){if(t||(t=c.toLowerCase()),t.includes(r.toLowerCase()))return!0}else if(r instanceof RegExp&&r.test(c))return!0;return!1}}function f(u){const c={};if(!u)return c;if(s(u)){for(let t=0;t<u.length;t+=2){const r=u[t],e=u[t+1];if(r&&e!==void 0){const n=Buffer.isBuffer(r)?r.toString():r,o=Buffer.isBuffer(e)?e.toString():e;c[n.toLowerCase()]=o}}return c}if(u&&typeof u=="object")for(const[t,r]of Object.entries(u))t&&typeof t=="string"&&(c[t.toLowerCase()]=Array.isArray(r)?r.join(", "):String(r));return c}const C=["record","playback","update"];function h(u){if(!C.includes(u))throw new A(`Invalid snapshot mode: ${u}. Must be one of: ${C.join(", ")}`)}return Lr={createHeaderFilters:d,hashId:S,isUndiciHeaders:s,normalizeHeaders:f,isUrlExcludedFactory:a,validateSnapshotMode:h},Lr}var Hr,jn;function Ki(){if(jn)return Hr;jn=1;const{writeFile:A,readFile:I,mkdir:d}=wi,{dirname:N,resolve:S}=Si,{setTimeout:s,clearTimeout:a}=Ri,{InvalidArgumentError:f,UndiciError:C}=VA(),{hashId:h,isUrlExcludedFactory:u,normalizeHeaders:c,createHeaderFilters:t}=ni();function r(E,i,y){if(i===!1)return`${E.origin}${E.pathname}`;if(y){const l=String(y(E.searchParams)??"");return l?`${E.origin}${E.pathname}?${l}`:`${E.origin}${E.pathname}`}return E.toString()}function e(E,i,y){return i===!1?"":y?String(y(E)??""):E?String(E):""}function n(E,i,y={}){const l=new URL(E.path,E.origin),B=E._normalizedHeaders||c(E.headers);return E._normalizedHeaders||(E._normalizedHeaders=B),{method:E.method||"GET",url:r(l,y.matchQuery,y.normalizeQuery),headers:o(B,i,y),body:e(E.body,y.matchBody,y.normalizeBody)}}function o(E,i,y={}){if(!E||typeof E!="object")return{};const{caseSensitive:l=!1}=y,B={},{ignore:U,exclude:M,match:T}=i;for(const[F,R]of Object.entries(E)){const k=l?F:F.toLowerCase();M.has(k)||U.has(k)||T.size!==0&&!T.has(k)||(B[k]=R)}return B}function g(E,i,y={}){if(!E||typeof E!="object")return{};const{caseSensitive:l=!1}=y,B={},{exclude:U}=i;for(const[M,T]of Object.entries(E)){const F=l?M:M.toLowerCase();U.has(F)||(B[F]=T)}return B}function D(E){const i=[E.method,E.url];if(E.headers&&typeof E.headers=="object"){const l=Object.keys(E.headers).sort();for(const B of l){const U=Array.isArray(E.headers[B])?E.headers[B]:[E.headers[B]];i.push(B);for(const M of U.sort())i.push(String(M))}}i.push(E.body);const y=i.join("|");return h(y)}class w{#A;#e;#t=new Map;#r;#n=1/0;#s=!1;#o;constructor(i={}){this.#r=i.snapshotPath,this.#n=i.maxSnapshots||1/0,this.#s=i.autoFlush||!1,this.flushInterval=i.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:i.matchHeaders||[],ignoreHeaders:i.ignoreHeaders||[],excludeHeaders:i.excludeHeaders||[],matchBody:i.matchBody!==!1,normalizeBody:i.normalizeBody||void 0,matchQuery:i.matchQuery!==!1,normalizeQuery:i.normalizeQuery||void 0,caseSensitive:i.caseSensitive||!1},this.#o=t(this.matchOptions),this.shouldRecord=i.shouldRecord||(()=>!0),this.shouldPlayback=i.shouldPlayback||(()=>!0),this.#e=u(i.excludeUrls),this.#s&&this.#r&&this.#i()}async record(i,y){if(!this.shouldRecord(i)||this.isUrlExcluded(i))return;const l=n(i,this.#o,this.matchOptions),B=D(l),U=c(y.headers),M={statusCode:y.statusCode,headers:g(U,this.#o,this.matchOptions),body:Buffer.isBuffer(y.body)?y.body.toString("base64"):Buffer.from(String(y.body||"")).toString("base64"),trailers:y.trailers};if(this.#t.size>=this.#n&&!this.#t.has(B)){const F=this.#t.keys().next().value;this.#t.delete(F)}const T=this.#t.get(B);T&&T.responses?(T.responses.push(M),T.timestamp=new Date().toISOString()):this.#t.set(B,{request:l,responses:[M],callCount:0,timestamp:new Date().toISOString()}),this.#s&&this.#r&&this.#g()}isUrlExcluded(i){const y=new URL(i.path,i.origin).toString();return this.#e(y)}findSnapshot(i){if(!this.shouldPlayback(i)||this.isUrlExcluded(i))return;const y=n(i,this.#o,this.matchOptions),l=D(y),B=this.#t.get(l);if(!B)return;const U=B.callCount||0,M=Math.min(U,B.responses.length-1);return B.callCount=U+1,{...B,response:B.responses[M]}}async loadSnapshots(i){const y=i||this.#r;if(!y)throw new f("Snapshot path is required");try{const l=await I(S(y),"utf8"),B=JSON.parse(l);if(Array.isArray(B)){this.#t.clear();for(const{hash:U,snapshot:M}of B)this.#t.set(U,M)}else this.#t=new Map(Object.entries(B))}catch(l){if(l.code==="ENOENT")this.#t.clear();else throw new C(`Failed to load snapshots from ${y}`,{cause:l})}}async saveSnapshots(i){const y=i||this.#r;if(!y)throw new f("Snapshot path is required");const l=S(y);await d(N(l),{recursive:!0});const B=Array.from(this.#t.entries()).map(([U,M])=>({hash:U,snapshot:M}));await A(l,JSON.stringify(B,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(const i of this.#t.values())i.callCount=0}deleteSnapshot(i){const y=n(i,this.#o,this.matchOptions),l=D(y);return this.#t.delete(l)}getSnapshotInfo(i){const y=n(i,this.#o,this.matchOptions),l=D(y),B=this.#t.get(l);return B?{hash:l,request:B.request,responseCount:B.responses?B.responses.length:B.response?1:0,callCount:B.callCount||0,timestamp:B.timestamp}:null}replaceSnapshots(i){if(this.#t.clear(),Array.isArray(i))for(const{hash:y,snapshot:l}of i)this.#t.set(y,l);else i&&typeof i=="object"&&(this.#t=new Map(Object.entries(i)))}#i(){return this.#g()}#a(){this.#A&&(a(this.#A),this.saveSnapshots().catch(()=>{}),this.#A=null)}#g(){this.#A=s(()=>{this.saveSnapshots().catch(()=>{}),this.#s?this.#A?.refresh():this.#A=null},1e3)}destroy(){this.#a(),this.#A&&(a(this.#A),this.#A=null)}async close(){this.#r&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}}return Hr={SnapshotRecorder:w,formatRequestKey:n,createRequestHash:D,filterHeadersForMatching:o,filterHeadersForStorage:g,createHeaderFilters:t},Hr}var Yr,zn;function $i(){if(zn)return Yr;zn=1;const A=Ke(),I=si(),{SnapshotRecorder:d}=Ki(),{InvalidArgumentError:N,UndiciError:S}=VA(),s=OA(),{validateSnapshotMode:a}=ni(),f=Symbol("kSnapshotRecorder"),C=Symbol("kSnapshotMode"),h=Symbol("kSnapshotPath"),u=Symbol("kSnapshotLoaded"),c=Symbol("kRealAgent");let t=!1;class r extends I{constructor(n={}){t||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),t=!0);const{mode:o="record",snapshotPath:g=null,...D}=n;if(super(D),a(o),(o==="playback"||o==="update")&&!g)throw new N(`snapshotPath is required when mode is '${o}'`);this[C]=o,this[h]=g,this[f]=new d({snapshotPath:this[h],mode:this[C],maxSnapshots:n.maxSnapshots,autoFlush:n.autoFlush,flushInterval:n.flushInterval,matchHeaders:n.matchHeaders,ignoreHeaders:n.ignoreHeaders,excludeHeaders:n.excludeHeaders,matchBody:n.matchBody,normalizeBody:n.normalizeBody,matchQuery:n.matchQuery,normalizeQuery:n.normalizeQuery,caseSensitive:n.caseSensitive,shouldRecord:n.shouldRecord,shouldPlayback:n.shouldPlayback,excludeUrls:n.excludeUrls}),this[u]=!1,(this[C]==="record"||this[C]==="update"||this[C]==="playback"&&n.excludeUrls&&n.excludeUrls.length>0)&&(this[c]=new A(n)),(this[C]==="playback"||this[C]==="update")&&this[h]&&this.loadSnapshots().catch(()=>{})}dispatch(n,o){const g=this[C];if(this[f].isUrlExcluded(n))return this[c].dispatch(n,o);if(g==="playback"||g==="update"){if(!this[u])return this.#A(n,o);const D=this[f].findSnapshot(n);if(D)return this.#t(D,o);if(g==="update")return this.#e(n,o);{const w=new S(`No snapshot found for ${n.method||"GET"} ${n.path}`);if(o.onResponseError){o.onResponseError(null,w);return}throw w}}else if(g==="record")return this.#e(n,o)}async#A(n,o){return await this.loadSnapshots(),this.dispatch(n,o)}#e(n,o){const g={statusCode:null,headers:{},trailers:{},body:[]},D=this,w={onRequestStart(E,i){return o.onRequestStart(E,{...i,history:this.history})},onRequestUpgrade(E,i,y,l){return o.onRequestUpgrade(E,i,y,l)},onResponseStart(E,i,y,l){return g.statusCode=i,g.headers=y,o.onResponseStart(E,i,y,l)},onResponseData(E,i){return g.body.push(i),o.onResponseData(E,i)},onResponseEnd(E,i){g.trailers=i;const y=Buffer.concat(g.body);D[f].record(n,{statusCode:g.statusCode,headers:g.headers,body:y,trailers:g.trailers}).then(()=>o.onResponseEnd(E,i)).catch(l=>o.onResponseError(E,l))},onResponseError(E,i){return o.onResponseError(E,i)}};return this[c].dispatch(n,w)}#t(n,o){try{const{response:g}=n,D=g.headers?s.toRawHeaders(g.headers):[],w=g.trailers?s.toRawHeaders(g.trailers):[],E={rawHeaders:D,rawTrailers:w,pause(){},resume(){},abort(y){this.aborted=!0,this.reason=y},aborted:!1,paused:!1};o.onRequestStart(E),o.onResponseStart(E,g.statusCode,g.headers,g.statusMessage);const i=Buffer.from(g.body,"base64");o.onResponseData(E,i),o.onResponseEnd(E,g.trailers)}catch(g){o.onResponseError?.(null,g)}}async loadSnapshots(n){await this[f].loadSnapshots(n||this[h]),this[u]=!0,this[C]==="playback"&&this.#r()}async saveSnapshots(n){return this[f].saveSnapshots(n||this[h])}#r(){for(const n of this[f].getSnapshots()){const{request:o,responses:g,response:D}=n,w=new URL(o.url),E=this.get(w.origin),i=g?g[0]:D;i&&E.intercept({path:w.pathname+w.search,method:o.method,headers:o.headers,body:o.body}).reply(i.statusCode,i.body,{headers:i.headers,trailers:i.trailers}).persist()}}getRecorder(){return this[f]}getMode(){return this[C]}clearSnapshots(){this[f].clear()}resetCallCounts(){this[f].resetCallCounts()}deleteSnapshot(n){return this[f].deleteSnapshot(n)}getSnapshotInfo(n){return this[f].getSnapshotInfo(n)}replaceSnapshots(n){this[f].replaceSnapshots(n)}async close(){this[C]==="playback"?this[f].destroy():await this[f].close(),await this[c]?.close(),await super.close()}}return Yr=r,Yr}var vr,Kn;function Ts(){if(Kn)return vr;Kn=1;const A=Symbol.for("undici.globalDispatcher.2"),I=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:d}=VA(),N=Ke(),S=jo();let s;f()===void 0&&a(new N);function a(h){if(!h||typeof h.dispatch!="function")throw new d("Argument agent must implement Agent");try{Object.defineProperty(globalThis,A,{value:h,writable:!0,enumerable:!1,configurable:!1})}catch(u){if(u instanceof TypeError){s=h;return}throw u}try{const u=h instanceof S?h:new S(h);Object.defineProperty(globalThis,I,{value:u,writable:!0,enumerable:!1,configurable:!1})}catch(u){if(!(u instanceof TypeError))throw u}}function f(){return globalThis[A]??s}return vr={setGlobalDispatcher:a,getGlobalDispatcher:f,installedExports:["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"]},vr}var Gr,$n;function Qt(){if($n)return Gr;$n=1;const A=_A;return Gr=class{#A;#e=!1;#t=!1;#r=!1;constructor(I){if(typeof I!="object"||I===null)throw new TypeError("handler must be an object");this.#A=I}onRequestStart(...I){this.#A.onRequestStart?.(...I)}onRequestUpgrade(...I){return A(!this.#e),A(!this.#t),this.#A.onRequestUpgrade?.(...I)}onResponseStart(...I){return A(!this.#e),A(!this.#t),A(!this.#r),this.#r=!0,this.#A.onResponseStart?.(...I)}onResponseData(...I){return A(!this.#e),A(!this.#t),this.#A.onResponseData?.(...I)}onResponseEnd(...I){return A(!this.#e),A(!this.#t),this.#e=!0,this.#A.onResponseEnd?.(...I)}onResponseError(...I){return this.#t=!0,this.#A.onResponseError?.(...I)}onBodySent(){}},Gr}var Vr,Ao;function oi(){if(Ao)return Vr;Ao=1;const A=OA(),I=_A,{InvalidArgumentError:d}=VA(),N=[300,301,302,303,307,308],S=()=>{};class s{static buildDispatch(u,c){if(c!=null&&(!Number.isInteger(c)||c<0))throw new d("maxRedirections must be a positive number");const t=u.dispatch.bind(u);return(r,e)=>t(r,new s(t,c,r,e))}constructor(u,c,t,r){if(c!=null&&(!Number.isInteger(c)||c<0))throw new d("maxRedirections must be a positive number");if(t.throwOnMaxRedirect!=null&&typeof t.throwOnMaxRedirect!="boolean")throw new d("throwOnMaxRedirect must be a boolean");this.dispatch=u,this.location=null;const{maxRedirections:e,stripHeadersOnRedirect:n,stripHeadersOnCrossOriginRedirect:o,...g}=t;this.opts=g,this.opts.body=A.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=f(n,"stripHeadersOnRedirect"),this.stripHeadersOnCrossOriginRedirect=f(o,"stripHeadersOnCrossOriginRedirect"),this.maxRedirections=c,this.handler=r,this.history=[]}onRequestStart(u,c){this.handler.onRequestStart?.(u,{...c,history:this.history})}onRequestUpgrade(u,c,t,r){this.handler.onRequestUpgrade?.(u,c,t,r)}onResponseStart(u,c,t,r){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");let e=c===303;if((c===301||c===302)&&this.opts.method==="POST"&&(this.opts.method="GET",A.isStream(this.opts.body)&&A.destroy(this.opts.body.on("error",S)),this.opts.body=null,e=!0),c===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",A.isStream(this.opts.body)&&A.destroy(this.opts.body.on("error",S)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||A.isDisturbed(this.opts.body)||N.indexOf(c)===-1?null:t.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(u,c,t,r);return}const{origin:n,pathname:o,search:g}=A.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),D=g?`${o}${g}`:o,w=`${n}${D}`;for(const E of this.history)if(E.toString()===w)throw new d(`Redirect loop detected. Cannot redirect to ${n}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=C(this.opts.headers,e,this.opts.origin!==n,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=D,this.opts.origin=n,this.opts.query=null}onResponseData(u,c){this.location||this.handler.onResponseData?.(u,c)}onResponseEnd(u,c){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(u,c)}onResponseError(u,c){this.handler.onResponseError?.(u,c)}}function a(h,u,c,t,r){const e=A.headerNameToString(h);return e==="host"||t?.has(e)||c&&r?.has(e)||u&&e.startsWith("content-")?!0:c?e==="authorization"||e==="cookie"||e==="proxy-authorization":!1}function f(h,u){if(h==null)return null;if(!Array.isArray(h))throw new d(`${u} must be an array`);const c=new Set;for(const t of h){if(typeof t!="string")throw new d(`${u} must contain header names`);c.add(A.headerNameToString(t))}return c}function C(h,u,c,t,r){const e=[];if(Array.isArray(h))for(let n=0;n<h.length;n+=2)a(h[n],u,c,t,r)||e.push(h[n],h[n+1]);else if(h&&typeof h=="object"){const n=A.hasSafeIterator(h)?h:Object.entries(h);for(const[o,g]of n)a(o,u,c,t,r)||e.push(o,g)}else I(h==null,"headers must be an object or an array");return e}return Vr=s,Vr}var Or,eo;function Aa(){if(eo)return Or;eo=1;const A=oi();function I({maxRedirections:d,throwOnMaxRedirect:N,stripHeadersOnRedirect:S,stripHeadersOnCrossOriginRedirect:s}={}){return a=>function(f,C){const{maxRedirections:h=d,throwOnMaxRedirect:u=N,stripHeadersOnRedirect:c=S,stripHeadersOnCrossOriginRedirect:t=s,...r}=f;if(h==null||h===0)return a(f,C);const e={...r,throwOnMaxRedirect:u,stripHeadersOnRedirect:c,stripHeadersOnCrossOriginRedirect:t},n=new A(a,h,e,C);return a(e,n)}}return Or=I,Or}var Jr,to;function ea(){if(to)return Jr;to=1;const A=Qt(),{ResponseError:I}=VA();class d extends A{#A;#e;#t;#r;#n;constructor(S,{handler:s}){super(s)}#s(S){return(this.#e??"").indexOf(S)===0}onRequestStart(S,s){return this.#A=0,this.#e=null,this.#t=null,this.#r=null,this.#n="",super.onRequestStart(S,s)}onResponseStart(S,s,a,f){if(this.#A=s,this.#r=a,this.#e=a["content-type"],this.#A<400)return super.onResponseStart(S,s,a,f);(this.#s("application/json")||this.#s("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(S,s){if(this.#A<400)return super.onResponseData(S,s);this.#n+=this.#t?.decode(s,{stream:!0})??""}onResponseEnd(S,s){if(this.#A>=400){if(this.#n+=this.#t?.decode(void 0,{stream:!1})??"",this.#s("application/json"))try{this.#n=JSON.parse(this.#n)}catch{}let a;const f=Error.stackTraceLimit;Error.stackTraceLimit=0;try{a=new I("Response Error",this.#A,{body:this.#n,headers:this.#r})}finally{Error.stackTraceLimit=f}super.onResponseError(S,a)}else super.onResponseEnd(S,s)}onResponseError(S,s){super.onResponseError(S,s)}}return Jr=()=>N=>function(S,s){return N(S,new d(S,{handler:s}))},Jr}var xr,ro;function ta(){if(ro)return xr;ro=1;const A=Ms();return xr=I=>d=>function(N,S){return d(N,new A({...N,retryOptions:{...I,...N.retryOptions}},{handler:S,dispatch:d}))},xr}var Wr,so;function ra(){if(so)return Wr;so=1;const{InvalidArgumentError:A,RequestAbortedError:I}=VA(),d=Qt();class N extends d{#A=1024*1024;#e=!1;#t=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:a,signal:f},C){if(a!=null&&(!Number.isFinite(a)||a<1))throw new A("maxSize must be a number greater than 0");super(C),this.#A=a??this.#A}#n(a){this.aborted=!0,this.reason=a}onRequestStart(a,f){return a.abort=this.#n.bind(this),this.#r=a,super.onRequestStart(a,f)}onResponseStart(a,f,C,h){const u=C["content-length"];if(u!=null&&u>this.#A)throw new I(`Response size (${u}) larger than maxSize (${this.#A})`);return this.aborted===!0?!0:super.onResponseStart(a,f,C,h)}onResponseError(a,f){this.#e||(f=this.#r?.reason??f,super.onResponseError(a,f))}onResponseData(a,f){return this.#t=this.#t+f.length,this.#t>=this.#A&&(this.#e=!0,this.aborted===!0?super.onResponseError(a,this.reason):super.onResponseEnd(a,{})),!0}onResponseEnd(a,f){if(!this.#e){if(this.#r.aborted===!0){super.onResponseError(a,this.reason);return}super.onResponseEnd(a,f)}}}function S({maxSize:s}={maxSize:1024*1024}){return a=>function(f,C){const{dumpMaxSize:h=s}=f,u=new N({maxSize:h,signal:f.signal},C);return a(f,u)}}return Wr=S,Wr}var qr,no;function sa(){if(no)return qr;no=1;const{isIP:A}=gt,{lookup:I}=Ni,d=Qt(),{InvalidArgumentError:N,InformationalError:S}=VA(),s=Math.pow(2,31)-1;function a(e){const n=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||n!=null&&n!==Object.prototype&&typeof e[Symbol.iterator]=="function"}function f(e){return typeof e=="string"&&e.toLowerCase()==="host"}function C(e){if(e==null)return null;if(Array.isArray(e)){if(e.length===0||!Array.isArray(e[0]))return e;const n=[];for(const o of e)Array.isArray(o)&&o.length===2?n.push(o[0],o[1]):n.push(o);return n}if(typeof e=="object"&&a(e)){const n=[];for(const o of e)Array.isArray(o)&&o.length===2?n.push(o[0],o[1]):n.push(o);return n}return e}function h(e){if(e==null)return!1;if(Array.isArray(e)){if(e.length===0)return!1;for(let n=0;n<e.length;n+=2)if(f(e[n]))return!0;return!1}if(typeof e=="object"){for(const n in e)if(f(n))return!0}return!1}function u(e,n){const o=C(n);return h(o)?o:Array.isArray(o)?["host",e,...o]:o&&typeof o=="object"?{host:e,...o}:{host:e}}class c{#A=0;#e=new Map;constructor(n){this.#A=n.maxItems}get size(){return this.#e.size}get(n){return this.#e.get(n)??null}set(n,o){this.#e.set(n,o)}delete(n){this.#e.delete(n)}full(){return this.size>=this.#A}}class t{#A=0;#e=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(n){this.#A=n.maxTTL,this.#e=n.maxItems,this.dualStack=n.dualStack,this.affinity=n.affinity,this.lookup=n.lookup??this.#t,this.pick=n.pick??this.#r,this.storage=n.storage??new c(n)}runLookup(n,o,g){const D=this.storage.get(n.hostname);if(D==null&&this.storage.full()){g(null,n);return}const w={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...o.dns,maxTTL:this.#A,maxItems:this.#e};if(D==null)this.lookup(n,w,(E,i)=>{if(E||i==null||i.length===0){g(E??new S("No DNS entries found"));return}this.setRecords(n,i);const y=this.storage.get(n.hostname),l=this.pick(n,y,w.affinity);let B;typeof l.port=="number"?B=`:${l.port}`:n.port!==""?B=`:${n.port}`:B="",g(null,new URL(`${n.protocol}//${l.family===6?`[${l.address}]`:l.address}${B}`))});else{const E=this.pick(n,D,w.affinity);if(E==null){this.storage.delete(n.hostname),this.runLookup(n,o,g);return}let i;typeof E.port=="number"?i=`:${E.port}`:n.port!==""?i=`:${n.port}`:i="",g(null,new URL(`${n.protocol}//${E.family===6?`[${E.address}]`:E.address}${i}`))}}#t(n,o,g){I(n.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(D,w)=>{if(D)return g(D);const E=new Map;for(const i of w)E.set(`${i.address}:${i.family}`,i);g(null,E.values())})}#r(n,o,g){let D=null;const{records:w,offset:E}=o;let i;if(this.dualStack?(g==null&&(E==null||E===s?(o.offset=0,g=4):(o.offset++,g=(o.offset&1)===1?6:4)),w[g]!=null&&w[g].ips.length>0?i=w[g]:i=w[g===4?6:4]):i=w[g],i==null||i.ips.length===0)return D;i.offset==null||i.offset===s?i.offset=0:i.offset++;const y=i.offset%i.ips.length;return D=i.ips[y]??null,D==null?D:Date.now()-D.timestamp>D.ttl?(i.ips.splice(y,1),this.pick(n,o,g)):D}pickFamily(n,o){const g=this.storage.get(n.hostname)?.records;if(!g)return null;const D=g[o];if(!D)return null;D.offset==null||D.offset===s?D.offset=0:D.offset++;const w=D.offset%D.ips.length,E=D.ips[w]??null;return E==null||Date.now()-E.timestamp>E.ttl&&D.ips.splice(w,1),E}setRecords(n,o){const g=Date.now(),D={records:{4:null,6:null}};let w=this.#A;for(const E of o){E.timestamp=g,typeof E.ttl=="number"?(E.ttl=Math.min(E.ttl,this.#A),w=Math.min(w,E.ttl)):E.ttl=this.#A;const i=D.records[E.family]??{ips:[]};i.ips.push(E),D.records[E.family]=i}this.storage.set(n.hostname,D,{ttl:w})}deleteRecords(n){this.storage.delete(n.hostname)}getHandler(n,o){return new r(this,n,o)}}class r extends d{#A=null;#e=null;#t=null;#r=null;#n=null;#s=null;#o=!0;constructor(n,{origin:o,handler:g,dispatch:D,newOrigin:w},E){super(g),this.#r=o,this.#s=w,this.#e={...E},this.#A=n,this.#t=D}onResponseError(n,o){switch(o.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#A.dualStack){if(!this.#o){super.onResponseError(n,o);return}this.#o=!1;const g=this.#s.hostname[0]==="["?4:6,D=this.#A.pickFamily(this.#r,g);if(D==null){super.onResponseError(n,o);return}let w;typeof D.port=="number"?w=`:${D.port}`:this.#r.port!==""?w=`:${this.#r.port}`:w="";const E={...this.#e,origin:`${this.#r.protocol}//${D.family===6?`[${D.address}]`:D.address}${w}`,headers:u(this.#r.host,this.#e.headers)};this.#t(E,this);return}super.onResponseError(n,o);break}case"ENOTFOUND":this.#A.deleteRecords(this.#r),super.onResponseError(n,o);break;default:super.onResponseError(n,o);break}}}return qr=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new N("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new N("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new N("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new N("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new N("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new N("Invalid pick. Must be a function");if(e?.storage!=null&&(typeof e?.storage?.get!="function"||typeof e?.storage?.set!="function"||typeof e?.storage?.full!="function"||typeof e?.storage?.delete!="function"))throw new N("Invalid storage. Must be a object with methods: { get, set, full, delete }");const n=e?.dualStack??!0;let o;n?o=e?.affinity??null:o=e?.affinity??4;const g={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:n,affinity:o,maxItems:e?.maxItems??1/0,storage:e?.storage},D=new t(g);return w=>function(E,i){if(E.origin==null)return w(E,i);const y=E.origin.constructor===URL?E.origin:new URL(E.origin);return A(y.hostname)!==0?w(E,i):(D.runLookup(y,E,(l,B)=>{if(l)return i.onResponseError(null,l);const U={...E,servername:y.hostname,origin:B.origin,headers:u(y.host,E.headers)};w(U,D.getHandler({origin:y,dispatch:w,handler:i,newOrigin:B},E))}),!0)}},qr}var Pr,oo;function It(){if(oo)return Pr;oo=1;const{safeHTTPMethods:A,pathHasQueryOrFragment:I,hasSafeIterator:d,isValidHTTPToken:N}=OA(),{serializePathWithQuery:S}=OA(),s=2147483647,a=["no-store","private","no-cache"],f=Symbol("invalid cache-control directives");function C(Q){return Q.replace(/^[\t ]+|[\t ]+$/g,"")}function h(Q,p){for(let m=0;m<Q.length;m++)if(Q[m]===p)return!0;return!1}function u(Q){return Q.replace(/^[\t ]+/,"")}function c(Q){return Q.replace(/[\t ]+$/,"")}function t(Q,p){let m=!1;for(let G=p;G<Q.length;G++)if(m)m=!1;else if(Q[G]==="\\")m=!0;else if(Q[G]==='"')return G;return-1}function r(Q){const p=[];let m=0,G=-1,O=!1,Y=!1;for(let $=0;$<Q.length;$++)O?Y?Y=!1:Q[$]==="\\"?Y=!0:Q[$]==='"'&&(O=!1,G=-1):Q[$]==='"'?(O=!0,G=$):Q[$]===","&&(p.push({value:Q.substring(m,$),fromMalformedQuote:!1}),m=$+1);if(!O)return p.push({value:Q.substring(m),fromMalformedQuote:!1}),p;const Z=Q.substring(m),tA=G-m;let lA=0;for(let $=0;$<Z.length;$++)Z[$]===","&&(p.push({value:Z.substring(lA,$),fromMalformedQuote:lA>tA}),lA=$+1);return p.push({value:Z.substring(lA),fromMalformedQuote:lA>tA}),p}function e(Q,p){let m=Q[f];m===void 0&&(m=new Set,Object.defineProperty(Q,f,{value:m})),m.add(p)}function n(Q,p){return Q[f]?.has(p)===!0}function o(Q){for(const G of a)if(Q.startsWith(G)&&Q.length>G.length&&!N(Q[G.length]))return G;let p="",m=!1;for(let G=0;G<Q.length;G++)N(Q[G])?p+=Q[G]:m=!0;if(m&&h(a,p))return p}function g(Q){const p=Q.origin?Q.origin.toString():"";let m=Q.path||"/";return Q.query&&!I(m)&&(m=S(m,Q.query)),{origin:p,method:Q.method,path:m,headers:Q.headers}}function D(Q,p,m){const G=p.toLowerCase(),O=Q[G],Y=Array.isArray(m)?m:[m];O===void 0?Q[G]=Array.isArray(m)?m.slice():m:Array.isArray(O)?O.push(...Y):Q[G]=[O,...Y]}function w(Q){let p;if(Q.headers==null)p={};else if(typeof Q.headers=="object")if(p={},d(Q.headers))if(Array.isArray(Q.headers)){const m=Q.headers[0];if(Array.isArray(m))for(const G of Q.headers){if(!Array.isArray(G))throw new Error("opts.headers is not a valid header map");const[O,Y]=G;if(typeof O!="string"||typeof Y!="string")throw new Error("opts.headers is not a valid header map");D(p,O,Y)}else{const G=Q.headers.length;if(G%2!==0)throw new Error("opts.headers is not a valid header map");for(let O=0;O<G;O+=2){const Y=Q.headers[O],Z=Q.headers[O+1];if(typeof Y!="string"||typeof Z!="string"&&!Array.isArray(Z))throw new Error("opts.headers is not a valid header map");if(typeof Z=="string")D(p,Y,Z);else{const tA=[];for(let lA=0;lA<Z.length;lA++){const $=Z[lA];tA.push(typeof $=="string"?$:$.toString("latin1"))}D(p,Y,tA)}}}}else for(const m of Q.headers){if(!Array.isArray(m))throw new Error("opts.headers is not a valid header map");const[G,O]=m;if(typeof G!="string"||typeof O!="string")throw new Error("opts.headers is not a valid header map");D(p,G,O)}else for(const m of Object.keys(Q.headers))D(p,m,Q.headers[m]);else throw new Error("opts.headers is not an object");return p}function E(Q){if(typeof Q!="object")throw new TypeError(`expected key to be object, got ${typeof Q}`);for(const p of["origin","method","path"])if(typeof Q[p]!="string")throw new TypeError(`expected key.${p} to be string, got ${typeof Q[p]}`);if(Q.headers!==void 0&&typeof Q.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof Q}`)}function i(Q){if(typeof Q!="object")throw new TypeError(`expected value to be object, got ${typeof Q}`);for(const p of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof Q[p]!="number")throw new TypeError(`expected value.${p} to be number, got ${typeof Q[p]}`);if(typeof Q.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof Q.statusMessage}`);if(Q.headers!=null&&typeof Q.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof Q.headers}`);if(Q.vary!==void 0&&typeof Q.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof Q.vary}`);if(Q.etag!==void 0&&typeof Q.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof Q.etag}`)}function y(Q){const p={},m=new Set,G=new Set,O=r(Array.isArray(Q)?Q.join(","):Q);for(let Y=0;Y<O.length;Y++){const Z=O[Y],tA=Z.value.toLowerCase(),lA=Z.fromMalformedQuote,$=tA.indexOf("=");let J,V,X=!1,j=!1;if($!==-1){const gA=tA.substring(0,$),rA=tA.substring($+1);X=c(gA)!==gA,j=u(rA)!==rA,J=C(gA),V=u(rA)}else J=C(tA);const nA=o(J);if(nA!==void 0){p[nA]=!0;continue}switch(J){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(lA||m.has(J))continue;if(V===void 0||X||j){delete p[J],m.add(J),e(p,J);continue}if(V.length>=2&&V[0]==='"'&&V[V.length-1]==='"'&&(V=V.substring(1,V.length-1)),!/^[0-9]+$/.test(V)){delete p[J],m.add(J),e(p,J);continue}const gA=Math.min(parseInt(V,10),s);J==="min-fresh"?(!(J in p)||p[J]<gA)&&(p[J]=gA):(!(J in p)||p[J]>gA)&&(p[J]=gA);break}case"private":case"no-cache":{if(lA){p[J]=!0;break}if(V!==void 0&&V.length===0){p[J]=!0;break}if(V){if(V[0]==='"'){V=c(V);let gA="",rA=Y,DA=!1;const kA=t(V,1);if(kA!==-1)gA=V.substring(1,kA),DA=!0;else{const v=[V.substring(1)];for(let iA=Y+1;iA<O.length;iA++){const AA=C(O[iA].value),dA=t(AA,0);if(rA=iA,dA!==-1){v.push(AA.substring(0,dA)),DA=!0;break}v.push(AA)}gA=v.join(",")}if(!DA){p[J]=!0;break}Y=rA;const mA=gA.split(",");let aA=!0;for(let v=0;v<mA.length;v++)mA[v]=C(mA[v]),N(mA[v])||(aA=!1);aA?p[J]!==!0&&(J in p?p[J]=p[J].concat(mA):p[J]=mA):p[J]=!0}else{const gA=C(V);N(gA)?p[J]!==!0&&(J in p?p[J]=p[J].concat(gA):p[J]=[gA]):p[J]=!0}break}}case"public":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(lA||G.has(J))continue;if(V!==void 0){delete p[J],G.add(J);continue}p[J]=!0;break;case"no-store":p[J]=!0;break;default:continue}}return p}function l(Q){const p=Array.isArray(Q)?Q:[Q],m=[];for(let G=0;G<p.length;G++){const O=p[G].split(",");for(let Y=0;Y<O.length;Y++)m.push(O[Y])}return m}function B(Q){const p=l(Q);for(let m=0;m<p.length;m++)if(C(p[m]).indexOf("*")!==-1)return!0;return!1}function U(Q,p){if(B(Q))return p;const m={},G=l(Q);for(const O of G){const Y=C(O).toLowerCase();if(Y.length===0)continue;if(!N(Y))return;const Z=p[Y];m[Y]=Array.isArray(Z)?Z.slice():Z??null}return m}function M(Q){return B(Q)||U(Q,{})===void 0}function T(Q){return Q.length<=2?!1:Q[0]==='"'&&Q[Q.length-1]==='"'?!(Q[1]==='"'||Q.startsWith('"W/')):Q.startsWith('W/"')&&Q[Q.length-1]==='"'?Q.length!==4:!1}function F(Q,p="CacheStore"){if(typeof Q!="object"||Q===null)throw new TypeError(`expected type of ${p} to be a CacheStore, got ${Q===null?"null":typeof Q}`);for(const m of["get","createWriteStream","delete"])if(typeof Q[m]!="function")throw new TypeError(`${p} needs to have a \`${m}()\` function`)}function R(Q,p="CacheMethods"){if(!Array.isArray(Q))throw new TypeError(`expected type of ${p} needs to be an array, got ${Q===null?"null":typeof Q}`);if(Q.length===0)throw new TypeError(`${p} needs to have at least one method`);for(const m of Q)if(!h(A,m))throw new TypeError(`element of ${p}-array needs to be one of following values: ${A.join(", ")}, got ${m}`)}function k(Q,p){const m={};if(Q.headers){const G=Object.keys(Q.headers).sort();for(const O of G)p?.has(O.toLowerCase())||(m[O]=Q.headers[O])}return JSON.stringify([Q.origin,Q.method,Q.path,m])}return Pr={makeCacheKey:g,normalizeHeaders:w,assertCacheKey:E,assertCacheValue:i,parseCacheControlHeader:y,hasInvalidCacheControlDirective:n,parseVaryHeader:U,hasVaryStar:B,isInvalidOrWildcardVaryHeader:M,isEtagUsable:T,assertCacheMethods:R,assertCacheStore:F,makeDeduplicationKey:k},Pr}var _r,io;function ii(){if(io)return _r;io=1;function A(s){switch(s[3]){case",":return d(s);case" ":return N(s);default:return S(s)}}function I(s,a,f,C,h,u,c){const t=new Date(Date.UTC(s,a,f,C,h,u));return s>=0&&s<=99&&t.setUTCFullYear(s),t.getUTCFullYear()===s&&t.getUTCMonth()===a&&t.getUTCDate()===f&&t.getUTCHours()===C&&t.getUTCMinutes()===h&&t.getUTCSeconds()===u&&t.getUTCDay()===c?t:void 0}function d(s){if(s.length!==29||s[4]!==" "||s[7]!==" "||s[11]!==" "||s[16]!==" "||s[19]!==":"||s[22]!==":"||s[25]!==" "||s[26]!=="G"||s[27]!=="M"||s[28]!=="T")return;let a=-1;if(s[0]==="S"&&s[1]==="u"&&s[2]==="n")a=0;else if(s[0]==="M"&&s[1]==="o"&&s[2]==="n")a=1;else if(s[0]==="T"&&s[1]==="u"&&s[2]==="e")a=2;else if(s[0]==="W"&&s[1]==="e"&&s[2]==="d")a=3;else if(s[0]==="T"&&s[1]==="h"&&s[2]==="u")a=4;else if(s[0]==="F"&&s[1]==="r"&&s[2]==="i")a=5;else if(s[0]==="S"&&s[1]==="a"&&s[2]==="t")a=6;else return;let f=0;if(s[5]==="0"){const g=s.charCodeAt(6);if(g<49||g>57)return;f=g-48}else{const g=s.charCodeAt(5);if(g<49||g>51)return;const D=s.charCodeAt(6);if(D<48||D>57)return;f=(g-48)*10+(D-48)}let C=-1;if(s[8]==="J"&&s[9]==="a"&&s[10]==="n")C=0;else if(s[8]==="F"&&s[9]==="e"&&s[10]==="b")C=1;else if(s[8]==="M"&&s[9]==="a")if(s[10]==="r")C=2;else if(s[10]==="y")C=4;else return;else if(s[8]==="J")if(s[9]==="a"&&s[10]==="n")C=0;else if(s[9]==="u")if(s[10]==="n")C=5;else if(s[10]==="l")C=6;else return;else return;else if(s[8]==="A")if(s[9]==="p"&&s[10]==="r")C=3;else if(s[9]==="u"&&s[10]==="g")C=7;else return;else if(s[8]==="S"&&s[9]==="e"&&s[10]==="p")C=8;else if(s[8]==="O"&&s[9]==="c"&&s[10]==="t")C=9;else if(s[8]==="N"&&s[9]==="o"&&s[10]==="v")C=10;else if(s[8]==="D"&&s[9]==="e"&&s[10]==="c")C=11;else return;const h=s.charCodeAt(12);if(h<48||h>57)return;const u=s.charCodeAt(13);if(u<48||u>57)return;const c=s.charCodeAt(14);if(c<48||c>57)return;const t=s.charCodeAt(15);if(t<48||t>57)return;const r=(h-48)*1e3+(u-48)*100+(c-48)*10+(t-48);let e=0;if(s[17]==="0"){const g=s.charCodeAt(18);if(g<48||g>57)return;e=g-48}else{const g=s.charCodeAt(17);if(g<48||g>50)return;const D=s.charCodeAt(18);if(D<48||D>57||g===50&&D>51)return;e=(g-48)*10+(D-48)}let n=0;if(s[20]==="0"){const g=s.charCodeAt(21);if(g<48||g>57)return;n=g-48}else{const g=s.charCodeAt(20);if(g<48||g>53)return;const D=s.charCodeAt(21);if(D<48||D>57)return;n=(g-48)*10+(D-48)}let o=0;if(s[23]==="0"){const g=s.charCodeAt(24);if(g<48||g>57)return;o=g-48}else{const g=s.charCodeAt(23);if(g<48||g>53)return;const D=s.charCodeAt(24);if(D<48||D>57)return;o=(g-48)*10+(D-48)}return I(r,C,f,e,n,o,a)}function N(s){if(s.length!==24||s[7]!==" "||s[10]!==" "||s[19]!==" ")return;let a=-1;if(s[0]==="S"&&s[1]==="u"&&s[2]==="n")a=0;else if(s[0]==="M"&&s[1]==="o"&&s[2]==="n")a=1;else if(s[0]==="T"&&s[1]==="u"&&s[2]==="e")a=2;else if(s[0]==="W"&&s[1]==="e"&&s[2]==="d")a=3;else if(s[0]==="T"&&s[1]==="h"&&s[2]==="u")a=4;else if(s[0]==="F"&&s[1]==="r"&&s[2]==="i")a=5;else if(s[0]==="S"&&s[1]==="a"&&s[2]==="t")a=6;else return;let f=-1;if(s[4]==="J"&&s[5]==="a"&&s[6]==="n")f=0;else if(s[4]==="F"&&s[5]==="e"&&s[6]==="b")f=1;else if(s[4]==="M"&&s[5]==="a")if(s[6]==="r")f=2;else if(s[6]==="y")f=4;else return;else if(s[4]==="J")if(s[5]==="a"&&s[6]==="n")f=0;else if(s[5]==="u")if(s[6]==="n")f=5;else if(s[6]==="l")f=6;else return;else return;else if(s[4]==="A")if(s[5]==="p"&&s[6]==="r")f=3;else if(s[5]==="u"&&s[6]==="g")f=7;else return;else if(s[4]==="S"&&s[5]==="e"&&s[6]==="p")f=8;else if(s[4]==="O"&&s[5]==="c"&&s[6]==="t")f=9;else if(s[4]==="N"&&s[5]==="o"&&s[6]==="v")f=10;else if(s[4]==="D"&&s[5]==="e"&&s[6]==="c")f=11;else return;let C=0;if(s[8]===" "){const g=s.charCodeAt(9);if(g<49||g>57)return;C=g-48}else{const g=s.charCodeAt(8);if(g<49||g>51)return;const D=s.charCodeAt(9);if(D<48||D>57)return;C=(g-48)*10+(D-48)}let h=0;if(s[11]==="0"){const g=s.charCodeAt(12);if(g<48||g>57)return;h=g-48}else{const g=s.charCodeAt(11);if(g<48||g>50)return;const D=s.charCodeAt(12);if(D<48||D>57||g===50&&D>51)return;h=(g-48)*10+(D-48)}let u=0;if(s[14]==="0"){const g=s.charCodeAt(15);if(g<48||g>57)return;u=g-48}else{const g=s.charCodeAt(14);if(g<48||g>53)return;const D=s.charCodeAt(15);if(D<48||D>57)return;u=(g-48)*10+(D-48)}let c=0;if(s[17]==="0"){const g=s.charCodeAt(18);if(g<48||g>57)return;c=g-48}else{const g=s.charCodeAt(17);if(g<48||g>53)return;const D=s.charCodeAt(18);if(D<48||D>57)return;c=(g-48)*10+(D-48)}const t=s.charCodeAt(20);if(t<48||t>57)return;const r=s.charCodeAt(21);if(r<48||r>57)return;const e=s.charCodeAt(22);if(e<48||e>57)return;const n=s.charCodeAt(23);if(n<48||n>57)return;const o=(t-48)*1e3+(r-48)*100+(e-48)*10+(n-48);return I(o,f,C,h,u,c,a)}function S(s){let a=-1,f=-1;if(s[0]==="S")s[1]==="u"&&s[2]==="n"&&s[3]==="d"&&s[4]==="a"&&s[5]==="y"?(f=0,a=6):s[1]==="a"&&s[2]==="t"&&s[3]==="u"&&s[4]==="r"&&s[5]==="d"&&s[6]==="a"&&s[7]==="y"&&(f=6,a=8);else if(s[0]==="M"&&s[1]==="o"&&s[2]==="n"&&s[3]==="d"&&s[4]==="a"&&s[5]==="y")f=1,a=6;else if(s[0]==="T")s[1]==="u"&&s[2]==="e"&&s[3]==="s"&&s[4]==="d"&&s[5]==="a"&&s[6]==="y"?(f=2,a=7):s[1]==="h"&&s[2]==="u"&&s[3]==="r"&&s[4]==="s"&&s[5]==="d"&&s[6]==="a"&&s[7]==="y"&&(f=4,a=8);else if(s[0]==="W"&&s[1]==="e"&&s[2]==="d"&&s[3]==="n"&&s[4]==="e"&&s[5]==="s"&&s[6]==="d"&&s[7]==="a"&&s[8]==="y")f=3,a=9;else if(s[0]==="F"&&s[1]==="r"&&s[2]==="i"&&s[3]==="d"&&s[4]==="a"&&s[5]==="y")f=5,a=6;else return;if(s[a]!==","||s.length-a-1!==23||s[a+1]!==" "||s[a+4]!=="-"||s[a+8]!=="-"||s[a+11]!==" "||s[a+14]!==":"||s[a+17]!==":"||s[a+20]!==" "||s[a+21]!=="G"||s[a+22]!=="M"||s[a+23]!=="T")return;let C=0;if(s[a+2]==="0"){const o=s.charCodeAt(a+3);if(o<49||o>57)return;C=o-48}else{const o=s.charCodeAt(a+2);if(o<49||o>51)return;const g=s.charCodeAt(a+3);if(g<48||g>57)return;C=(o-48)*10+(g-48)}let h=-1;if(s[a+5]==="J"&&s[a+6]==="a"&&s[a+7]==="n")h=0;else if(s[a+5]==="F"&&s[a+6]==="e"&&s[a+7]==="b")h=1;else if(s[a+5]==="M"&&s[a+6]==="a"&&s[a+7]==="r")h=2;else if(s[a+5]==="A"&&s[a+6]==="p"&&s[a+7]==="r")h=3;else if(s[a+5]==="M"&&s[a+6]==="a"&&s[a+7]==="y")h=4;else if(s[a+5]==="J"&&s[a+6]==="u"&&s[a+7]==="n")h=5;else if(s[a+5]==="J"&&s[a+6]==="u"&&s[a+7]==="l")h=6;else if(s[a+5]==="A"&&s[a+6]==="u"&&s[a+7]==="g")h=7;else if(s[a+5]==="S"&&s[a+6]==="e"&&s[a+7]==="p")h=8;else if(s[a+5]==="O"&&s[a+6]==="c"&&s[a+7]==="t")h=9;else if(s[a+5]==="N"&&s[a+6]==="o"&&s[a+7]==="v")h=10;else if(s[a+5]==="D"&&s[a+6]==="e"&&s[a+7]==="c")h=11;else return;const u=s.charCodeAt(a+9);if(u<48||u>57)return;const c=s.charCodeAt(a+10);if(c<48||c>57)return;let t=(u-48)*10+(c-48);t+=t<70?2e3:1900;let r=0;if(s[a+12]==="0"){const o=s.charCodeAt(a+13);if(o<48||o>57)return;r=o-48}else{const o=s.charCodeAt(a+12);if(o<48||o>50)return;const g=s.charCodeAt(a+13);if(g<48||g>57||o===50&&g>51)return;r=(o-48)*10+(g-48)}let e=0;if(s[a+15]==="0"){const o=s.charCodeAt(a+16);if(o<48||o>57)return;e=o-48}else{const o=s.charCodeAt(a+15);if(o<48||o>53)return;const g=s.charCodeAt(a+16);if(g<48||g>57)return;e=(o-48)*10+(g-48)}let n=0;if(s[a+18]==="0"){const o=s.charCodeAt(a+19);if(o<48||o>57)return;n=o-48}else{const o=s.charCodeAt(a+18);if(o<48||o>53)return;const g=s.charCodeAt(a+19);if(g<48||g>57)return;n=(o-48)*10+(g-48)}return I(t,h,C,r,e,n,f)}return _r={parseHttpDate:A},_r}var Zr,ao;function na(){if(ao)return Zr;ao=1;const A=OA(),{parseCacheControlHeader:I,hasInvalidCacheControlDirective:d,parseVaryHeader:N,hasVaryStar:S,isInvalidOrWildcardVaryHeader:s,isEtagUsable:a}=It(),{parseHttpDate:f}=ii();function C(){}const h=[200,203,204,206,300,301,308,404,405,410,414,501],u=[206],c=2147483647e3,t=864e5;function r(k){return k.replace(/^[\t ]+|[\t ]+$/g,"")}function e(k,Q){for(let p=0;p<k.length;p++)if(k[p]===Q)return!0;return!1}function n(k,Q){const p=Array.isArray(Q)?Q:[Q];for(let m=0;m<p.length;m++){const G=p[m].split(",");for(let O=0;O<G.length;O++)k.push(r(G[O]).toLowerCase())}}function o(k,Q){if(typeof Q!="string")return;let p,m,G;try{p=new URL(k.origin),m=new URL(k.path,p),G=new URL(Q,m)}catch{return}if(G.origin===p.origin)return G.pathname+G.search}function g(k,Q,p){i(k,{...Q,path:p});for(let m=0;m<A.safeHTTPMethods.length;m++){const G=A.safeHTTPMethods[m];G!==Q.method&&i(k,{...Q,method:G,path:p})}}function D(k,Q,p){if(p===void 0)return;const m=Array.isArray(p)?p:[p];for(let G=0;G<m.length;G++){const O=o(Q,m[G]);O!==void 0&&g(k,Q,O)}}function w(k,Q,p){g(k,Q,Q.path),D(k,Q,p.location),D(k,Q,p["content-location"])}class E{#A;#e;#t;#r;#n;#s;constructor({store:Q,type:p,cacheByDefault:m},G,O){this.#r=Q,this.#e=p,this.#t=m,this.#A=G,this.#n=O}onRequestStart(Q,p){this.#s?.destroy(),this.#s=void 0,this.#n.onRequestStart?.(Q,p)}onRequestUpgrade(Q,p,m,G){this.#n.onRequestUpgrade?.(Q,p,m,G)}onResponseStart(Q,p,m,G){const O=()=>this.#n.onResponseStart?.(Q,p,m,G),Y=this;if(!e(A.safeHTTPMethods,this.#A.method)&&p>=200&&p<=399)return w(this.#r,this.#A,m),O();const Z=m["cache-control"],tA=m["last-modified"]&&e(h,p);if(!Z&&!m.expires&&!tA&&!this.#t)return p===304&&m.vary&&s(m.vary)&&i(this.#r,this.#A),O();const lA=Z?I(Z):{};if(!B(this.#e,p,m,lA,this.#A.headers))return p===304&&(Z||l(this.#e,m,lA))&&i(this.#r,this.#A),O();const $=Date.now(),J=Object.hasOwn(m,"age")?M(m.age):void 0;if(J!==void 0&&J>=c)return y(p,this.#r,this.#A),O();const V=Object.hasOwn(m,"date")?U(m.date):void 0;if(V===null)return y(p,this.#r,this.#A),O();const X=V?Math.max(0,$-V.getTime()):0,j=Math.max(X,J??0),nA=typeof m.etag=="string"&&a(m.etag)||typeof m["last-modified"]=="string",gA=T(this.#e,$,J,m,V,lA,nA)??this.#t,rA=gA===0&&nA;if(gA===void 0||j>=gA&&!rA)return(Z||gA!==void 0)&&y(p,this.#r,this.#A),O();const DA=$-j,kA=gA+DA;if($>=kA&&!rA)return y(p,this.#r,this.#A),O();let mA;if(this.#A.headers&&m.vary&&(mA=N(m.vary,this.#A.headers),!mA))return O();const aA=DA,v=F(DA,$,lA,kA),iA=R(m,lA),AA={statusCode:p,statusMessage:G,headers:iA,vary:mA,cacheControlDirectives:lA,cachedAt:aA,staleAt:kA,deleteAt:v};if(p===304){const dA=FA=>{if(!FA)return O();if(AA.statusCode=FA.statusCode,AA.statusMessage=FA.statusMessage,AA.etag=FA.etag,AA.vary=mA??FA.vary,AA.headers={...FA.headers,...iA},O(),this.#s=this.#r.createWriteStream(this.#A,AA),!(!this.#s||!FA?.body))if(typeof FA.body.values=="function"){const SA=FA.body.values(),YA=()=>{for(const jA of SA){const PA=this.#s.write(jA)===!1;if(this.#n.onResponseData?.(Q,jA),PA)break}};this.#s.on("error",function(){Y.#s=void 0,Y.#r.delete(Y.#A)}).on("drain",()=>{YA()}).on("close",function(){Y.#s===this&&(Y.#s=void 0)}),YA()}else typeof FA.body.on=="function"&&(FA.body.on("data",SA=>{this.#s.write(SA),this.#n.onResponseData?.(Q,SA)}).on("end",()=>{this.#s.end()}).on("error",()=>{this.#s=void 0,this.#r.delete(this.#A)}),this.#s.on("error",function(){Y.#s=void 0,Y.#r.delete(Y.#A)}).on("close",function(){Y.#s===this&&(Y.#s=void 0)}))},MA=this.#r.get(this.#A);MA&&typeof MA.then=="function"?MA.then(dA):dA(MA)}else{if(typeof m.etag=="string"&&a(m.etag)&&(AA.etag=m.etag),this.#s=this.#r.createWriteStream(this.#A,AA),!this.#s)return O();this.#s.on("drain",()=>Q.resume()).on("error",function(){Y.#s=void 0,Y.#r.delete(Y.#A)}).on("close",function(){Y.#s===this&&(Y.#s=void 0),Q.resume()}),O()}}onResponseData(Q,p){this.#s?.write(p)===!1&&Q.pause(),this.#n.onResponseData?.(Q,p)}onResponseEnd(Q,p){this.#s?.end(),this.#n.onResponseEnd?.(Q,p)}onResponseError(Q,p){this.#s?.destroy(p),this.#s=void 0,this.#n.onResponseError?.(Q,p)}}function i(k,Q){try{k.delete(Q)?.catch?.(C)}catch{}}function y(k,Q,p){k===304&&i(Q,p)}function l(k,Q,p){return p["no-store"]===!0||k==="shared"&&p.private===!0||(Q.vary?s(Q.vary):!1)}function B(k,Q,p,m,G){return!(Q<200||e(u,Q)||!e(h,Q)&&!p.expires&&!m.public&&m["max-age"]===void 0&&!(m.private&&k==="private")&&!(m["s-maxage"]!==void 0&&k==="shared")||m["no-store"]||k==="shared"&&m.private===!0||p.vary&&S(p.vary)||G!=null&&Object.hasOwn(G,"authorization")&&(!m.public&&!m["s-maxage"]&&!m["must-revalidate"]||typeof G.authorization!="string"||Array.isArray(m["no-cache"])&&e(m["no-cache"],"authorization")||Array.isArray(m.private)&&e(m.private,"authorization")))}function U(k){let Q=k;if(Array.isArray(Q)){if(Q.length!==1)return null;Q=Q[0]}return typeof Q!="string"?null:f(Q)}function M(k){let Q=k;if(Array.isArray(Q)){if(Q.length!==1)return c;Q=Q[0]}if(typeof Q!="string"||!/^[\t ]*[0-9]+[\t ]*$/.test(Q))return c;const p=BigInt(Q.replace(/^[\t ]+|[\t ]+$/g,""));return p>=BigInt(c/1e3)?c:Number(p)*1e3}function T(k,Q,p,m,G,O,Y){if(k==="shared"){if(d(O,"s-maxage"))return 0;const tA=O["s-maxage"];if(tA!==void 0)return tA>0?tA*1e3:0}if(d(O,"max-age"))return 0;const Z=O["max-age"];if(Z!==void 0)return Z>0?Z*1e3:0;if(Object.hasOwn(m,"expires")){if(typeof m.expires!="string")return 0;const tA=f(m.expires);if(!tA||Q>=tA.getTime())return 0;if(G){if(G>=tA)return 0;const lA=tA.getTime()-G.getTime();return p!==void 0&&p>=lA?0:lA}return tA.getTime()-Q}if(typeof m["last-modified"]=="string"){const tA=f(m["last-modified"]);if(tA)return tA.getTime()>=Q?void 0:(Q-tA.getTime())*.1}if(O.immutable)return 31536e6;if(O["no-cache"]===!0&&Y)return 0}function F(k,Q,p,m){let G=-1/0,O=-1/0,Y=-1/0;if(p["stale-while-revalidate"]&&(G=m+p["stale-while-revalidate"]*1e3),p["stale-if-error"]&&(O=m+p["stale-if-error"]*1e3),p.immutable&&G===-1/0&&O===-1/0&&(Y=Q+31536e6),G===-1/0&&O===-1/0&&Y===-1/0){const Z=m-k;if(Z<=0)return Q+t;const tA=Math.min(Math.max(Q-k,0),1e3);return m+Z+tA}return Math.max(m,G,O,Y)}function R(k,Q){const p=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];k.connection&&n(p,k.connection),Array.isArray(Q["no-cache"])&&p.push(...Q["no-cache"]),Array.isArray(Q.private)&&p.push(...Q.private);let m;for(const G of p)Object.hasOwn(k,G)&&(m??={...k},delete m[G]);return m??k}return Zr=E,Zr}var Xr,go;function ai(){if(go)return Xr;go=1;const{Writable:A}=ue,{EventEmitter:I}=Le,{assertCacheKey:d,assertCacheValue:N}=It();class S extends I{#A=1024;#e=104857600;#t=5242880;#r=0;#n=0;#s=new Map;#o=!1;constructor(h){if(super(),h){if(typeof h!="object")throw new TypeError("MemoryCacheStore options must be an object");if(h.maxCount!==void 0){if(typeof h.maxCount!="number"||!Number.isInteger(h.maxCount)||h.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#A=h.maxCount}if(h.maxSize!==void 0){if(typeof h.maxSize!="number"||!Number.isInteger(h.maxSize)||h.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#e=h.maxSize}if(h.maxEntrySize!==void 0){if(typeof h.maxEntrySize!="number"||!Number.isInteger(h.maxEntrySize)||h.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=h.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#e||this.#n>=this.#A}get(h){d(h);const u=`${h.origin}:${h.path}`,c=Date.now(),t=this.#s.get(u),r=t?s(h,t,c):null;return r==null?void 0:{statusMessage:r.statusMessage,statusCode:r.statusCode,headers:r.headers,body:r.body,vary:r.vary?r.vary:void 0,etag:r.etag,cacheControlDirectives:r.cacheControlDirectives,cachedAt:r.cachedAt,staleAt:r.staleAt,deleteAt:r.deleteAt}}createWriteStream(h,u){d(h),N(u);const c=`${h.origin}:${h.path}`,t=this,r={...h,...u,body:[],size:0};return new A({write(e,n,o){typeof e=="string"&&(e=Buffer.from(e,n)),r.size+=e.byteLength,r.size>t.#t?this.destroy():r.body.push(e),o(null)},final(e){let n=t.#s.get(c);n||(n=[],t.#s.set(c,n));const o=s(h,n,Date.now());if(o){const g=n.indexOf(o);n.splice(g,1,r),t.#r-=o.size}else n.push(r),t.#n+=1;if(t.#r+=r.size,t.#r>t.#e||t.#n>t.#A){t.#o||(t.emit("maxSizeExceeded",{size:t.#r,maxSize:t.#e,count:t.#n,maxCount:t.#A}),t.#o=!0);for(const[g,D]of t.#s){for(const w of D.splice(0,D.length/2))t.#r-=w.size,t.#n-=1;D.length===0&&t.#s.delete(g)}t.#r<t.#e&&t.#n<t.#A&&(t.#o=!1)}e(null)}})}delete(h){if(typeof h!="object")throw new TypeError(`expected key to be object, got ${typeof h}`);const u=`${h.origin}:${h.path}`;for(const c of this.#s.get(u)??[])this.#r-=c.size,this.#n-=1;this.#s.delete(u)}}function s(C,h,u){for(let c=0;c<h.length;c++){const t=h[c];if(t.deleteAt>u&&t.method===C.method&&a(C,t))return t}}function a(C,h){if(h.vary==null)return!0;for(const u in h.vary)if(Object.hasOwn(h.vary,u)&&!f(C.headers?.[u],h.vary[u]))return!1;return!0}function f(C,h){if(C==null&&h==null)return!0;if(C==null&&h!=null||C!=null&&h==null)return!1;if(Array.isArray(C)&&Array.isArray(h)){if(C.length!==h.length)return!1;for(let u=0;u<C.length;u++)if(C[u]!==h[u])return!1;return!0}return C===h}return Xr=S,Xr}var jr,co;function oa(){if(co)return jr;co=1;const A=_A;class I{#A=!1;#e;#t;#r;#n;constructor(N,S,s){if(typeof N!="function")throw new TypeError("callback must be a function");this.#e=N,this.#t=S,this.#n=s}onRequestStart(N,S){this.#A=!1,this.#r=S}onRequestUpgrade(N,S,s,a){this.#t.onRequestUpgrade?.(N,S,s,a)}onResponseStart(N,S,s,a){if(A(this.#e!=null),this.#A=S===304||this.#n&&S>=500&&S<=504,this.#e(this.#A,this.#r,S,s),this.#e=null,this.#A)return!0;this.#t.onRequestStart?.(N,this.#r),this.#t.onResponseStart?.(N,S,s,a)}onResponseData(N,S){if(!this.#A)return this.#t.onResponseData?.(N,S)}onResponseEnd(N,S){this.#A||this.#t.onResponseEnd?.(N,S)}onResponseError(N,S){if(!this.#A){if(this.#e){if(this.#n){this.#A=!0,this.#e(!0,this.#r),this.#e=null;return}this.#e(!1),this.#e=null}if(typeof this.#t.onResponseError=="function")this.#t.onResponseError(N,S);else throw S}}}return jr=I,jr}var zr,lo;function ia(){if(lo)return zr;lo=1;const A=_A,{Readable:I}=ue,d=OA(),N=na(),S=ai(),s=oa(),{assertCacheStore:a,assertCacheMethods:f,makeCacheKey:C,normalizeHeaders:h,parseCacheControlHeader:u,isInvalidOrWildcardVaryHeader:c}=It(),{AbortError:t}=VA(),{parseHttpDate:r}=ii();function e(Q,p){if(Q!==void 0){if(!Array.isArray(Q))throw new TypeError(`expected ${p} to be an array or undefined, got ${typeof Q}`);for(let m=0;m<Q.length;m++){const G=Q[m];if(typeof G!="string"&&!(G instanceof RegExp))throw new TypeError(`expected ${p}[${m}] to be a string or RegExp, got ${typeof G}`)}}}const n=()=>{};function o(Q){return Q.replace(/^[\t ]+|[\t ]+$/g,"")}function g(Q,p){for(let m=0;m<Q.length;m++)if(Q[m]===p)return!0;return!1}function D(Q){const p=Q?.pragma;if(!p)return!1;const m=Array.isArray(p)?p:[p];for(let G=0;G<m.length;G++){const O=m[G];if(typeof O!="string")continue;const Y=O.split(",");for(let Z=0;Z<Y.length;Z++)if(o(Y[Z]).toLowerCase()==="no-cache")return!0}return!1}function w(Q,p,{headers:m={}}){return!!(p?.["no-cache"]||Q.cacheControlDirectives?.["no-cache"]&&!Array.isArray(Q.cacheControlDirectives["no-cache"])||m["if-modified-since"]||m["if-none-match"])}function E(Q,p){return Q.cacheControlDirectives?.["must-revalidate"]===!0||p==="shared"&&(Q.cacheControlDirectives?.["proxy-revalidate"]===!0||Q.cacheControlDirectives?.["s-maxage"]!==void 0)}function i(Q,p){if(p.vary&&c(p.vary))return!0;const m=p["cache-control"];if(!m)return!1;const G=u(m);return G["no-store"]===!0||Q==="shared"&&G.private===!0}function y(Q){return Q["cache-control"]!==void 0}function l(Q,p){try{Q.delete(p)?.catch?.(n)}catch{}}function B(Q){const p=Q?.["last-modified"];if(typeof p=="string"&&r(p))return p}function U(Q,p){const m={...Q.headers,"if-modified-since":B(p.headers)??new Date(p.cachedAt).toUTCString()};if(p.etag&&(m["if-none-match"]=p.etag),p.vary)for(const G in p.vary)p.vary[G]!=null&&(m[G]=p.vary[G]);return m}function M(Q,p,m){const G=Date.now();if(G>Q.staleAt){if(!E(Q,m)&&p?.["max-stale"]){const O=Q.staleAt+p["max-stale"]*1e3;return G>O}return!0}if(p?.["min-fresh"]){const O=Q.staleAt-G,Y=p["min-fresh"]*1e3;return O<=Y}return!1}function T(Q,p){const m=Q.cacheControlDirectives?.["stale-while-revalidate"];if(!m||E(Q,p))return!1;const G=Date.now(),O=Q.staleAt+m*1e3;return G<=O}function F(Q,p,m,G,O,Y){if(Y?.["only-if-cached"]){let Z=!1;const tA={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:lA=>{Z=!0,G.onResponseError?.(tA,lA??new t)}};try{if(G.onRequestStart?.(tA,null),Z||(G.onResponseStart?.(tA,504,{},"Gateway Timeout"),Z))return;G.onResponseEnd?.(tA,{})}catch(lA){typeof G.onResponseError=="function"&&G.onResponseError(tA,lA)}return!0}return Q(O,new N(p,m,G))}function R(Q,p,m,G,O,Y){const Z=d.isStream(m.body)?m.body:I.from(m.body??[]);A(!Z.destroyed,"stream should not be destroyed"),A(!Z.readableDidRead,"stream should not be readableDidRead");const tA={rawHeaders:[],rawTrailers:[],resume(){Z.resume()},pause(){Z.pause()},get paused(){return Z.isPaused()},get aborted(){return Z.destroyed},get reason(){return Z.errored},abort($){Z.destroy($??new t)}};if(Z.on("error",function($){if(!this.readableEnded)if(typeof Q.onResponseError=="function")Q.onResponseError(tA,$);else throw $}).on("close",function(){this.errored||Q.onResponseEnd?.(tA,{})}),Q.onRequestStart?.(tA,O),Z.destroyed)return;const lA={...m.headers,age:String(G)};Y&&(lA.warning='110 - "response is stale"'),tA.rawHeaders=d.toRawHeaders(lA),Q.onResponseStart?.(tA,m.statusCode,lA,m.statusMessage),p.method==="HEAD"?Z.destroy():Z.on("data",function($){Q.onResponseData?.(tA,$)})}function k(Q,p,m,G,O,Y,Z){if(!Z)return F(Q,p,m,G,O,Y);const tA=Date.now();if(tA>Z.deleteAt)return Q(O,new N(p,m,G));const lA=Math.round((tA-Z.cachedAt)/1e3),$=Y?.["max-age"]!==void 0&&lA>=Y["max-age"],J=$||M(Z,Y,p.type),V=$||w(Z,Y,O);if(J||V){if(d.isStream(O.body)&&d.bodyLength(O.body)!==0)return Q(O,new N(p,m,G));if(!V&&T(Z,p.type))return R(G,O,Z,lA,null,!0),queueMicrotask(()=>{const nA=U(O,Z);Q({...O,headers:nA},new N(p,m,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let X=!1;if(!E(Z,p.type)){const nA=Z.cacheControlDirectives["stale-if-error"]??Y?.["stale-if-error"];nA&&(X=tA<Z.staleAt+nA*1e3)}const j=U(O,Z);return Q({...O,headers:j},new s((nA,gA,rA,DA)=>{if(nA){if(rA===304){if(i(p.type,DA))return d.isStream(Z.body)&&Z.body.on("error",n).destroy(),l(p.store,m),Q(O,new N(p,m,G));y(DA)&&l(p.store,m)}R(G,O,Z,lA,gA,J)}else d.isStream(Z.body)&&Z.body.on("error",n).destroy()},new N(p,m,G),X))}d.isStream(O.body)&&O.body.on("error",n).destroy(),R(G,O,Z,lA,null,!1)}return zr=(Q={})=>{const{store:p=new S,methods:m=["GET"],cacheByDefault:G=void 0,type:O="shared",origins:Y=void 0}=Q;if(typeof Q!="object"||Q===null)throw new TypeError(`expected type of opts to be an Object, got ${Q===null?"null":typeof Q}`);if(a(p,"opts.store"),f(m,"opts.methods"),e(Y,"opts.origins"),typeof G<"u"&&typeof G!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof G}`);if(typeof O<"u"&&O!=="shared"&&O!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof O}`);const Z={store:p,methods:m,cacheByDefault:G,type:O},tA=[];for(let lA=0;lA<d.safeHTTPMethods.length;lA++){const $=d.safeHTTPMethods[lA];g(m,$)||tA.push($)}return lA=>($,J)=>{if(g(tA,$.method))return lA($,J);if(Y!==void 0){if(!$.origin)return lA($,J);const nA=$.origin.toString().toLowerCase();let gA=!1;for(let rA=0;rA<Y.length;rA++){const DA=Y[rA];if(typeof DA=="string"){if(DA.toLowerCase()===nA){gA=!0;break}}else if(DA.test(nA)){gA=!0;break}}if(!gA)return lA($,J)}$={...$,headers:h($)};const V=$.headers?.["cache-control"]?u($.headers["cache-control"]):D($.headers)?{"no-cache":!0}:void 0;if(V?.["no-store"])return lA($,J);const X=C($),j=p.get(X);return j&&typeof j.then=="function"?j.then(nA=>k(lA,Z,X,J,$,V,nA)):k(lA,Z,X,J,$,V,j)}},zr}var Kr,Eo;function aa(){if(Eo)return Kr;Eo=1;const{createInflate:A,createGunzip:I,createBrotliDecompress:d,createZstdDecompress:N}=St,{pipeline:S}=ue,s=Qt(),a={gzip:I,"x-gzip":I,br:d,deflate:A,compress:A,"x-compress":A,zstd:N},f=[204,304];let C=!1;class h extends s{#A=[];#e;#t;#r;constructor(t,{skipStatusCodes:r=f,skipErrorResponses:e=!0}={}){super(t),this.#t=r,this.#r=e}#n(t,r){return!!(!t||r<200||this.#t.includes(r)||this.#r&&r>=400)}#s(t){const r=t.split(","),e=5;if(r.length>e)throw new Error(`too many content-encodings in response: ${r.length}, maximum allowed is ${e}`);const n=[];for(let o=r.length-1;o>=0;o--){const g=r[o].trim();if(g){if(!a[g])return n.length=0,n;n.push(a[g]())}}return n}#o(t,r){t.on("readable",()=>{let e;for(;(e=t.read())!==null&&super.onResponseData(r,e)!==!1;);}),t.on("error",e=>{super.onResponseError(r,e)})}#i(t){const r=this.#A[0];this.#o(r,t),r.on("end",()=>{super.onResponseEnd(t,this.#e)})}#a(t){const r=this.#A[this.#A.length-1];this.#o(r,t),S(this.#A,e=>{if(e){super.onResponseError(t,e);return}super.onResponseEnd(t,this.#e)})}#g(){this.#A.length=0}onResponseStart(t,r,e,n){const o=e["content-encoding"];if(this.#n(o,r))return super.onResponseStart(t,r,e,n);const g=this.#s(o.toLowerCase());if(g.length===0)return this.#g(),super.onResponseStart(t,r,e,n);this.#A=g;const{"content-encoding":D,"content-length":w,...E}=e;if(t?.rawHeaders){const i=t.rawHeaders;if(Array.isArray(i)){const y=[];for(let l=0;l<i.length;l+=2){const B=i[l],U=(Buffer.isBuffer(B)?B.toString("latin1"):`${B}`).toLowerCase();U==="content-encoding"||U==="content-length"||y.push(i[l],i[l+1])}t.rawHeaders=y}else if(typeof i=="object")for(const y of Object.keys(i)){const l=y.toLowerCase();(l==="content-encoding"||l==="content-length")&&delete i[y]}}return this.#A.length===1?this.#i(t):this.#a(t),super.onResponseStart(t,r,E,n)}onResponseData(t,r){if(this.#A.length>0){this.#A[0].write(r);return}super.onResponseData(t,r)}onResponseEnd(t,r){if(this.#A.length>0){this.#e=r,this.#A[0].end(),this.#g();return}super.onResponseEnd(t,r)}onResponseError(t,r){if(this.#A.length>0){for(const e of this.#A)e.destroy(r);this.#g()}super.onResponseError(t,r)}}function u(c={}){return C||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),C=!0),t=>(r,e)=>{if(r.method==="HEAD")return t(r,e);const n=new h(e,c);return t(r,n)}}return Kr=u,Kr}var $r,ho;function ga(){if(ho)return $r;ho=1;const{RequestAbortedError:A}=VA(),I=5*1024*1024;class d{#A;#e=[];#t=I;#r=0;#n={};#s="";#o=!1;#i=!1;#a=!1;#g=!1;#l=null;#c=null;constructor(S,s,a=I){this.#A=S,this.#c=s,this.#t=a}addWaitingHandler(S){if(this.#g||this.#a)return!1;const s=this.#E(S),a=s.controller;try{if(S.onRequestStart?.(a,null),a.aborted)return s.done=!0,!0;this.#i&&S.onResponseStart?.(a,this.#r,this.#n,this.#s)}catch{return s.done=!0,!0}return a.aborted||this.#e.push(s),!0}onRequestStart(S,s){this.#l=S,this.#A.onRequestStart?.(S,s)}onRequestUpgrade(S,s,a,f){this.#A.onRequestUpgrade?.(S,s,a,f)}onResponseStart(S,s,a,f){this.#i=!0,this.#r=s,this.#n=a,this.#s=f,this.#A.onResponseStart?.(S,s,a,f);for(const C of this.#e){const{handler:h,controller:u}=C;if(C.done||u.aborted){C.done=!0;continue}try{h.onResponseStart?.(u,s,a,f)}catch{}u.aborted&&(C.done=!0)}this.#I()}onResponseData(S,s){if(!(this.#o||this.#g)){this.#a=!0,this.#A.onResponseData?.(S,s);for(const a of this.#e){const{handler:f,controller:C}=a;if(a.done||C.aborted){a.done=!0;continue}if(C.paused){this.#h(a,s);continue}try{f.onResponseData?.(C,s)}catch{}C.aborted&&(a.done=!0,a.bufferedChunks=[],a.bufferedBytes=0)}this.#I()}}onResponseEnd(S,s){if(!(this.#o||this.#g)){this.#g=!0,this.#A.onResponseEnd?.(S,s);for(const a of this.#e){if(a.done||a.controller.aborted){a.done=!0;continue}if(this.#Q(a),a.done||a.controller.aborted){a.done=!0;continue}if(a.controller.paused&&a.bufferedChunks.length>0){a.pendingTrailers=s;continue}try{a.handler.onResponseEnd?.(a.controller,s)}catch{}a.done=!0}this.#I(),this.#c?.()}}onResponseError(S,s){if(!this.#g){this.#o=!0,this.#g=!0,this.#A.onResponseError?.(S,s);for(const a of this.#e)this.#u(a,s);this.#e=[],this.#c?.()}}#E(S){const s={handler:S,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},a={aborted:!1,paused:!1,reason:null};return s.controller={resume:()=>{if(!a.aborted){if(a.paused=!1,this.#Q(s),this.#g&&s.pendingTrailers&&s.bufferedChunks.length===0&&!a.paused&&!a.aborted){try{s.handler.onResponseEnd?.(s.controller,s.pendingTrailers)}catch{}s.pendingTrailers=null,s.done=!0}this.#I()}},pause:()=>{a.aborted||(a.paused=!0)},get paused(){return a.paused},get aborted(){return a.aborted},get reason(){return a.reason},abort:f=>{a.aborted=!0,a.reason=f??null,s.done=!0,s.pendingTrailers=null,s.bufferedChunks=[],s.bufferedBytes=0}},s}#h(S,s){if(S.done||S.controller.aborted){S.done=!0,S.bufferedChunks=[],S.bufferedBytes=0;return}const a=Buffer.from(s);if(S.bufferedChunks.push(a),S.bufferedBytes+=a.length,S.bufferedBytes>this.#t){const f=new A(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#u(S,f)}}#Q(S){const{handler:s,controller:a}=S;for(;!S.done&&!a.aborted&&!a.paused&&S.bufferedChunks.length>0;){const f=S.bufferedChunks.shift();S.bufferedBytes-=f.length;try{s.onResponseData?.(a,f)}catch{}if(a.aborted){S.done=!0,S.pendingTrailers=null,S.bufferedChunks=[],S.bufferedBytes=0;break}}}#u(S,s){if(!S.done){S.done=!0,S.pendingTrailers=null,S.bufferedChunks=[],S.bufferedBytes=0;try{S.controller.abort(s),S.handler.onResponseError?.(S.controller,s)}catch{}}}#I(){this.#e=this.#e.filter(S=>S.done===!1)}}return $r=d,$r}var As,Qo;function ca(){if(Qo)return As;Qo=1;const A=Wo,I=OA(),d=ga(),{normalizeHeaders:N,makeCacheKey:S,makeDeduplicationKey:s}=It(),a=A.channel("undici:request:pending-requests");return As=(f={})=>{const{methods:C=["GET"],skipHeaderNames:h=[],excludeHeaderNames:u=[],maxBufferSize:c=5*1024*1024}=f;if(typeof f!="object"||f===null)throw new TypeError(`expected type of opts to be an Object, got ${f===null?"null":typeof f}`);if(!Array.isArray(C))throw new TypeError(`expected opts.methods to be an array, got ${typeof C}`);for(const n of C)if(!I.safeHTTPMethods.includes(n))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${n}`);if(!Array.isArray(h))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof h}`);if(!Array.isArray(u))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof u}`);if(!Number.isFinite(c)||c<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${c}`);const t=new Set(h.map(n=>n.toLowerCase())),r=new Set(u.map(n=>n.toLowerCase())),e=new Map;return n=>(o,g)=>{if(o.upgrade||C.includes(o.method)===!1)return n(o,g);if(o={...o,headers:N(o)},t.size>0){for(const y of Object.keys(o.headers))if(t.has(y.toLowerCase()))return n(o,g)}const D=S(o),w=s(D,r),E=e.get(w);if(E)return E.addWaitingHandler(g)?!0:n(o,g);const i=new d(g,()=>{e.delete(w),a.hasSubscribers&&a.publish({size:e.size,key:w,type:"removed"})},c);return e.set(w,i),a.hasSubscribers&&a.publish({size:e.size,key:w,type:"added"}),n(o,i)}},As}var es,Io;function la(){if(Io)return es;Io=1;const{Writable:A}=ue,{assertCacheKey:I,assertCacheValue:d}=It();let N;const S=3,s=2*1e3*1e3*1e3;es=class{#A=s;#e=1/0;#t;#r;#n;#s;#o;#i;#a;#g;constructor(f){if(f){if(typeof f!="object")throw new TypeError("SqliteCacheStore options must be an object");if(f.maxEntrySize!==void 0){if(typeof f.maxEntrySize!="number"||!Number.isInteger(f.maxEntrySize)||f.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(f.maxEntrySize>s)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#A=f.maxEntrySize}if(f.maxCount!==void 0){if(typeof f.maxCount!="number"||!Number.isInteger(f.maxCount)||f.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#e=f.maxCount}}N||(N=qo.DatabaseSync),this.#t=new N(f?.location??":memory:"),this.#t.exec(`
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
1
|
+
import{createRequire as u}from"node:module";let _;const $=t=>(_??=u(import.meta.url))(t),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=t=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[i,e]=p.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return p.getBuiltinModule(t)}return $(t)},f=h("node:assert");function g(t,i){return`#compdef ${t}
|
|
2
|
+
compdef _${t} ${t}
|
|
3
|
+
|
|
4
|
+
# zsh completion for ${t} -*- shell-script -*-
|
|
5
|
+
|
|
6
|
+
__${t}_debug() {
|
|
7
|
+
local file="$BASH_COMP_DEBUG_FILE"
|
|
8
|
+
if [[ -n \${file} ]]; then
|
|
9
|
+
echo "$*" >> "\${file}"
|
|
10
|
+
fi
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
_${t}() {
|
|
14
|
+
local shellCompDirectiveError=${n.ShellCompDirectiveError}
|
|
15
|
+
local shellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
|
|
16
|
+
local shellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
|
|
17
|
+
local shellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
|
|
18
|
+
local shellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
|
|
19
|
+
local shellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
|
|
20
|
+
|
|
21
|
+
local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
|
|
22
|
+
local -a completions
|
|
23
|
+
|
|
24
|
+
__${t}_debug "\\n========= starting completion logic =========="
|
|
25
|
+
__${t}_debug "CURRENT: \${CURRENT}, words[*]: \${words[*]}"
|
|
26
|
+
|
|
27
|
+
# The user could have moved the cursor backwards on the command-line.
|
|
28
|
+
# We need to trigger completion from the $CURRENT location, so we need
|
|
29
|
+
# to truncate the command-line ($words) up to the $CURRENT location.
|
|
30
|
+
# (We cannot use $CURSOR as its value does not work when a command is an alias.)
|
|
31
|
+
words=( "\${=words[1,CURRENT]}" )
|
|
32
|
+
__${t}_debug "Truncated words[*]: \${words[*]},"
|
|
33
|
+
|
|
34
|
+
lastParam=\${words[-1]}
|
|
35
|
+
lastChar=\${lastParam[-1]}
|
|
36
|
+
__${t}_debug "lastParam: \${lastParam}, lastChar: \${lastChar}"
|
|
37
|
+
|
|
38
|
+
# For zsh, when completing a flag with an = (e.g., ${t} -n=<TAB>)
|
|
39
|
+
# completions must be prefixed with the flag
|
|
40
|
+
setopt local_options BASH_REMATCH
|
|
41
|
+
if [[ "\${lastParam}" =~ '-.*=' ]]; then
|
|
42
|
+
# We are dealing with a flag with an =
|
|
43
|
+
flagPrefix="-P \${BASH_REMATCH}"
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Prepare the command to obtain completions, ensuring arguments are quoted for eval
|
|
47
|
+
local -a args_to_quote=("\${(@)words[2,-1]}")
|
|
48
|
+
if [ "\${lastChar}" = "" ] && [ "\${args_to_quote[-1]}" != "" ]; then
|
|
49
|
+
# If the last parameter is complete (there is a space following it)
|
|
50
|
+
# We add an extra empty parameter so we can indicate this to the go completion code.
|
|
51
|
+
__${t}_debug "Adding extra empty parameter"
|
|
52
|
+
args_to_quote+=("")
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Use Zsh's (q) flag to quote each argument safely for eval
|
|
56
|
+
local quoted_args=("\${(@q)args_to_quote}")
|
|
57
|
+
|
|
58
|
+
# Join the main command and the quoted arguments into a single string for eval
|
|
59
|
+
requestComp="${i} complete -- \${quoted_args[*]}"
|
|
60
|
+
|
|
61
|
+
__${t}_debug "About to call: eval \${requestComp}"
|
|
62
|
+
|
|
63
|
+
# Use eval to handle any environment variables and such
|
|
64
|
+
out=$(eval \${requestComp} 2>/dev/null)
|
|
65
|
+
__${t}_debug "completion output: \${out}"
|
|
66
|
+
|
|
67
|
+
# Extract the directive integer following a : from the last line
|
|
68
|
+
local lastLine
|
|
69
|
+
while IFS='
|
|
70
|
+
' read -r line; do
|
|
71
|
+
lastLine=\${line}
|
|
72
|
+
done < <(printf "%s
|
|
73
|
+
" "\${out[@]}")
|
|
74
|
+
__${t}_debug "last line: \${lastLine}"
|
|
75
|
+
|
|
76
|
+
if [ "\${lastLine[1]}" = : ]; then
|
|
77
|
+
directive=\${lastLine[2,-1]}
|
|
78
|
+
# Remove the directive including the : and the newline
|
|
79
|
+
local suffix
|
|
80
|
+
(( suffix=\${#lastLine}+2))
|
|
81
|
+
out=\${out[1,-$suffix]}
|
|
82
|
+
else
|
|
83
|
+
# There is no directive specified. Leave $out as is.
|
|
84
|
+
__${t}_debug "No directive found. Setting to default"
|
|
85
|
+
directive=0
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
__${t}_debug "directive: \${directive}"
|
|
89
|
+
__${t}_debug "completions: \${out}"
|
|
90
|
+
__${t}_debug "flagPrefix: \${flagPrefix}"
|
|
91
|
+
|
|
92
|
+
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
|
|
93
|
+
__${t}_debug "Completion received error. Ignoring completions."
|
|
94
|
+
return
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
local activeHelpMarker="%"
|
|
98
|
+
local endIndex=\${#activeHelpMarker}
|
|
99
|
+
local startIndex=$((\${#activeHelpMarker}+1))
|
|
100
|
+
local hasActiveHelp=0
|
|
101
|
+
while IFS='
|
|
102
|
+
' read -r comp; do
|
|
103
|
+
# Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
|
|
104
|
+
if [ "\${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
|
|
105
|
+
__${t}_debug "ActiveHelp found: $comp"
|
|
106
|
+
comp="\${comp[$startIndex,-1]}"
|
|
107
|
+
if [ -n "$comp" ]; then
|
|
108
|
+
compadd -x "\${comp}"
|
|
109
|
+
__${t}_debug "ActiveHelp will need delimiter"
|
|
110
|
+
hasActiveHelp=1
|
|
111
|
+
fi
|
|
112
|
+
continue
|
|
113
|
+
fi
|
|
114
|
+
|
|
115
|
+
if [ -n "$comp" ]; then
|
|
116
|
+
# If requested, completions are returned with a description.
|
|
117
|
+
# The description is preceded by a TAB character.
|
|
118
|
+
# For zsh's _describe, we need to use a : instead of a TAB.
|
|
119
|
+
# We first need to escape any : as part of the completion itself.
|
|
120
|
+
comp=\${comp//:/\\:}
|
|
121
|
+
|
|
122
|
+
local tab="$(printf '\\t')"
|
|
123
|
+
comp=\${comp//$tab/:}
|
|
124
|
+
|
|
125
|
+
__${t}_debug "Adding completion: \${comp}"
|
|
126
|
+
completions+=\${comp}
|
|
127
|
+
lastComp=$comp
|
|
128
|
+
fi
|
|
129
|
+
done < <(printf "%s
|
|
130
|
+
" "\${out[@]}")
|
|
131
|
+
|
|
132
|
+
# Add a delimiter after the activeHelp statements, but only if:
|
|
133
|
+
# - there are completions following the activeHelp statements, or
|
|
134
|
+
# - file completion will be performed (so there will be choices after the activeHelp)
|
|
135
|
+
if [ $hasActiveHelp -eq 1 ]; then
|
|
136
|
+
if [ \${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
|
|
137
|
+
__${t}_debug "Adding activeHelp delimiter"
|
|
138
|
+
compadd -x "--"
|
|
139
|
+
hasActiveHelp=0
|
|
140
|
+
fi
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
|
|
144
|
+
__${t}_debug "Activating nospace."
|
|
145
|
+
noSpace="-S ''"
|
|
146
|
+
fi
|
|
147
|
+
|
|
148
|
+
if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
|
|
149
|
+
__${t}_debug "Activating keep order."
|
|
150
|
+
keepOrder="-V"
|
|
151
|
+
fi
|
|
152
|
+
|
|
153
|
+
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
|
|
154
|
+
# File extension filtering
|
|
155
|
+
local filteringCmd
|
|
156
|
+
filteringCmd='_files'
|
|
157
|
+
for filter in \${completions[@]}; do
|
|
158
|
+
if [ \${filter[1]} != '*' ]; then
|
|
159
|
+
# zsh requires a glob pattern to do file filtering
|
|
160
|
+
filter="\\*.$filter"
|
|
161
|
+
fi
|
|
162
|
+
filteringCmd+=" -g $filter"
|
|
163
|
+
done
|
|
164
|
+
filteringCmd+=" \${flagPrefix}"
|
|
165
|
+
|
|
166
|
+
__${t}_debug "File filtering command: $filteringCmd"
|
|
167
|
+
_arguments '*:filename:'"$filteringCmd"
|
|
168
|
+
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
|
|
169
|
+
# File completion for directories only
|
|
170
|
+
local subdir
|
|
171
|
+
subdir="\${completions[1]}"
|
|
172
|
+
if [ -n "$subdir" ]; then
|
|
173
|
+
__${t}_debug "Listing directories in $subdir"
|
|
174
|
+
pushd "\${subdir}" >/dev/null 2>&1
|
|
175
|
+
else
|
|
176
|
+
__${t}_debug "Listing directories in ."
|
|
177
|
+
fi
|
|
178
|
+
|
|
179
|
+
local result
|
|
180
|
+
_arguments '*:dirname:_files -/'" \${flagPrefix}"
|
|
181
|
+
result=$?
|
|
182
|
+
if [ -n "$subdir" ]; then
|
|
183
|
+
popd >/dev/null 2>&1
|
|
184
|
+
fi
|
|
185
|
+
return $result
|
|
186
|
+
else
|
|
187
|
+
__${t}_debug "Calling _describe"
|
|
188
|
+
if eval _describe $keepOrder "completions" completions -Q \${flagPrefix} \${noSpace}; then
|
|
189
|
+
__${t}_debug "_describe found some completions"
|
|
190
|
+
|
|
191
|
+
# Return the success of having called _describe
|
|
192
|
+
return 0
|
|
193
|
+
else
|
|
194
|
+
__${t}_debug "_describe did not find completions."
|
|
195
|
+
__${t}_debug "Checking if we should do file completion."
|
|
196
|
+
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
|
|
197
|
+
__${t}_debug "deactivating file completion"
|
|
198
|
+
|
|
199
|
+
# Return 0 to indicate completion is finished and prevent zsh from
|
|
200
|
+
# trying other completion algorithms (which could cause hanging).
|
|
201
|
+
# We use NoFileComp directive to explicitly disable file completion.
|
|
202
|
+
return 0
|
|
203
|
+
else
|
|
204
|
+
# Perform file completion
|
|
205
|
+
__${t}_debug "Activating file completion"
|
|
206
|
+
|
|
207
|
+
# We must return the result of this command, so it must be the
|
|
208
|
+
# last command, or else we must store its result to return it.
|
|
209
|
+
_arguments '*:filename:_files'" \${flagPrefix}"
|
|
210
|
+
fi
|
|
211
|
+
fi
|
|
212
|
+
fi
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
# don't run the completion function when being sourced or eval-ed
|
|
216
|
+
if [ "\${funcstack[1]}" = "_${t}" ]; then
|
|
217
|
+
_${t}
|
|
218
|
+
fi
|
|
219
|
+
`}function v(t,i){let e=t.replace(/[-:]/g,"_");return`# bash completion for ${t}
|
|
220
|
+
|
|
221
|
+
# Define shell completion directives
|
|
222
|
+
readonly ShellCompDirectiveError=${n.ShellCompDirectiveError}
|
|
223
|
+
readonly ShellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
|
|
224
|
+
readonly ShellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
|
|
225
|
+
readonly ShellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
|
|
226
|
+
readonly ShellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
|
|
227
|
+
readonly ShellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
|
|
228
|
+
|
|
229
|
+
# Function to debug completion
|
|
230
|
+
__${e}_debug() {
|
|
231
|
+
if [[ -n \${BASH_COMP_DEBUG_FILE:-} ]]; then
|
|
232
|
+
echo "$*" >> "\${BASH_COMP_DEBUG_FILE}"
|
|
233
|
+
fi
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
# Function to handle completions
|
|
237
|
+
__${e}_complete() {
|
|
238
|
+
local cur prev words cword
|
|
239
|
+
_get_comp_words_by_ref -n "=:" cur prev words cword
|
|
240
|
+
|
|
241
|
+
local requestComp out directive
|
|
242
|
+
|
|
243
|
+
# Build the command to get completions
|
|
244
|
+
requestComp="${i} complete -- \${words[@]:1}"
|
|
245
|
+
|
|
246
|
+
# Add an empty parameter if the last parameter is complete
|
|
247
|
+
if [[ -z "$cur" ]]; then
|
|
248
|
+
requestComp="$requestComp ''"
|
|
249
|
+
fi
|
|
250
|
+
|
|
251
|
+
# Get completions from the program
|
|
252
|
+
out=$(eval "$requestComp" 2>/dev/null)
|
|
253
|
+
|
|
254
|
+
# Extract directive if present
|
|
255
|
+
directive=0
|
|
256
|
+
if [[ "$out" == *:* ]]; then
|
|
257
|
+
directive=\${out##*:}
|
|
258
|
+
out=\${out%:*}
|
|
259
|
+
fi
|
|
260
|
+
|
|
261
|
+
# Process completions based on directive
|
|
262
|
+
if [[ $((directive & $ShellCompDirectiveError)) -ne 0 ]]; then
|
|
263
|
+
# Error, no completion
|
|
264
|
+
return
|
|
265
|
+
fi
|
|
266
|
+
|
|
267
|
+
# Apply directives
|
|
268
|
+
if [[ $((directive & $ShellCompDirectiveNoSpace)) -ne 0 ]]; then
|
|
269
|
+
compopt -o nospace
|
|
270
|
+
fi
|
|
271
|
+
if [[ $((directive & $ShellCompDirectiveKeepOrder)) -ne 0 ]]; then
|
|
272
|
+
compopt -o nosort
|
|
273
|
+
fi
|
|
274
|
+
if [[ $((directive & $ShellCompDirectiveNoFileComp)) -ne 0 ]]; then
|
|
275
|
+
compopt +o default
|
|
276
|
+
fi
|
|
277
|
+
|
|
278
|
+
# Handle file extension filtering
|
|
279
|
+
if [[ $((directive & $ShellCompDirectiveFilterFileExt)) -ne 0 ]]; then
|
|
280
|
+
local filter=""
|
|
281
|
+
for ext in $out; do
|
|
282
|
+
filter="$filter|$ext"
|
|
283
|
+
done
|
|
284
|
+
filter="\\.($filter)"
|
|
285
|
+
compopt -o filenames
|
|
286
|
+
COMPREPLY=( $(compgen -f -X "!$filter" -- "$cur") )
|
|
287
|
+
return
|
|
288
|
+
fi
|
|
289
|
+
|
|
290
|
+
# Handle directory filtering
|
|
291
|
+
if [[ $((directive & $ShellCompDirectiveFilterDirs)) -ne 0 ]]; then
|
|
292
|
+
compopt -o dirnames
|
|
293
|
+
COMPREPLY=( $(compgen -d -- "$cur") )
|
|
294
|
+
return
|
|
295
|
+
fi
|
|
296
|
+
|
|
297
|
+
# Process completions
|
|
298
|
+
local IFS=$'\\n'
|
|
299
|
+
local tab=$(printf '\\t')
|
|
300
|
+
|
|
301
|
+
# Parse completions with descriptions
|
|
302
|
+
local completions=()
|
|
303
|
+
while read -r comp; do
|
|
304
|
+
if [[ "$comp" == *$tab* ]]; then
|
|
305
|
+
# Split completion and description
|
|
306
|
+
local value=\${comp%%$tab*}
|
|
307
|
+
local desc=\${comp#*$tab}
|
|
308
|
+
completions+=("$value")
|
|
309
|
+
else
|
|
310
|
+
completions+=("$comp")
|
|
311
|
+
fi
|
|
312
|
+
done <<< "$out"
|
|
313
|
+
|
|
314
|
+
# Return completions
|
|
315
|
+
COMPREPLY=( $(compgen -W "\${completions[*]}" -- "$cur") )
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
# Register completion function
|
|
319
|
+
complete -F __${e}_complete ${t}
|
|
320
|
+
`}function C(t,i){let e=t.replace(/[-:]/g,"_"),o=n.ShellCompDirectiveError,l=n.ShellCompDirectiveNoSpace,r=n.ShellCompDirectiveNoFileComp,s=n.ShellCompDirectiveFilterFileExt,a=n.ShellCompDirectiveFilterDirs;return`# fish completion for ${t} -*- shell-script -*-
|
|
321
|
+
|
|
322
|
+
function __${e}_debug
|
|
323
|
+
set -l file "$BASH_COMP_DEBUG_FILE"
|
|
324
|
+
if test -n "$file"
|
|
325
|
+
echo "$argv" >> $file
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
function __${e}_perform_completion
|
|
330
|
+
__${e}_debug "Starting __${e}_perform_completion"
|
|
331
|
+
|
|
332
|
+
# Extract all args except the last one
|
|
333
|
+
set -l args (commandline -opc)
|
|
334
|
+
# Extract the last arg and escape it in case it is a space or wildcard
|
|
335
|
+
set -l lastArg (string escape -- (commandline -ct))
|
|
336
|
+
|
|
337
|
+
__${e}_debug "args: $args"
|
|
338
|
+
__${e}_debug "last arg: $lastArg"
|
|
339
|
+
|
|
340
|
+
# Build the completion request command
|
|
341
|
+
set -l requestComp "${i} complete -- (string join ' ' -- (string escape -- $args[2..-1])) $lastArg"
|
|
342
|
+
|
|
343
|
+
__${e}_debug "Calling $requestComp"
|
|
344
|
+
set -l results (eval $requestComp 2> /dev/null)
|
|
345
|
+
|
|
346
|
+
# Some programs may output extra empty lines after the directive.
|
|
347
|
+
# Let's ignore them or else it will break completion.
|
|
348
|
+
# Ref: https://github.com/spf13/cobra/issues/1279
|
|
349
|
+
for line in $results[-1..1]
|
|
350
|
+
if test (string trim -- $line) = ""
|
|
351
|
+
# Found an empty line, remove it
|
|
352
|
+
set results $results[1..-2]
|
|
353
|
+
else
|
|
354
|
+
# Found non-empty line, we have our proper output
|
|
355
|
+
break
|
|
356
|
+
end
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
set -l comps $results[1..-2]
|
|
360
|
+
set -l directiveLine $results[-1]
|
|
361
|
+
|
|
362
|
+
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
|
363
|
+
# completions must be prefixed with the flag
|
|
364
|
+
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
|
365
|
+
|
|
366
|
+
__${e}_debug "Comps: $comps"
|
|
367
|
+
__${e}_debug "DirectiveLine: $directiveLine"
|
|
368
|
+
__${e}_debug "flagPrefix: $flagPrefix"
|
|
369
|
+
|
|
370
|
+
for comp in $comps
|
|
371
|
+
printf "%s%s\\n" "$flagPrefix" "$comp"
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
printf "%s\\n" "$directiveLine"
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
# This function limits calls to __${e}_perform_completion, by caching the result
|
|
378
|
+
function __${e}_perform_completion_once
|
|
379
|
+
__${e}_debug "Starting __${e}_perform_completion_once"
|
|
380
|
+
|
|
381
|
+
if test -n "$__${e}_perform_completion_once_result"
|
|
382
|
+
__${e}_debug "Seems like a valid result already exists, skipping __${e}_perform_completion"
|
|
383
|
+
return 0
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
set --global __${e}_perform_completion_once_result (__${e}_perform_completion)
|
|
387
|
+
if test -z "$__${e}_perform_completion_once_result"
|
|
388
|
+
__${e}_debug "No completions, probably due to a failure"
|
|
389
|
+
return 1
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
__${e}_debug "Performed completions and set __${e}_perform_completion_once_result"
|
|
393
|
+
return 0
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
# This function is used to clear the cached result after completions are run
|
|
397
|
+
function __${e}_clear_perform_completion_once_result
|
|
398
|
+
__${e}_debug ""
|
|
399
|
+
__${e}_debug "========= clearing previously set __${e}_perform_completion_once_result variable =========="
|
|
400
|
+
set --erase __${e}_perform_completion_once_result
|
|
401
|
+
__${e}_debug "Successfully erased the variable __${e}_perform_completion_once_result"
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
function __${e}_requires_order_preservation
|
|
405
|
+
__${e}_debug ""
|
|
406
|
+
__${e}_debug "========= checking if order preservation is required =========="
|
|
407
|
+
|
|
408
|
+
__${e}_perform_completion_once
|
|
409
|
+
if test -z "$__${e}_perform_completion_once_result"
|
|
410
|
+
__${e}_debug "Error determining if order preservation is required"
|
|
411
|
+
return 1
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
set -l directive (string sub --start 2 $__${e}_perform_completion_once_result[-1])
|
|
415
|
+
__${e}_debug "Directive is: $directive"
|
|
416
|
+
|
|
417
|
+
set -l shellCompDirectiveKeepOrder ${n.ShellCompDirectiveKeepOrder}
|
|
418
|
+
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
|
419
|
+
__${e}_debug "Keeporder is: $keeporder"
|
|
420
|
+
|
|
421
|
+
if test $keeporder -ne 0
|
|
422
|
+
__${e}_debug "This does require order preservation"
|
|
423
|
+
return 0
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
__${e}_debug "This doesn't require order preservation"
|
|
427
|
+
return 1
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
# This function does two things:
|
|
431
|
+
# - Obtain the completions and store them in the global __${e}_comp_results
|
|
432
|
+
# - Return false if file completion should be performed
|
|
433
|
+
function __${e}_prepare_completions
|
|
434
|
+
__${e}_debug ""
|
|
435
|
+
__${e}_debug "========= starting completion logic =========="
|
|
436
|
+
|
|
437
|
+
# Start fresh
|
|
438
|
+
set --erase __${e}_comp_results
|
|
439
|
+
|
|
440
|
+
__${e}_perform_completion_once
|
|
441
|
+
__${e}_debug "Completion results: $__${e}_perform_completion_once_result"
|
|
442
|
+
|
|
443
|
+
if test -z "$__${e}_perform_completion_once_result"
|
|
444
|
+
__${e}_debug "No completion, probably due to a failure"
|
|
445
|
+
# Might as well do file completion, in case it helps
|
|
446
|
+
return 1
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
set -l directive (string sub --start 2 $__${e}_perform_completion_once_result[-1])
|
|
450
|
+
set --global __${e}_comp_results $__${e}_perform_completion_once_result[1..-2]
|
|
451
|
+
|
|
452
|
+
__${e}_debug "Completions are: $__${e}_comp_results"
|
|
453
|
+
__${e}_debug "Directive is: $directive"
|
|
454
|
+
|
|
455
|
+
set -l shellCompDirectiveError ${o}
|
|
456
|
+
set -l shellCompDirectiveNoSpace ${l}
|
|
457
|
+
set -l shellCompDirectiveNoFileComp ${r}
|
|
458
|
+
set -l shellCompDirectiveFilterFileExt ${s}
|
|
459
|
+
set -l shellCompDirectiveFilterDirs ${a}
|
|
460
|
+
|
|
461
|
+
if test -z "$directive"
|
|
462
|
+
set directive 0
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
|
466
|
+
if test $compErr -eq 1
|
|
467
|
+
__${e}_debug "Received error directive: aborting."
|
|
468
|
+
# Might as well do file completion, in case it helps
|
|
469
|
+
return 1
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
|
473
|
+
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
|
474
|
+
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
|
475
|
+
__${e}_debug "File extension filtering or directory filtering not supported"
|
|
476
|
+
# Do full file completion instead
|
|
477
|
+
return 1
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
|
481
|
+
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
|
482
|
+
|
|
483
|
+
__${e}_debug "nospace: $nospace, nofiles: $nofiles"
|
|
484
|
+
|
|
485
|
+
# If we want to prevent a space, or if file completion is NOT disabled,
|
|
486
|
+
# we need to count the number of valid completions.
|
|
487
|
+
# To do so, we will filter on prefix as the completions we have received
|
|
488
|
+
# may not already be filtered so as to allow fish to match on different
|
|
489
|
+
# criteria than the prefix.
|
|
490
|
+
if test $nospace -ne 0; or test $nofiles -eq 0
|
|
491
|
+
set -l prefix (commandline -t | string escape --style=regex)
|
|
492
|
+
__${e}_debug "prefix: $prefix"
|
|
493
|
+
|
|
494
|
+
set -l completions (string match -r -- "^$prefix.*" $__${e}_comp_results)
|
|
495
|
+
set --global __${e}_comp_results $completions
|
|
496
|
+
__${e}_debug "Filtered completions are: $__${e}_comp_results"
|
|
497
|
+
|
|
498
|
+
# Important not to quote the variable for count to work
|
|
499
|
+
set -l numComps (count $__${e}_comp_results)
|
|
500
|
+
__${e}_debug "numComps: $numComps"
|
|
501
|
+
|
|
502
|
+
if test $numComps -eq 1; and test $nospace -ne 0
|
|
503
|
+
# We must first split on \\t to get rid of the descriptions to be
|
|
504
|
+
# able to check what the actual completion will be.
|
|
505
|
+
# We don't need descriptions anyway since there is only a single
|
|
506
|
+
# real completion which the shell will expand immediately.
|
|
507
|
+
set -l split (string split --max 1 "\\t" $__${e}_comp_results[1])
|
|
508
|
+
|
|
509
|
+
# Fish won't add a space if the completion ends with any
|
|
510
|
+
# of the following characters: @=/:.,
|
|
511
|
+
set -l lastChar (string sub -s -1 -- $split)
|
|
512
|
+
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
|
513
|
+
# In other cases, to support the "nospace" directive we trick the shell
|
|
514
|
+
# by outputting an extra, longer completion.
|
|
515
|
+
__${e}_debug "Adding second completion to perform nospace directive"
|
|
516
|
+
set --global __${e}_comp_results $split[1] $split[1].
|
|
517
|
+
__${e}_debug "Completions are now: $__${e}_comp_results"
|
|
518
|
+
end
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
if test $numComps -eq 0; and test $nofiles -eq 0
|
|
522
|
+
# To be consistent with bash and zsh, we only trigger file
|
|
523
|
+
# completion when there are no other completions
|
|
524
|
+
__${e}_debug "Requesting file completion"
|
|
525
|
+
return 1
|
|
526
|
+
end
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
return 0
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
|
533
|
+
# so we can properly delete any completions provided by another script.
|
|
534
|
+
# Only do this if the program can be found, or else fish may print some errors; besides,
|
|
535
|
+
# the existing completions will only be loaded if the program can be found.
|
|
536
|
+
if type -q "${t}"
|
|
537
|
+
# The space after the program name is essential to trigger completion for the program
|
|
538
|
+
# and not completion of the program name itself.
|
|
539
|
+
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
|
540
|
+
complete --do-complete "${t} " > /dev/null 2>&1
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
# Remove any pre-existing completions for the program since we will be handling all of them.
|
|
544
|
+
complete -c ${t} -e
|
|
545
|
+
|
|
546
|
+
# This will get called after the two calls below and clear the cached result
|
|
547
|
+
complete -c ${t} -n '__${e}_clear_perform_completion_once_result'
|
|
548
|
+
# The call to __${e}_prepare_completions will setup __${e}_comp_results
|
|
549
|
+
# which provides the program's completion choices.
|
|
550
|
+
# If this doesn't require order preservation, we don't use the -k flag
|
|
551
|
+
complete -c ${t} -n 'not __${e}_requires_order_preservation && __${e}_prepare_completions' -f -a '$__${e}_comp_results'
|
|
552
|
+
# Otherwise we use the -k flag
|
|
553
|
+
complete -k -c ${t} -n '__${e}_requires_order_preservation && __${e}_prepare_completions' -f -a '$__${e}_comp_results'
|
|
554
|
+
`}function b(t,i){let e=t.replace(/[-:]/g,"_");return`# powershell completion for ${t} -*- shell-script -*-
|
|
555
|
+
|
|
556
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
557
|
+
function __${t}_debug {
|
|
558
|
+
if ($env:BASH_COMP_DEBUG_FILE) {
|
|
559
|
+
"$args" | Out-File -Append -FilePath "$env:BASH_COMP_DEBUG_FILE"
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
filter __${t}_escapeStringWithSpecialChars {
|
|
564
|
+
$_ -replace '\\s|#|@|\\$|;|,|''|\\{|\\}|\\(|\\)|"|\\||<|>|&','\`$&'
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
[scriptblock]$__${e}CompleterBlock = {
|
|
568
|
+
param(
|
|
569
|
+
$WordToComplete,
|
|
570
|
+
$CommandAst,
|
|
571
|
+
$CursorPosition
|
|
130
572
|
)
|
|
131
|
-
`)}close(){this.#t.close()}get(f){I(f);const C=this.#E(f);return C?{body:C.body?Buffer.from(C.body.buffer,C.body.byteOffset,C.body.byteLength):void 0,statusCode:C.statusCode,statusMessage:C.statusMessage,headers:C.headers?JSON.parse(C.headers):void 0,etag:C.etag?C.etag:void 0,vary:C.vary?JSON.parse(C.vary):void 0,cacheControlDirectives:C.cacheControlDirectives?JSON.parse(C.cacheControlDirectives):void 0,cachedAt:C.cachedAt,staleAt:C.staleAt,deleteAt:C.deleteAt}:void 0}set(f,C){I(f);const h=this.#c(f),u=Array.isArray(C.body)?Buffer.concat(C.body):C.body,c=u?.byteLength;if(c&&c>this.#A)return;const t=this.#E(f,!0);t?this.#n.run(u,C.deleteAt,C.statusCode,C.statusMessage,C.headers?JSON.stringify(C.headers):null,C.etag?C.etag:null,C.cacheControlDirectives?JSON.stringify(C.cacheControlDirectives):null,C.vary?JSON.stringify(C.vary):null,C.cachedAt,C.staleAt,t.id):(this.#s.run(h,f.method,u,C.deleteAt,C.statusCode,C.statusMessage,C.headers?JSON.stringify(C.headers):null,C.etag?C.etag:null,C.cacheControlDirectives?JSON.stringify(C.cacheControlDirectives):null,C.vary?JSON.stringify(C.vary):null,C.cachedAt,C.staleAt),this.#l())}createWriteStream(f,C){I(f),d(C);let h=0;const u=[],c=this;return new A({decodeStrings:!0,write(t,r,e){h+=t.byteLength,h<=c.#A?u.push(t):this.destroy(),e()},final(t){c.set(f,{...C,body:u}),t()}})}delete(f){if(typeof f!="object")throw new TypeError(`expected key to be object, got ${typeof f}`);this.#i.run(this.#c(f))}#l(){if(Number.isFinite(this.#e)&&this.size<=this.#e)return 0;{const f=this.#o.run(Date.now()).changes;if(f)return f}{const f=this.#g?.run(Math.max(Math.floor(this.#e*.1),1)).changes;if(f)return f}return 0}get size(){const{total:f}=this.#a.get();return f}#c(f){return`${f.origin}/${f.path}`}#E(f,C=!1){const h=this.#c(f),{headers:u,method:c}=f,t=this.#r.all(h,c);if(t.length===0)return;const r=Date.now();for(const e of t){if(r>=e.deleteAt&&!C)continue;let n=!0;if(e.vary){const o=JSON.parse(e.vary);for(const g in o)if(!a(u[g],o[g])){n=!1;break}}if(n)return e}}};function a(f,C){if(f==null&&C==null)return!0;if(f==null&&C!=null||f!=null&&C==null)return!1;if(Array.isArray(f)&&Array.isArray(C)){if(f.length!==C.length)return!1;for(let h=0;h<f.length;h++)if(f[h]!==C[h])return!1;return!0}return f===C}return es}var ts,uo;function At(){if(uo)return ts;uo=1;const{kConstruct:A}=Ae(),{kEnumerableProperty:I}=OA(),{iteratorMixin:d,isValidHeaderName:N,isValidHeaderValue:S}=Se(),{webidl:s}=he(),a=_A,f=we;function C(E){return E===10||E===13||E===9||E===32}function h(E){let i=0,y=E.length;for(;y>i&&C(E.charCodeAt(y-1));)--y;for(;y>i&&C(E.charCodeAt(i));)++i;return i===0&&y===E.length?E:E.substring(i,y)}function u(E,i){if(Array.isArray(i))for(let y=0;y<i.length;++y){const l=i[y];if(l.length!==2)throw s.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${l.length}.`});c(E,l[0],l[1])}else if(typeof i=="object"&&i!==null){const y=Object.keys(i);for(let l=0;l<y.length;++l)c(E,y[l],i[y[l]])}else throw s.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function c(E,i,y){if(y=h(y),N(i)){if(!S(y))throw s.errors.invalidArgument({prefix:"Headers.append",value:y,type:"header value"})}else throw s.errors.invalidArgument({prefix:"Headers.append",value:i,type:"header name"});if(o(E)==="immutable")throw new TypeError("immutable");return D(E).append(i,y,!1)}function t(E){const i=D(E);if(!i)return[];if(i.sortedMap)return i.sortedMap;const y=[],l=i.toSortedArray(),B=i.cookies;if(B===null||B.length===1)return i.sortedMap=l;for(let U=0;U<l.length;++U){const{0:M,1:T}=l[U];if(M==="set-cookie")for(let F=0;F<B.length;++F)y.push([M,B[F]]);else y.push([M,T])}return i.sortedMap=y}function r(E,i){return E[0]<i[0]?-1:1}class e{cookies=null;sortedMap;headersMap;constructor(i){i instanceof e?(this.headersMap=new Map(i.headersMap),this.sortedMap=i.sortedMap,this.cookies=i.cookies===null?null:[...i.cookies]):(this.headersMap=new Map(i),this.sortedMap=null)}contains(i,y){return this.headersMap.has(y?i:i.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(i,y,l){this.sortedMap=null;const B=l?i:i.toLowerCase(),U=this.headersMap.get(B);if(U){const M=B==="cookie"?"; ":", ";this.headersMap.set(B,{name:U.name,value:`${U.value}${M}${y}`})}else this.headersMap.set(B,{name:i,value:y});B==="set-cookie"&&(this.cookies??=[]).push(y)}set(i,y,l){this.sortedMap=null;const B=l?i:i.toLowerCase();B==="set-cookie"&&(this.cookies=[y]),this.headersMap.set(B,{name:i,value:y})}delete(i,y){this.sortedMap=null,y||(i=i.toLowerCase()),i==="set-cookie"&&(this.cookies=null),this.headersMap.delete(i)}get(i,y){return this.headersMap.get(y?i:i.toLowerCase())?.value??null}*[Symbol.iterator](){for(const{0:i,1:{value:y}}of this.headersMap)yield[i,y]}get entries(){const i={};if(this.headersMap.size!==0)for(const{name:y,value:l}of this.headersMap.values())i[y]=l;return i}rawValues(){return this.headersMap.values()}get entriesList(){const i=[];if(this.headersMap.size!==0)for(const{0:y,1:{name:l,value:B}}of this.headersMap)if(y==="set-cookie")for(const U of this.cookies)i.push([l,U]);else i.push([l,B]);return i}toSortedArray(){const i=this.headersMap.size,y=new Array(i);if(i<=32){if(i===0)return y;const l=this.headersMap[Symbol.iterator](),B=l.next().value;y[0]=[B[0],B[1].value],a(B[1].value!==null);for(let U=1,M=0,T=0,F=0,R=0,k,Q;U<i;++U){for(Q=l.next().value,k=y[U]=[Q[0],Q[1].value],a(k[1]!==null),F=0,T=U;F<T;)R=F+(T-F>>1),y[R][0]<=k[0]?F=R+1:T=R;if(U!==R){for(M=U;M>F;)y[M]=y[--M];y[F]=k}}if(!l.next().done)throw new TypeError("Unreachable");return y}else{let l=0;for(const{0:B,1:{value:U}}of this.headersMap)y[l++]=[B,U],a(U!==null);return y.sort(r)}}}class n{#A;#e;constructor(i=void 0){s.util.markAsUncloneable(this),i!==A&&(this.#e=new e,this.#A="none",i!==void 0&&(i=s.converters.HeadersInit(i,"Headers constructor","init"),u(this,i)))}append(i,y){s.brandCheck(this,n),s.argumentLengthCheck(arguments,2,"Headers.append");const l="Headers.append";return i=s.converters.ByteString(i,l,"name"),y=s.converters.ByteString(y,l,"value"),c(this,i,y)}delete(i){if(s.brandCheck(this,n),s.argumentLengthCheck(arguments,1,"Headers.delete"),i=s.converters.ByteString(i,"Headers.delete","name"),!N(i))throw s.errors.invalidArgument({prefix:"Headers.delete",value:i,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.contains(i,!1)&&this.#e.delete(i,!1)}get(i){s.brandCheck(this,n),s.argumentLengthCheck(arguments,1,"Headers.get");const y="Headers.get";if(i=s.converters.ByteString(i,y,"name"),!N(i))throw s.errors.invalidArgument({prefix:y,value:i,type:"header name"});return this.#e.get(i,!1)}has(i){s.brandCheck(this,n),s.argumentLengthCheck(arguments,1,"Headers.has");const y="Headers.has";if(i=s.converters.ByteString(i,y,"name"),!N(i))throw s.errors.invalidArgument({prefix:y,value:i,type:"header name"});return this.#e.contains(i,!1)}set(i,y){s.brandCheck(this,n),s.argumentLengthCheck(arguments,2,"Headers.set");const l="Headers.set";if(i=s.converters.ByteString(i,l,"name"),y=s.converters.ByteString(y,l,"value"),y=h(y),N(i)){if(!S(y))throw s.errors.invalidArgument({prefix:l,value:y,type:"header value"})}else throw s.errors.invalidArgument({prefix:l,value:i,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.set(i,y,!1)}getSetCookie(){s.brandCheck(this,n);const i=this.#e.cookies;return i?[...i]:[]}[f.inspect.custom](i,y){return y.depth??=i,`Headers ${f.formatWithOptions(y,this.#e.entries)}`}static getHeadersGuard(i){return i.#A}static setHeadersGuard(i,y){i.#A=y}static getHeadersList(i){return i.#e}static setHeadersList(i,y){i.#e=y}}const{getHeadersGuard:o,setHeadersGuard:g,getHeadersList:D,setHeadersList:w}=n;return Reflect.deleteProperty(n,"getHeadersGuard"),Reflect.deleteProperty(n,"setHeadersGuard"),Reflect.deleteProperty(n,"getHeadersList"),Reflect.deleteProperty(n,"setHeadersList"),d("Headers",n,t,0,1),Object.defineProperties(n.prototype,{append:I,delete:I,get:I,has:I,set:I,getSetCookie:I,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[f.inspect.custom]:{enumerable:!1}}),s.converters.HeadersInit=function(E,i,y){if(s.util.Type(E)===s.util.Types.OBJECT){const l=Reflect.get(E,Symbol.iterator);if(!f.types.isProxy(E)&&l===n.prototype.entries)try{return D(E).entriesList}catch{}return typeof l=="function"?s.converters["sequence<sequence<ByteString>>"](E,i,y,l.bind(E)):s.converters["record<ByteString, ByteString>"](E,i,y)}throw s.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})},ts={fill:u,compareHeaderName:r,Headers:n,HeadersList:e,getHeadersGuard:o,setHeadersGuard:g,setHeadersList:w,getHeadersList:D},ts}var rs,Bo;function bt(){if(Bo)return rs;Bo=1;const{Headers:A,HeadersList:I,fill:d,getHeadersGuard:N,setHeadersGuard:S,setHeadersList:s}=At(),{extractBody:a,cloneBody:f,mixinBody:C,streamRegistry:h,bodyUnusable:u}=ht(),c=OA(),t=we,{kEnumerableProperty:r}=c,{isValidReasonPhrase:e,isCancelled:n,isAborted:o,isErrorLike:g,environmentSettingsObject:D}=Se(),{redirectStatusSet:w,nullBodyStatus:E}=Rt(),{webidl:i}=he(),{URLSerializer:y}=be(),{kConstruct:l}=Ae(),B=_A,{isomorphicEncode:U,serializeJavascriptValueToJSONString:M}=He(),T=new TextEncoder("utf-8");class F{#A;#e;static error(){return J(O(),"immutable")}static json(X,j=void 0){i.argumentLengthCheck(arguments,1,"Response.json"),j=i.converters.ResponseInit(j);const nA=T.encode(M(X)),gA=a(nA),rA=J(G({}),"response");return $(rA,j,{body:gA[0],type:"application/json"}),rA}static redirect(X,j=302){i.argumentLengthCheck(arguments,1,"Response.redirect"),X=i.converters.USVString(X),j=i.converters["unsigned short"](j);let nA;try{nA=new URL(X,D.settingsObject.baseUrl)}catch(DA){throw new TypeError(`Failed to parse URL from ${X}`,{cause:DA})}if(!w.has(j))throw new RangeError(`Invalid status code ${j}`);const gA=J(G({}),"immutable");gA.#e.status=j;const rA=U(y(nA));return gA.#e.headersList.append("location",rA,!0),gA}constructor(X=null,j=void 0){if(i.util.markAsUncloneable(this),X===l)return;X!==null&&(X=i.converters.BodyInit(X,"Response","body")),j=i.converters.ResponseInit(j),this.#e=G({}),this.#A=new A(l),S(this.#A,"response"),s(this.#A,this.#e.headersList);let nA=null;if(X!=null){const[gA,rA]=a(X);nA={body:gA,type:rA}}$(this,j,nA)}get type(){return i.brandCheck(this,F),this.#e.type}get url(){i.brandCheck(this,F);const X=this.#e.urlList,j=X[X.length-1]??null;return j===null?"":y(j,!0)}get redirected(){return i.brandCheck(this,F),this.#e.urlList.length>1}get status(){return i.brandCheck(this,F),this.#e.status}get ok(){return i.brandCheck(this,F),this.#e.status>=200&&this.#e.status<=299}get statusText(){return i.brandCheck(this,F),this.#e.statusText}get headers(){return i.brandCheck(this,F),this.#A}get body(){return i.brandCheck(this,F),this.#e.body?this.#e.body.stream:null}get bodyUsed(){return i.brandCheck(this,F),!!this.#e.body&&c.isDisturbed(this.#e.body.stream)}clone(){if(i.brandCheck(this,F),u(this.#e))throw i.errors.exception({header:"Response.clone",message:"Body has already been consumed."});const X=m(this.#e);return this.#e.urlList.length!==0&&this.#e.body?.stream&&h.register(this,new WeakRef(this.#e.body.stream)),J(X,N(this.#A))}[t.inspect.custom](X,j){j.depth===null&&(j.depth=2),j.colors??=!0;const nA={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${t.formatWithOptions(j,nA)}`}static getResponseHeaders(X){return X.#A}static setResponseHeaders(X,j){X.#A=j}static getResponseState(X){return X.#e}static setResponseState(X,j){X.#e=j}}const{getResponseHeaders:R,setResponseHeaders:k,getResponseState:Q,setResponseState:p}=F;Reflect.deleteProperty(F,"getResponseHeaders"),Reflect.deleteProperty(F,"setResponseHeaders"),Reflect.deleteProperty(F,"getResponseState"),Reflect.deleteProperty(F,"setResponseState"),C(F,Q),Object.defineProperties(F.prototype,{type:r,url:r,status:r,ok:r,redirected:r,statusText:r,headers:r,clone:r,body:r,bodyUsed:r,[Symbol.toStringTag]:{value:"Response",configurable:!0}}),Object.defineProperties(F,{json:r,redirect:r,error:r});function m(V){if(V.internalResponse)return tA(m(V.internalResponse),V.type);const X=G({...V,body:null});return V.body!=null&&(X.body=f(V.body)),X}function G(V){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...V,headersList:V?.headersList?new I(V?.headersList):new I,urlList:V?.urlList?[...V.urlList]:[]}}function O(V){const X=g(V);return G({type:"error",status:0,error:X?V:new Error(V&&String(V)),aborted:V&&V.name==="AbortError"})}function Y(V){return V.type==="error"&&V.status===0}function Z(V,X){return X={internalResponse:V,...X},new Proxy(V,{get(j,nA){return nA in X?X[nA]:j[nA]},set(j,nA,gA){return B(!(nA in X)),j[nA]=gA,!0}})}function tA(V,X){if(X==="basic")return Z(V,{type:"basic",headersList:V.headersList});if(X==="cors")return Z(V,{type:"cors",headersList:V.headersList});if(X==="opaque")return Z(V,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(X==="opaqueredirect")return Z(V,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});B(!1)}function lA(V,X=null){return B(n(V)),o(V)?O(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:X})):O(Object.assign(new DOMException("Request was cancelled."),{cause:X}))}function $(V,X,j){if(X.status!==null&&(X.status<200||X.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in X&&X.statusText!=null&&!e(String(X.statusText)))throw new TypeError("Invalid statusText");if("status"in X&&X.status!=null&&(Q(V).status=X.status),"statusText"in X&&X.statusText!=null&&(Q(V).statusText=X.statusText),"headers"in X&&X.headers!=null&&d(R(V),X.headers),j){if(E.includes(V.status))throw i.errors.exception({header:"Response constructor",message:`Invalid response status code ${V.status}`});Q(V).body=j.body,j.type!=null&&!Q(V).headersList.contains("content-type",!0)&&Q(V).headersList.append("content-type",j.type,!0)}}function J(V,X){const j=new F(l);p(j,V);const nA=new A(l);return k(j,nA),s(nA,V.headersList),S(nA,X),V.urlList.length!==0&&V.body?.stream&&h.register(j,new WeakRef(V.body.stream)),j}return i.converters.XMLHttpRequestBodyInit=function(V,X,j){return typeof V=="string"?i.converters.USVString(V,X,j):i.is.Blob(V)||i.is.BufferSource(V)||i.is.FormData(V)||i.is.URLSearchParams(V)?V:i.converters.DOMString(V,X,j)},i.converters.BodyInit=function(V,X,j){return i.is.ReadableStream(V)||V?.[Symbol.asyncIterator]?V:i.converters.XMLHttpRequestBodyInit(V,X,j)},i.converters.ResponseInit=i.dictionaryConverter([{key:"status",converter:i.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:i.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:i.converters.HeadersInit}]),i.is.Response=i.util.MakeTypeAssertion(F),rs={isNetworkError:Y,makeNetworkError:O,makeResponse:G,makeAppropriateNetworkError:lA,filterResponse:tA,Response:F,cloneResponse:m,fromInnerResponse:J,getResponseState:Q},rs}var ss,Co;function ut(){if(Co)return ss;Co=1;const{extractBody:A,mixinBody:I,cloneBody:d,bodyUnusable:N}=ht(),{Headers:S,fill:s,HeadersList:a,setHeadersGuard:f,getHeadersGuard:C,setHeadersList:h,getHeadersList:u}=At(),c=OA(),t=we,{isValidHTTPToken:r,sameOrigin:e,environmentSettingsObject:n}=Se(),{forbiddenMethodsSet:o,corsSafeListedMethodsSet:g,referrerPolicy:D,requestRedirect:w,requestMode:E,requestCredentials:i,requestCache:y,requestDuplex:l}=Rt(),{kEnumerableProperty:B,normalizedMethodRecordsBase:U,normalizedMethodRecords:M}=c,{webidl:T}=he(),{URLSerializer:F}=be(),{kConstruct:R}=Ae(),k=_A,{getMaxListeners:Q,setMaxListeners:p,defaultMaxListeners:m}=Le,G=Symbol("abortController"),O=new FinalizationRegistry(({signal:aA,abort:v})=>{aA.removeEventListener("abort",v)}),Y=new WeakMap;let Z;try{Z=Q(new AbortController().signal)>0}catch{Z=!1}function tA(aA){return v;function v(){const iA=aA.deref();if(iA!==void 0){O.unregister(v),this.removeEventListener("abort",v),iA.abort(this.reason);const AA=Y.get(iA.signal);if(AA!==void 0){if(AA.size!==0){for(const dA of AA){const MA=dA.deref();MA!==void 0&&MA.abort(this.reason)}AA.clear()}Y.delete(iA.signal)}}}}let lA=!1;class ${#A;#e;#t;#r;#n=null;constructor(v,iA=void 0){if(T.util.markAsUncloneable(this),v===R)return;T.argumentLengthCheck(arguments,1,"Request constructor"),v=T.converters.RequestInfo(v),iA=T.converters.RequestInit(iA);let AA=null,dA=null;const MA=n.settingsObject.baseUrl;let FA=null;if(typeof v=="string"){this.#e=iA.dispatcher;let GA;try{GA=new URL(v,MA)}catch(z){throw new TypeError("Failed to parse URL from "+v,{cause:z})}if(GA.username||GA.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+v);AA=DA({urlList:[GA]}),dA="cors"}else k(T.is.Request(v)),AA=v.#r,FA=v.#A,this.#e=iA.dispatcher||v.#e;const SA=n.settingsObject.origin;let YA="client";if(AA.window?.constructor?.name==="EnvironmentSettingsObject"&&e(AA.window,SA)&&(YA=AA.window),iA.window!=null)throw new TypeError(`'window' option '${YA}' must be null`);"window"in iA&&(YA="no-window"),AA=DA({method:AA.method,headersList:AA.headersList,unsafeRequest:AA.unsafeRequest,client:n.settingsObject,window:YA,priority:AA.priority,origin:AA.origin,referrer:AA.referrer,referrerPolicy:AA.referrerPolicy,mode:AA.mode,credentials:AA.credentials,cache:AA.cache,redirect:AA.redirect,integrity:AA.integrity,keepalive:AA.keepalive,reloadNavigation:AA.reloadNavigation,historyNavigation:AA.historyNavigation,urlList:[...AA.urlList]});const jA=Object.keys(iA).length!==0;if(jA&&(AA.mode==="navigate"&&(AA.mode="same-origin"),AA.reloadNavigation=!1,AA.historyNavigation=!1,AA.origin="client",AA.referrer="client",AA.referrerPolicy="",AA.url=AA.urlList[AA.urlList.length-1],AA.urlList=[AA.url]),iA.referrer!==void 0){const GA=iA.referrer;if(GA==="")AA.referrer="no-referrer";else{let z;try{z=new URL(GA,MA)}catch(RA){throw new TypeError(`Referrer "${GA}" is not a valid URL.`,{cause:RA})}z.protocol==="about:"&&z.hostname==="client"||SA&&!e(z,n.settingsObject.baseUrl)?AA.referrer="client":AA.referrer=z}}iA.referrerPolicy!==void 0&&(AA.referrerPolicy=iA.referrerPolicy);let PA;if(iA.mode!==void 0?PA=iA.mode:PA=dA,PA==="navigate")throw T.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(PA!=null&&(AA.mode=PA),iA.credentials!==void 0&&(AA.credentials=iA.credentials),iA.cache!==void 0&&(AA.cache=iA.cache),AA.cache==="only-if-cached"&&AA.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(iA.redirect!==void 0&&(AA.redirect=iA.redirect),iA.integrity!=null&&(AA.integrity=String(iA.integrity)),iA.keepalive!==void 0&&(AA.keepalive=!!iA.keepalive),iA.method!==void 0){let GA=iA.method;const z=M[GA];if(z!==void 0)AA.method=z;else{if(!r(GA))throw new TypeError(`'${GA}' is not a valid HTTP method.`);const RA=GA.toUpperCase();if(o.has(RA))throw new TypeError(`'${GA}' HTTP method is unsupported.`);GA=U[RA]??GA,AA.method=GA}!lA&&AA.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),lA=!0)}iA.signal!==void 0&&(FA=iA.signal),this.#r=AA;const KA=new AbortController;if(this.#A=KA.signal,FA!=null)if(FA.aborted)KA.abort(FA.reason);else{this[G]=KA;const GA=new WeakRef(KA),z=tA(GA);Z&&Q(FA)===m&&p(1500,FA);const RA=c.addAbortListener(FA,z);O.register(KA,{signal:FA,abort:z},z),this.#n=()=>{O.unregister(z),RA(),this.#n=null}}if(this.#t=new S(R),h(this.#t,AA.headersList),f(this.#t,"request"),PA==="no-cors"){if(!g.has(AA.method))throw new TypeError(`'${AA.method} is unsupported in no-cors mode.`);f(this.#t,"request-no-cors")}if(jA){const GA=u(this.#t),z=iA.headers!==void 0?iA.headers:new a(GA);if(GA.clear(),z instanceof a){for(const{name:RA,value:vA}of z.rawValues())GA.append(RA,vA,!1);GA.cookies=z.cookies}else s(this.#t,z)}const re=T.is.Request(v)?v.#r.body:null;if((iA.body!=null||re!=null)&&(AA.method==="GET"||AA.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let te=null;if(iA.body!=null){const[GA,z]=A(iA.body,AA.keepalive);te=GA,z&&!u(this.#t).contains("content-type",!0)&&this.#t.append("content-type",z,!0)}const ee=te??re;if(ee!=null&&ee.source==null){if(te!=null&&iA.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(AA.mode!=="same-origin"&&AA.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');AA.useCORSPreflightFlag=!0}let ae=ee;if(te==null&&re!=null){if(N(v.#r))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");const GA=new TransformStream;re.stream.pipeThrough(GA),ae={source:re.source,length:re.length,stream:GA.readable}}this.#r.body=ae}get method(){return T.brandCheck(this,$),this.#r.method}get url(){return T.brandCheck(this,$),F(this.#r.url)}get headers(){return T.brandCheck(this,$),this.#t}get destination(){return T.brandCheck(this,$),this.#r.destination}get referrer(){return T.brandCheck(this,$),this.#r.referrer==="no-referrer"?"":this.#r.referrer==="client"?"about:client":this.#r.referrer.toString()}get referrerPolicy(){return T.brandCheck(this,$),this.#r.referrerPolicy}get mode(){return T.brandCheck(this,$),this.#r.mode}get credentials(){return T.brandCheck(this,$),this.#r.credentials}get cache(){return T.brandCheck(this,$),this.#r.cache}get redirect(){return T.brandCheck(this,$),this.#r.redirect}get integrity(){return T.brandCheck(this,$),this.#r.integrity}get keepalive(){return T.brandCheck(this,$),this.#r.keepalive}get isReloadNavigation(){return T.brandCheck(this,$),this.#r.reloadNavigation}get isHistoryNavigation(){return T.brandCheck(this,$),this.#r.historyNavigation}get signal(){return T.brandCheck(this,$),this.#A}get body(){return T.brandCheck(this,$),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return T.brandCheck(this,$),!!this.#r.body&&c.isDisturbed(this.#r.body.stream)}get duplex(){return T.brandCheck(this,$),"half"}clone(){if(T.brandCheck(this,$),N(this.#r))throw new TypeError("unusable");const v=kA(this.#r),iA=new AbortController;if(this.signal.aborted)iA.abort(this.signal.reason);else{let AA=Y.get(this.signal);AA===void 0&&(AA=new Set,Y.set(this.signal,AA));const dA=new WeakRef(iA);AA.add(dA),c.addAbortListener(iA.signal,tA(dA))}return mA(v,this.#e,iA.signal,C(this.#t))}[t.inspect.custom](v,iA){iA.depth===null&&(iA.depth=2),iA.colors??=!0;const AA={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${t.formatWithOptions(iA,AA)}`}static setRequestSignal(v,iA){return v.#A=iA,v}static getRequestDispatcher(v){return v.#e}static setRequestDispatcher(v,iA){v.#e=iA}static setRequestHeaders(v,iA){v.#t=iA}static getRequestState(v){return v.#r}static setRequestState(v,iA){v.#r=iA}static removeRequestAbortListener(v){v.#n?.()}}const{setRequestSignal:J,getRequestDispatcher:V,setRequestDispatcher:X,setRequestHeaders:j,getRequestState:nA,setRequestState:gA,removeRequestAbortListener:rA}=$;Reflect.deleteProperty($,"setRequestSignal"),Reflect.deleteProperty($,"getRequestDispatcher"),Reflect.deleteProperty($,"setRequestDispatcher"),Reflect.deleteProperty($,"setRequestHeaders"),Reflect.deleteProperty($,"getRequestState"),Reflect.deleteProperty($,"setRequestState"),Reflect.deleteProperty($,"removeRequestAbortListener"),I($,nA);function DA(aA){return{method:aA.method??"GET",localURLsOnly:aA.localURLsOnly??!1,unsafeRequest:aA.unsafeRequest??!1,body:aA.body??null,client:aA.client??null,reservedClient:aA.reservedClient??null,replacesClientId:aA.replacesClientId??"",window:aA.window??"client",keepalive:aA.keepalive??!1,serviceWorkers:aA.serviceWorkers??"all",initiator:aA.initiator??"",destination:aA.destination??"",priority:aA.priority??null,origin:aA.origin??"client",policyContainer:aA.policyContainer??"client",referrer:aA.referrer??"client",referrerPolicy:aA.referrerPolicy??"",mode:aA.mode??"no-cors",useCORSPreflightFlag:aA.useCORSPreflightFlag??!1,credentials:aA.credentials??"same-origin",useCredentials:aA.useCredentials??!1,cache:aA.cache??"default",redirect:aA.redirect??"follow",integrity:aA.integrity??"",cryptoGraphicsNonceMetadata:aA.cryptoGraphicsNonceMetadata??"",parserMetadata:aA.parserMetadata??"",reloadNavigation:aA.reloadNavigation??!1,historyNavigation:aA.historyNavigation??!1,userActivation:aA.userActivation??!1,taintedOrigin:aA.taintedOrigin??!1,redirectCount:aA.redirectCount??0,responseTainting:aA.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:aA.preventNoCacheCacheControlHeaderModification??!1,done:aA.done??!1,timingAllowFailed:aA.timingAllowFailed??!1,useURLCredentials:aA.useURLCredentials??void 0,traversableForUserPrompts:aA.traversableForUserPrompts??"client",urlList:aA.urlList,url:aA.urlList[0],headersList:aA.headersList?new a(aA.headersList):new a}}function kA(aA){const v=DA({...aA,body:null});return aA.body!=null&&(v.body=d(aA.body)),v}function mA(aA,v,iA,AA){const dA=new $(R);gA(dA,aA),X(dA,v),J(dA,iA);const MA=new S(R);return j(dA,MA),h(MA,aA.headersList),f(MA,AA),dA}return Object.defineProperties($.prototype,{method:B,url:B,headers:B,redirect:B,clone:B,signal:B,duplex:B,destination:B,body:B,bodyUsed:B,isHistoryNavigation:B,isReloadNavigation:B,keepalive:B,integrity:B,cache:B,credentials:B,attribute:B,referrerPolicy:B,referrer:B,mode:B,[Symbol.toStringTag]:{value:"Request",configurable:!0}}),T.is.Request=T.util.MakeTypeAssertion($),T.converters.RequestInfo=function(aA){return typeof aA=="string"?T.converters.USVString(aA):T.is.Request(aA)?aA:T.converters.USVString(aA)},T.converters.RequestInit=T.dictionaryConverter([{key:"method",converter:T.converters.ByteString},{key:"headers",converter:T.converters.HeadersInit},{key:"body",converter:T.nullableConverter(T.converters.BodyInit)},{key:"referrer",converter:T.converters.USVString},{key:"referrerPolicy",converter:T.converters.DOMString,allowedValues:D},{key:"mode",converter:T.converters.DOMString,allowedValues:E},{key:"credentials",converter:T.converters.DOMString,allowedValues:i},{key:"cache",converter:T.converters.DOMString,allowedValues:y},{key:"redirect",converter:T.converters.DOMString,allowedValues:w},{key:"integrity",converter:T.converters.DOMString},{key:"keepalive",converter:T.converters.boolean},{key:"signal",converter:T.nullableConverter(aA=>T.converters.AbortSignal(aA,"RequestInit","signal"))},{key:"window",converter:T.converters.any},{key:"duplex",converter:T.converters.DOMString,allowedValues:l},{key:"dispatcher",converter:T.converters.any},{key:"priority",converter:T.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]),ss={Request:$,makeRequest:DA,fromInnerRequest:mA,cloneRequest:kA,getRequestDispatcher:V,getRequestState:nA,removeRequestAbortListener:rA},ss}var ns,fo;function Ea(){if(fo)return ns;fo=1;const A=_A,{runtimeFeatures:I}=Et(),d=new Map([["sha256",0],["sha384",1],["sha512",2]]);let N;if(I.has("crypto")){N=Ze;const c=N.getHashes();c.length===0&&d.clear();for(const t of d.keys())c.includes(t)===!1&&d.delete(t)}else d.clear();const S=Map.prototype.get.bind(d),s=Map.prototype.has.bind(d),a=I.has("crypto")===!1||d.size===0?()=>!0:(c,t)=>{const r=C(t);if(r.length===0)return!0;const e=f(r);for(const n of e){const o=n.alg,g=n.val,D=h(o,c);if(u(D,g))return!0}return!1};function f(c){const t=[];let r=null;for(const e of c){if(A(s(e.alg),"Invalid SRI hash algorithm token"),t.length===0){t.push(e),r=e;continue}const n=r.alg,o=S(n),g=e.alg,D=S(g);D<o||(D>o?(r=e,t[0]=e,t.length=1):t.push(e))}return t}function C(c){const t=[];for(const r of c.split(" ")){const e=r.split("?",1)[0];let n="";const o=[e.slice(0,6),e.slice(7)],g=o[0];if(!s(g))continue;o[1]&&(n=o[1]);const D={alg:g,val:n};t.push(D)}return t}const h=(c,t)=>N.hash(c,t,"base64");function u(c,t){let r=c.length;r!==0&&c[r-1]==="="&&(r-=1),r!==0&&c[r-1]==="="&&(r-=1);let e=t.length;if(e!==0&&t[e-1]==="="&&(e-=1),e!==0&&t[e-1]==="="&&(e-=1),r!==e)return!1;for(let n=0;n<r;++n)if(!(c[n]===t[n]||c[n]==="+"&&t[n]==="-"||c[n]==="/"&&t[n]==="_"))return!1;return!0}return ns={applyAlgorithmToBytes:h,bytesMatch:a,caseSensitiveMatch:u,isValidSRIHashAlgorithm:s,getStrongestMetadata:f,parseMetadata:C},ns}var os,yo;function Ft(){if(yo)return os;yo=1;const{makeNetworkError:A,makeAppropriateNetworkError:I,filterResponse:d,makeResponse:N,fromInnerResponse:S,getResponseState:s}=bt(),{HeadersList:a}=At(),{Request:f,cloneRequest:C,getRequestDispatcher:h,getRequestState:u,removeRequestAbortListener:c}=ut(),t=St,{makePolicyContainer:r,clonePolicyContainer:e,requestBadPort:n,TAOCheck:o,appendRequestOriginHeader:g,responseLocationURL:D,requestCurrentURL:w,setRequestReferrerPolicyOnRedirect:E,tryUpgradeRequestToAPotentiallyTrustworthyURL:i,createOpaqueTimingInfo:y,appendFetchMetadata:l,corsCheck:B,crossOriginResourcePolicyCheck:U,determineRequestsReferrer:M,coarsenedSharedCurrentTime:T,sameOrigin:F,isCancelled:R,isAborted:k,isErrorLike:Q,fullyReadBody:p,readableStreamClose:m,urlIsLocal:G,urlIsHttpHttpsScheme:O,urlHasHttpsScheme:Y,clampAndCoarsenConnectionTimingInfo:Z,simpleRangeHeaderValue:tA,buildContentRange:lA,createInflate:$,extractMimeType:J,hasAuthenticationEntry:V,includesCredentials:X,isTraversableNavigable:j}=Se(),nA=_A,{safelyExtractBody:gA,extractBody:rA}=ht(),{redirectStatusSet:DA,nullBodyStatus:kA,safeMethodsSet:mA,requestBodyHeader:aA,subresourceSet:v}=Rt(),iA=Le,{Readable:AA,pipeline:dA,finished:MA,isErrored:FA,isReadable:SA}=ue,{addAbortListener:YA,bufferToLowerCasedHeaderName:jA}=OA(),{dataURLProcessor:PA,serializeAMimeType:KA,minimizeSupportedMimeType:re}=be(),{getGlobalDispatcher:te}=Ts(),{webidl:ee}=he(),{STATUS_CODES:ae}=wt,{bytesMatch:GA}=Ea(),{isomorphicEncode:z}=He(),RA=["GET","HEAD"],vA=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici";let H;function cA(b,W,_){if(Array.isArray(_)){for(let x=0;x<_.length;x+=2){const sA=jA(_[x]),K=_[x+1];if(Array.isArray(K)&&!Buffer.isBuffer(K))for(const fA of K)b.append(sA,fA.toString("latin1"),!0);else b.append(sA,K.toString("latin1"),!0)}return}for(const[x,sA]of Object.entries(W??{}))if(Array.isArray(sA))for(const K of sA)b.append(x,`${K}`,!0);else b.append(x,`${sA}`,!0)}class CA extends iA{constructor(W){super(),this.dispatcher=W,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(W){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(W),this.emit("terminated",W))}abort(W){this.state==="ongoing"&&(this.state="aborted",W||(W=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=W,this.connection?.destroy(W),this.emit("terminated",W))}}function wA(b){oA(b,"fetch")}function q(b,W=void 0){ee.argumentLengthCheck(arguments,1,"globalThis.fetch");let _=Promise.withResolvers(),x;try{x=new f(b,W)}catch(bA){return _.reject(bA),_.promise}const sA=u(x);if(x.signal.aborted)return yA(_,sA,null,x.signal.reason,null),_.promise;sA.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(sA.serviceWorkers="none");let K=null,fA=!1,IA=null;const LA=YA(x.signal,()=>{fA=!0,nA(IA!=null),IA.abort(x.signal.reason);const bA=K?.deref();yA(_,sA,bA,x.signal.reason,IA.controller)}),NA=()=>{LA(),c(x)};return IA=TA({request:sA,processResponseEndOfBody:bA=>{wA(bA),NA()},processResponse:bA=>{if(!fA){if(bA.aborted){yA(_,sA,K,IA.serializedAbortReason,IA.controller),NA();return}if(bA.type==="error"){_.reject(new TypeError("fetch failed",{cause:bA.error})),NA();return}K=new WeakRef(S(bA,"immutable")),_.resolve(K.deref()),_=null}},dispatcher:h(x),requestObject:x}),_.promise}function oA(b,W="other"){if(b.type==="error"&&b.aborted||!b.urlList?.length)return;const _=b.urlList[0];let x=b.timingInfo,sA=b.cacheState;O(_)&&x!==null&&(b.timingAllowPassed||(x=y({startTime:x.startTime}),sA=""),x.endTime=T(),b.timingInfo=x,BA(x,_.href,W,globalThis,sA,"",b.status))}const BA=performance.markResourceTiming;function yA(b,W,_,x,sA){if(b&&b.reject(x),W.body?.stream!=null&&SA(W.body.stream)&&W.body.stream.cancel(x).catch(fA=>{if(fA.code!=="ERR_INVALID_STATE")throw fA}),_==null)return;const K=s(_);K.body?.stream!=null&&SA(K.body.stream)&&sA.error(x)}function TA({request:b,processRequestBodyChunkLength:W,processRequestEndOfBody:_,processResponse:x,processResponseEndOfBody:sA,processResponseConsumeBody:K,useParallelQueue:fA=!1,dispatcher:IA=te(),requestObject:LA=null}){nA(IA);let NA=null,bA=!1;b.client!=null&&(NA=b.client.globalObject,bA=b.client.crossOriginIsolatedCapability);const XA=T(bA),uA=y({startTime:XA}),UA={controller:new CA(IA),request:b,timingInfo:uA,processRequestBodyChunkLength:W,processRequestEndOfBody:_,processResponse:x,processResponseConsumeBody:K,processResponseEndOfBody:sA,taskDestination:NA,crossOriginIsolatedCapability:bA,requestObject:LA};return nA(!b.body||b.body.stream),b.window==="client"&&(b.window=b.client?.globalObject?.constructor?.name==="Window"?b.client:"no-window"),b.origin==="client"&&(b.origin=b.client.origin),b.policyContainer==="client"&&(b.client!=null?b.policyContainer=e(b.client.policyContainer):b.policyContainer=r()),b.headersList.contains("accept",!0)||b.headersList.append("accept","*/*",!0),b.headersList.contains("accept-language",!0)||b.headersList.append("accept-language","*",!0),v.has(b.destination),HA(UA,!1),UA.controller}async function HA(b,W){try{const _=b.request;let x=null;if(_.localURLsOnly&&!G(w(_))&&(x=A("local URLs only")),i(_),n(_)==="blocked"&&(x=A("bad port")),_.referrerPolicy===""&&(_.referrerPolicy=_.policyContainer.referrerPolicy),_.referrer!=="no-referrer"&&(_.referrer=M(_)),x===null){const K=w(_);F(K,_.url)&&_.responseTainting==="basic"||K.protocol==="data:"||_.mode==="navigate"||_.mode==="websocket"?(_.responseTainting="basic",x=await ZA(b)):_.mode==="same-origin"?x=A('request mode cannot be "same-origin"'):_.mode==="no-cors"?_.redirect!=="follow"?x=A('redirect mode cannot be "follow" for "no-cors" request'):(_.responseTainting="opaque",x=await ZA(b)):O(w(_))?(_.responseTainting="cors",x=await ge(b)):x=A("URL scheme must be a HTTP(S) scheme")}if(W)return x;x.status!==0&&!x.internalResponse&&(_.responseTainting==="basic"?x=d(x,"basic"):_.responseTainting==="cors"?x=d(x,"cors"):_.responseTainting==="opaque"?x=d(x,"opaque"):nA(!1));let sA=x.status===0?x:x.internalResponse;if(sA.urlList.length===0&&sA.urlList.push(..._.urlList),_.timingAllowFailed||(x.timingAllowPassed=!0),x.type==="opaque"&&sA.status===206&&sA.rangeRequested&&!_.headers.contains("range",!0)&&(x=sA=A()),x.status!==0&&(_.method==="HEAD"||_.method==="CONNECT"||kA.includes(sA.status))&&(sA.body=null,b.controller.dump=!0),_.integrity){const K=IA=>zA(b,A(IA));if(_.responseTainting==="opaque"||x.body==null){K(x.error);return}const fA=IA=>{if(!GA(IA,_.integrity)){K("integrity mismatch");return}x.body=gA(IA)[0],zA(b,x)};p(x.body,fA,K)}else zA(b,x)}catch(_){b.controller.terminate(_)}}function ZA(b){if(R(b)&&b.request.redirectCount===0)return Promise.resolve(I(b));const{request:W}=b,{protocol:_}=w(W);switch(_){case"about:":return Promise.resolve(A("about scheme is not supported"));case"blob:":{H||(H=_e.resolveObjectURL);const x=w(W);if(x.search.length!==0)return Promise.resolve(A("NetworkError when attempting to fetch resource."));const sA=H(x.toString());if(W.method!=="GET"||!ee.is.Blob(sA))return Promise.resolve(A("invalid method"));const K=N(),fA=sA.size,IA=z(`${fA}`),LA=sA.type;if(W.headersList.contains("range",!0)){K.rangeRequested=!0;const NA=W.headersList.get("range",!0),bA=tA(NA,!0);if(bA==="failure")return Promise.resolve(A("failed to fetch the data URL"));let{rangeStartValue:XA,rangeEndValue:uA}=bA;if(XA===null)XA=fA-uA,uA=XA+uA-1;else{if(XA>=fA)return Promise.resolve(A("Range start is greater than the blob's size."));(uA===null||uA>=fA)&&(uA=fA-1)}const UA=sA.slice(XA,uA+1,LA),WA=rA(UA);K.body=WA[0];const xA=z(`${UA.size}`),ce=lA(XA,uA,fA);K.status=206,K.statusText="Partial Content",K.headersList.set("content-length",xA,!0),K.headersList.set("content-type",LA,!0),K.headersList.set("content-range",ce,!0)}else{const NA=rA(sA);K.statusText="OK",K.body=NA[0],K.headersList.set("content-length",IA,!0),K.headersList.set("content-type",LA,!0)}return Promise.resolve(K)}case"data:":{const x=w(W),sA=PA(x);if(sA==="failure")return Promise.resolve(A("failed to fetch the data URL"));const K=KA(sA.mimeType);return Promise.resolve(N({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:K}]],body:gA(sA.body)[0]}))}case"file:":return Promise.resolve(A("not implemented... yet..."));case"http:":case"https:":return ge(b).catch(x=>A(x));default:return Promise.resolve(A("unknown scheme"))}}function se(b,W){b.request.done=!0,b.processResponseDone!=null&&queueMicrotask(()=>b.processResponseDone(W))}function zA(b,W){let _=b.timingInfo;const x=()=>{const K=Date.now();b.request.destination==="document"&&(b.controller.fullTimingInfo=_),b.controller.reportTimingSteps=()=>{if(!O(b.request.url))return;_.endTime=K;let IA=W.cacheState;const LA=W.bodyInfo;W.timingAllowPassed||(_=y(_),IA="");let NA=0;if(b.request.mode!=="navigate"||!W.hasCrossOriginRedirects){NA=W.status;const bA=J(W.headersList);bA!=="failure"&&(LA.contentType=re(bA))}b.request.initiatorType!=null&&BA(_,b.request.url.href,b.request.initiatorType,globalThis,IA,LA,NA)};const fA=()=>{b.request.done=!0,b.processResponseEndOfBody!=null&&queueMicrotask(()=>b.processResponseEndOfBody(W)),b.request.initiatorType!=null&&b.controller.reportTimingSteps()};queueMicrotask(()=>fA())};b.processResponse!=null&&queueMicrotask(()=>{b.processResponse(W),b.processResponse=null});const sA=W.type==="error"?W:W.internalResponse??W;sA.body==null?x():MA(sA.body.stream,()=>{x()})}async function ge(b){const W=b.request;let _=null,x=null;const sA=b.timingInfo;if(_===null){if(W.redirect==="follow"&&(W.serviceWorkers="none"),x=_=await Qe(b),W.responseTainting==="cors"&&B(W,_)==="failure")return A("cors failure");o(W,_)==="failure"&&(W.timingAllowFailed=!0)}return(W.responseTainting==="opaque"||_.type==="opaque")&&U(W.origin,W.client,W.destination,x)==="blocked"?A("blocked"):(DA.has(x.status)&&(W.redirect!=="manual"&&b.controller.connection.destroy(void 0,!1),W.redirect==="error"?_=A("unexpected redirect"):W.redirect==="manual"?_=x:W.redirect==="follow"?_=await Ce(b,_):nA(!1)),_.timingInfo=sA,_)}function Ce(b,W){const _=b.request,x=W.internalResponse?W.internalResponse:W;let sA;try{if(sA=D(x,w(_).hash),sA==null)return W}catch(fA){return Promise.resolve(A(fA))}if(!O(sA))return Promise.resolve(A("URL scheme must be a HTTP(S) scheme"));if(_.redirectCount===20)return Promise.resolve(A("redirect count exceeded"));if(_.redirectCount+=1,_.mode==="cors"&&(sA.username||sA.password)&&!F(_,sA))return Promise.resolve(A('cross origin not allowed for request mode "cors"'));if(_.responseTainting==="cors"&&(sA.username||sA.password))return Promise.resolve(A('URL cannot contain credentials for request mode "cors"'));if(x.status!==303&&_.body!=null&&_.body.source==null)return Promise.resolve(A());if([301,302].includes(x.status)&&_.method==="POST"||x.status===303&&!RA.includes(_.method)){_.method="GET",_.body=null;for(const fA of aA)_.headersList.delete(fA)}F(w(_),sA)||(_.headersList.delete("authorization",!0),_.headersList.delete("proxy-authorization",!0),_.headersList.delete("cookie",!0),_.headersList.delete("host",!0)),_.body!=null&&(nA(_.body.source!=null),_.body=gA(_.body.source)[0]);const K=b.timingInfo;return K.redirectEndTime=K.postRedirectStartTime=T(b.crossOriginIsolatedCapability),K.redirectStartTime===0&&(K.redirectStartTime=K.startTime),_.urlList.push(sA),E(_,x),HA(b,!0)}async function Qe(b,W=!1,_=!1){const x=b.request;let sA=null,K=null,fA=null;x.window==="no-window"&&x.redirect==="error"?(sA=b,K=x):(x.body?.source!=null?K=C(x):(K=C({...x,body:null}),K.body=x.body),sA={...b},sA.request=K);const IA=x.credentials==="include"||x.credentials==="same-origin"&&x.responseTainting==="basic",LA=K.body?K.body.length:null;let NA=null;if(K.body==null&&["POST","PUT"].includes(K.method)&&(NA="0"),LA!=null&&(NA=z(`${LA}`)),NA!=null&&!K.headersList.contains("content-length",!0)&&K.headersList.append("content-length",NA,!0),ee.is.URL(K.referrer)&&K.headersList.append("referer",z(K.referrer.href),!0),g(K),l(K),K.headersList.contains("user-agent",!0)||K.headersList.append("user-agent",vA,!0),K.cache==="default"&&(K.headersList.contains("if-modified-since",!0)||K.headersList.contains("if-none-match",!0)||K.headersList.contains("if-unmodified-since",!0)||K.headersList.contains("if-match",!0)||K.headersList.contains("if-range",!0))&&(K.cache="no-store"),K.cache==="no-cache"&&!K.preventNoCacheCacheControlHeaderModification&&!K.headersList.contains("cache-control",!0)&&K.headersList.append("cache-control","max-age=0",!0),(K.cache==="no-store"||K.cache==="reload")&&(K.headersList.contains("pragma",!0)||K.headersList.append("pragma","no-cache",!0),K.headersList.contains("cache-control",!0)||K.headersList.append("cache-control","no-cache",!0)),K.headersList.contains("range",!0)&&K.headersList.append("accept-encoding","identity",!0),K.headersList.contains("accept-encoding",!0)||(Y(w(K))?K.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):K.headersList.append("accept-encoding","gzip, deflate",!0)),K.headersList.delete("host",!0),IA&&!K.headersList.contains("authorization",!0)){let bA=null;if(!(V(K)&&(K.useURLCredentials===void 0||!X(w(K))))&&X(w(K))&&W){const{username:XA,password:uA}=w(K);bA=`Basic ${Buffer.from(`${XA}:${uA}`).toString("base64")}`}bA!==null&&K.headersList.append("Authorization",bA,!1)}if(K.cache="no-store",fA==null){if(K.cache==="only-if-cached")return A("only if cached");const bA=await QA(sA,IA,_);!mA.has(K.method)&&bA.status>=200&&bA.status<=399,fA==null&&(fA=bA)}if(fA.urlList=[...K.urlList],K.headersList.contains("range",!0)&&(fA.rangeRequested=!0),fA.requestIncludesCredentials=IA,fA.status===401&&K.responseTainting!=="cors"&&IA&&(x.useURLCredentials!==void 0||j(x.traversableForUserPrompts))){if(x.body!=null){if(x.body.source==null)return fA;x.body=gA(x.body.source)[0]}if(x.useURLCredentials===void 0||W)return R(b)?I(b):fA;b.controller.connection.destroy(),fA=await Qe(b,!0)}if(fA.status===407)return x.window==="no-window"?A():R(b)?I(b):A("proxy authentication required");if(fA.status===421&&!_&&(x.body==null||x.body.source!=null)){if(R(b))return I(b);b.controller.connection.destroy(),fA=await Qe(b,W,!0)}return fA}async function QA(b,W=!1,_=!1){nA(!b.controller.connection||b.controller.connection.destroyed),b.controller.connection={abort:null,destroyed:!1,destroy(uA,UA=!0){this.destroyed||(this.destroyed=!0,UA&&this.abort?.(uA??new DOMException("The operation was aborted.","AbortError")))}};const x=b.request;let sA=null;const K=b.timingInfo;x.cache="no-store";let fA=null;if(x.body==null&&b.processRequestEndOfBody)queueMicrotask(()=>b.processRequestEndOfBody());else if(x.body!=null){const uA=async function*(xA){R(b)||(yield xA,b.processRequestBodyChunkLength?.(xA.byteLength))},UA=()=>{R(b)||b.processRequestEndOfBody&&b.processRequestEndOfBody()},WA=xA=>{R(b)||(xA.name==="AbortError"?b.controller.abort():b.controller.terminate(xA))};fA=(async function*(){try{for await(const xA of x.body.stream)yield*uA(xA);UA()}catch(xA){WA(xA)}})()}try{const{body:uA,status:UA,statusText:WA,headersList:xA,socket:ce}=await XA({body:fA});if(ce)sA=N({status:UA,statusText:WA,headersList:xA,socket:ce});else{const De=uA[Symbol.asyncIterator]();b.controller.next=()=>De.next(),sA=N({status:UA,statusText:WA,headersList:xA})}}catch(uA){return uA.name==="AbortError"?(b.controller.connection.destroy(),I(b,uA)):A(uA)}const IA=()=>b.controller.resume(),LA=uA=>{R(b)||b.controller.abort(uA)},NA=new ReadableStream({start(uA){b.controller.controller=uA},pull:IA,cancel:LA,type:"bytes"});sA.body={stream:NA,source:null,length:null},b.controller.resume||b.controller.on("terminated",bA),b.controller.resume=async()=>{for(;;){let uA,UA;try{const{done:xA,value:ce}=await b.controller.next();if(k(b))break;uA=xA?void 0:ce}catch(xA){b.controller.ended&&!K.encodedBodySize?uA=void 0:(uA=xA,UA=!0)}if(uA===void 0){m(b.controller.controller),se(b,sA);return}if(K.decodedBodySize+=uA?.byteLength??0,UA){b.controller.terminate(uA);return}const WA=new Uint8Array(uA);if(WA.byteLength&&b.controller.controller.enqueue(WA),FA(NA)){b.controller.terminate();return}if(b.controller.controller.desiredSize<=0)return}};function bA(uA){k(b)?(sA.aborted=!0,SA(NA)&&b.controller.controller.error(b.controller.serializedAbortReason)):SA(NA)&&b.controller.controller.error(new TypeError("terminated",{cause:Q(uA)?uA:void 0})),b.controller.connection.destroy()}return sA;function XA({body:uA}){const UA=w(x),WA=b.controller.dispatcher,xA=UA.pathname+UA.search,ce=UA.search.length===0&&UA.href[UA.href.length-UA.hash.length-1]==="?";return De(uA);function De(Fe,Ye){return new Promise((ve,Ct)=>WA.dispatch({path:ce?`${xA}?`:xA,origin:UA.origin,method:x.method,body:WA.isMockActive?x.body&&(x.body.source||x.body.stream):Fe,__mockAgentBodyForDispatch:Fe,headers:x.headersList.entries,maxRedirections:0,upgrade:x.mode==="websocket"?"websocket":void 0,...Ye===!1?{allowH2:Ye}:null},{body:null,abort:null,onRequestStart(de){const{connection:ne}=b.controller;K.finalConnectionTimingInfo=Z(void 0,K.postRedirectStartTime,b.crossOriginIsolatedCapability);const Ie=Re=>de.abort(Re);ne.destroyed?Ie(new DOMException("The operation was aborted.","AbortError")):(b.controller.on("terminated",Ie),this.abort=ne.abort=Ie),K.finalNetworkRequestStartTime=T(b.crossOriginIsolatedCapability)},onResponseStarted(){K.finalNetworkResponseStartTime=T(b.crossOriginIsolatedCapability)},onResponseStart(de,ne,Ie,Re){if(ne<200)return;const Ge=de?.rawHeaders??[],Me=new a;cA(Me,Ie,Ge);const tt=Me.get("location",!0);this.body=new AA({read:()=>de.resume()});const rt=tt&&x.redirect==="follow"&&DA.has(ne),Ue=[];if(x.method!=="HEAD"&&x.method!=="CONNECT"&&!kA.includes(ne)&&!rt){const Ne=Me.get("content-encoding",!0),Te=Ne?Ne.toLowerCase().split(","):[],st=5;if(Te.length>st){Ct(new Error(`too many content-encodings in response: ${Te.length}, maximum allowed is ${st}`));return}for(let nt=Te.length-1;nt>=0;--nt){const Ve=Te[nt].trim();if(Ve==="x-gzip"||Ve==="gzip")Ue.push(t.createGunzip({flush:t.constants.Z_SYNC_FLUSH,finishFlush:t.constants.Z_SYNC_FLUSH}));else if(Ve==="deflate")Ue.push($({flush:t.constants.Z_SYNC_FLUSH,finishFlush:t.constants.Z_SYNC_FLUSH}));else if(Ve==="br")Ue.push(t.createBrotliDecompress({flush:t.constants.BROTLI_OPERATION_FLUSH,finishFlush:t.constants.BROTLI_OPERATION_FLUSH}));else if(Ve==="zstd")Ue.push(t.createZstdDecompress({flush:t.constants.ZSTD_e_continue,finishFlush:t.constants.ZSTD_e_end}));else{Ue.length=0;break}}}const qe=Ne=>this.onResponseError(de,Ne);ve({status:ne,statusText:Re,headersList:Me,body:Ue.length?dA(this.body,...Ue,Ne=>{Ne&&this.onResponseError(de,Ne)}).on("error",qe):this.body.on("error",qe)})},onResponseData(de,ne){if(b.controller.dump)return;const Ie=ne;K.encodedBodySize+=Ie.byteLength,this.body.push(Ie)===!1&&de.pause()},onResponseEnd(){this.abort&&b.controller.off("terminated",this.abort),b.controller.ended=!0,this.body?.push(null)},onResponseError(de,ne){if(this.abort&&b.controller.off("terminated",this.abort),x.mode==="websocket"&&Ye!==!1&&ne?.code==="UND_ERR_INFO"&&ne?.message==="HTTP/2: Extended CONNECT protocol not supported by server"){ve(De(Fe,!1));return}this.body?.destroy(ne),b.controller.terminate(ne),Ct(ne)},onRequestUpgrade(de,ne,Ie,Re){if(Re.session!=null&&ne!==200||Re.session==null&&ne!==101)return!1;const Ge=de?.rawHeaders??[],Me=new a;return cA(Me,Ie,Ge),ve({status:ne,statusText:ae[ne],headersList:Me,socket:Re}),!0}}))}}}return os={fetch:q,Fetch:CA,fetching:TA,finalizeAndReportTiming:oA},os}var is,Do;function ha(){if(Do)return is;Do=1;const A=_A,{URLSerializer:I}=be(),{isValidHeaderName:d}=Se();function N(s,a,f=!1){const C=I(s,f),h=I(a,f);return C===h}function S(s){A(s!==null);const a=[];for(let f of s.split(","))f=f.trim(),d(f)&&a.push(f);return a}return is={urlEquals:N,getFieldValues:S},is}var as,po;function Qa(){if(po)return as;po=1;const A=_A,{kConstruct:I}=Ae(),{urlEquals:d,getFieldValues:N}=ha(),{kEnumerableProperty:S,isDisturbed:s}=OA(),{webidl:a}=he(),{cloneResponse:f,fromInnerResponse:C,getResponseState:h}=bt(),{Request:u,fromInnerRequest:c,getRequestState:t}=ut(),{fetching:r}=Ft(),{urlIsHttpHttpsScheme:e,readAllBytes:n}=Se();class o{#A;constructor(){arguments[0]!==I&&a.illegalConstructor(),a.util.markAsUncloneable(this),this.#A=arguments[1]}async match(w,E={}){a.brandCheck(this,o);const i="Cache.match";a.argumentLengthCheck(arguments,1,i),w=a.converters.RequestInfo(w),E=a.converters.CacheQueryOptions(E,i,"options");const y=this.#n(w,E,1);if(y.length!==0)return y[0]}async matchAll(w=void 0,E={}){return a.brandCheck(this,o),w!==void 0&&(w=a.converters.RequestInfo(w)),E=a.converters.CacheQueryOptions(E,"Cache.matchAll","options"),this.#n(w,E)}async add(w){a.brandCheck(this,o),a.argumentLengthCheck(arguments,1,"Cache.add"),w=a.converters.RequestInfo(w);const E=[w];return await this.addAll(E)}async addAll(w){a.brandCheck(this,o);const E="Cache.addAll";a.argumentLengthCheck(arguments,1,E);const i=[],y=[];for(let R of w){if(R===void 0)throw a.errors.conversionFailed({prefix:E,argument:"Argument 1",types:["undefined is not allowed"]});if(R=a.converters.RequestInfo(R),typeof R=="string")continue;const k=t(R);if(!e(k.url)||k.method!=="GET")throw a.errors.exception({header:E,message:"Expected http/s scheme when method is not GET."})}const l=[];for(const R of w){const k=t(new u(R));if(!e(k.url))throw a.errors.exception({header:E,message:"Expected http/s scheme."});k.initiator="fetch",k.destination="subresource",y.push(k);const Q=Promise.withResolvers();l.push(r({request:k,processResponse(p){if(p.type==="error"||p.status===206||p.status<200||p.status>299)Q.reject(a.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(p.headersList.contains("vary")){const m=N(p.headersList.get("vary"));for(const G of m)if(G==="*"){Q.reject(a.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const O of l)O.abort();return}}},processResponseEndOfBody(p){if(p.aborted){Q.reject(new DOMException("aborted","AbortError"));return}Q.resolve(p)}})),i.push(Q.promise)}const B=await Promise.all(i),U=[];let M=0;for(const R of B){const k={type:"put",request:y[M],response:R};U.push(k),M++}const T=Promise.withResolvers();let F=null;try{this.#e(U)}catch(R){F=R}return queueMicrotask(()=>{F===null?T.resolve(void 0):T.reject(F)}),T.promise}async put(w,E){a.brandCheck(this,o);const i="Cache.put";a.argumentLengthCheck(arguments,2,i),w=a.converters.RequestInfo(w),E=a.converters.Response(E,i,"response");let y=null;if(a.is.Request(w)?y=t(w):y=t(new u(w)),!e(y.url)||y.method!=="GET")throw a.errors.exception({header:i,message:"Expected an http/s scheme when method is not GET"});const l=h(E);if(l.status===206)throw a.errors.exception({header:i,message:"Got 206 status"});if(l.headersList.contains("vary")){const Q=N(l.headersList.get("vary"));for(const p of Q)if(p==="*")throw a.errors.exception({header:i,message:"Got * vary field value"})}if(l.body&&(s(l.body.stream)||l.body.stream.locked))throw a.errors.exception({header:i,message:"Response body is locked or disturbed"});const B=f(l),U=Promise.withResolvers();if(l.body!=null){const Q=l.body.stream.getReader();n(Q,U.resolve,U.reject)}else U.resolve(void 0);const M=[],T={type:"put",request:y,response:B};M.push(T);const F=await U.promise;B.body!=null&&(B.body.source=F);const R=Promise.withResolvers();let k=null;try{this.#e(M)}catch(Q){k=Q}return queueMicrotask(()=>{k===null?R.resolve():R.reject(k)}),R.promise}async delete(w,E={}){a.brandCheck(this,o);const i="Cache.delete";a.argumentLengthCheck(arguments,1,i),w=a.converters.RequestInfo(w),E=a.converters.CacheQueryOptions(E,i,"options");let y=null;if(a.is.Request(w)){if(y=t(w),y.method!=="GET"&&!E.ignoreMethod)return!1}else A(typeof w=="string"),y=t(new u(w));const l=[],B={type:"delete",request:y,options:E};l.push(B);const U=Promise.withResolvers();let M=null,T;try{T=this.#e(l)}catch(F){M=F}return queueMicrotask(()=>{M===null?U.resolve(!!T?.length):U.reject(M)}),U.promise}async keys(w=void 0,E={}){a.brandCheck(this,o),w!==void 0&&(w=a.converters.RequestInfo(w)),E=a.converters.CacheQueryOptions(E,"Cache.keys","options");let y=null;if(w!==void 0)if(a.is.Request(w)){if(y=t(w),y.method!=="GET"&&!E.ignoreMethod)return[]}else typeof w=="string"&&(y=t(new u(w)));const l=Promise.withResolvers(),B=[];if(w===void 0)for(const U of this.#A)B.push(U[0]);else{const U=this.#t(y,E);for(const M of U)B.push(M[0])}return queueMicrotask(()=>{const U=[];for(const M of B){const T=c(M,void 0,new AbortController().signal,"immutable");U.push(T)}l.resolve(Object.freeze(U))}),l.promise}#e(w){const E=this.#A,i=[...E],y=[],l=[];try{for(const B of w){if(B.type!=="delete"&&B.type!=="put")throw a.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(B.type==="delete"&&B.response!=null)throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(B.request,B.options,y).length)throw new DOMException("???","InvalidStateError");let U;if(B.type==="delete"){if(U=this.#t(B.request,B.options),U.length===0)return[];for(const M of U){const T=E.indexOf(M);A(T!==-1),E.splice(T,1)}}else if(B.type==="put"){if(B.response==null)throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});const M=B.request;if(!e(M.url))throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(M.method!=="GET")throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(B.options!=null)throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});U=this.#t(B.request);for(const T of U){const F=E.indexOf(T);A(F!==-1),E.splice(F,1)}E.push([B.request,B.response]),y.push([B.request,B.response])}l.push([B.request,B.response])}return l}catch(B){throw this.#A.length=0,this.#A=i,B}}#t(w,E,i){const y=[],l=i??this.#A;for(const B of l){const[U,M]=B;this.#r(w,U,M,E)&&y.push(B)}return y}#r(w,E,i=null,y){const l=new URL(w.url),B=new URL(E.url);if(y?.ignoreSearch&&(B.search="",l.search=""),!d(l,B,!0))return!1;if(i==null||y?.ignoreVary||!i.headersList.contains("vary"))return!0;const U=N(i.headersList.get("vary"));for(const M of U){if(M==="*")return!1;const T=E.headersList.get(M),F=w.headersList.get(M);if(T!==F)return!1}return!0}#n(w,E,i=1/0){let y=null;if(w!==void 0)if(a.is.Request(w)){if(y=t(w),y.method!=="GET"&&!E.ignoreMethod)return[]}else typeof w=="string"&&(y=t(new u(w)));const l=[];if(w===void 0)for(const U of this.#A)l.push(U[1]);else{const U=this.#t(y,E);for(const M of U)l.push(M[1])}const B=[];for(const U of l){const M=C(f(U),"immutable");if(B.push(M),B.length>=i)break}return Object.freeze(B)}}Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:S,matchAll:S,add:S,addAll:S,put:S,delete:S,keys:S});const g=[{key:"ignoreSearch",converter:a.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:a.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:a.converters.boolean,defaultValue:()=>!1}];return a.converters.CacheQueryOptions=a.dictionaryConverter(g),a.converters.MultiCacheQueryOptions=a.dictionaryConverter([...g,{key:"cacheName",converter:a.converters.DOMString}]),a.converters.Response=a.interfaceConverter(a.is.Response,"Response"),a.converters["sequence<RequestInfo>"]=a.sequenceConverter(a.converters.RequestInfo),as={Cache:o},as}var gs,wo;function Ia(){if(wo)return gs;wo=1;const{Cache:A}=Qa(),{webidl:I}=he(),{kEnumerableProperty:d}=OA(),{kConstruct:N}=Ae();class S{#A=new Map;constructor(){arguments[0]!==N&&I.illegalConstructor(),I.util.markAsUncloneable(this)}async match(a,f={}){if(I.brandCheck(this,S),I.argumentLengthCheck(arguments,1,"CacheStorage.match"),a=I.converters.RequestInfo(a),f=I.converters.MultiCacheQueryOptions(f),f.cacheName!=null){if(this.#A.has(f.cacheName)){const C=this.#A.get(f.cacheName);return await new A(N,C).match(a,f)}}else for(const C of this.#A.values()){const h=await new A(N,C).match(a,f);if(h!==void 0)return h}}async has(a){I.brandCheck(this,S);const f="CacheStorage.has";return I.argumentLengthCheck(arguments,1,f),a=I.converters.DOMString(a,f,"cacheName"),this.#A.has(a)}async open(a){I.brandCheck(this,S);const f="CacheStorage.open";if(I.argumentLengthCheck(arguments,1,f),a=I.converters.DOMString(a,f,"cacheName"),this.#A.has(a)){const h=this.#A.get(a);return new A(N,h)}const C=[];return this.#A.set(a,C),new A(N,C)}async delete(a){I.brandCheck(this,S);const f="CacheStorage.delete";return I.argumentLengthCheck(arguments,1,f),a=I.converters.DOMString(a,f,"cacheName"),this.#A.delete(a)}async keys(){return I.brandCheck(this,S),[...this.#A.keys()]}}return Object.defineProperties(S.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:d,has:d,open:d,delete:d,keys:d}),gs={CacheStorage:S},gs}var cs,So;function ua(){return So||(So=1,cs={maxAttributeValueSize:1024,maxNameValuePairSize:4096}),cs}var ls,Ro;function gi(){if(Ro)return ls;Ro=1;function A(t){for(let r=0;r<t.length;++r){const e=t.charCodeAt(r);if(e>=0&&e<=8||e>=10&&e<=31||e===127)return!0}return!1}function I(t){for(let r=0;r<t.length;++r){const e=t.charCodeAt(r);if(e<33||e>126||e===34||e===40||e===41||e===60||e===62||e===64||e===44||e===59||e===58||e===92||e===47||e===91||e===93||e===63||e===61||e===123||e===125)throw new Error("Invalid cookie name")}}function d(t){let r=t.length,e=0;if(t[0]==='"'){if(r===1||t[r-1]!=='"')throw new Error("Invalid cookie value");--r,++e}for(;e<r;){const n=t.charCodeAt(e++);if(n<33||n>126||n===34||n===44||n===59||n===92)throw new Error("Invalid cookie value")}}function N(t){for(let r=0;r<t.length;++r){const e=t.charCodeAt(r);if(e<32||e>126||e===59)throw new Error("Invalid cookie path")}}function S(t){return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122}function s(t){if(t===" ")return;if(t.length>255)throw new Error("Invalid cookie domain");let r=0;for(let e=0;e<t.length;++e){const n=t.charCodeAt(e);if(n===46){if(r===0)throw new Error("Invalid cookie domain");if(t.charCodeAt(e-1)===45)throw new Error("Invalid cookie domain");r=0;continue}if(r===0&&!S(n))throw new Error("Invalid cookie domain");if(!S(n)&&n!==45)throw new Error("Invalid cookie domain");if(++r>63)throw new Error("Invalid cookie domain")}if(r===0||t.charCodeAt(t.length-1)===45)throw new Error("Invalid cookie domain")}const a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],C=Array(61).fill(0).map((t,r)=>r.toString().padStart(2,"0"));function h(t){return typeof t=="number"&&(t=new Date(t)),`${a[t.getUTCDay()]}, ${C[t.getUTCDate()]} ${f[t.getUTCMonth()]} ${t.getUTCFullYear()} ${C[t.getUTCHours()]}:${C[t.getUTCMinutes()]}:${C[t.getUTCSeconds()]} GMT`}function u(t){if(t<0)throw new Error("Invalid cookie max-age")}function c(t){if(t.name.length===0)return null;I(t.name),d(t.value);const r=[`${t.name}=${t.value}`];t.name.startsWith("__Secure-")&&(t.secure=!0),t.name.startsWith("__Host-")&&(t.secure=!0,t.domain=null,t.path="/"),t.secure&&r.push("Secure"),t.httpOnly&&r.push("HttpOnly"),typeof t.maxAge=="number"&&(u(t.maxAge),r.push(`Max-Age=${t.maxAge}`)),t.domain&&(s(t.domain),r.push(`Domain=${t.domain}`)),t.path&&(N(t.path),r.push(`Path=${t.path}`)),t.expires&&t.expires.toString()!=="Invalid Date"&&r.push(`Expires=${h(t.expires)}`),t.sameSite&&r.push(`SameSite=${t.sameSite}`);for(const e of t.unparsed){if(!e.includes("="))throw new Error("Invalid unparsed");const[n,...o]=e.split("="),g=n.trim(),D=o.join("=");I(g),d(D),r.push(`${g}=${D}`)}return r.join("; ")}return ls={isCTLExcludingHtab:A,validateCookieName:I,validateCookiePath:N,validateCookieValue:d,toIMFDate:h,stringify:c},ls}var Es,No;function Ba(){if(No)return Es;No=1;const{collectASequenceOfCodePointsFast:A}=He(),{maxNameValuePairSize:I,maxAttributeValueSize:d}=ua(),{isCTLExcludingHtab:N}=gi(),S=_A;function s(f){if(N(f))return null;let C="",h="",u="",c="";if(f.includes(";")){const t={position:0};C=A(";",f,t),h=f.slice(t.position)}else C=f;if(!C.includes("="))c=C;else{const t={position:0};u=A("=",C,t),c=C.slice(t.position+1)}return u=u.trim(),c=c.trim(),u.length+c.length>I?null:{name:u,value:c,...a(h)}}function a(f,C={}){if(f.length===0)return C;S(f[0]===";"),f=f.slice(1);let h="";f.includes(";")?(h=A(";",f,{position:0}),f=f.slice(h.length)):(h=f,f="");let u="",c="";if(h.includes("=")){const r={position:0};u=A("=",h,r),c=h.slice(r.position+1)}else u=h;if(u=u.trim(),c=c.trim(),c.length>d)return a(f,C);const t=u.toLowerCase();if(t==="expires"){const r=new Date(c);Number.isNaN(r.getTime())||(C.expires=r)}else if(t==="max-age"){const r=c.charCodeAt(0);if((r<48||r>57)&&c[0]!=="-"||!/^\d+$/.test(c))return a(f,C);const e=Number(c);C.maxAge=e}else if(t==="domain"){let r=c;r[0]==="."&&(r=r.slice(1)),r=r.toLowerCase(),C.domain=r}else if(t==="path"){let r="";c.length===0||c[0]!=="/"?r="/":r=c,C.path=r}else if(t==="secure")C.secure=!0;else if(t==="httponly")C.httpOnly=!0;else if(t==="samesite"){const r=c.toLowerCase();r==="none"?C.sameSite="None":r==="strict"?C.sameSite="Strict":r==="lax"&&(C.sameSite="Lax")}else C.unparsed??=[],C.unparsed.push(`${u}=${c}`);return a(f,C)}return Es={parseSetCookie:s,parseUnparsedAttributes:a},Es}var hs,mo;function Ca(){if(mo)return hs;mo=1;const{parseSetCookie:A}=Ba(),{stringify:I}=gi(),{webidl:d}=he(),{Headers:N}=At(),S=d.brandCheckMultiple([N,globalThis.Headers].filter(Boolean));function s(u){d.argumentLengthCheck(arguments,1,"getCookies"),S(u);const c=u.get("cookie"),t={};if(!c)return t;for(const r of c.split(";")){const[e,...n]=r.split("=");t[e.trim()]=n.join("=")}return t}function a(u,c,t){S(u);const r="deleteCookie";d.argumentLengthCheck(arguments,2,r),c=d.converters.DOMString(c,r,"name"),t=d.converters.DeleteCookieAttributes(t),h(u,{name:c,value:"",expires:new Date(0),...t})}function f(u){d.argumentLengthCheck(arguments,1,"getSetCookies"),S(u);const c=u.getSetCookie();return c?c.map(t=>A(t)):[]}function C(u){return u=d.converters.DOMString(u),A(u)}function h(u,c){d.argumentLengthCheck(arguments,2,"setCookie"),S(u),c=d.converters.Cookie(c);const t=I(c);t&&u.append("set-cookie",t,!0)}return d.converters.DeleteCookieAttributes=d.dictionaryConverter([{converter:d.nullableConverter(d.converters.DOMString),key:"path",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"domain",defaultValue:()=>null}]),d.converters.Cookie=d.dictionaryConverter([{converter:d.converters.DOMString,key:"name"},{converter:d.converters.DOMString,key:"value"},{converter:d.nullableConverter(u=>typeof u=="number"?d.converters["unsigned long long"](u):new Date(u)),key:"expires",defaultValue:()=>null},{converter:d.nullableConverter(d.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"path",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.boolean),key:"secure",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:d.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:d.sequenceConverter(d.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]),hs={getCookies:s,deleteCookie:a,getSetCookies:f,setCookie:h,parseCookie:C},hs}var Qs,bo;function Ls(){if(bo)return Qs;bo=1;const{webidl:A}=he(),{kEnumerableProperty:I}=OA(),{kConstruct:d}=Ae();class N extends Event{#A;constructor(h,u={}){if(h===d){super(arguments[1],arguments[2]),A.util.markAsUncloneable(this);return}const c="MessageEvent constructor";A.argumentLengthCheck(arguments,1,c),h=A.converters.DOMString(h,c,"type"),u=A.converters.MessageEventInit(u,c,"eventInitDict"),super(h,u),this.#A=u,A.util.markAsUncloneable(this)}get data(){return A.brandCheck(this,N),this.#A.data}get origin(){return A.brandCheck(this,N),this.#A.origin}get lastEventId(){return A.brandCheck(this,N),this.#A.lastEventId}get source(){return A.brandCheck(this,N),this.#A.source}get ports(){return A.brandCheck(this,N),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(h,u=!1,c=!1,t=null,r="",e="",n=null,o=[]){return A.brandCheck(this,N),A.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new N(h,{bubbles:u,cancelable:c,data:t,origin:r,lastEventId:e,source:n,ports:o})}static createFastMessageEvent(h,u){const c=new N(d,h,u);return c.#A=u,c.#A.data??=null,c.#A.origin??="",c.#A.lastEventId??="",c.#A.source??=null,c.#A.ports??=[],c}}const{createFastMessageEvent:S}=N;delete N.createFastMessageEvent;class s extends Event{#A;constructor(h,u={}){const c="CloseEvent constructor";A.argumentLengthCheck(arguments,1,c),h=A.converters.DOMString(h,c,"type"),u=A.converters.CloseEventInit(u),super(h,u),this.#A=u,A.util.markAsUncloneable(this)}get wasClean(){return A.brandCheck(this,s),this.#A.wasClean}get code(){return A.brandCheck(this,s),this.#A.code}get reason(){return A.brandCheck(this,s),this.#A.reason}}class a extends Event{#A;constructor(h,u){const c="ErrorEvent constructor";A.argumentLengthCheck(arguments,1,c),super(h,u),A.util.markAsUncloneable(this),h=A.converters.DOMString(h,c,"type"),u=A.converters.ErrorEventInit(u??{}),this.#A=u}get message(){return A.brandCheck(this,a),this.#A.message}get filename(){return A.brandCheck(this,a),this.#A.filename}get lineno(){return A.brandCheck(this,a),this.#A.lineno}get colno(){return A.brandCheck(this,a),this.#A.colno}get error(){return A.brandCheck(this,a),this.#A.error}}Object.defineProperties(N.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:I,origin:I,lastEventId:I,source:I,ports:I,initMessageEvent:I}),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:I,code:I,wasClean:I}),Object.defineProperties(a.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:I,filename:I,lineno:I,colno:I,error:I}),A.converters.MessagePort=A.interfaceConverter(A.is.MessagePort,"MessagePort"),A.converters["sequence<MessagePort>"]=A.sequenceConverter(A.converters.MessagePort);const f=[{key:"bubbles",converter:A.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:A.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:A.converters.boolean,defaultValue:()=>!1}];return A.converters.MessageEventInit=A.dictionaryConverter([...f,{key:"data",converter:A.converters.any,defaultValue:()=>null},{key:"origin",converter:A.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:A.converters.DOMString,defaultValue:()=>""},{key:"source",converter:A.nullableConverter(A.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:A.converters["sequence<MessagePort>"],defaultValue:()=>[]}]),A.converters.CloseEventInit=A.dictionaryConverter([...f,{key:"wasClean",converter:A.converters.boolean,defaultValue:()=>!1},{key:"code",converter:A.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:A.converters.USVString,defaultValue:()=>""}]),A.converters.ErrorEventInit=A.dictionaryConverter([...f,{key:"message",converter:A.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:A.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:A.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:A.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:A.converters.any}]),Qs={MessageEvent:N,CloseEvent:s,ErrorEvent:a,createFastMessageEvent:S},Qs}var Is,Fo;function We(){if(Fo)return Is;Fo=1;const A="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",I={enumerable:!0,writable:!1,configurable:!1},d={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},N={SENT:1,RECEIVED:2},S={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},s=65535,a={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},f=Buffer.allocUnsafe(0);return Is={uid:A,sentCloseFrameState:N,staticPropertyDescriptors:I,states:d,opcodes:S,maxUnsigned16Bit:s,parserStates:a,emptyBuffer:f,sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}},Is}var us,Uo;function et(){if(Uo)return us;Uo=1;const{states:A,opcodes:I}=We(),{isUtf8:d}=_e,{removeHTTPWhitespace:N}=be(),{collectASequenceOfCodePointsFast:S}=He();function s(l){return l===A.CONNECTING}function a(l){return l===A.OPEN}function f(l){return l===A.CLOSING}function C(l){return l===A.CLOSED}function h(l,B,U=(T,F)=>new Event(T,F),M={}){const T=U(l,M);B.dispatchEvent(T)}function u(l,B,U){l.onMessage(B,U)}function c(l){return l.byteLength===l.buffer.byteLength?l.buffer:new Uint8Array(l).buffer}function t(l){if(l.length===0)return!1;for(let B=0;B<l.length;++B){const U=l.charCodeAt(B);if(U<33||U>126||U===34||U===40||U===41||U===44||U===47||U===58||U===59||U===60||U===61||U===62||U===63||U===64||U===91||U===92||U===93||U===123||U===125)return!1}return!0}function r(l){return l>=1e3&&l<1015?l!==1004&&l!==1005&&l!==1006:l>=3e3&&l<=4999}function e(l){return l===I.CLOSE||l===I.PING||l===I.PONG}function n(l){return l===I.CONTINUATION}function o(l){return l===I.TEXT||l===I.BINARY}function g(l){return o(l)||n(l)||e(l)}function D(l){const B={position:0},U=new Map;for(;B.position<l.length;){const M=S(";",l,B),[T,F=""]=M.split("=",2);U.set(N(T,!0,!1),N(F,!1,!0)),B.position++}return U}function w(l){if(l.length===0)return!1;for(let U=0;U<l.length;U++){const M=l.charCodeAt(U);if(M<48||M>57)return!1}const B=Number.parseInt(l,10);return B>=8&&B<=15}function E(l,B){let U;try{U=new URL(l,B)}catch(M){throw new DOMException(M,"SyntaxError")}if(U.protocol==="http:"?U.protocol="ws:":U.protocol==="https:"&&(U.protocol="wss:"),U.protocol!=="ws:"&&U.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(U.hash.length||U.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return U}function i(l,B){if(l!==null&&l!==1e3&&(l<3e3||l>4999))throw new DOMException("invalid code","InvalidAccessError");if(B!==null){const U=Buffer.byteLength(B);if(U>123)throw new DOMException(`Reason must be less than 123 bytes; received ${U}`,"SyntaxError")}}const y=(()=>{if(typeof process.versions.icu=="string"){const l=new TextDecoder("utf-8",{fatal:!0});return l.decode.bind(l)}return function(l){if(d(l))return l.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();return us={isConnecting:s,isEstablished:a,isClosing:f,isClosed:C,fireEvent:h,isValidSubprotocol:t,isValidStatusCode:r,websocketMessageReceived:u,utf8Decode:y,isControlFrame:e,isContinuationFrame:n,isTextBinaryFrame:o,isValidOpcode:g,parseExtensions:D,isValidClientWindowBits:w,toArrayBuffer:c,getURLRecord:E,validateCloseCodeAndReason:i},us}var Bs,ko;function Bt(){if(ko)return Bs;ko=1;const{runtimeFeatures:A}=Et(),{maxUnsigned16Bit:I,opcodes:d}=We(),N=8*1024;let S=null,s=N;const a=A.has("crypto")?Ze.randomFillSync:null;function f(){return s===N&&(s=0,a(S??=Buffer.allocUnsafeSlow(N),0,N)),[S[s++],S[s++],S[s++],S[s++]]}class C{constructor(u){this.frameData=u}createFrame(u){const c=this.frameData,t=f(),r=c?.byteLength??0;let e=r,n=6;r>I?(n+=8,e=127):r>125&&(n+=2,e=126);const o=Buffer.allocUnsafe(r+n);o[0]=o[1]=0,o[0]|=128,o[0]=(o[0]&240)+u;/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */o[n-4]=t[0],o[n-3]=t[1],o[n-2]=t[2],o[n-1]=t[3],o[1]=e,e===126?o.writeUInt16BE(r,2):e===127&&(o[2]=o[3]=0,o.writeUIntBE(r,4,6)),o[1]|=128;for(let g=0;g<r;++g)o[n+g]=c[g]^t[g&3];return o}static createFastTextFrame(u){const c=f(),t=u.length;for(let o=0;o<t;++o)u[o]^=c[o&3];let r=t,e=6;t>I?(e+=8,r=127):t>125&&(e+=2,r=126);const n=Buffer.allocUnsafeSlow(e);return n[0]=128|d.TEXT,n[1]=r|128,n[e-4]=c[0],n[e-3]=c[1],n[e-2]=c[2],n[e-1]=c[3],r===126?n.writeUInt16BE(t,2):r===127&&(n[2]=n[3]=0,n.writeUIntBE(t,4,6)),[n,u]}}return Bs={WebsocketFrameSend:C,generateMask:f},Bs}var Cs,Mo;function Hs(){if(Mo)return Cs;Mo=1;const{uid:A,states:I,sentCloseFrameState:d,emptyBuffer:N,opcodes:S}=We(),{parseExtensions:s,isClosed:a,isClosing:f,isEstablished:C,isConnecting:h,validateCloseCodeAndReason:u}=et(),{makeRequest:c}=ut(),{fetching:t}=Ft(),{Headers:r,getHeadersList:e}=At(),{getDecodeSplit:n}=Se(),{WebsocketFrameSend:o}=Bt(),g=_A,{runtimeFeatures:D}=Et(),w=D.has("crypto")?Ze:null;let E=!1;function i(B,U,M,T,F){const R=B;R.protocol=B.protocol==="ws:"?"http:":"https:";const k=c({urlList:[R],client:M,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(F.headers){const p=e(new r(F.headers));k.headersList=p}const Q=w.randomBytes(16).toString("base64");k.headersList.append("sec-websocket-key",Q,!0),k.headersList.append("sec-websocket-version","13",!0);for(const p of U)k.headersList.append("sec-websocket-protocol",p,!0);return k.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),t({request:k,useParallelQueue:!0,dispatcher:F.dispatcher,processResponse(p){if(p.type==="error"||p.status!==101){if(p.socket?.session==null){l(T,1002,"Received network error or non-101 status code.");return}if(p.status!==200){l(T,1002,"Received network error or non-200 status code.");return}}if(E===!1&&p.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),E=!0),U.length!==0&&!p.headersList.get("Sec-WebSocket-Protocol")){l(T,1002,"Server did not respond with sent protocols.");return}if(p.socket.session==null&&p.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){l(T,1002,'Server did not set Upgrade header to "websocket".');return}if(p.socket.session==null&&p.headersList.get("Connection")?.toLowerCase()!=="upgrade"){l(T,1002,'Server did not set Connection header to "upgrade".');return}const m=p.headersList.get("Sec-WebSocket-Accept"),G=w.hash("sha1",Q+A,"base64");if(m!==G){l(T,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const O=p.headersList.get("Sec-WebSocket-Extensions");let Y;if(O!==null&&(Y=s(O),!Y.has("permessage-deflate"))){l(T,1002,"Sec-WebSocket-Extensions header does not match.");return}const Z=p.headersList.get("Sec-WebSocket-Protocol");if(Z!==null&&!n("sec-websocket-protocol",k.headersList).includes(Z)){l(T,1002,"Protocol was not set in the opening handshake.");return}p.socket.on("data",T.onSocketData),p.socket.on("close",T.onSocketClose),p.socket.on("error",T.onSocketError),T.wasEverConnected=!0,T.onConnectionEstablished(p,Y)}})}function y(B,U,M,T=!1){if(U??=null,M??="",T&&u(U,M),!(a(B.readyState)||f(B.readyState)))if(!C(B.readyState))l(B),B.readyState=I.CLOSING;else if(!B.closeState.has(d.SENT)&&!B.closeState.has(d.RECEIVED)){const F=new o;M.length!==0&&U===null&&(U=1e3),g(U===null||Number.isInteger(U)),U===null&&M.length===0?F.frameData=N:U!==null&&M===null?(F.frameData=Buffer.allocUnsafe(2),F.frameData.writeUInt16BE(U,0)):U!==null&&M!==null?(F.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(M)),F.frameData.writeUInt16BE(U,0),F.frameData.write(M,2,"utf-8")):F.frameData=N,B.socket.write(F.createFrame(S.CLOSE)),B.closeState.add(d.SENT),B.readyState=I.CLOSING}else B.readyState=I.CLOSING}function l(B,U,M,T){C(B.readyState)&&y(B,U,M,!1),B.controller.abort(),h(B.readyState)?B.onSocketClose():B.socket?.destroyed===!1&&B.socket.destroy()}return Cs={establishWebSocketConnection:i,failWebsocketConnection:l,closeWebSocketConnection:y},Cs}var ds,To;function da(){if(To)return ds;To=1;const{createInflateRaw:A,Z_DEFAULT_WINDOWBITS:I}=St,{isValidClientWindowBits:d}=et(),{MessageSizeExceededError:N}=VA(),S=Buffer.from([0,0,255,255]),s=Symbol("kBuffer"),a=Symbol("kLength");class f{#A;#e={};#t=0;constructor(h,u){this.#e.serverNoContextTakeover=h.has("server_no_context_takeover"),this.#e.serverMaxWindowBits=h.get("server_max_window_bits"),this.#t=u.maxPayloadSize}decompress(h,u,c){if(!this.#A){let t=I;if(this.#e.serverMaxWindowBits){if(!d(this.#e.serverMaxWindowBits)){c(new Error("Invalid server_max_window_bits"));return}t=Number.parseInt(this.#e.serverMaxWindowBits)}try{this.#A=A({windowBits:t})}catch(r){c(r);return}this.#A[s]=[],this.#A[a]=0,this.#A.on("data",r=>{if(this.#A[a]+=r.length,this.#t>0&&this.#A[a]>this.#t){c(new N),this.#A.removeAllListeners(),this.#A=null;return}this.#A[s].push(r)}),this.#A.on("error",r=>{this.#A=null,c(r)})}this.#A.write(h),u&&this.#A.write(S),this.#A.flush(()=>{if(!this.#A)return;const t=Buffer.concat(this.#A[s],this.#A[a]);this.#A[s].length=0,this.#A[a]=0,c(null,t)})}}return ds={PerMessageDeflate:f},ds}var fs,Lo;function ci(){if(Lo)return fs;Lo=1;const{Writable:A}=ue,I=_A,{parserStates:d,opcodes:N,states:S,emptyBuffer:s,sentCloseFrameState:a}=We(),{isValidStatusCode:f,isValidOpcode:C,websocketMessageReceived:h,utf8Decode:u,isControlFrame:c,isTextBinaryFrame:t,isContinuationFrame:r}=et(),{failWebsocketConnection:e}=Hs(),{WebsocketFrameSend:n}=Bt(),{PerMessageDeflate:o}=da(),{MessageSizeExceededError:g}=VA();class D extends A{#A=[];#e=0;#t=0;#r=!1;#n=d.INFO;#s={};#o=[];#i;#a;#g;#l;constructor(E,i,y={}){super(),this.#a=E,this.#i=i??new Map,this.#g=y.maxFragments??0,this.#l=y.maxPayloadSize??0,this.#i.has("permessage-deflate")&&this.#i.set("permessage-deflate",new o(i,y))}_write(E,i,y){this.#A.push(E),this.#t+=E.length,this.#r=!0,this.run(y)}#c(){return this.#l>0&&!c(this.#s.opcode)&&this.#s.payloadLength+this.#e>this.#l?(e(this.#a,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(E){for(;this.#r;)if(this.#n===d.INFO){if(this.#t<2)return E();const i=this.consume(2),y=(i[0]&128)!==0,l=i[0]&15,B=(i[1]&128)===128,U=!y&&l!==N.CONTINUATION,M=i[1]&127,T=i[0]&64,F=i[0]&32,R=i[0]&16;if(!C(l))return e(this.#a,1002,"Invalid opcode received"),E();if(B)return e(this.#a,1002,"Frame cannot be masked"),E();if(T!==0&&!this.#i.has("permessage-deflate")){e(this.#a,1002,"Expected RSV1 to be clear.");return}if(F!==0||R!==0){e(this.#a,1002,"RSV1, RSV2, RSV3 must be clear");return}if(U&&!t(l)){e(this.#a,1002,"Invalid frame type was fragmented.");return}if(t(l)&&this.#o.length>0){e(this.#a,1002,"Expected continuation frame");return}if(this.#s.fragmented&&U){e(this.#a,1002,"Fragmented frame exceeded 125 bytes.");return}if((M>125||U)&&c(l)){e(this.#a,1002,"Control frame either too large or fragmented");return}if(r(l)&&this.#o.length===0&&!this.#s.compressed){e(this.#a,1002,"Unexpected continuation frame");return}if(M<=125){if(this.#s.payloadLength=M,this.#n=d.READ_DATA,!this.#c())return}else M===126?this.#n=d.PAYLOADLENGTH_16:M===127&&(this.#n=d.PAYLOADLENGTH_64);t(l)&&(this.#s.binaryType=l,this.#s.compressed=T!==0),this.#s.opcode=l,this.#s.masked=B,this.#s.fin=y,this.#s.fragmented=U}else if(this.#n===d.PAYLOADLENGTH_16){if(this.#t<2)return E();const i=this.consume(2);if(this.#s.payloadLength=i.readUInt16BE(0),this.#n=d.READ_DATA,!this.#c())return}else if(this.#n===d.PAYLOADLENGTH_64){if(this.#t<8)return E();const i=this.consume(8),y=i.readUInt32BE(0),l=i.readUInt32BE(4);if(y!==0||l>2**31-1){e(this.#a,1009,"Received payload length > 2^31 bytes.");return}if(this.#s.payloadLength=l,this.#n=d.READ_DATA,!this.#c())return}else if(this.#n===d.READ_DATA){if(this.#t<this.#s.payloadLength)return E();const i=this.consume(this.#s.payloadLength);if(c(this.#s.opcode))this.#r=this.parseControlFrame(i),this.#n=d.INFO;else if(this.#s.compressed){this.#i.get("permessage-deflate").decompress(i,this.#s.fin,(y,l)=>{if(y){const B=y instanceof g?1009:1007;e(this.#a,B,y.message);return}if(this.writeFragments(l)){if(this.#l>0&&this.#e>this.#l){e(this.#a,1009,new g().message);return}if(!this.#s.fin){this.#n=d.INFO,this.#r=!0,this.run(E);return}h(this.#a,this.#s.binaryType,this.consumeFragments()),this.#r=!0,this.#n=d.INFO,this.run(E)}},this.#e),this.#r=!1;break}else{if(!this.writeFragments(i))return;!this.#s.fragmented&&this.#s.fin&&h(this.#a,this.#s.binaryType,this.consumeFragments()),this.#n=d.INFO}}}consume(E){if(E>this.#t)throw new Error("Called consume() before buffers satiated.");if(E===0)return s;this.#t-=E;const i=this.#A[0];if(i.length>E)return this.#A[0]=i.subarray(E,i.length),i.subarray(0,E);if(i.length===E)return this.#A.shift();{let y=0;const l=Buffer.allocUnsafeSlow(E);for(;y!==E;){const B=this.#A[0],U=B.length;if(U+y===E){l.set(this.#A.shift(),y);break}else if(U+y>E){l.set(B.subarray(0,E-y),y),this.#A[0]=B.subarray(E-y);break}else l.set(this.#A.shift(),y),y+=U}return l}}writeFragments(E){return this.#g>0&&this.#o.length===this.#g?(e(this.#a,1008,"Too many message fragments"),!1):(this.#e+=E.length,this.#o.push(E),!0)}consumeFragments(){const E=this.#o;if(E.length===1)return this.#e=0,E.shift();let i=0;const y=Buffer.allocUnsafeSlow(this.#e);for(let l=0;l<E.length;++l){const B=E[l];y.set(B,i),i+=B.length}return this.#o=[],this.#e=0,y}parseCloseBody(E){I(E.length!==1);let i;if(E.length>=2&&(i=E.readUInt16BE(0)),i!==void 0&&!f(i))return{code:1002,reason:"Invalid status code",error:!0};let y=E.subarray(2);y[0]===239&&y[1]===187&&y[2]===191&&(y=y.subarray(3));try{y=u(y)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:i,reason:y,error:!1}}parseControlFrame(E){const{opcode:i,payloadLength:y}=this.#s;if(i===N.CLOSE){if(y===1)return e(this.#a,1002,"Received close frame with a 1-byte body."),!1;if(this.#s.closeInfo=this.parseCloseBody(E),this.#s.closeInfo.error){const{code:l,reason:B}=this.#s.closeInfo;return e(this.#a,l,B),!1}if(!this.#a.closeState.has(a.SENT)&&!this.#a.closeState.has(a.RECEIVED)){let l=s;this.#s.closeInfo.code&&(l=Buffer.allocUnsafe(2),l.writeUInt16BE(this.#s.closeInfo.code,0));const B=new n(l);this.#a.socket.write(B.createFrame(N.CLOSE)),this.#a.closeState.add(a.SENT)}return this.#a.readyState=S.CLOSING,this.#a.closeState.add(a.RECEIVED),!1}else if(i===N.PING){if(!this.#a.closeState.has(a.RECEIVED)){const l=new n(E);this.#a.socket.write(l.createFrame(N.PONG)),this.#a.onPing(E)}}else i===N.PONG&&this.#a.onPong(E);return!0}get closingInfo(){return this.#s.closeInfo}}return fs={ByteParser:D},fs}var ys,Ho;function fa(){if(Ho)return ys;Ho=1;const{WebsocketFrameSend:A}=Bt(),{opcodes:I,sendHints:d}=We(),N=Xo();class S{#A=new N;#e=!1;#t;constructor(C){this.#t=C}add(C,h,u){if(u!==d.blob){if(this.#e){const t={promise:null,callback:h,frame:s(C,u)};this.#A.push(t)}else if(u===d.text){const{0:t,1:r}=A.createFastTextFrame(C);this.#t.cork(),this.#t.write(t),this.#t.write(r,h),this.#t.uncork()}else this.#t.write(s(C,u),h);return}const c={promise:C.arrayBuffer().then(t=>{c.promise=null,c.frame=s(t,u)}),callback:h,frame:null};this.#A.push(c),this.#e||this.#r()}async#r(){this.#e=!0;const C=this.#A;for(;!C.isEmpty();){const h=C.shift();h.promise!==null&&await h.promise,this.#t.write(h.frame,h.callback),h.callback=h.frame=null}this.#e=!1}}function s(f,C){return new A(a(f,C)).createFrame(C===d.text?I.TEXT:I.BINARY)}function a(f,C){switch(C){case d.text:case d.typedArray:return new Uint8Array(f.buffer,f.byteOffset,f.byteLength);case d.arrayBuffer:case d.blob:return new Uint8Array(f)}}return ys={SendQueue:S},ys}var Ds,Yo;function ya(){if(Yo)return Ds;Yo=1;const{isArrayBuffer:A}=ms,{webidl:I}=he(),{URLSerializer:d}=be(),{environmentSettingsObject:N}=Se(),{staticPropertyDescriptors:S,states:s,sentCloseFrameState:a,sendHints:f,opcodes:C}=We(),{isConnecting:h,isEstablished:u,isClosing:c,isClosed:t,isValidSubprotocol:r,fireEvent:e,utf8Decode:n,toArrayBuffer:o,getURLRecord:g}=et(),{establishWebSocketConnection:D,closeWebSocketConnection:w,failWebsocketConnection:E}=Hs(),{ByteParser:i}=ci(),{kEnumerableProperty:y}=OA(),{getGlobalDispatcher:l}=Ts(),{ErrorEvent:B,CloseEvent:U,createFastMessageEvent:M}=Ls(),{SendQueue:T}=fa(),{WebsocketFrameSend:F}=Bt(),{channels:R}=Je(),k=Symbol.for("nodejs.ref"),Q=Symbol.for("nodejs.unref");function p(O){return typeof O?.address=="function"?O.address():typeof O?.session?.socket?.address=="function"?O.session.socket.address():null}class m extends EventTarget{#A={open:null,error:null,close:null,message:null};#e=0;#t="";#r="";#n=!0;#s;#o={onConnectionEstablished:(Y,Z)=>this.#l(Y,Z),onMessage:(Y,Z)=>this.#c(Y,Z),onParserError:Y=>E(this.#o,null,Y.message),onParserDrain:()=>this.#E(),onSocketData:Y=>{this.#g.write(Y)||this.#o.socket.pause()},onSocketError:Y=>{this.#o.readyState=s.CLOSING,R.socketError.hasSubscribers&&R.socketError.publish(Y),this.#o.socket.destroy()},onSocketClose:()=>this.#h(),onPing:Y=>{R.ping.hasSubscribers&&R.ping.publish({payload:Y,websocket:this})},onPong:Y=>{R.pong.hasSubscribers&&R.pong.publish({payload:Y,websocket:this})},readyState:s.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;#a;#g;constructor(Y,Z=[]){super(),I.util.markAsUncloneable(this);const tA="WebSocket constructor";I.argumentLengthCheck(arguments,1,tA);const lA=I.converters["DOMString or sequence<DOMString> or WebSocketInit"](Z,tA,"options");Y=I.converters.USVString(Y),Z=lA.protocols;const $=N.settingsObject.baseUrl,J=g(Y,$);if(typeof Z=="string"&&(Z=[Z]),Z.length!==new Set(Z.map(X=>X.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(Z.length>0&&!Z.every(X=>r(X)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#i=new URL(J.href);const V=N.settingsObject;this.#o.controller=D(J,Z,V,this.#o,lA),this.#o.readyState=m.CONNECTING,this.#a="blob"}[k](){I.brandCheck(this,m),this.#n=!0,this.#o.socket?.ref?.()}[Q](){I.brandCheck(this,m),this.#n=!1,this.#o.socket?.unref?.()}close(Y=void 0,Z=void 0){I.brandCheck(this,m),Y!==void 0&&(Y=I.converters["unsigned short"](Y,"WebSocket.close","code",I.attributes.Clamp)),Z!==void 0&&(Z=I.converters.USVString(Z)),Y??=null,Z??="",w(this.#o,Y,Z,!0)}send(Y){I.brandCheck(this,m);const Z="WebSocket.send";if(I.argumentLengthCheck(arguments,1,Z),Y=I.converters.WebSocketSendData(Y,Z,"data"),h(this.#o.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!u(this.#o.readyState)||c(this.#o.readyState)))if(typeof Y=="string"){const tA=Buffer.from(Y);this.#e+=tA.byteLength,this.#s.add(tA,()=>{this.#e-=tA.byteLength},f.text)}else A(Y)?(this.#e+=Y.byteLength,this.#s.add(Y,()=>{this.#e-=Y.byteLength},f.arrayBuffer)):ArrayBuffer.isView(Y)?(this.#e+=Y.byteLength,this.#s.add(Y,()=>{this.#e-=Y.byteLength},f.typedArray)):I.is.Blob(Y)&&(this.#e+=Y.size,this.#s.add(Y,()=>{this.#e-=Y.size},f.blob))}get readyState(){return I.brandCheck(this,m),this.#o.readyState}get bufferedAmount(){return I.brandCheck(this,m),this.#e}get url(){return I.brandCheck(this,m),d(this.#i)}get extensions(){return I.brandCheck(this,m),this.#r}get protocol(){return I.brandCheck(this,m),this.#t}get onopen(){return I.brandCheck(this,m),this.#A.open}set onopen(Y){I.brandCheck(this,m),this.#A.open&&this.removeEventListener("open",this.#A.open);const Z=I.converters.EventHandlerNonNull(Y);Z!==null?(this.addEventListener("open",Z),this.#A.open=Y):this.#A.open=null}get onerror(){return I.brandCheck(this,m),this.#A.error}set onerror(Y){I.brandCheck(this,m),this.#A.error&&this.removeEventListener("error",this.#A.error);const Z=I.converters.EventHandlerNonNull(Y);Z!==null?(this.addEventListener("error",Z),this.#A.error=Y):this.#A.error=null}get onclose(){return I.brandCheck(this,m),this.#A.close}set onclose(Y){I.brandCheck(this,m),this.#A.close&&this.removeEventListener("close",this.#A.close);const Z=I.converters.EventHandlerNonNull(Y);Z!==null?(this.addEventListener("close",Z),this.#A.close=Y):this.#A.close=null}get onmessage(){return I.brandCheck(this,m),this.#A.message}set onmessage(Y){I.brandCheck(this,m),this.#A.message&&this.removeEventListener("message",this.#A.message);const Z=I.converters.EventHandlerNonNull(Y);Z!==null?(this.addEventListener("message",Z),this.#A.message=Y):this.#A.message=null}get binaryType(){return I.brandCheck(this,m),this.#a}set binaryType(Y){I.brandCheck(this,m),Y!=="blob"&&Y!=="arraybuffer"?this.#a="blob":this.#a=Y}#l(Y,Z){this.#o.socket=Y.socket,this.#n||this.#o.socket.unref?.();const tA=this.#o.controller.dispatcher?.webSocketOptions?.maxFragments,lA=this.#o.controller.dispatcher?.webSocketOptions?.maxPayloadSize,$=new i(this.#o,Z,{maxFragments:tA,maxPayloadSize:lA});$.on("drain",()=>this.#o.onParserDrain()),$.on("error",X=>this.#o.onParserError(X)),this.#g=$,this.#s=new T(Y.socket),this.#o.readyState=s.OPEN;const J=Y.headersList.get("sec-websocket-extensions");J!==null&&(this.#r=J);const V=Y.headersList.get("sec-websocket-protocol");if(V!==null&&(this.#t=V),e("open",this),R.open.hasSubscribers){const X=Y.headersList.entries;R.open.publish({address:p(Y.socket),protocol:this.#t,extensions:this.#r,websocket:this,handshakeResponse:{status:Y.status,statusText:Y.statusText,headers:X}})}}#c(Y,Z){if(this.#o.readyState!==s.OPEN)return;let tA;if(Y===C.TEXT)try{tA=n(Z)}catch{E(this.#o,1007,"Received invalid UTF-8 in text frame.");return}else Y===C.BINARY&&(this.#a==="blob"?tA=new Blob([Z]):tA=o(Z));e("message",this,M,{origin:this.#i.origin,data:tA})}#E(){this.#o.socket.resume()}#h(){const Y=this.#o.closeState.has(a.SENT)&&this.#o.closeState.has(a.RECEIVED);let Z=1005,tA="";const lA=this.#g?.closingInfo;lA&&!lA.error&&(Z=lA.code??1005,tA=lA.reason),this.#o.readyState=s.CLOSED,this.#o.closeState.has(a.RECEIVED)||(Z=1006,e("error",this,($,J)=>new B($,J),{error:new TypeError(tA)})),e("close",this,($,J)=>new U($,J),{wasClean:Y,code:Z,reason:tA}),R.close.hasSubscribers&&R.close.publish({websocket:this,code:Z,reason:tA})}static ping(Y,Z){if(Buffer.isBuffer(Z)){if(Z.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(Z!==void 0)throw new TypeError("Expected buffer payload");const tA=Y.#o.readyState;if(u(tA)&&!c(tA)&&!t(tA)){const lA=new F(Z);Y.#o.socket.write(lA.createFrame(C.PING))}}}const{ping:G}=m;return Reflect.deleteProperty(m,"ping"),m.CONNECTING=m.prototype.CONNECTING=s.CONNECTING,m.OPEN=m.prototype.OPEN=s.OPEN,m.CLOSING=m.prototype.CLOSING=s.CLOSING,m.CLOSED=m.prototype.CLOSED=s.CLOSED,Object.defineProperties(m.prototype,{CONNECTING:S,OPEN:S,CLOSING:S,CLOSED:S,url:y,readyState:y,bufferedAmount:y,onopen:y,onerror:y,onclose:y,close:y,onmessage:y,binaryType:y,send:y,extensions:y,protocol:y,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(m,{CONNECTING:S,OPEN:S,CLOSING:S,CLOSED:S}),I.converters["sequence<DOMString>"]=I.sequenceConverter(I.converters.DOMString),I.converters["DOMString or sequence<DOMString>"]=function(O,Y,Z){return I.util.Type(O)===I.util.Types.OBJECT&&Symbol.iterator in O?I.converters["sequence<DOMString>"](O):I.converters.DOMString(O,Y,Z)},I.converters.WebSocketInit=I.dictionaryConverter([{key:"protocols",converter:I.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:I.converters.any,defaultValue:()=>l()},{key:"headers",converter:I.nullableConverter(I.converters.HeadersInit)}]),I.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(O){return I.util.Type(O)===I.util.Types.OBJECT&&!(Symbol.iterator in O)?I.converters.WebSocketInit(O):{protocols:I.converters["DOMString or sequence<DOMString>"](O)}},I.converters.WebSocketSendData=function(O){return I.util.Type(O)===I.util.Types.OBJECT&&(I.is.Blob(O)||I.is.BufferSource(O))?O:I.converters.USVString(O)},Ds={WebSocket:m,ping:G},Ds}var ps,vo;function li(){if(vo)return ps;vo=1;const{webidl:A}=he(),{validateCloseCodeAndReason:I}=et(),{kConstruct:d}=Ae(),{kEnumerableProperty:N}=OA();function S(){class f extends DOMException{get reason(){return""}}return new f().reason!==void 0?DOMException:new Proxy(DOMException,{construct(C,h,u){const c=Reflect.construct(C,h,C);return Object.setPrototypeOf(c,u.prototype),c}})}class s extends S(){#A;#e;constructor(C="",h=void 0){if(C=A.converters.DOMString(C,"WebSocketError","message"),super(C,"WebSocketError"),h===d)return;h!==null&&(h=A.converters.WebSocketCloseInfo(h));let u=h.closeCode??null;const c=h.reason??"";I(u,c),c.length!==0&&u===null&&(u=1e3),this.#A=u,this.#e=c}get closeCode(){return this.#A}get reason(){return this.#e}static createUnvalidatedWebSocketError(C,h,u){const c=new s(C,d);return c.#A=h,c.#e=u,c}}const{createUnvalidatedWebSocketError:a}=s;return delete s.createUnvalidatedWebSocketError,Object.defineProperties(s.prototype,{closeCode:N,reason:N,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),A.is.WebSocketError=A.util.MakeTypeAssertion(s),ps={WebSocketError:s,createUnvalidatedWebSocketError:a},ps}var ws,Go;function Da(){if(Go)return ws;Go=1;const{addAbortListener:A}=Le,{environmentSettingsObject:I,readableStreamClose:d}=Se(),{states:N,opcodes:S,sentCloseFrameState:s}=We(),{webidl:a}=he(),{getURLRecord:f,isValidSubprotocol:C,isEstablished:h,utf8Decode:u}=et(),{establishWebSocketConnection:c,failWebsocketConnection:t,closeWebSocketConnection:r}=Hs(),{channels:e}=Je(),{WebsocketFrameSend:n}=Bt(),{ByteParser:o}=ci(),{WebSocketError:g,createUnvalidatedWebSocketError:D}=li(),{kEnumerableProperty:w}=OA(),{utf8DecodeBytes:E}=Fs();let i=!1;class y{#A;#e;#t;#r;#n;#s;#o=!1;#i={onConnectionEstablished:(B,U)=>this.#l(B,U),onMessage:(B,U)=>this.#c(B,U),onParserError:B=>t(this.#i,null,B.message),onParserDrain:()=>this.#i.socket.resume(),onSocketData:B=>{this.#a.write(B)||this.#i.socket.pause()},onSocketError:B=>{this.#i.readyState=N.CLOSING,e.socketError.hasSubscribers&&e.socketError.publish(B),this.#i.socket.destroy()},onSocketClose:()=>this.#E(),onPing:()=>{},onPong:()=>{},readyState:N.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;constructor(B,U=void 0){i||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),i=!0),a.argumentLengthCheck(arguments,1,"WebSocket"),B=a.converters.USVString(B),U!==null&&(U=a.converters.WebSocketStreamOptions(U));const M=I.settingsObject.baseUrl,T=f(B,M),F=U.protocols;if(F.length!==new Set(F.map(k=>k.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(F.length>0&&!F.every(k=>C(k)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#A=T.toString(),this.#e=Promise.withResolvers(),this.#t=Promise.withResolvers(),U.signal!=null){const k=U.signal;if(k.aborted){this.#e.reject(k.reason),this.#t.reject(k.reason);return}A(k,()=>{h(this.#i.readyState)||(t(this.#i),this.#i.readyState=N.CLOSING,this.#e.reject(k.reason),this.#t.reject(k.reason),this.#o=!0)})}const R=I.settingsObject;this.#i.controller=c(T,F,R,this.#i,U)}get url(){return this.#A.toString()}get opened(){return this.#e.promise}get closed(){return this.#t.promise}close(B=void 0){B!==null&&(B=a.converters.WebSocketCloseInfo(B));const U=B.closeCode??null,M=B.reason;r(this.#i,U,M,!0)}#g(B){B=a.converters.WebSocketStreamWrite(B);const U=Promise.withResolvers();let M=null,T=null;if(a.is.BufferSource(B))M=new Uint8Array(ArrayBuffer.isView(B)?new Uint8Array(B.buffer,B.byteOffset,B.byteLength):B.slice()),T=S.BINARY;else{let F;try{F=a.converters.DOMString(B)}catch(R){return U.reject(R),U.promise}M=new TextEncoder().encode(F),T=S.TEXT}if(!this.#i.closeState.has(s.SENT)&&!this.#i.closeState.has(s.RECEIVED)){const F=new n(M);this.#i.socket.write(F.createFrame(T),()=>{U.resolve(void 0)})}return U.promise}#l(B,U){this.#i.socket=B.socket;const M=this.#i.controller.dispatcher?.webSocketOptions?.maxFragments,T=this.#i.controller.dispatcher?.webSocketOptions?.maxPayloadSize,F=new o(this.#i,U,{maxFragments:M,maxPayloadSize:T});F.on("drain",()=>this.#i.onParserDrain()),F.on("error",m=>this.#i.onParserError(m)),this.#a=F,this.#i.readyState=N.OPEN;const R=U??"",k=B.headersList.get("sec-websocket-protocol")??"",Q=new ReadableStream({start:m=>{this.#n=m},cancel:m=>this.#Q(m)}),p=new WritableStream({write:m=>this.#g(m),close:()=>r(this.#i,null,null),abort:m=>this.#h(m)});this.#r=Q,this.#s=p,this.#e.resolve({extensions:R,protocol:k,readable:Q,writable:p})}#c(B,U){if(this.#i.readyState!==N.OPEN)return;let M;if(B===S.TEXT)try{M=u(U)}catch{t(this.#i,1007,"Received invalid UTF-8 in text frame.");return}else B===S.BINARY&&(M=new Uint8Array(U.buffer,U.byteOffset,U.byteLength));this.#n.enqueue(M)}#E(){const B=this.#i.closeState.has(s.SENT)&&this.#i.closeState.has(s.RECEIVED);if(this.#i.readyState=N.CLOSED,this.#o)return;this.#i.wasEverConnected||this.#e.reject(new g("Socket never opened"));const U=this.#a?.closingInfo;let M=U?.code??1005;!this.#i.closeState.has(s.SENT)&&!this.#i.closeState.has(s.RECEIVED)&&(M=1006);const T=U?.reason==null?"":E(Buffer.from(U.reason));if(B)d(this.#n),this.#s.locked||this.#s.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:M,reason:T});else{const F=D("unclean close",M,T);this.#n?.error(F),this.#s?.abort(F),this.#t.reject(F)}}#h(B){let U=null,M="";a.is.WebSocketError(B)&&(U=B.closeCode,M=B.reason),r(this.#i,U,M)}#Q(B){this.#h(B)}}return Object.defineProperties(y.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),a.converters.WebSocketStreamOptions=a.dictionaryConverter([{key:"protocols",converter:a.sequenceConverter(a.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:a.nullableConverter(a.converters.AbortSignal),defaultValue:()=>null}]),a.converters.WebSocketCloseInfo=a.dictionaryConverter([{key:"closeCode",converter:l=>a.converters["unsigned short"](l,a.attributes.EnforceRange)},{key:"reason",converter:a.converters.USVString,defaultValue:()=>""}]),a.converters.WebSocketStreamWrite=function(l){return typeof l=="string"?a.converters.USVString(l):a.converters.BufferSource(l)},ws={WebSocketStream:y},ws}var Ss,Vo;function Ei(){if(Vo)return Ss;Vo=1;const{makeRequest:A}=ut();function I(S){return S.indexOf("\0")===-1}function d(S){if(S.length===0)return!1;for(let s=0;s<S.length;s++)if(S.charCodeAt(s)<48||S.charCodeAt(s)>57)return!1;return!0}function N(S,s,a,f){let C=a==="no cors"?"no-cors":"cors";f&&C==="no-cors"&&(C="same-origin");let h="include";return a==="anonymous"&&(h="same-origin"),A({urlList:[S],destination:s,mode:C,credentials:h,useURLCredentials:!0})}return Ss={isValidLastEventId:I,isASCIINumber:d,createPotentialCORSRequest:N},Ss}var Rs,Oo;function pa(){if(Oo)return Rs;Oo=1;const{Transform:A}=ue,{isASCIINumber:I,isValidLastEventId:d}=Ei(),N=[239,187,191],S=10,s=13,a=58,f=32,C=Buffer.from("data"),h=Buffer.from("event"),u=Buffer.from("id"),c=Buffer.from("retry");function t(o,g){if(g>=o.length)return!1;for(let D=g;D<o.length;D++)if(o[D]<48||o[D]>57)return!1;return!0}function r(o,g){for(let D=g;D<o.length;D++)if(o[D]===0)return!1;return!0}function e(o,g,D){if(g!==D.length)return!1;for(let w=0;w<g;w++)if(o[w]!==D[w])return!1;return!0}class n extends A{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(g={}){g.readableObjectMode=!0,super(g),this.state=g.eventSourceSettings||{},g.push&&(this.push=g.push)}_transform(g,D,w){if(g.length===0){w();return}if(this.chunks.push(g),this.checkBOM&&this.handleBOM()){w();return}for(;this.hasCurrentByte();){const E=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(E===S){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(E===S||E===s){E===s&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(E===S||E===s){E===s&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}w()}parseLine(g,D){if(g.length===0)return;const w=g.indexOf(a);if(w===0)return;let E=g.length,i=g.length;if(w!==-1&&(E=w,i=w+1,g[i]===f&&++i),e(g,E,C)){const y=g.toString("utf8",i);D.data===void 0?D.data=y:D.data+=`
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
573
|
+
|
|
574
|
+
# Get the current command line and convert into a string
|
|
575
|
+
$Command = $CommandAst.CommandElements
|
|
576
|
+
$Command = "$Command"
|
|
577
|
+
|
|
578
|
+
__${t}_debug ""
|
|
579
|
+
__${t}_debug "========= starting completion logic =========="
|
|
580
|
+
__${t}_debug "WordToComplete: $WordToComplete Command: $Command CursorPosition: $CursorPosition"
|
|
581
|
+
|
|
582
|
+
# The user could have moved the cursor backwards on the command-line.
|
|
583
|
+
# We need to trigger completion from the $CursorPosition location, so we need
|
|
584
|
+
# to truncate the command-line ($Command) up to the $CursorPosition location.
|
|
585
|
+
# Make sure the $Command is longer then the $CursorPosition before we truncate.
|
|
586
|
+
# This happens because the $Command does not include the last space.
|
|
587
|
+
if ($Command.Length -gt $CursorPosition) {
|
|
588
|
+
$Command = $Command.Substring(0, $CursorPosition)
|
|
589
|
+
}
|
|
590
|
+
__${t}_debug "Truncated command: $Command"
|
|
591
|
+
|
|
592
|
+
$ShellCompDirectiveError=${n.ShellCompDirectiveError}
|
|
593
|
+
$ShellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
|
|
594
|
+
$ShellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
|
|
595
|
+
$ShellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
|
|
596
|
+
$ShellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
|
|
597
|
+
$ShellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
|
|
598
|
+
|
|
599
|
+
# Prepare the command to request completions for the program.
|
|
600
|
+
# Split the command at the first space to separate the program and arguments.
|
|
601
|
+
$Program, $Arguments = $Command.Split(" ", 2)
|
|
602
|
+
|
|
603
|
+
$QuotedArgs = ($Arguments -split ' ' | ForEach-Object { "'" + ($_ -replace "'", "''") + "'" }) -join ' '
|
|
604
|
+
__${t}_debug "QuotedArgs: $QuotedArgs"
|
|
605
|
+
|
|
606
|
+
$RequestComp = "& ${i} complete '--' $QuotedArgs"
|
|
607
|
+
__${t}_debug "RequestComp: $RequestComp"
|
|
608
|
+
|
|
609
|
+
# we cannot use $WordToComplete because it
|
|
610
|
+
# has the wrong values if the cursor was moved
|
|
611
|
+
# so use the last argument
|
|
612
|
+
if ($WordToComplete -ne "" ) {
|
|
613
|
+
$WordToComplete = $Arguments.Split(" ")[-1]
|
|
614
|
+
}
|
|
615
|
+
__${t}_debug "New WordToComplete: $WordToComplete"
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
# Check for flag with equal sign
|
|
619
|
+
$IsEqualFlag = ($WordToComplete -Like "--*=*" )
|
|
620
|
+
if ( $IsEqualFlag ) {
|
|
621
|
+
__${t}_debug "Completing equal sign flag"
|
|
622
|
+
# Remove the flag part
|
|
623
|
+
$Flag, $WordToComplete = $WordToComplete.Split("=", 2)
|
|
624
|
+
}
|
|
625
|
+
$HasTrailingEmptyArg = $QuotedArgs -match "(^| )''$"
|
|
626
|
+
__${t}_debug "HasTrailingEmptyArg: $HasTrailingEmptyArg"
|
|
627
|
+
|
|
628
|
+
if ( $WordToComplete -eq "" -And ( -Not $IsEqualFlag ) -And ( -Not $HasTrailingEmptyArg )) {
|
|
629
|
+
# If the last parameter is complete (there is a space following it)
|
|
630
|
+
# We add an extra empty parameter so we can indicate this to the go method.
|
|
631
|
+
__${t}_debug "Adding extra empty parameter"
|
|
632
|
+
# PowerShell 7.2+ changed the way how the arguments are passed to executables,
|
|
633
|
+
# so for pre-7.2 or when Legacy argument passing is enabled we need to use
|
|
634
|
+
if ($PSVersionTable.PsVersion -lt [version]'7.2.0' -or
|
|
635
|
+
($PSVersionTable.PsVersion -lt [version]'7.3.0' -and -not [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -or
|
|
636
|
+
(($PSVersionTable.PsVersion -ge [version]'7.3.0' -or [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -and
|
|
637
|
+
$PSNativeCommandArgumentPassing -eq 'Legacy')) {
|
|
638
|
+
$RequestComp="$RequestComp" + ' \`"\`"'
|
|
639
|
+
} else {
|
|
640
|
+
$RequestComp = "$RequestComp" + ' ""'
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
__${t}_debug "Calling $RequestComp"
|
|
645
|
+
# First disable ActiveHelp which is not supported for Powershell
|
|
646
|
+
$env:ActiveHelp = 0
|
|
647
|
+
|
|
648
|
+
# call the command store the output in $out and redirect stderr and stdout to null
|
|
649
|
+
# $Out is an array contains each line per element
|
|
650
|
+
Invoke-Expression -OutVariable out "$RequestComp" 2>&1 | Out-Null
|
|
651
|
+
|
|
652
|
+
# get directive from last line
|
|
653
|
+
[int]$Directive = $Out[-1].TrimStart(':')
|
|
654
|
+
if ($Directive -eq "") {
|
|
655
|
+
# There is no directive specified
|
|
656
|
+
$Directive = 0
|
|
657
|
+
}
|
|
658
|
+
__${t}_debug "The completion directive is: $Directive"
|
|
659
|
+
|
|
660
|
+
# remove directive (last element) from out
|
|
661
|
+
$Out = $Out | Where-Object { $_ -ne $Out[-1] }
|
|
662
|
+
__${t}_debug "The completions are: $Out"
|
|
663
|
+
|
|
664
|
+
if (($Directive -band $ShellCompDirectiveError) -ne 0 ) {
|
|
665
|
+
# Error code. No completion.
|
|
666
|
+
__${t}_debug "Received error from custom completion go code"
|
|
667
|
+
return
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
$Longest = 0
|
|
671
|
+
[Array]$Values = $Out | ForEach-Object {
|
|
672
|
+
# Split the output in name and description
|
|
673
|
+
$Name, $Description = $_.Split("\`t", 2)
|
|
674
|
+
__${t}_debug "Name: $Name Description: $Description"
|
|
675
|
+
|
|
676
|
+
# Look for the longest completion so that we can format things nicely
|
|
677
|
+
if ($Longest -lt $Name.Length) {
|
|
678
|
+
$Longest = $Name.Length
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
# Set the description to a one space string if there is none set.
|
|
682
|
+
# This is needed because the CompletionResult does not accept an empty string as argument
|
|
683
|
+
if (-Not $Description) {
|
|
684
|
+
$Description = " "
|
|
685
|
+
}
|
|
686
|
+
@{ Name = "$Name"; Description = "$Description" }
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
$Space = " "
|
|
691
|
+
if (($Directive -band $ShellCompDirectiveNoSpace) -ne 0 ) {
|
|
692
|
+
# remove the space here
|
|
693
|
+
__${t}_debug "ShellCompDirectiveNoSpace is called"
|
|
694
|
+
$Space = ""
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
if ((($Directive -band $ShellCompDirectiveFilterFileExt) -ne 0 ) -or
|
|
698
|
+
(($Directive -band $ShellCompDirectiveFilterDirs) -ne 0 )) {
|
|
699
|
+
__${t}_debug "ShellCompDirectiveFilterFileExt ShellCompDirectiveFilterDirs are not supported"
|
|
700
|
+
|
|
701
|
+
# return here to prevent the completion of the extensions
|
|
702
|
+
return
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
$Values = $Values | Where-Object {
|
|
706
|
+
# filter the result
|
|
707
|
+
$_.Name -like "$WordToComplete*"
|
|
708
|
+
|
|
709
|
+
# Join the flag back if we have an equal sign flag
|
|
710
|
+
if ( $IsEqualFlag ) {
|
|
711
|
+
__${t}_debug "Join the equal sign flag back to the completion value"
|
|
712
|
+
$_.Name = $Flag + "=" + $_.Name
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
# we sort the values in ascending order by name if keep order isn't passed
|
|
717
|
+
if (($Directive -band $ShellCompDirectiveKeepOrder) -eq 0 ) {
|
|
718
|
+
$Values = $Values | Sort-Object -Property Name
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
if (($Directive -band $ShellCompDirectiveNoFileComp) -ne 0 ) {
|
|
722
|
+
__${t}_debug "ShellCompDirectiveNoFileComp is called"
|
|
723
|
+
|
|
724
|
+
if ($Values.Length -eq 0) {
|
|
725
|
+
# Just print an empty string here so the
|
|
726
|
+
# shell does not start to complete paths.
|
|
727
|
+
# We cannot use CompletionResult here because
|
|
728
|
+
# it does not accept an empty string as argument.
|
|
729
|
+
""
|
|
730
|
+
return
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
# Get the current mode
|
|
735
|
+
$Mode = (Get-PSReadLineKeyHandler | Where-Object { $_.Key -eq "Tab" }).Function
|
|
736
|
+
__${t}_debug "Mode: $Mode"
|
|
737
|
+
|
|
738
|
+
$Values | ForEach-Object {
|
|
739
|
+
|
|
740
|
+
# store temporary because switch will overwrite $_
|
|
741
|
+
$comp = $_
|
|
742
|
+
|
|
743
|
+
# PowerShell supports three different completion modes
|
|
744
|
+
# - TabCompleteNext (default windows style - on each key press the next option is displayed)
|
|
745
|
+
# - Complete (works like bash)
|
|
746
|
+
# - MenuComplete (works like zsh)
|
|
747
|
+
# You set the mode with Set-PSReadLineKeyHandler -Key Tab -Function <mode>
|
|
748
|
+
|
|
749
|
+
# CompletionResult Arguments:
|
|
750
|
+
# 1) CompletionText text to be used as the auto completion result
|
|
751
|
+
# 2) ListItemText text to be displayed in the suggestion list
|
|
752
|
+
# 3) ResultType type of completion result
|
|
753
|
+
# 4) ToolTip text for the tooltip with details about the object
|
|
754
|
+
|
|
755
|
+
switch ($Mode) {
|
|
756
|
+
|
|
757
|
+
# bash like
|
|
758
|
+
"Complete" {
|
|
759
|
+
|
|
760
|
+
if ($Values.Length -eq 1) {
|
|
761
|
+
__${t}_debug "Only one completion left"
|
|
762
|
+
|
|
763
|
+
# insert space after value
|
|
764
|
+
[System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
|
|
765
|
+
|
|
766
|
+
} else {
|
|
767
|
+
# Add the proper number of spaces to align the descriptions
|
|
768
|
+
while($comp.Name.Length -lt $Longest) {
|
|
769
|
+
$comp.Name = $comp.Name + " "
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
# Check for empty description and only add parentheses if needed
|
|
773
|
+
if ($($comp.Description) -eq " " ) {
|
|
774
|
+
$Description = ""
|
|
775
|
+
} else {
|
|
776
|
+
$Description = " ($($comp.Description))"
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
[System.Management.Automation.CompletionResult]::new("$($comp.Name)$Description", "$($comp.Name)$Description", 'ParameterValue', "$($comp.Description)")
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
# zsh like
|
|
784
|
+
"MenuComplete" {
|
|
785
|
+
# insert space after value
|
|
786
|
+
# MenuComplete will automatically show the ToolTip of
|
|
787
|
+
# the highlighted value at the bottom of the suggestions.
|
|
788
|
+
[System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
# TabCompleteNext and in case we get something unknown
|
|
792
|
+
Default {
|
|
793
|
+
# Like MenuComplete but we don't want to add a space here because
|
|
794
|
+
# the user need to press space anyway to get the completion.
|
|
795
|
+
# Description will not be shown because that's not possible with TabCompleteNext
|
|
796
|
+
[System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars), "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
Register-ArgumentCompleter -CommandName '${t}' -ScriptBlock $__${e}CompleterBlock
|
|
804
|
+
`}const n={ShellCompDirectiveError:1,ShellCompDirectiveNoSpace:2,ShellCompDirectiveNoFileComp:4,ShellCompDirectiveFilterFileExt:8,ShellCompDirectiveFilterDirs:16,ShellCompDirectiveKeepOrder:32,ShellCompDirectiveDefault:0};var w=class{name;variadic;command;handler;constructor(t,i,e,o=!1){this.command=t,this.name=i,this.handler=e,this.variadic=o}},D=class{value;description;command;handler;alias;isBoolean;constructor(t,i,e,o,l,r){this.command=t,this.value=i,this.description=e,this.handler=o,this.alias=l,this.isBoolean=r}},m=class{value;description;options=new Map;arguments=new Map;parent;constructor(t,i){this.value=t,this.description=i}option(t,i,e,o){let l,r,s;typeof e=="function"?(l=e,r=o,s=!1):typeof e=="string"?(l=void 0,r=e,s=!0):(l=void 0,r=void 0,s=!0);let a=new D(this,t,i,l,r,s);return this.options.set(t,a),this}argument(t,i,e=!1){let o=new w(this,t,i,e);return this.arguments.set(t,o),this}},S=class extends m{commands=new Map;completions=[];directive=n.ShellCompDirectiveDefault;constructor(){super("","")}command(t,i){let e=new m(t,i);return this.commands.set(t,e),e}stripOptions(t){let i=[],e=0;for(;e<t.length;){let o=t[e];if(o.startsWith("-")){e++;let l=!1,r=this.findOption(this,o);if(r)l=r.isBoolean??!1;else for(let[,s]of this.commands){let a=this.findOption(s,o);if(a){l=a.isBoolean??!1;break}}!l&&e<t.length&&!t[e].startsWith("-")&&e++}else i.push(o),e++}return i}matchCommand(t){t=this.stripOptions(t);let i=[],e=[],o=null;for(let l=0;l<t.length;l++){let r=t[l];i.push(r);let s=this.commands.get(i.join(" "));if(s)o=s;else{e=t.slice(l,t.length);break}}return[o||this,e]}shouldCompleteFlags(t,i){if(i.startsWith("-"))return!0;if(t?.startsWith("-")){let e=this.findOption(this,t);if(!e){for(let[,o]of this.commands)if(e=this.findOption(o,t),e)break}return!(e&&e.isBoolean)}return!1}shouldCompleteCommands(t){return!t.startsWith("-")}handleFlagCompletion(t,i,e,o){let l;if(e.includes("=")){let[r]=e.split("=");l=r}else if(o?.startsWith("-")){let r=this.findOption(t,o);r&&!r.isBoolean&&(l=o)}if(l){let r=this.findOption(t,l);if(r?.handler){let s=[];r.handler.call(r,(a,c)=>s.push({value:a,description:c}),t.options),this.completions=s}return}if(e.startsWith("-")){let r=e.startsWith("-")&&!e.startsWith("--"),s=e.replace(/^-+/,"");for(let[a,c]of t.options)r&&c.alias&&`-${c.alias}`.startsWith(e)?this.completions.push({value:`-${c.alias}`,description:c.description}):!r&&a.startsWith(s)&&this.completions.push({value:`--${a}`,description:c.description})}}findOption(t,i){let e=t.options.get(i);if(e||(e=t.options.get(i.replace(/^-+/,"")),e))return e;for(let[o,l]of t.options)if(l.alias&&`-${l.alias}`===i)return l}handleCommandCompletion(t,i){let e=this.stripOptions(t);for(let[o,l]of this.commands){if(o==="")continue;let r=o.split(" ");r.slice(0,e.length).every((s,a)=>s===e[a])&&r[e.length]?.startsWith(i)&&this.completions.push({value:r[e.length],description:l.description})}}handlePositionalCompletion(t,i){let e=this.stripOptions(i),o=t.value.split(" ").length,l=Math.max(0,e.length-o),r=Array.from(t.arguments.entries());if(r.length>0){let s;if(l<r.length){let[a,c]=r[l];s=c}else{let a=r[r.length-1][1];a.variadic&&(s=a)}if(s&&s.handler&&typeof s.handler=="function"){let a=[];s.handler.call(s,(c,d)=>a.push({value:c,description:d}),t.options),this.completions.push(...a)}}}complete(t){this.directive=n.ShellCompDirectiveNoFileComp;let i=new Set;this.completions.filter(e=>i.has(e.value)?!1:(i.add(e.value),!0)).filter(e=>{if(t.includes("=")){let[,o]=t.split("=");return e.value.startsWith(o)}return e.value.startsWith(t)}).forEach(e=>console.log(`${e.value} ${e.description??""}`)),console.log(`:${this.directive}`)}parse(t){this.completions=[];let i=t[t.length-1]==="";i&&t.pop();let e=t[t.length-1]||"",o=t.slice(0,-1);i&&(e!==""&&o.push(e),e="");let[l]=this.matchCommand(o),r=o[o.length-1];this.shouldCompleteFlags(r,e)?this.handleFlagCompletion(l,o,e,r):(this.shouldCompleteCommands(e)&&this.handleCommandCompletion(o,e),l&&l.arguments.size>0&&this.handlePositionalCompletion(l,o)),this.complete(e)}setup(t,i,e){switch(f(e==="zsh"||e==="bash"||e==="fish"||e==="powershell","Unsupported shell"),e){case"zsh":{let o=g(t,i);console.log(o);break}case"bash":{let o=v(t,i);console.log(o);break}case"fish":{let o=C(t,i);console.log(o);break}case"powershell":{let o=b(t,i);console.log(o);break}}}};const y=new S;export{w as Argument,m as Command,D as Option,S as RootCommand,n as ShellCompDirective,y as default};
|